梁城
摘 要: 提出一種基于ARM平臺(tái)的頻譜分析方案,利用快速傅里葉變換原理,實(shí)現(xiàn)信號(hào)的頻譜分析和顯示。使用DDS電路作為頻譜分析中的信號(hào)發(fā)生器,信號(hào)經(jīng)過幅度調(diào)整電路后,由STM32內(nèi)部的A/D進(jìn)行采樣,對(duì)數(shù)字化后的信號(hào)做快速傅里葉變換(FFT)運(yùn)算,將變換后各頻率點(diǎn)上的幅度譜顯示在LCD上。實(shí)驗(yàn)結(jié)果表明,該頻譜分析儀完全可以滿足0~20 kHz的低頻段頻譜分析需求,可應(yīng)用于音頻信號(hào)的頻譜分析處理中,由于成本低,具有一定的應(yīng)用價(jià)值。
關(guān)鍵詞: 頻譜分析; 直接數(shù)字頻率合成; 幅度調(diào)整電路; 快速傅里葉變換
中圖分類號(hào): TN911.6?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)09?0078?04
Abstract: A spectrum analysis scheme based on ARM platform is proposed, in which the fast Fourier transform (FFT) principle is used to realize signal, spectrum analysis and display. The DDS (direct digital synthesis) circuit is taken as the signal generator in spectral analysis. The signal processed by amplitude adjusting circuit is sampled by A/D inside STM32, and then operated with FFT. After that the amplitude spectrum of each frequency point is displayed on LCD. The experimental results show that the spectrum analyzer can entirely satisfy the spectrum analysis demand of 0~20 kHz low?frequency band, and can be applied to spectrum analysis and process of the audio signal. The analyzer has a certain application value due to its low cost.
Keywords: spectrum analysis; direct digital synthesis; amplitude adjusting circuit; fast Fourier transform
0 引 言
過去許多年,頻譜分析儀在汽車,工業(yè)制造,通信信號(hào)處理等行業(yè)已成為一種非常有用的工具[1]。通??捎檬静ㄆ饔^察一個(gè)信號(hào)的波形、幅度、頻率等,但對(duì)于復(fù)雜信號(hào)的一些信息無法僅通過波形、幅度、頻率獲取。如果由時(shí)域分析轉(zhuǎn)至頻域分析,就能觀察到各個(gè)頻率點(diǎn)上的功率幅度大小分布情況。
頻譜分析儀按照其原理可分為模擬和數(shù)字頻譜分析儀。隨著時(shí)代的發(fā)展,工程應(yīng)用復(fù)雜化,產(chǎn)品更新更快,對(duì)于頻譜分析儀的精度要求更高,處理速度要求更快,傳統(tǒng)的模擬頻譜分析儀由于體積龐大、功能單一、價(jià)格昂貴已不適應(yīng)時(shí)代需求,正逐步向數(shù)字頻譜分析儀發(fā)展[2]。
隨著無線通信的發(fā)展,對(duì)頻譜分析要求日益劇增,在通信有限的頻帶中,頻域的譜分析變得非常重要[3]。各種通信網(wǎng)絡(luò)的發(fā)展以及頻譜資料的缺乏使通信頻段正在向更高的頻段擴(kuò)展,因此要求頻譜分析儀能夠滿足更高頻段測(cè)試的需要[4]。目前,實(shí)現(xiàn)信號(hào)的頻譜分析的方法主要有:采用通用數(shù)字信號(hào)處理芯片實(shí)現(xiàn)、采用專用DFT/FFT芯片與 DSP芯片實(shí)現(xiàn)和采用FPGA實(shí)現(xiàn)[5]。
雖然DSP,F(xiàn)PGA處理芯片在處理高頻信號(hào)和大量數(shù)據(jù)時(shí)有很多優(yōu)點(diǎn),但是對(duì)于低頻的音頻信號(hào),ARM芯片也可較快且準(zhǔn)確地處理并顯示頻譜分析結(jié)果。所以,在本文提出一種利用ARM Cortex?M3內(nèi)核的STM32作為數(shù)據(jù)處理核心,控制整個(gè)頻譜分析系統(tǒng)的設(shè)計(jì)方案[6]。該設(shè)計(jì)方案由于使用ARM芯片,成本低廉,在低頻的音頻信號(hào)處理與分析中具有一定的應(yīng)用價(jià)值。例如,在鋼琴類樂器的調(diào)音中往往需要有經(jīng)驗(yàn)的調(diào)音師,調(diào)音費(fèi)用較高。而市場(chǎng)上有很多功能簡(jiǎn)單且操作不便的基于單片機(jī)的鋼琴調(diào)音器,且性價(jià)比不高,該方案就可以應(yīng)用在鋼琴的調(diào)音中。本方案主要包括硬件和軟件設(shè)計(jì),硬件設(shè)計(jì)包括信號(hào)發(fā)生、信號(hào)調(diào)整、ARM最小系統(tǒng)板等電路與相關(guān)PCB設(shè)計(jì)。軟件設(shè)計(jì)主要包括芯片驅(qū)動(dòng)、A/D采樣處理、FFT算法實(shí)現(xiàn)及LCD顯示。
1 系統(tǒng)總體設(shè)計(jì)
數(shù)字頻譜分析儀以ARM Cortex?M3內(nèi)核的STM32作為控制核心。整個(gè)系統(tǒng)包括信號(hào)發(fā)生電路、信號(hào)調(diào)整電路、待測(cè)電路、顯示與控制模塊等。系統(tǒng)組成框圖如圖1所示。
在系統(tǒng)中,輸入信號(hào)是由AD9833芯片產(chǎn)生,使用STM32內(nèi)部的12位A/D采樣,采樣時(shí)要求待測(cè)電壓范圍為0~3.3 V。A/D采樣前,必須對(duì)信號(hào)進(jìn)行調(diào)整。信號(hào)調(diào)整電路包括信號(hào)衰減、程控放大和幅度平移。用戶可以設(shè)置放大衰減的倍數(shù),將輸入的未知信號(hào)的幅值調(diào)整到合適值,然后進(jìn)行幅度平移。信號(hào)輸入A/D中,對(duì)信號(hào)實(shí)時(shí)在離散點(diǎn)采樣,采樣位置的信號(hào)電壓轉(zhuǎn)換為數(shù)字值,這些數(shù)字值成為采樣點(diǎn)。采樣必須滿足奈奎斯特采樣定理,避免信號(hào)混疊失真。A/D轉(zhuǎn)換將輸入信號(hào)轉(zhuǎn)換為二進(jìn)制數(shù)據(jù),進(jìn)行基4快速傅里葉變換,將變換過后的頻譜顯示在LCD上。
2 硬件設(shè)計(jì)
硬件電路主要包括信號(hào)發(fā)生、信號(hào)調(diào)整、待測(cè)電路、主控芯片STM32最小系統(tǒng)及外圍電路等。
2.1 信號(hào)發(fā)生電路
系統(tǒng)的信號(hào)發(fā)生采用 DDS 技術(shù)(即直接數(shù)字頻率合成技術(shù))實(shí)現(xiàn)[7]。本方案中信號(hào)發(fā)生電路使用的DDS芯片是AD9833,能夠產(chǎn)生頻率范圍為0~12.5 MHz的正弦波、三角波、方波輸出。同時(shí)該芯片的外圍電路簡(jiǎn)單,無需外接元件,輸出頻率、相位和波形都可通過軟件編程,易于調(diào)節(jié),主頻時(shí)鐘為25 MHz時(shí),精度為0.1 Hz,主頻時(shí)鐘為1 MHz時(shí),精度[8]可以達(dá)到0.004 Hz。
式中:[M]為頻率控制字;[fMCLK]為時(shí)鐘頻率,其和相位累加器的位數(shù)[N]是不變的,因此輸出波形的頻率只由[M]確定;而波形的相位可通過改變Phase_reg實(shí)現(xiàn)輸出波形的初相角的調(diào)制。芯片外圍接一個(gè)10 MHz無源晶振,通過與主流微處理器兼容的SPI進(jìn)行波形種類、頻率的控制。
2.2 幅度調(diào)整電路
信號(hào)采樣使用STM32內(nèi)部A/D,該A/D要求待采樣信號(hào)的電壓幅度在0~3.3 V。實(shí)驗(yàn)中DDS產(chǎn)生的方波信號(hào)約5 V,需經(jīng)幅度調(diào)整才可被采樣。因此,設(shè)計(jì)了幅度調(diào)整電路,可得到符合要求的波形。幅度調(diào)整電路包括信號(hào)衰減、程控放大和幅度平移。
衰減電路利用的是串聯(lián)電阻分壓原理,衰減電路分兩級(jí)衰減(一級(jí)為0.5倍衰減,另一級(jí)為0.05倍衰減)。通過模擬開關(guān)實(shí)現(xiàn)衰減兩級(jí)的切換。
經(jīng)衰減后信號(hào)幅度過小,采樣不理想,要對(duì)信號(hào)進(jìn)行相應(yīng)放大。放大后的波形要確保信號(hào)的峰峰值小于3.3 V。程控放大電路如圖2所示。
程控放大電路主要由壓控可變?cè)鲆娣糯笃鰽D603和DAC芯片TLV5618A組成。通過調(diào)整DAC芯片的輸出電壓可改變AD603的放大倍數(shù)。
通過以上的硬件設(shè)計(jì),如果信號(hào)發(fā)生電路產(chǎn)生方波信號(hào),其峰峰值為5 V,經(jīng)過衰減電路一級(jí)衰減,峰峰值衰減為2.5 V。將衰減后的波形送入程控放大電路,選擇增益為-10 dB,即放大倍數(shù)為0.32,通過[A=40Vg+10](A為放大增益,[Vg]為壓控電壓)即可計(jì)算出需要TLV5618A提供-0.25 V電壓來驅(qū)動(dòng)AD603。峰峰值為800 mV的方波信號(hào)通過幅度平移電路,信號(hào)幅度向上平移400 mV。最終,方波信號(hào)的最低點(diǎn)為0,最高點(diǎn)為800 mV,滿足A/D采樣要求。
3 軟件設(shè)計(jì)
軟件部分主要有A/D采樣的軟件設(shè)計(jì)、基4快速傅里葉變換算法的實(shí)現(xiàn)以及各個(gè)芯片的底層驅(qū)動(dòng)的設(shè)計(jì)(包括AD9833,TLV5618A等)。系統(tǒng)軟件的整體設(shè)計(jì),如圖3所示。
3.1 A/D采樣
在頻譜分析系統(tǒng)中使用的是STM32內(nèi)部自帶的12位A/D,由于STM32理論上能夠采樣的電壓范圍[9]為0~3.3 V。經(jīng)過前級(jí)衰減、放大與幅值平移,信號(hào)可以進(jìn)行A/D采樣。A/D采樣中要設(shè)置采樣頻率。采樣頻率的大小必須滿足奈奎斯特采樣定律,可避免信號(hào)混疊失真。
5 結(jié) 語
本文利用STM32處理速度快、低功耗等優(yōu)點(diǎn)實(shí)現(xiàn)了信號(hào)的發(fā)生、信號(hào)的調(diào)整、A/D采樣、FFT算法,并將信號(hào)的頻譜分析結(jié)果顯示在LCD上。由調(diào)試結(jié)果及實(shí)驗(yàn)數(shù)據(jù)可知,該頻譜分析系統(tǒng)可準(zhǔn)確顯示頻率范圍為0 Hz~20 kHz,幅度范圍為100 mV~5 V的信號(hào)頻譜。系統(tǒng)中采用的LCD屏幕分辨率相對(duì)較低,如果采用更高分辨率的顯示器,頻譜顯示效果會(huì)更佳。另外,若再設(shè)計(jì)濾波電路濾除噪聲,實(shí)驗(yàn)結(jié)果會(huì)更理想。
參考文獻(xiàn)
[1] BETEA B, TOMESC L, DOBRA P, et al. Spectrum analyzer instrument based on OMAP3530 [C]// Proceedings of 2012 5th European Education and Research Conference. Amsterdam: IEEE, 2012: 257?260.
[2] GANDERTON R. Spectrum analysers today [J]. Electronics & power, 1978, 24(1): 42?44.
[3] LIM H, LEE S. A study on the low?cost digital spectrum analyzer design [C]// Proceedings of 2014 6th International Confe?rence on Electronics, Computers and Artificial Intelligence. Bucharest: IEEE, 2014: 31?34.
[4] 劉桂華.基于FPGA的數(shù)字頻譜分析儀的設(shè)計(jì)與優(yōu)化[D].天津:天津大學(xué),2012.
[5] 陳小橋,胥鳴,葛文麗.基于FPGA的數(shù)字頻譜分析儀的設(shè)計(jì)與研究[J].武漢大學(xué)學(xué)報(bào)(工學(xué)版),2010,43(2):269?272.
[6] 梁方舟,李金泉,黃訓(xùn)磊,等.基于STM32的音頻信號(hào)分析設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2014,37(1):19?21.
[7] 劉蘭坤,潘明海.DDS的雜散分析及降低雜散的方法[J].電子器件,2007,30(2):572?574.
[8] 陳宇浩.基于FPGA和DDS的頻譜分析儀的設(shè)計(jì)與研究[D].上海:東華大學(xué),2009.
[9] 劉火良,楊森.STM32庫開發(fā)實(shí)戰(zhàn)指南[M].北京:機(jī)械工業(yè)出版社,2013:110?112.
[10] L? W T, SHEN C, GUI F, et al. Real?time spectrum analyzer based on all phase FFT spectrum analysis [C]// Proceedings of 2013 Fourth International Conference on Digital Manufactu?ring and Automation. Qingdao, China: IEEE, 2013: 966?969.
[11] 史林,趙樹杰.數(shù)字信號(hào)處理[M].北京:科學(xué)出版社,2007:164?166.
[12] ZOU Wen, QIU Zhongpan, SONG Zhijun. FPGA implementation of efficient FFT algorithm based on complex sequence [C]// Proceedings of 2010 International Conference on Intelligent Computing and Intelligent Systems. Xiamen, China: IEEE, 2010: 614?617.
[13] 張德豐.Matlab數(shù)字信號(hào)處理與應(yīng)用[M].北京:清華大學(xué)出版社,2010:116?117.