DSP中浮點轉定點運算

2022-10-03 11:09:07 字數 1514 閱讀 9748

5.舉例及程式設計中的心得

5.1舉例

「第3章  dsp晶元的定點運算.doc」這篇文章中給了乙個很簡單有能說明問題的例子,不想動大腦了,直接引用過來如下。

這是乙個對語音頻號(0.3khz~3.4khz)進行低通濾波的c語言程式,低通濾波的截止頻率為800hz,濾波器採用19點的有限衝擊響應fir濾波。語音頻號的取樣頻率為8khz,每個語音樣值按16位整型數存放在insp.dat檔案中。

例3.7  語音頻號800hz 19點fir低通濾波c語言浮點程式

複製** **如下:

#include

const  int length = 180 /*語音幀長為180點=22www.cppcns.com.5ms@8khz取樣*/

void  filter(int xin[ ],int xout[ ],int n,float h[ ]); /*濾波子程式說明*/

/*19點濾波器係數*/

static  float h[19]=

;static  int x1[length+20];

/*低通濾波浮點子程式*/

void  filter(int xin[ ],int xout[ ],int n,float h[ ])

for(i=0;i} 

/*主程式*/

void  main( )

fcloseall( );                   /*關閉檔案*/

return(0);

}例3.8  語音頻號800hz 19點fir低通濾波c語言定點程式

複製** **如下:

#include

const int length=180;

void  filter(int xin[ ],int xout[ ],int n,int h[ ]);

static int  h[19]=;           /*q15*/

static int  x1[length+20];

/*低通濾波定點子程式*/

void  filter(int xin[ ],int xout[ ],int n,int h[ ])

for(i=0;i

}主程式與浮點的完全一樣。

5.2程式設計中的心得

通過上邊的例子,相信大家都大致明白了轉換的過程。乙個函式模組如此,乙個大的軟體專案的轉換也無非如此。所不同的是,對於乙個專案,很少有乙個個單獨的模組,一般都是幾個或數個模組都有聯絡,千一發而動全身,所以,再進行轉換之前,最好理清各個軟體模組之間的關係www.cppcns.com。

協調,協調,再協調。

寫到這裡, 與afreez一起學習dsp中浮點轉定點運算這個問題的討論終於可以收筆了。拖拖拉拉,拉了有3個月之久,現在終於可以了卻自己的愧疚了。從第三部分開始,寫的有寫著急,因為沒有足夠的時間來寫,還想把剩下的寫完,只能這麼解決了。我想,文章只是給出學者乙個思路,如果自己以後遇到了這樣的問題,還需要自己去探索的,沒有一勞永逸的文章,畢竟問題都各個不同嗎。

本文標題: dsp中浮點轉定點運算--舉例及程式設計中的心得

本文位址:

IQMath是什麼 浮點轉定點運算,dsp

註明出處 blog.csdn.net lanmanck 網上搜了一下沒發現很合適的,特寫出來與大家分享。大家都知道嵌入式系統裡帶浮點運算指令的cpu都比較少,ti的dsp也是定點的便宜。那麼我們運算時想把浮點數速度提高怎麼辦?有人就想到了,把浮點轉成定點就可以了。好了iqmath就是幹這個事的。舉個...

IQMath是什麼 浮點轉定點運算,dsp

註明出處 blog.csdn.net lanmanck 網上搜了一下沒發現非常合適的,特寫出來與大家分享。大家都知道嵌入式系統裡帶浮點運算指令的cpu都比較少,ti的dsp也是定點的廉價。那麼我們運算時想把浮點數速度提高怎麼辦?有人就想到了,把浮點轉成定點就能夠了。好了iqmath就是幹這個事的。舉...

DSP 浮點與定點

浮點與定點也是經常是初學者困惑的問題,在選擇dsp器件的時候,是採用浮點還是採用定點,如果用定點是16位還是32位?其實這個問題和你的演算法所要求的訊號的動態範圍有關。定點的計算不過是把乙個資料當作整數來處理,通常ad取樣來的都是整數,這個數相對於真實的模擬訊號有乙個刻度因子,大家都知道用乙個16位...