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