梁城
摘 要: 提出一種基于ARM平臺的頻譜分析方案,利用快速傅里葉變換原理,實現(xiàn)信號的頻譜分析和顯示。使用DDS電路作為頻譜分析中的信號發(fā)生器,信號經(jīng)過幅度調整電路后,由STM32內部的A/D進行采樣,對數(shù)字化后的信號做快速傅里葉變換(FFT)運算,將變換后各頻率點上的幅度譜顯示在LCD上。實驗結果表明,該頻譜分析儀完全可以滿足0~20 kHz的低頻段頻譜分析需求,可應用于音頻信號的頻譜分析處理中,由于成本低,具有一定的應用價值。
關鍵詞: 頻譜分析; 直接數(shù)字頻率合成; 幅度調整電路; 快速傅里葉變換
中圖分類號: TN911.6?34 文獻標識碼: A 文章編號: 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è)制造,通信信號處理等行業(yè)已成為一種非常有用的工具[1]。通??捎檬静ㄆ饔^察一個信號的波形、幅度、頻率等,但對于復雜信號的一些信息無法僅通過波形、幅度、頻率獲取。如果由時域分析轉至頻域分析,就能觀察到各個頻率點上的功率幅度大小分布情況。
頻譜分析儀按照其原理可分為模擬和數(shù)字頻譜分析儀。隨著時代的發(fā)展,工程應用復雜化,產品更新更快,對于頻譜分析儀的精度要求更高,處理速度要求更快,傳統(tǒng)的模擬頻譜分析儀由于體積龐大、功能單一、價格昂貴已不適應時代需求,正逐步向數(shù)字頻譜分析儀發(fā)展[2]。
隨著無線通信的發(fā)展,對頻譜分析要求日益劇增,在通信有限的頻帶中,頻域的譜分析變得非常重要[3]。各種通信網(wǎng)絡的發(fā)展以及頻譜資料的缺乏使通信頻段正在向更高的頻段擴展,因此要求頻譜分析儀能夠滿足更高頻段測試的需要[4]。目前,實現(xiàn)信號的頻譜分析的方法主要有:采用通用數(shù)字信號處理芯片實現(xiàn)、采用專用DFT/FFT芯片與 DSP芯片實現(xiàn)和采用FPGA實現(xiàn)[5]。
雖然DSP,F(xiàn)PGA處理芯片在處理高頻信號和大量數(shù)據(jù)時有很多優(yōu)點,但是對于低頻的音頻信號,ARM芯片也可較快且準確地處理并顯示頻譜分析結果。所以,在本文提出一種利用ARM Cortex?M3內核的STM32作為數(shù)據(jù)處理核心,控制整個頻譜分析系統(tǒng)的設計方案[6]。該設計方案由于使用ARM芯片,成本低廉,在低頻的音頻信號處理與分析中具有一定的應用價值。例如,在鋼琴類樂器的調音中往往需要有經(jīng)驗的調音師,調音費用較高。而市場上有很多功能簡單且操作不便的基于單片機的鋼琴調音器,且性價比不高,該方案就可以應用在鋼琴的調音中。本方案主要包括硬件和軟件設計,硬件設計包括信號發(fā)生、信號調整、ARM最小系統(tǒng)板等電路與相關PCB設計。軟件設計主要包括芯片驅動、A/D采樣處理、FFT算法實現(xiàn)及LCD顯示。
1 系統(tǒng)總體設計
數(shù)字頻譜分析儀以ARM Cortex?M3內核的STM32作為控制核心。整個系統(tǒng)包括信號發(fā)生電路、信號調整電路、待測電路、顯示與控制模塊等。系統(tǒng)組成框圖如圖1所示。
在系統(tǒng)中,輸入信號是由AD9833芯片產生,使用STM32內部的12位A/D采樣,采樣時要求待測電壓范圍為0~3.3 V。A/D采樣前,必須對信號進行調整。信號調整電路包括信號衰減、程控放大和幅度平移。用戶可以設置放大衰減的倍數(shù),將輸入的未知信號的幅值調整到合適值,然后進行幅度平移。信號輸入A/D中,對信號實時在離散點采樣,采樣位置的信號電壓轉換為數(shù)字值,這些數(shù)字值成為采樣點。采樣必須滿足奈奎斯特采樣定理,避免信號混疊失真。A/D轉換將輸入信號轉換為二進制數(shù)據(jù),進行基4快速傅里葉變換,將變換過后的頻譜顯示在LCD上。
2 硬件設計
硬件電路主要包括信號發(fā)生、信號調整、待測電路、主控芯片STM32最小系統(tǒng)及外圍電路等。
2.1 信號發(fā)生電路
系統(tǒng)的信號發(fā)生采用 DDS 技術(即直接數(shù)字頻率合成技術)實現(xiàn)[7]。本方案中信號發(fā)生電路使用的DDS芯片是AD9833,能夠產生頻率范圍為0~12.5 MHz的正弦波、三角波、方波輸出。同時該芯片的外圍電路簡單,無需外接元件,輸出頻率、相位和波形都可通過軟件編程,易于調節(jié),主頻時鐘為25 MHz時,精度為0.1 Hz,主頻時鐘為1 MHz時,精度[8]可以達到0.004 Hz。
式中:[M]為頻率控制字;[fMCLK]為時鐘頻率,其和相位累加器的位數(shù)[N]是不變的,因此輸出波形的頻率只由[M]確定;而波形的相位可通過改變Phase_reg實現(xiàn)輸出波形的初相角的調制。芯片外圍接一個10 MHz無源晶振,通過與主流微處理器兼容的SPI進行波形種類、頻率的控制。
2.2 幅度調整電路
信號采樣使用STM32內部A/D,該A/D要求待采樣信號的電壓幅度在0~3.3 V。實驗中DDS產生的方波信號約5 V,需經(jīng)幅度調整才可被采樣。因此,設計了幅度調整電路,可得到符合要求的波形。幅度調整電路包括信號衰減、程控放大和幅度平移。
衰減電路利用的是串聯(lián)電阻分壓原理,衰減電路分兩級衰減(一級為0.5倍衰減,另一級為0.05倍衰減)。通過模擬開關實現(xiàn)衰減兩級的切換。
經(jīng)衰減后信號幅度過小,采樣不理想,要對信號進行相應放大。放大后的波形要確保信號的峰峰值小于3.3 V。程控放大電路如圖2所示。
程控放大電路主要由壓控可變增益放大器AD603和DAC芯片TLV5618A組成。通過調整DAC芯片的輸出電壓可改變AD603的放大倍數(shù)。
通過以上的硬件設計,如果信號發(fā)生電路產生方波信號,其峰峰值為5 V,經(jīng)過衰減電路一級衰減,峰峰值衰減為2.5 V。將衰減后的波形送入程控放大電路,選擇增益為-10 dB,即放大倍數(shù)為0.32,通過[A=40Vg+10](A為放大增益,[Vg]為壓控電壓)即可計算出需要TLV5618A提供-0.25 V電壓來驅動AD603。峰峰值為800 mV的方波信號通過幅度平移電路,信號幅度向上平移400 mV。最終,方波信號的最低點為0,最高點為800 mV,滿足A/D采樣要求。
3 軟件設計
軟件部分主要有A/D采樣的軟件設計、基4快速傅里葉變換算法的實現(xiàn)以及各個芯片的底層驅動的設計(包括AD9833,TLV5618A等)。系統(tǒng)軟件的整體設計,如圖3所示。
3.1 A/D采樣
在頻譜分析系統(tǒng)中使用的是STM32內部自帶的12位A/D,由于STM32理論上能夠采樣的電壓范圍[9]為0~3.3 V。經(jīng)過前級衰減、放大與幅值平移,信號可以進行A/D采樣。A/D采樣中要設置采樣頻率。采樣頻率的大小必須滿足奈奎斯特采樣定律,可避免信號混疊失真。
5 結 語
本文利用STM32處理速度快、低功耗等優(yōu)點實現(xiàn)了信號的發(fā)生、信號的調整、A/D采樣、FFT算法,并將信號的頻譜分析結果顯示在LCD上。由調試結果及實驗數(shù)據(jù)可知,該頻譜分析系統(tǒng)可準確顯示頻率范圍為0 Hz~20 kHz,幅度范圍為100 mV~5 V的信號頻譜。系統(tǒng)中采用的LCD屏幕分辨率相對較低,如果采用更高分辨率的顯示器,頻譜顯示效果會更佳。另外,若再設計濾波電路濾除噪聲,實驗結果會更理想。
參考文獻
[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ù)字頻譜分析儀的設計與優(yōu)化[D].天津:天津大學,2012.
[5] 陳小橋,胥鳴,葛文麗.基于FPGA的數(shù)字頻譜分析儀的設計與研究[J].武漢大學學報(工學版),2010,43(2):269?272.
[6] 梁方舟,李金泉,黃訓磊,等.基于STM32的音頻信號分析設計與實現(xiàn)[J].現(xiàn)代電子技術,2014,37(1):19?21.
[7] 劉蘭坤,潘明海.DDS的雜散分析及降低雜散的方法[J].電子器件,2007,30(2):572?574.
[8] 陳宇浩.基于FPGA和DDS的頻譜分析儀的設計與研究[D].上海:東華大學,2009.
[9] 劉火良,楊森.STM32庫開發(fā)實戰(zhàn)指南[M].北京:機械工業(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ù)字信號處理[M].北京:科學出版社,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ù)字信號處理與應用[M].北京:清華大學出版社,2010:116?117.