基于PIC單片機的音頻信號分析儀的設計
2 軟件設計
音頻系統主循環(huán)如圖3所示。
(1)經(jīng)過(guò)采樣、A/D轉換完成后,清除A/D使能標志,得到離散化的數字信號。
(2)調用周期判定函數,實(shí)現對信號周期性的分析。
(3)調用FFT變換函數,對離散信號的快速傅里葉變換,實(shí)現時(shí)域到頻域的變換。
(4)顯示輸入信號的頻譜。
(5)計算信號的功率譜及計算最大功率。
(6)顯示信號的功率譜及最大功率。
2.1 A/D采樣
理論分析:因12位的A/D模塊,故量化單位為1/212,因頻率分辨率△f=100 Hz、FFT的子樣本點(diǎn)數N=512,故采樣頻率fs=51 200 Hz(fs≤N△f)、采樣周期Ts=1/51 200 s(采樣周期一采樣時(shí)間+轉換時(shí)間)。因振蕩頻率為7.37 MHz,故指令周期TCY=(1/7.37)×4=O.5μs。
實(shí)際控制:轉換時(shí)間為14個(gè)TAD(為正確A/D轉換,TAD=333.33 ns)。所以,配置A/D自動(dòng)采樣時(shí)間為6個(gè)TAD,A/D轉換時(shí)鐘為16TCY,則A/D轉換總時(shí)間為0.092 ms,采樣頻率為10.87 kHz。
A/D模塊工作在系統時(shí)鐘源、自動(dòng)轉換模式,每完成一次轉換進(jìn)入一次中斷。在程序中應該定義一個(gè)采樣點(diǎn)數的結構體,用于存放A/D采集到的數據,每個(gè)結構體內包括一個(gè)實(shí)部和一個(gè)虛部。在中斷服務(wù)子程序中,由A/D模塊采集到的數字量存儲到結構體的實(shí)部,共進(jìn)行采樣點(diǎn)數次轉換,中斷服務(wù)子程序的流程如圖4所示。
評論