資料介紹
在現(xiàn)今DSP 軟件工程設計中,廣泛采用高級語言(如C 語言)直接調用三角函數(shù)進行計算。然而,匯編語言的穩(wěn)定性、可讀性和執(zhí)行效率均優(yōu)于高級語言,因缺少可供直接調用的三角函數(shù)庫,其開發(fā)周期長,且計算精度難以保證,在工程中推廣較少。本文就基于DSP 匯編語言,提出一種高精度三角函數(shù)算法。
隨著現(xiàn)代科技的高速發(fā)展, 帶三角函數(shù)的大型DSP 復雜算法被廣泛應用于各個領域,高級語言(如C語言)編程實現(xiàn)時, 其穩(wěn)定性、可讀性、執(zhí)行效率均不及匯編語言。然而,匯編算法沒有標準的三角函數(shù)庫,需軟件開發(fā)人員自己編寫,這就延長了軟件的開發(fā)周期,同時,其計算精度難以得到保證。本文就基于DSP 匯編語言, 提出一種占用資源低且精度較高的線性查表法,實現(xiàn)三角函數(shù),并通過MATLAB仿真與傳統(tǒng)查表法進行對比分析。
二、查找表建模
假設以等步長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’。設切線的斜率為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ù),其對應關系見表1。
三、工程實現(xiàn)方法
對正弦和余弦函數(shù),其函數(shù)本身與切線斜率正好互補,因此可共用一張查找表。此外,因正弦和余弦函數(shù)互余,可通過或將其定義域映射到0~ /4。對反三角函數(shù),其計算的值域范圍為0~ /2,隨著x0 值的增加,其斜率值單調遞增,這將會導致圖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)于非線性查表法。
?
- TI Arm內核三角函數(shù)的優(yōu)化
- STM32匯編語言之串口通信
- AD639/883B:三角函數(shù)轉換器廢棄數(shù)據(jù)表
- AD639:通用三角函數(shù)轉換器廢棄數(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匯編語言編程基礎
- 實驗二DSP匯編語言編程基礎
- 用匯編語言實現(xiàn)BCH解碼校驗算法
- RX系列三角函數(shù)單元(TFU)的使用介紹 2330次閱讀
- 三角法測距原理 6263次閱讀
- 一文道破傅里葉變換的本質 771次閱讀
- 匯編語言結構與8086概述 3237次閱讀
- 匯編語言的變量與編碼是什么 1795次閱讀
- 計算機的機器語言和匯編語言與高級語言的詳細資料介紹 5892次閱讀
- C和匯編代碼結合 是實現(xiàn)DSP軟件設計的最好方式 2951次閱讀
- 單片機 | 基礎匯編語言編程實例 1w次閱讀
- 單片機閃爍燈匯編語言源代碼大全(四款閃爍燈的匯編語言源代碼) 2.5w次閱讀
- 單片機流水燈匯編語言源代碼大全(六款流水燈匯編語言源代碼) 5.5w次閱讀
- 高級語言和匯編語言_機器語言的區(qū)別 3w次閱讀
- C語言與匯編語言相互結合的嵌套匯編語言 3541次閱讀
- 跑馬燈實驗用匯編語言和C51語言做出的不同效果 4097次閱讀
- 單片機編程之匯編語言基礎-常用指令和程序模式 1.5w次閱讀
- 匯編語言的結構化設計及其在俄羅斯方塊中的應用 3083次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1490次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7藍牙設備在嵌入式領域的廣泛應用
- 0.63 MB | 3次下載 | 免費
- 89天練會電子電路識圖
- 5.91 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論