王 平,江華麗,王 毅,鄭孔華
摘 要:著重介紹音頻信號分析儀的軟硬件結構、特征及其工作原理,設計采用DSPIC30F6014A單片機為主控制器,基于A/D轉換和快速傅里葉變換方法對采集的音頻信號進行頻譜分析,能檢測20 Hz~10 kHz,100 mV~5 V的音頻輸入信號,頻率分辨率達到20 Hz,檢測出的各頻率分量的功率之和不小于總功率值的95%,單個頻率功率誤差小于10%,因此在嵌入式系統(tǒng)方面具有較好的應用價值。
關鍵詞:音頻信號;DSP;FFT;DSPIC30F6014A
中圖分類號:TH89文獻標識碼:A
文章編號:1004-373X(2009)19-122-03
Design of Audio Frequency Analyzer Based on Single Chip Computer
WANG Ping,JIANG Huali,WANG Yi,ZHENG Konghua
(School of Physics and Optoelectronics Technology,Fujian Normal University,Fuzhou,350007,China)
Abstract:The audio frequency analyzer ′s software and hardware structure,the characteristics and the principle of work are introduced.This design uses DSPIC30F6014A monolithic integrated circuit as the controller,it bases on the A/D transformation and FFT transformation to analyze the audio frequency signal,which can examine 20 Hz~10 kHz and 100 mV~5 V audio frequency input signal,frequency distinguish can reach to 20Hz,the various frequency component's sum of power is not smaller than the total performance 95%,the single frequency power error is smaller than 10%,therefore it has good aspect in the embedded system′s application.
Keywords:audio frequency signal;DSP;FFT;DSPIC30F6014A
0 引 言
目前,大多數(shù)音頻信號處理儀不但體積大而且價格貴,在一些特殊方面難以普及使用,而嵌入式系統(tǒng)分析儀具有小巧可靠的特點,所以開發(fā)基于特殊功能單片機的音頻分析儀器是語音識別的基礎,具有很好的現(xiàn)實意義。
信號分析原理是將信號從時間域轉換成頻率域,使原始信號中不明顯特性變得明顯,便于分析處理。對于音頻信號來說,其主要特征參數(shù)為幅度譜、功率譜。該音頻信號分析儀的工作過程為:對音頻信號限幅放大、模數(shù)轉換、快速傅里葉變換(FFT,時域到頻域的轉換)、特征值提取;從到音頻信號的幅度譜,進而得到音頻信號的功率譜[1]。
1 硬件設計
“智能家居”(Smart Home)也稱智能住宅。家居網(wǎng)絡智能控制系統(tǒng)就是利用先進的計算機技術、通訊技術和嵌入式技術,將家中的各種設備通過家庭網(wǎng)絡連接成系統(tǒng)。整個智能家居系統(tǒng)的構成如圖1所示。在該系統(tǒng)中,對于某些家用電器設備的監(jiān)測與控制需要進行音頻信號的分析[2]。
圖1 智能家居系統(tǒng)框圖
本設計選用Microchip公司的DSPIC30F6014A單片機為核心處理器,該芯片是MCU技術與DSP技術的結合,既包含了16位MCU的控制功能,又融合了DSP的高速運算技術,實際上就是數(shù)字微處理器、可方便地實現(xiàn)音頻信號分析的各種功能。音頻系統(tǒng)框圖如圖2所示,包括電源模塊、預制電路、A/D轉換模塊、DSP模塊、LCD顯示模塊等幾個部分。各模塊以及接口的具體設計和實現(xiàn)功能如下:
(1) 電源模塊:采用直流三端穩(wěn)壓電源設計,220 V交流電經(jīng)降壓、整流、濾波和穩(wěn)壓后,轉換成系統(tǒng)需要的±5 V、±12 V電源電壓。
(2) 預制電路:為保證輸入頻寬在音頻范圍,前端直流偏置電路采用OP07放大器,第一級的加法器將輸入信號與2.5 V電壓值相加,第二級的反相器將信號轉移到A/D轉換能處理的0~5 V范圍。因輸入端50 Ω電阻的接地,故系統(tǒng)輸入阻抗近似為50 Ω[3]。
(3) A/D轉換模塊:因為音頻信號的輸入只有一路,所以在12位可配置的A/D模塊的16個模擬輸入引腳中只用到AN6,初始化時,將該引腳配置為模擬輸入引腳,同時,因為處理后的音頻信號電壓為0~5 V,將A/D模塊的參考電壓設置為0 V,5 V。轉換輸出速率高達200 KSPS[4]。
(4) DSP模塊:該數(shù)字微處理器是改良的哈佛結構設計,可實時分析,具有很高的分辨率。通過Microchip公司的MPLAB C30 C編譯器調用DSP模塊,該編譯器中提供49個DSP處理函數(shù),可以完成全部的數(shù)字信號處理 [5]。
(5) LCD顯示模塊:用于直觀顯示頻譜波形。
(6) ICD2調試接口:選用 Microchip公司的ICD2在線調試器,為此預留了ICD2調試接口[6]。
(7) RC振蕩器:此單片機可工作在外部時鐘輸入、外部RC輸入、內部快速RC振蕩器、內部低功耗(RC)振蕩器四種模式,以及在低功耗時使用的后分頻器。本設計采用內部快速RC振蕩器,它能提供7.37 MHz的時鐘,由于要實現(xiàn)對音頻信號實時處理,所以沒有用到后分頻器[7]。
圖2 音頻系統(tǒng)框圖
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) 顯示信號的功率譜及最大功率。
圖3 主程序流程圖
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=0.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所示。
圖4 A/D中斷服務子程序流程圖
2.2 周期判定
音頻信號的頻率分量不但多,而且不具周期性。測量周期可以在時域也可以在頻域,但是由于頻域測量周期性時要求某些頻率點具有由規(guī)律的零點或接近零點出現(xiàn),所以對于較為復雜的、頻率分量較多且功率分布較均勻且低的信號就無法正確地分析其周期性。因此,對于信號的周期性判定,應該在對信號進行FFT變換之前,直接調用周期判斷函數(shù)[8]。周期性判定子程序流程圖如圖5所示。
圖5 周期性判定子函數(shù)流程圖
2.3 FFT變換
由于直接傅里葉變換的計算量與子樣本點數(shù)N的平方成正比,在N較大時,計算量太大,不適合在資源有限的嵌入式系統(tǒng)中實現(xiàn)。所以最常用基2 FFT算法,其主要思想是將N點直接傅里葉變換分解成多個較短的直接傅里葉變換,再利用旋轉因子的周期性、對稱性,在很大程度上節(jié)省了系統(tǒng)資源。
MPLAB C30 C編譯器內部提供了幾乎全部的數(shù)字信號處理軟件工具,通過DSPIC30F系列微處理器[9],只需調用Microchip公司提供的庫函數(shù),即可方便的實現(xiàn)數(shù)字信號處理。對于基2 FFT變換來說,其軟件流程圖如圖6所示。
圖6 FFT變換軟件流程圖
2.4 特征值提取
對頻域分析起決定作用的量包括采樣頻率、采樣點數(shù)。通過FFT[10]變換,得到離散化的幅度譜X(k),先將離散化的幅度值平方,再除于子樣本點數(shù)N,就可得到該頻率點對應的功率值(功率=X(k)*X(k)/N)。
3 結 語
系統(tǒng)的主要性能指標為:輸入阻抗50 Ω;輸入信號電壓范圍(峰-峰值)100 mV~5 V;輸入信號包含的頻率成分范圍為200 Hz~10 kHz;頻率分辨力為100 Hz(可正確測量被測信號中,頻差不小于100 Hz的頻率分量的功率值);輸入信號的總功率和各頻率分量的功率,檢測出的各頻率分量的功率之和不小于總功率值的95%;各頻率分量功率測量的相對誤差的絕對值小于10%,總功率測量的相對誤差的絕對值小于5%;以5 s周期刷新分析數(shù)據(jù),信號各頻率分量應按功率大小依次存儲并可回放顯示,同時實時顯示信號總功率和至少前兩個頻率分量的頻率值和功率值,并設暫停鍵保持顯示的數(shù)據(jù)。
基于DSP單片機技術的音頻信號分析具有性能穩(wěn)定、電路簡單、速度快、成本低、體積小的特點,適用于需要音頻信號分析的嵌入式系統(tǒng)中,可以在更多領域進一步推廣和應用,如環(huán)境監(jiān)測、語音識別、智能系統(tǒng)的控制等。
參考文獻
[1]胡航.語音信號處理[M].哈爾濱:哈爾濱工業(yè)大學出版社,2000.
[2]王平,程明傳.嵌入式無線家庭網(wǎng)關的設計與實現(xiàn)[J].微計算機應用,2008,24(29):53-56.
[3]夏宇聞.Verilog 數(shù)字系統(tǒng)設計教程[M].北京:北京航空航天大學出版社,2003.
[4]謝自美.電子線路設計?實驗?測試[M].2版.武漢:華中科技大學出版社,2000.
[5]劉文波,張弓.混沌信號中隱含周期信號的一種識別方法[J].雷達與對抗,2001(1):46-49.
[6]楊素行.模擬電子技術基礎簡明教程[M].北京:高等教育出版社,2006.
[7]何立民.單片機高級教程[M].北京:北京航空航天大學出版社,2001.
[8]丁玉美,高西全.數(shù)字信號處理[M].2版.西安:西安電子科技大學出版社,2006.
[9]代紅權,陳海燕.基于Matlab的大學物理實驗數(shù)據(jù)處理系統(tǒng)[J].重慶工學院學報:自然科學版,2007,21(3):32-34.
[10]梅海清,馮毅.數(shù)字變頻FFT在頻譜分析中的應用[J].石油化工自動化,2003(1): 57-58.