dsp c语言 计算正弦,DSP正弦函数计算程序编写.docx
DSP正弦函數計算程序編寫
正弦函數計算程序的編寫
I
摘要
泰勒級數展開法作為一種數學方法,在科研和平時的數據處理方面應用的很廣泛。尤其是在通信、儀器儀表和工業控制等領域應用更為廣泛。在科技高速發展的今天,對函數的計算不僅要求有很高的精度,還對計算的時間又很高的要求,必須在很短的時間內完成數據的處理,否則根本不能完成大批量數據的實時性計算和處理。介于DSP芯片運算速度快的特點,用DSP芯片完成這些算法已越來越受到重視。產生正弦波,分別是查表法和泰勒級數展開法。查表法應用于精度要求不很高的場合,而泰勒級數展開法是一種比查表法更為有效的方法。它能精確的計算出一個角度的正弦和余弦值,且占用的儲存空間較小,體現了它的優越性。
關鍵詞: DSP 泰勒級數 正弦波
II
目錄
TOC \o "1-3" \h \z \u HYPERLINK \l "_Toc377031094" 摘要I HYPERLINK \l "_Toc377031095" 1、正余弦信號發生器的實現原理 PAGEREF _Toc377031095 \h 1 HYPERLINK \l "_Toc377031096" 1.1、正弦波信號發生器 PAGEREF _Toc377031096 \h 1 HYPERLINK \l "_Toc377031097" 2、正弦波的實現 PAGEREF _Toc377031097 \h 2 HYPERLINK \l "_Toc377031098" 2.1、計算一個角度的正弦值 PAGEREF _Toc377031098 \h 2 HYPERLINK \l "_Toc377031099" 2.2、計算一個角度的余弦值 PAGEREF _Toc377031099 \h 4 HYPERLINK \l "_Toc377031100" 3、 正弦波的實現 PAGEREF _Toc377031100 \h 8 HYPERLINK \l "_Toc377031101" 4、鏈接文件 PAGEREF _Toc377031101 \h 10 HYPERLINK \l "_Toc377031102" 5、調試結果 PAGEREF _Toc377031102 \h 12 HYPERLINK \l "_Toc377031103" 總結 PAGEREF _Toc377031103 \h 13 HYPERLINK \l "_Toc377031104" 參考文獻 PAGEREF _Toc377031104 \h 14
PAGE \* MERGEFORMAT 15
1、正余弦信號發生器的實現原理1.1、正弦波信號發生器泰勒級數展開法是根據泰勒展開式進行計算來實現正弦信號,它能精確地計算出一個角度的正弦和余弦值,且只需要較小的存儲空間。本次主要用泰勒級數展開法來實現正弦波信號。 正弦函數和余弦函數可以展開成泰勒級數,其表達式:
取泰勒級數的前5項,得近似計算式:
遞推公式: sin(nx) = 2cos(x)sin[(n-1)x]-sin[(n-2)x] cos(nx) = 2cos(x)sin[(n-1)x]-cos[(n-2)x] 由遞推公式可以看出,在計算正弦和余弦值時,需要已知cos(x)、sin(n-1)x、sin(n-2)x和cos(n-2)x。2、正弦波的實現2.1、計算一個角度的正弦值計算一個角度x的正弦值,可利用泰勒級數的展開式,采用子程序的調用方式來實現。在調用前先在數據存儲器d_xs單元中存放x的弧度值,計算結果存放在d_sinx單元中。程序中要用到一些存儲單元存放數據和變量,存儲單元的分配如下:d_xs:x; d_squr_xs: x2 d_temp_s:暫存; d_sinx:計算結果sinx c_1_s:7FFFh (數值1);d_coef_s :泰勒系數存儲單元分配圖:xd_xsd_squr_xsd_temp_sd_sinxc_1_sd_coef_stable_sc1=1/(8*9) x2c2=1/(6*7)c3=1/(4*5)sinxc4=1/(2*3)(7FFFH)(c1=01c7H)(c2=030BH)(c3=0666H)(c4=1556H)數據存儲器 程序存儲器
表1計算正弦值存儲單元分
總結
以上是生活随笔為你收集整理的dsp c语言 计算正弦,DSP正弦函数计算程序编写.docx的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《加菲猫》新版动画电影明年 5 月上映,
- 下一篇: android资源包混淆,Android