加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 01 DSP算法庫
    • ※ 總??結 ※
  • 推薦器件
  • 相關推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

DSP算法庫到底有多快?

03/14 15:23
3515
閱讀需 5 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

01 DSP算法庫

一、前言

ARM單片機開發(fā)中,有 CMSIS 中提供的 DSP 數(shù)字信號處理函數(shù)庫。這個函數(shù)庫中包括有基本的數(shù)據(jù)函數(shù),快速數(shù)學運算,復數(shù)運算,濾波器,矩陣,變換,點擊控制,統(tǒng)計,支持函數(shù)以及插值函數(shù)等等。涵蓋了大多數(shù)工程應用中的算法。下面,我有一個疑問,使用CMSIS 中的 DSP函數(shù),與普通的數(shù)學庫中的函數(shù),究竟能夠有多大的提速空間?下面,就對比一下開方運算以及sine三角函數(shù)的運算速度。這樣,便能夠將來在不同場合選擇使用不同的數(shù)學庫。

二、測試方法

測試硬件平臺是昨天制作的 STM32F103單片機,這是 M3內(nèi)核的 ARM 單片機。這個單片機比較簡單和流行,看一下它的數(shù)學計算速度。利用一個端口輸出高低電平表示計算所需要的時間。

為了使用 DSP數(shù)據(jù)庫,需要在 IAR 開發(fā)環(huán)境中,對 工程文件選項 General ?中的 連接庫設置中,選擇 CMSIS DSP。在程序中增加 arm math 頭文件即可。測試程序大循環(huán)中,執(zhí)行普通的 sine 三角函數(shù)計算,前后設置 LED 輸出管腳電平,因此輸出高電平脈沖寬度表示sine 函數(shù)計算時間。中間相隔1ms之后,再執(zhí)行 DSP中的sine 函數(shù),也使用 LED 管腳的高電平指示執(zhí)行時間。后面通過示波器便可以直觀的對比兩個函數(shù)執(zhí)行速度的差異性了。

三、測試結果

使用示波器,測量 LED 管腳的波形,可以看到前后兩個脈沖信號。前面的信號是普通數(shù)學庫中的 sine 函數(shù),時間較長,后面是 DSP庫中的 sine 函數(shù),明顯時間短。這說明了對于 M3 內(nèi)核的 單片機,使用 DSP數(shù)學庫的效率還是非常高的。需要說明的是,此時 單片機系統(tǒng)時鐘為 64MHz。為了更加精確的對比兩個數(shù)學庫執(zhí)行時間,將波形展開。利用示波器的光標測量功能,測試脈沖的時間寬度。普通sine 函數(shù),計算時間為 41.7微秒,測量 DSP sine 函數(shù),執(zhí)行時間只有10微秒,通過對比可以知道,對于 三角函數(shù) sine計算,DSP算法庫比起普通的數(shù)學函數(shù)要快四倍左右。

● ?sine運算對比:
math:41.7us
DSP:10us

▲ 圖1.3.1 計算sine函數(shù)對比普通數(shù)學庫與DSP庫的執(zhí)行速度

??下面再對比一下浮點開方數(shù)學運算。使用的方法是一樣的。通過示波器測量 普通數(shù)學庫函數(shù)和 DSP數(shù)學庫函數(shù)之間的差別。普通的數(shù)學庫,計算一個浮點數(shù)開方需要 12.52 微秒,DSP數(shù)學庫中的開方運算,只需要 4.9微秒。比普通的數(shù)學庫增加了不到 3倍。這說明不同的數(shù)學運算,DSP提速不一樣。

● ?開方運算對比:
math:12.52us
DSP:4.9us

▲ 圖1.3.2 對比開方運算算法函數(shù)速度的差異

??最后對比一下普通的整數(shù)位移操作。對128個數(shù)字中的整型數(shù)往左位移,對比普通的 C 語言位移所需要的時間以及DSP 庫中位移函數(shù)運算時間。C語言位移消耗了大約 24微秒,DSP 庫函數(shù)消耗了 16.65微秒,速度大約快了 三分之一左右。

▲ 圖1.3.3 位移操作

? ● ?位移兩位對比:
C:24us
DSP:16.65us

※ 總??結 ※

本文對比了 CMSIS DSP數(shù)學庫中的部分函數(shù)速度,都比使用普通的C語言以及math 庫中函數(shù)速度有所提高,三角函數(shù)提高了四倍左右,普通的位移操作只提高了三分之左右。

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
BCM89811B1AWMLG 1 Broadcom Limited Ethernet Transceiver, PACKAGE-36
$13.11 查看
LAN8742AI-CZ 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER

ECAD模型

下載ECAD模型
$2.57 查看
SN74LVC1G14DBVR 1 Rochester Electronics LLC Inverter,
$0.14 查看

相關推薦

電子產(chǎn)業(yè)圖譜

公眾號TsinghuaJoking主筆。清華大學自動化系教師,研究興趣范圍包括自動控制、智能信息處理、嵌入式電子系統(tǒng)等。全國大學生智能汽車競賽秘書處主任,技術組組長,網(wǎng)稱“卓大大”。