基于麥克風(fēng)陣列聲源定位系統(tǒng)的FPGA實(shí)現(xiàn)
2.4 本幀互功率譜模塊
第一路信號(hào)FFT結(jié)果與第二路信號(hào)FFT結(jié)果的共軛相乘得到本幀互功率譜。
若第一路是r1+i1,第二路是r2+i2,其共軛為r2-i2,相乘時(shí)可用式(6),式(7)所示的計(jì)算方法,這樣可以減少一次乘法運(yùn)算,節(jié)省內(nèi)部資源
其中,R和I是本幀互功率譜的實(shí)部和虛部;r1和r2是FFT結(jié)果的實(shí)部;i1和i2是FFT結(jié)果的虛部。
2.5 頻域加權(quán)模塊
本幀互功率譜乘以存放在ROM中的加權(quán)函數(shù),使互相關(guān)函數(shù)峰值更加突出。調(diào)用內(nèi)部乘法器模塊即可完成。
2.6 功率譜平滑模塊
對(duì)加權(quán)模塊結(jié)果,進(jìn)行連續(xù)數(shù)幀的累加以平滑互功率譜,使峰值便于檢測(cè)。調(diào)用內(nèi)部加法器模塊即可完成。
2.7 反FFT模塊
對(duì)平滑結(jié)果進(jìn)行反FFT運(yùn)算,求得互相關(guān)函數(shù)。根據(jù)FFT原理,反FFT運(yùn)算可借助于FFT模塊計(jì)算。即將FFT運(yùn)算中旋轉(zhuǎn)因子取倒數(shù),最后的輸出乘以1/N就可以用來(lái)計(jì)算反FFT。為防止運(yùn)算過(guò)程中發(fā)生溢出,可將1/N分配到每一級(jí)蝶形運(yùn)算中。由于1/N=(1/2)M,所以每級(jí)的每個(gè)蝶形輸出支路均有一相乘因子1/2,即右移一位即可。
2.8 峰值檢測(cè)模塊
對(duì)FFT結(jié)果求模即是求的值,然后求出其模值的峰值,即相應(yīng)的語(yǔ)音信號(hào)時(shí)延值。
2.9 定位算法模塊
根據(jù)角度距離定位法,聲源相對(duì)原點(diǎn)的水平角θazimuth為
其中,a是麥克之間的間距;d是聲源到麥克對(duì)的距離差。
聲源相對(duì)原點(diǎn)的仰角φelevation為
其中,a是麥克之間的間距;d是聲源到麥克對(duì)的距離差。
由上可知,需要計(jì)算反余弦函數(shù)值確定出相應(yīng)的角度值。反余弦函數(shù)是超越函數(shù),可以用泰勒級(jí)數(shù)近似計(jì)算這個(gè)函數(shù),但較為麻煩且精度不高,而CORDIC算法是由移位和加減運(yùn)算組成,所以比較適合FPGA的實(shí)現(xiàn),速度較快且具有較高的迭代精度。本系統(tǒng)使用高速9級(jí)流水線結(jié)構(gòu)實(shí)現(xiàn)CORDIC算法。迭代關(guān)系如下
式(10)是迭代的初始條件,式(11)是根據(jù)本次坐標(biāo)值判定下次迭代方向,式(12)~式(14)是下次迭代公式。
算法經(jīng)過(guò)數(shù)次迭代后θ的值即是*****。實(shí)際中使用9級(jí)迭代,可以得到7位精度。最小角度精度為0.111 905。
3 模塊仿真和綜合報(bào)告
Quartus II是Altera公司開發(fā)的綜合性PLD軟件,內(nèi)嵌綜合器和仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整PLD設(shè)計(jì)流程。而且具有運(yùn)行速度快、界面統(tǒng)一、功能集中、易學(xué)易用等特點(diǎn)。
本設(shè)計(jì)使用Quartus II8.0對(duì)各個(gè)模塊進(jìn)行仿真驗(yàn)證。通過(guò)仿真,驗(yàn)證了各個(gè)系統(tǒng)模塊可以準(zhǔn)確的工作,并完成了整個(gè)設(shè)計(jì)功能。選取Alte-ra公司Cyclone II系列中的EP2C35F484C8器件對(duì)整個(gè)程序進(jìn)行時(shí)序仿真,其主要資源消耗為:總邏輯單元為3740/3 3216,總存儲(chǔ)單元為74 240/483 840,總管腳為387/475??偝朔ㄆ鳛?6/35。仿真結(jié)果表明,本文所述實(shí)現(xiàn)方法結(jié)構(gòu)可行,可以獲得良好的性能,其最高速率可以達(dá)到87.3 MHz,完全滿足系統(tǒng)要求。
4 結(jié)束語(yǔ)
本設(shè)計(jì)通過(guò)FPGA來(lái)實(shí)現(xiàn)整個(gè)系統(tǒng),充分利用了Altera公司FPGA產(chǎn)品高速大容量開發(fā)靈活方便等優(yōu)點(diǎn),并使用QuartusⅡ開發(fā)環(huán)境所提供的庫(kù)資源,同時(shí)最大限度地利用和發(fā)揮了FPGA的優(yōu)勢(shì),從而簡(jiǎn)化了系統(tǒng)設(shè)計(jì),縮短了設(shè)計(jì)周期。本文引用地址:http://www.ex-cimer.com/article/191197.htm
評(píng)論