<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機實現(xiàn)音頻頻譜顯示的快速算法研究

          單片機實現(xiàn)音頻頻譜顯示的快速算法研究

          作者: 時間:2009-12-09 來源:網(wǎng)絡(luò) 收藏

          4.1 倒位序及其優(yōu)化
          基2-FTT將原始數(shù)據(jù)倒位序存儲,但運算后的結(jié)果則按正常順序輸出。原始采樣數(shù)據(jù)放在數(shù)組float datalm[16]中,datalm[0]存放第1次讀取的A/D轉(zhuǎn)換值,datalm[1]存放第2次讀取的A/D轉(zhuǎn)換值,以此類推,可見第n(n=(b3b2b1b0)b)次讀取的A/D轉(zhuǎn)換值存放在dataIm[n]中。倒序操作后采樣數(shù)據(jù)存儲在float dataRe[16]中,原來第n次讀取的A/D轉(zhuǎn)換值存放在datalm[n](n=(b0b1b2b3)b)中。根據(jù)樣本大小在系統(tǒng)代碼段中建立倒序表數(shù)組,采用查表方式倒序操作,與移位操作等方法相比,可明顯提高運算速度。
          4.2 蝶形運算及其優(yōu)化
          根據(jù)基2-FFT算法,N點FFT運算可以分成log2N級,每一級都有N/2個蝶形運算,如圖3所示。

          本文引用地址:http://www.ex-cimer.com/article/173536.htm

          蝶形運算公式的推導(dǎo)過程如下:


          將式(1)化簡成實部和虛部的形式,得到:


          可見每個蝶形運算的輸出都是由其輸入值與某一正弦函數(shù)和余弦函數(shù)的乘積累加得到的。由式(3)~式(6)編制正弦和余弦表,每次做蝶形運算時可查表加快運算速度。
          基2-FFT算法的基本思想是用3層循環(huán)完成全部N點FFT運算:(1)最里層循環(huán)處理單獨的一個蝶形運算,采用查表方法乘法運算;(2)中間層循環(huán)完成每一級的N/2個蝶形運算;(3)最外層循環(huán)完成log2N級蝶形運算。
          由此可看出:在每一級中,最里層循環(huán)完成N/2L個蝶形運算;中間層循環(huán)控制最里層循環(huán)進行2L-1次運算。因此,中間層循環(huán)完成時,共進行2L-1xN/2L=N/2個蝶形運算。實際上最里層和中間層循環(huán)完成了第L級計算,最外層則最終完成log2N級蝶形運算。
          需要加以說明的數(shù)據(jù)是:(1)在第L級中,每個蝶形的兩個輸入端相距b=2L-1一個點;(2)同一乘數(shù)對應(yīng)著相鄰間隔為2L個點的N/2L個蝶形;(3)第L級的2L-1個蝶形因子WPN中的P,可表示為P=jx25-L,其中j=0,1,2,…(2L-1-1)。
          完成16點FFT運算的RAM需求量是128字節(jié),而SST89V58RD2的RAM共1 K字節(jié):器每10 ms刷新一次,而SST89V58RD2的時鐘頻率是40 MHz,完成一次16點FFT運算實際所需時間不到6 ms,因此該系統(tǒng)完全滿足FFT運算的時間復(fù)雜度和空間復(fù)雜度要求。


          5 值在VFD上的
          系統(tǒng)要求將信號劃分成14段,每段按14級量化,再使用VFD器顯示,因此對于FFT運算結(jié)果還要作一定轉(zhuǎn)換才能輸出到顯示器。第n點的FFT運算結(jié)果是復(fù)數(shù),實部是dataRe[n],虛部是datalm[i]。該點的模值除以2/N就是對應(yīng)該頻率下信號的幅度(對于第1個點則是除以N);該點的相位即是對應(yīng)該頻率下信號的相位。最后的結(jié)果保存在dataRe[i]中,因為信號被劃分成14段,所以dataRe[0]和dataRe[15]的值應(yīng)該舍去。同時,dataRe[i]可能不是整數(shù),而VFD顯示器要求每個頻段按照14級量化,因此還需將dataRe[i]的值量化成0~14整數(shù),最后輸出到VFD電路上顯示。


          6 結(jié)束語
          討論了音響系統(tǒng)傅里葉變換算法,針對SST89V58RD2單片機進行算法優(yōu)化,并詳細論述系統(tǒng)的實現(xiàn)方法,結(jié)果證明該方法具有可行性。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();