基于單片機的音頻信號分析儀的設計
(3)A/D轉換模塊:因為音頻信號的輸入只有一路,所以在12位可配置的A/D模塊的16個模擬輸入引腳中只用到AN6,初始化時,將該引腳配置為模擬輸入引腳,同時,因為處理后的音頻信號電壓為0~5 V,將A/D模塊的參考電壓設置為0 V,5 V。轉換輸出速率高達200 KSPS。
(4)DSP模塊:該數字微處理器是改良的哈佛結構設計,可實時分析,具有很高的分辨率。通過Microchip公司的MPLAB C30 C編譯器調用DSP模塊,該編譯器中提供49個DSP處理函數,可以完成全部的數字信號處理。
(5)LCD顯示模塊:用于直觀顯示頻譜波形。
(6)ICD2調試接口:選用Microchip公司的ICD2在線調試器,為此預留了ICD2調試接口。
(7)RC振蕩器:此單片機可工作在外部時鐘輸入、外部RC輸入、內部快速RC振蕩器、內部低功耗(RC)振蕩器四種模式,以及在低功耗時使用的后分頻器。本設計采用內部快速RC振蕩器,它能提供7.37 MHz的時鐘,由于要實現對音頻信號實時處理,所以沒有用到后分頻器。本文引用地址:http://cafeforensic.com/article/173569.htm
2 軟件設計
音頻系統(tǒng)主循環(huán)如圖3所示。
(1)經過采樣、A/D轉換完成后,清除A/D使能標志,得到離散化的數字信號。
(2)調用周期判定函數,實現對信號周期性的分析。
(3)調用FFT變換函數,對離散信號的快速傅里葉變換,實現時域到頻域的變換。
(4)顯示輸入信號的頻譜。
(5)計算信號的功率譜及計算最大功率。
(6)顯示信號的功率譜及最大功率。
2.1 A/D采樣
理論分析:因12位的A/D模塊,故量化單位為1/212,因頻率分辨率△f=100 Hz、FFT的子樣本點數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)時鐘源、自動轉換模式,每完成一次轉換進入一次中斷。在程序中應該定義一個采樣點數的結構體,用于存放A/D采集到的數據,每個結構體內包括一個實部和一個虛部。在中斷服務子程序中,由A/D模塊采集到的數字量存儲到結構體的實部,共進行采樣點數次轉換,中斷服務子程序的流程如圖4所示。
評論