一種基于MSP430的FM音頻頻譜分析儀設計
1.前言
本文引用地址:http://dyxdggzs.com/article/245880.htm在實(shí)際的廣播電視發(fā)射工作中,新的發(fā)射機的進(jìn)場(chǎng)測試,發(fā)射機的日常指標測試等都涉及了音頻的測試。本文設計的音頻頻譜分析儀就是從信號源的角度出發(fā),測量音頻信號的頻譜,從而確定各頻率成分的大小,為調頻廣播的各項音頻指標的提供參考。
在本文中主要提出了以MSP43處理器為核心的音頻頻譜分析儀的設計方案。以數字信號處理的相關(guān)理論知識為指導,利用MSP430處理器的優(yōu)勢來(lái)進(jìn)行音頻頻譜的設計與改進(jìn),并最終實(shí)現了在TFT液晶HD66772上面顯示。
2.頻譜分析儀設計原理
由于在數字系統中處理的數據都是經(jīng)由采樣得到,所以得到的數據必然是離散的。對于離散的數據,適用離散傅立葉變換來(lái)進(jìn)行處理。
快速傅里葉變換,是離散傅里葉變換的快速算法,也可用于計算離散傅里葉變換的逆變換,目前已被數字式頻譜儀廣泛采用。對于長(cháng)度為N的復數序列 0 1 1 , , , N ? x x L x ,離散傅里葉變換公式為:

于是一個(gè)序列的運算被分解成兩個(gè)運算的和的形式, ( ) 1 X k 和( ) 2 X k 可以繼續向下分解,最終分解為兩點(diǎn)的FFT運算。如果想要FFT運算后的輸出為自然順序排列,則輸入序列需要按位倒序來(lái)排列。
圖1為8點(diǎn)FFT的運算圖。

經(jīng)過(guò)FFT運算后,可以將一個(gè)時(shí)域信號變換到頻域。有些信號在時(shí)域上是很難看出什么特征的,但是如果變換到頻域之后,就很容易看出特征了,這就是頻譜儀的一般原理。
3.頻譜分析儀的設計及實(shí)現
本文介紹了一種基于FFT的的數字音頻頻譜分析儀的設計方案,通過(guò)ADC采樣輸入的音頻信號,ADC采樣完成以后,將數據進(jìn)行倒序排列并進(jìn)行FFT運算,結果通過(guò)TFT液晶顯示出來(lái)。系統的框圖如圖2所示。

3.1 音頻頻譜分析儀硬件實(shí)現
為了實(shí)現系統功能,采用16bit處理器MSP430來(lái)高效處理輸入的數據流。MSP430自帶ADC12模塊,ADC12的采樣數據經(jīng)過(guò)運算,通過(guò)65K色的液晶顯示頻譜圖。本系統硬件系統圖如圖3所示。

電源模塊為整個(gè)系統提供供電。系統還能響應用戶(hù)按鍵事件,并進(jìn)行相應的處理。串口模塊為系統的擴展預留。
3.2 音頻頻譜分析儀的系統軟件設計
系統上電后首先進(jìn)行系統初始化System_Init(),對看門(mén)狗、系統時(shí)鐘、定時(shí)器、I/O端口、ADC等各模塊進(jìn)行初始化。接下來(lái)ADC12對連續的模擬信號進(jìn)行采樣,得到離散化的數字信號,由處理器讀取該數字信號并進(jìn)行相應的處理。采樣頻率過(guò)高,采樣點(diǎn)數過(guò)多,會(huì )占用大量寶貴的處理器內存,降低數據處理速度;采樣頻率過(guò)低,又會(huì )使采樣數據失真而無(wú)法恢復原始連續信號。因此,必須根據信號的頻率范圍來(lái)設置采樣頻率,同時(shí)要滿(mǎn)足采樣定理的要求。
當采樣頻率一定時(shí),增加采樣點(diǎn)數可以提高頻率分辨率,但數據存儲空間和計算量也相應增大。一般可根據實(shí)際需要進(jìn)行采樣點(diǎn)數的選取,通常設置為2的整數次冪,以便于進(jìn)行后續的FFT譜分析,本系統采樣點(diǎn)數為N=16.ADC12采樣流程圖如圖4所示。

采樣后的FFT數據處理是系統的又一個(gè)重點(diǎn)和難點(diǎn),一方面,為了得到正序FFT,需要對原始自然序列進(jìn)行碼位倒序排列;另一方面,為了減少處理器的浮點(diǎn)運算時(shí)間,旋轉因子kN W 計算采用查表實(shí)現。圖5為FFT運算的倒序流程圖。

如果提前將余弦和正弦計算出來(lái)作為全局變量,計算kN W 就可以直接調用進(jìn)行加減計算,減少了大量的浮點(diǎn)運算時(shí)間,會(huì )以犧牲一點(diǎn)存儲器的代價(jià)獲得快速的系統響應。表1是編制的N=16時(shí)的余弦和正弦表。

圖6表示的是FFT運算的流程圖,整個(gè)FFT程序包含在一個(gè)迭代的過(guò)程中,最后一層計算總是2-FFT蝶形運算,下面是蝶形運算和FFT計算的主程序段:

當數據經(jīng)過(guò)FFT處理完畢以后,最后一步就是直觀(guān)地把數據顯示出來(lái)了,在這里我們采用了TFT液晶HD66772.
結合HD66772的操作時(shí)序圖,利用指令對其進(jìn)行讀寫(xiě)操作,可以對液晶的讀寫(xiě)進(jìn)行編程。與液晶HD66772模塊之間的連接分為控制總線(xiàn)和數據總線(xiàn)。在液晶屏上正確顯示信息,必須對液晶進(jìn)行兩個(gè)基本操作:第一,寫(xiě)入指令代碼;第二,寫(xiě)入顯示數據。
4.系統調試與運行
因為MSP430F149的主時(shí)鐘采用8MHz晶振,雖然系統的單條指令的執行時(shí)間僅為0.125μs,但是加上處理FFT的運算、ADC12采樣頻率和液晶的寫(xiě)入時(shí)間等影響,液晶的實(shí)際刷新頻率低于25Hz,產(chǎn)生嚴重的閃爍感。為了提高刷新頻率,將實(shí)心柱圖改為空心線(xiàn)條,每隔兩個(gè)空心細線(xiàn)條寫(xiě)入一個(gè)實(shí)心線(xiàn)條,這樣液晶的寫(xiě)入時(shí)間減少了2/3,既能保證顯示的結果的準確性,也不犧牲系統的寫(xiě)入HD66772液晶的GRAM的時(shí)間。解決了信號閃爍的問(wèn)題。圖7為輸入音頻信號后TFT液晶顯示的頻譜圖。

4.結論
本方案通過(guò)ADC采樣輸入的音頻信號,ADC采樣完成以后,將數據進(jìn)行倒序排列并進(jìn)行FFT運算,結果通過(guò)TFT液晶顯示出來(lái)。由于采用的處理器的處理能力的原因,不能做到很高的采樣頻率和很精細的頻率分辨率,要提高系統的頻率分辨率,就需要增加采樣點(diǎn)數??梢越柚鶳C的強大處理能力,將采樣的數據通過(guò)預留的串口傳送給PC,在PC上完成FFT運算以及顯示,這就是虛擬儀器的方式,實(shí)際工作中應用前景也非常大。
汽車(chē)防盜機相關(guān)文章:汽車(chē)防盜機原理 頻譜分析儀相關(guān)文章:頻譜分析儀原理
評論