音頻信號分析儀

該系統能夠精確測量的音頻信號頻率範圍為20Hz-10KHz,其幅度範圍為5mVpp-5Vpp,分辨力分為20Hz和100Hz兩檔。測量功率精確度高達1%,並且能夠準確的測量周期信號的周期。

摘要: 本音頻信號分析儀由32位MCU為主控制器,通過AD轉換,對音頻信號進行採樣,把連續信號離散化,然後通過FFT快速傅氏變換運算,在時域和頻域對音頻信號各個頻率分量以及功率等指標進行分析和處理,然後通過高解析度的LCD對信號的頻譜進行顯示。該系統能夠精確測量的音頻信號頻率範圍為20Hz-10KHz,其幅度範圍為5mVpp-5Vpp,分辨力分為20Hz和100Hz兩檔。測量功率精確度高達1%,並且能夠準確的測量周期信號的周期,是理想的音頻信號分析儀的解決方案。
關鍵字: FFT MCU 頻譜 功率
Abstract: The audio signal analyzer is based on a 32-bit MCU controller, through the AD converter for audio signal sampling, the continuous signal discrete, and then through the FFT fast Fourier transform computing, in the time domain and frequency domain of the various audio frequency signal weight and power, and other indicators for analysis and processing, and then through the high-resolution LCD display signals in the spectrum. The system can accurately measure the audio signal frequency range of 20 Hz-10KHz, the range of 5-5Vpp mVpp, resolution of 20 Hz and 100 Hz correspondent. Power measurement accuracy up to 1%, and be able to accurately measuring the periodic signal cycle is the ideal audio signal analyzer solution.
Keyword: FFT MCU Spectrum Power
1 方案論證與比較 3
1.1 採樣方法方案論證 3
1.2 處理器的選擇方案論證 3
1.3 周期性判別與測量方法方案論證 3
2 系統設計 4
2.1 總體設計 4
2.2 單元電路設計 5
2.2.1 前級阻抗匹配和放大電路設計 5
2.2.2 AD轉換及控制模組電路設計 6
2.2.3 功率譜測量單元電路設計 6
3 軟體設計 7
4 系統測試 8
5 結論 9
參考文獻: 9
附錄: 9
附1:元器件明細表: 9
附2:儀器設備清單 9
附3:電路圖圖紙 10
附4:程式清單 11
1 方案論證與比較
1.1 採樣方法比較與選擇
方案一、用DDS晶片配合FIFO對信號進行採集,通過DDS集成晶片產生一個頻率穩定度和精度相當高的信號作為FIFO的時鐘,然後由FIFO對A/D轉換的結果進行採集和存儲,最後送MCU處理。
方案二、直接由32位MCU的定時中斷進行信號的採集,然後對信號分析。
由於32位MCU -LPC2148是60M的單指令周期處理器,所以其定時精確度為16.7ns,已經遠遠可以實現我們的40.96KHz的採樣率,而且控制方便成本便宜,所以我們選擇由MCU直接採樣。
1.2 處理器的比較與選擇
由於快速傅立葉變換FFT算法設計大量的浮點運算,由於一個浮點占用四個位元組,所以要占用大量的記憶體,同時浮點運算時間很慢,所以採用普通的8位MCU一般難以在一定的時間內完成運算,所以綜合記憶體的大小以及運算速度,我們採用Philips 的32位的單片機LPC2148,它擁有32K的RAM,並且時鐘頻率高達60M,所以對於浮點運算不論是在速度上還是在記憶體上都能夠很快的處理。
1.3 周期性判別與測量方法比較與選擇
對於普通的音頻信號,頻率分量一般較多,它不具有周期性。測量周期可以在時域測量也可以在頻域測量,但是由於頻域測量周期性要求某些頻率點具有由規律的零點或接近零點出現,所以對於較為複雜的,頻率分量較多且功率分布較均勻且低信號就無法正確的分析其周期性。
而在時域分析信號,我們可以先對信號進行處理,然後假定具有周期性,然後測出頻率,把採樣的信號進行周期均值法和定點分析法的分析後即可以判別出其周期性。
綜上,我們選擇信號在時域進行周期性分析和周期性測量。對於一般的音頻信號,其時域變化是不規則的,所以沒有周期性。而對於單頻信號或者由多個具有最低公倍數的頻率組合的多頻信號具有周期性。這樣我們可以在頻域對信號的頻譜進行定量分析,從而得出其周期性。而我們通過先假設信號是周期的,然後算出頻率值,然後在用此頻率對信號進行採樣,採取連續兩個周期的信號,對其值進行逐次比較和平均比較,若相差太遠,則認為不是周期信號,若相差不遠(約5%),則可以認為是周期信號。
2 系統設計
2.1 總體設計
音頻信號經過一個由運放和電阻組成的50 Ohm阻抗匹配網路後,經由量程控制模組進行處理,若是一般的100mV-5V的電壓,我們選擇直通,也就是說信號沒有衰減或者放大,但是若信號太小,12位的A/D轉換器在2.5V參考電壓的條件下的最小分辨力為1mV左右,所以如果選擇直通的話其離散化處理的誤差將會很大,所以若是採集到信號後發現其值太小,在20mV-250mV之間的話,我們可以將其認定為小信號,從而選擇信號經過20倍增益的放大器後再進行A/D採樣。
經過12位A/D轉換器ADS7819轉換後的數位訊號經由32位MCU進行FFT變換和處理,分析其頻譜特性和各個頻率點的功率值,然後將這些值送由Atmega16進行顯示。信號由32 位MCU分析後判斷其周期性,然後由Atmegal6進行測量,然後進行顯示。
2.2 單元電路設計
2.2.1 前級阻抗匹配和放大電路設計
信號輸入後通過R5,R6兩個100Ohm的電阻和一個高精度儀表運放AD620實現跟隨作用,由於理想運放的輸入阻抗為無窮大,所以輸入阻抗即為:R5//R6=50Ohm,阻抗匹配後的通過繼電器控制是對信號直接送給AD轉換還是放大20倍後再進行AD轉換。
在這道題目里,需要檢測各頻率分量及其功率,並且要測量正弦信號的失真度,這就要求在對小信號進行放大時,要儘可能少的引入信號的放大失真。正弦信號的理論計算失真度為零,對引入的信號失真非常靈敏,所以對信號的放大,運放的選擇是個重點。
我們選擇的運放是TI公司的低噪聲、低失真的儀表放大器INA217,其失真度在頻率為1KHz,增益為20dB(100倍放大)時僅為0.004%,其內部原理圖如下圖所示。
其中放大器A1的輸出電壓計算公式為
OUT1=1+(R1/RG)*VIN+
同理, OUT2=1+(R2/RG)*VIN--
R3、R4、R5、R6及A3構成減法器,最後得到輸出公式
VOUT=(VIN2-VIN1)*[1+(R1+R2)/RG]
R1=R2=5K,取RG=526,從而放大倍數為20。
2.2.2 AD轉換及控制模組電路設計
採用12位AD轉換器ADS7819進行轉換,將轉換的數據送32位控制器進行處理。
2.2.3 功率譜測量
功率譜測量主要通過對音頻信號進行離散化處理,通過FFT運算,求出信號各個離散頻率點的功率值,然後得到離散化的功率譜。
由於題目要求頻率分辨力為100Hz和20Hz兩個檔,這說明在進行FFT運算前必須通過調整採樣頻率(fK)和採樣的點數(N),使其基波頻率f為100Hz和20Hz。
根據頻率解析度與採樣頻率和採樣點數的關係:
f=fk/N;
可以得知, fk=N*f;
又根據採樣定理,採樣頻率fk必須不小於信號頻率fm的2倍,即:
fk>=2fm;
題目要求的最大頻率為10KHz,所以採樣頻率必須大於20KHz,考慮到FFT運算在2的次數的點數時的效率較高,所以我們在20Hz檔時選擇40.96KHz採樣率,採集2048個點,而在100檔時我們選擇51.2KHz採樣率,採集512個點。
通過FFT 分析出不同的頻率點對應的功率後,就可以畫出其功率譜,並可以在頻域計算其總功率。
3 軟體設計
主控制晶片為LPC2148,測量周期為Atmega16實現,由於處理器速度較快,所以採用c語言編程方便簡單.軟體流程圖如下:

相關詞條

相關搜尋

熱門詞條

聯絡我們