目前,大多數(shù)音頻信號(hào)處理儀不但體積大而且價(jià)格貴,在一些特殊方面難以普及使用,而嵌入式系統(tǒng)分析儀具有小巧可靠的特點(diǎn),所以開發(fā)基于特殊功能單片機(jī)的音頻分析儀器是語音識(shí)別的基礎(chǔ),具有很好的現(xiàn)實(shí)意義。信號(hào)分析原理是將信號(hào)從時(shí)間域轉(zhuǎn)換成頻率域,使原始信號(hào)中不明顯特性變得明顯,便于分析處理。對(duì)于音頻信號(hào)來說,其主要特征參數(shù)為幅度譜、功率譜。該音頻信號(hào)分析儀的工作過程為:對(duì)音頻信號(hào)限幅放大、模數(shù)轉(zhuǎn)換、快速傅里葉變換(FFT,時(shí)域到頻域的轉(zhuǎn)換)、特征值提??;從到音頻信號(hào)的幅度譜,進(jìn)而得到音頻信號(hào)的功率譜。
1 硬件設(shè)計(jì)
“智能家居”(SmartHome)也稱智能住宅。家居網(wǎng)絡(luò)智能控制系統(tǒng)就是利用先進(jìn)的計(jì)算機(jī)技術(shù)、通訊技術(shù)和嵌入式技術(shù),將家中的各種設(shè)備通過家庭網(wǎng)絡(luò)連接成系統(tǒng)。整個(gè)智能家居系統(tǒng)的構(gòu)成如圖1所示。在該系統(tǒng)中,對(duì)于某些家用電器設(shè)備的監(jiān)測與控制需要進(jìn)行音頻信號(hào)的分析。
本設(shè)計(jì)選用Microchip公司的
(1)經(jīng)過采樣、A/D轉(zhuǎn)換完成后,清除A/D使能標(biāo)志,得到離散化的數(shù)字信號(hào)。
(2)調(diào)用周期判定函數(shù),實(shí)現(xiàn)對(duì)信號(hào)周期性的分析。
(3)調(diào)用FFT變換函數(shù),對(duì)離散信號(hào)的快速傅里葉變換,實(shí)現(xiàn)時(shí)域到頻域的變換。
(4)顯示輸入信號(hào)的頻譜。
(5)計(jì)算信號(hào)的功率譜及計(jì)算最大功率。
(6)顯示信號(hào)的功率譜及最大功率。
2.1 A/D采樣
理論分析:因12位的A/D模塊,故量化單位為1/212,因頻率分辨率△f=100 Hz、FFT的子樣本點(diǎn)數(shù)N=512,故采樣頻率fs=51 200 Hz(fs≤N△f)、采樣周期Ts=1/51 200 s(采樣周期一采樣時(shí)間+轉(zhuǎn)換時(shí)間)。因振蕩頻率為7.37 MHz,故指令周期TCY=(1/7.37)×4=O.5μs。
實(shí)際控制:轉(zhuǎn)換時(shí)間為14個(gè)TAD(為正確A/D轉(zhuǎn)換,TAD=333.33 ns)。所以,配置A/D自動(dòng)采樣時(shí)間為6個(gè)TAD,A/D轉(zhuǎn)換時(shí)鐘為16TCY,則A/D轉(zhuǎn)換總時(shí)間為0.092 ms,采樣頻率為10.87 kHz。
A/D模塊工作在系統(tǒng)時(shí)鐘源、自動(dòng)轉(zhuǎn)換模式,每完成一次轉(zhuǎn)換進(jìn)入一次中斷。在程序中應(yīng)該定義一個(gè)采樣點(diǎn)數(shù)的結(jié)構(gòu)體,用于存放A/D采集到的數(shù)據(jù),每個(gè)結(jié)構(gòu)體內(nèi)包括一個(gè)實(shí)部和一個(gè)虛部。在中斷服務(wù)子程序中,由A/D模塊采集到的數(shù)字量存儲(chǔ)到結(jié)構(gòu)體的實(shí)部,共進(jìn)行采樣點(diǎn)數(shù)次轉(zhuǎn)換,中斷服務(wù)子程序的流程如圖4所示。
2.2 周期判定
音頻信號(hào)的頻率分量不但多,而且不具周期性。測量周期可以在時(shí)域也可以在頻域,但是由于頻域測量周期性時(shí)要求某些頻率點(diǎn)具有由規(guī)律的零點(diǎn)或接近零點(diǎn)出現(xiàn),所以對(duì)于較為復(fù)雜的、頻率分量較多且功率分布較均勻且低的信號(hào)就無法正確地分析其周期性。因此,對(duì)于信號(hào)的周期性判定,應(yīng)該在對(duì)信號(hào)進(jìn)行FFT變換之前,直接調(diào)用周期判斷函數(shù)。周期性判定子程序流程圖如圖5所示。
2.3 FFT變換
由于直接傅里葉變換的計(jì)算量與子樣本點(diǎn)數(shù)N的平方成正比,在N較大時(shí),計(jì)算量太大,不適合在資源有限的嵌入式系統(tǒng)中實(shí)現(xiàn)。所以最常用基2 FFT算法,其主要思想是將N點(diǎn)直接傅里葉變換分解成多個(gè)較短的直接傅里葉變換,再利用旋轉(zhuǎn)因子的周期性、對(duì)稱性,在很大程度上節(jié)省了系統(tǒng)資源。
MPLAB C30 C編譯器內(nèi)部提供了幾乎全部的數(shù)字信號(hào)處理軟件工具,通過
DSPIC30F系列微處理器,只需調(diào)用Microchip公司提供的庫函數(shù),即可方便的實(shí)現(xiàn)數(shù)字信號(hào)處理。對(duì)于基2 FFT變換來說,其軟件流程圖如圖6所示。
2.4 特征值提取
對(duì)頻域分析起決定作用的量包括采樣頻率、采樣點(diǎn)數(shù)。通過FFT變換,得到離散化的幅度譜X(k),先將離散化的幅度值平方,再除于子樣本點(diǎn)數(shù)N,就可得到該頻率點(diǎn)對(duì)應(yīng)的功率值(功率=X(k)*X(k)/N)。
3 結(jié) 語
系統(tǒng)的主要性能指標(biāo)為:輸入阻抗50 Ω;輸入信號(hào)電壓范圍(峰-峰值)100 mV~5 V;輸入信號(hào)包含的頻率成分范圍為200 Hz~10 kHz;頻率分辨力為100Hz(可正確測量被測信號(hào)中,頻差不小于100 Hz的頻率分量的功率值);輸入信號(hào)的總功率和各頻率分量的功率,檢測出的各頻率分量的功率之和不小于總功率值的95%;各頻率分量功率測量的相對(duì)誤差的絕對(duì)值小于10%,總功率測量的相對(duì)誤差的絕對(duì)值小于5%;以5 s周期刷新分析數(shù)據(jù),信號(hào)各頻率分量應(yīng)按功率大小依次存儲(chǔ)并可回放顯示,同時(shí)實(shí)時(shí)顯示信號(hào)總功率和至少前兩個(gè)頻率分量的頻率值和功率值,并設(shè)暫停鍵保持顯示的數(shù)據(jù)。基于DSP單片機(jī)技術(shù)的音頻信號(hào)分析具有性能穩(wěn)定、電路簡單、速度快、成本低、體積小的特點(diǎn),適用于需要音頻信號(hào)分析的嵌入式系統(tǒng)中,可以在更多領(lǐng)域進(jìn)一步推廣和應(yīng)用,如環(huán)境監(jiān)測、語音識(shí)別、智能系統(tǒng)的控制等。