資料介紹
在現(xiàn)今DSP 軟件工程設(shè)計中,廣泛采用高級語言(如C 語言)直接調(diào)用三角函數(shù)進行計算。然而,匯編語言的穩(wěn)定性、可讀性和執(zhí)行效率均優(yōu)于高級語言,因缺少可供直接調(diào)用的三角函數(shù)庫,其開發(fā)周期長,且計算精度難以保證,在工程中推廣較少。本文就基于DSP 匯編語言,提出一種高精度三角函數(shù)算法。
隨著現(xiàn)代科技的高速發(fā)展, 帶三角函數(shù)的大型DSP 復雜算法被廣泛應用于各個領(lǐng)域,高級語言(如C語言)編程實現(xiàn)時, 其穩(wěn)定性、可讀性、執(zhí)行效率均不及匯編語言。然而,匯編算法沒有標準的三角函數(shù)庫,需軟件開發(fā)人員自己編寫,這就延長了軟件的開發(fā)周期,同時,其計算精度難以得到保證。本文就基于DSP 匯編語言, 提出一種占用資源低且精度較高的線性查表法,實現(xiàn)三角函數(shù),并通過MATLAB仿真與傳統(tǒng)查表法進行對比分析。
二、查找表建模
假設(shè)以等步長step 定義了點數(shù)為N 的三角函數(shù)查找表,表中地址n 處的值為( x0,y0),若要計算某x 處的三角函數(shù)值y,用傳統(tǒng)查找表實現(xiàn), 即近似于地址n 處的查表值y0。其查找生成方式為: TAB_X(n)=Fx( n*step),n=0,1,2.N-1。其中TAB_X 為三角函數(shù)表, Fx 代表相應的標準三角函數(shù)。
而用線性查找表實現(xiàn),即近似于( x0,y0)點切線上x處所對應的值y’。設(shè)切線的斜率為C,則用公式可表示為:y≈y’=y0+C ×=y0+C* (x-x0 )

由公式可知,線性查找表需要包含x0 處的三角函數(shù)值y0 和切線斜率C,因此,采取y0 值與C 值交替存放方式,即為:TAB_X(n)=Fx( n*step),n=0,2,4.。 N-2;TAB_X(n)=Fc( n*step),n=1,3,5.。 N-1 。其中Fc 代表斜率函數(shù),其對應關(guān)系見表1。
三、工程實現(xiàn)方法
對正弦和余弦函數(shù),其函數(shù)本身與切線斜率正好互補,因此可共用一張查找表。此外,因正弦和余弦函數(shù)互余,可通過或?qū)⑵涠x域映射到0~ /4。對反三角函數(shù),其計算的值域范圍為0~ /2,隨著x0 值的增加,其斜率值單調(diào)遞增,這將會導致圖1 中的y’值逐漸偏離y 值,增大誤差。因此,采取將反三角函數(shù)/4~/2 的值域映射到/4~0 的值域中進行計算。其中,反正弦、反余弦、反正切函數(shù)分別通過、、進行映射,這樣,反正弦和反余弦函數(shù)的定義域范圍為0~0.707,反正切函數(shù)的定義域范圍為0~1。以正弦函數(shù)查找表為列,其實現(xiàn)算法如下:
從表2 中看出,相同點數(shù)時的線性查表法計算精度要比傳統(tǒng)查表法高出2 個數(shù)量級以上。隨著查找表點數(shù)的增加,線性查表法的計算精度將會越來越優(yōu)于非線性查表法。
?
- AN207 GD32G5x3三角函數(shù)加速器TMU的使用說明
- TI Arm內(nèi)核三角函數(shù)的優(yōu)化
- STM32匯編語言之串口通信
- AD639/883B:三角函數(shù)轉(zhuǎn)換器廢棄數(shù)據(jù)表
- AD639:通用三角函數(shù)轉(zhuǎn)換器廢棄數(shù)據(jù)表
- 如何使用Visual C語言實現(xiàn)的Delaunay三角剖分算法 16次下載
- 如何使用Cordic算法C語言實現(xiàn)三角函數(shù)的計算
- TMS320C28X處理器匯編語言工具用戶指南 30次下載
- 匯編語言與C語言整合至DSP的方法 5次下載
- Z-80匯編語言實用程序 16次下載
- 匯編語言學習課件_匯編語言程序組織 0次下載
- 基于DSP的三角函數(shù)快速計算
- DSP匯編語言編程基礎(chǔ)
- 實驗二DSP匯編語言編程基礎(chǔ)
- 用匯編語言實現(xiàn)BCH解碼校驗算法
- RX系列三角函數(shù)單元(TFU)的使用介紹 4.2k次閱讀
- 三角法測距原理 8.6k次閱讀
- 一文道破傅里葉變換的本質(zhì) 1.6k次閱讀
- 匯編語言結(jié)構(gòu)與8086概述 4.8k次閱讀
- 匯編語言的變量與編碼是什么 3.2k次閱讀
- 計算機的機器語言和匯編語言與高級語言的詳細資料介紹 6.6k次閱讀
- C和匯編代碼結(jié)合 是實現(xiàn)DSP軟件設(shè)計的最好方式 4k次閱讀
- 單片機 | 基礎(chǔ)匯編語言編程實例 1.1w次閱讀
- 單片機閃爍燈匯編語言源代碼大全(四款閃爍燈的匯編語言源代碼) 2.6w次閱讀
- 單片機流水燈匯編語言源代碼大全(六款流水燈匯編語言源代碼) 5.7w次閱讀
- 高級語言和匯編語言_機器語言的區(qū)別 3.1w次閱讀
- C語言與匯編語言相互結(jié)合的嵌套匯編語言 4k次閱讀
- 跑馬燈實驗用匯編語言和C51語言做出的不同效果 4.5k次閱讀
- 單片機編程之匯編語言基礎(chǔ)-常用指令和程序模式 1.6w次閱讀
- 匯編語言的結(jié)構(gòu)化設(shè)計及其在俄羅斯方塊中的應用 8.5k次閱讀
下載排行
本周
- 1MDD品牌三極管BC807數(shù)據(jù)手冊
- 3.00 MB | 次下載 | 免費
- 2MDD品牌三極管BC817數(shù)據(jù)手冊
- 2.51 MB | 次下載 | 免費
- 3MDD品牌三極管D882數(shù)據(jù)手冊
- 3.49 MB | 次下載 | 免費
- 4MDD品牌三極管MMBT2222A數(shù)據(jù)手冊
- 3.26 MB | 次下載 | 免費
- 5MDD品牌三極管MMBTA56數(shù)據(jù)手冊
- 3.09 MB | 次下載 | 免費
- 6MDD品牌三極管MMBTA92數(shù)據(jù)手冊
- 2.32 MB | 次下載 | 免費
- 7STM32G474 HRTIME PWM 丟波問題分析與解決
- 1.00 MB | 次下載 | 3 積分
- 8新能源電動汽車高壓線束的銅鋁連接解決方案
- 2.71 MB | 次下載 | 2 積分
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費
- 2PC5502負載均流控制電路數(shù)據(jù)手冊
- 1.63 MB | 23次下載 | 免費
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
- 0.63 MB | 6次下載 | 1 積分
- 5UWB653Pro USB口測距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費
- 6技嘉H110主板IT8628E_BX IO電路圖資料
- 2.61 MB | 4次下載 | 1 積分
- 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 8蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191439次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論