新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于麥克風(fēng)陣列聲源定位系統(tǒng)的FPGA實現(xiàn)

基于麥克風(fēng)陣列聲源定位系統(tǒng)的FPGA實現(xiàn)

作者: 時間:2011-05-24 來源:網(wǎng)絡(luò) 收藏


2 各模塊設(shè)計實現(xiàn)
2.1 FIR帶通濾波模塊
為了消除噪聲和回聲干擾的影響,首先需要進行濾波。語音信號的帶寬是0.3~3.4 kHz,因而需要設(shè)計一個帶通濾波器濾除語音信號帶寬之外的噪聲。為了使處理過的信號相位不發(fā)生變化即保持線性相位,需要采用FIR濾波器。
這里采用切比雪夫逼近法,由Matlab濾波器設(shè)計工具求得濾波器的各系數(shù),乘以1024進行量化,轉(zhuǎn)化為CSD編碼以提高其運行效率,最后由Verilog代碼實現(xiàn)。
2.2 半重疊漢明窗模塊
為了保證語音信號平穩(wěn)性,一幀信號的時間窗長度選為10~30 ms。而采樣器頻率為10 kHz,為了便于FFT處理選擇25.6 ms即幀長為256點。為了保證統(tǒng)計特征的連續(xù)性和得到更好的語音處理效果,各幀之間進行50%的重疊,即每次處理只更新12.8 ms的數(shù)據(jù)。這樣,一幀內(nèi)的信號可以近似認為是平穩(wěn)的。

本文引用地址:http://m.butianyuan.cn/article/191197.htm

f.jpg


分幀是用可移動的有限長度窗口進行加權(quán)的方法實現(xiàn),這就是用某窗函數(shù)w(n)乘以s(n),從而形成加窗的語音信號sw(n)=s(n)×w(n),其中窗函數(shù)的值存儲在內(nèi)部存儲資源中。常用的窗函數(shù)有漢明窗與矩形窗,漢明窗比矩形窗的平滑效果更好,故選擇漢明窗,其表達式如式(5)所示
g.jpg
其中,N是幀長。
2.3 FFT運算模塊
由于語音信號是連續(xù)的實時采樣,為了能使傳來的語音信號連續(xù)不斷的處理,這里采用了乒乓結(jié)構(gòu),即采用兩個分別能存儲一幀數(shù)據(jù)的雙口RAM,第一個RAM在存儲新數(shù)據(jù)時,第二個RAM進行FFT運算,并存儲其結(jié)果。然后,第一個RAM進行FFT運算,并存儲其結(jié)果,第二個RAM存儲新的數(shù)據(jù),這樣就保證了信號處理的連續(xù)性。

h.jpg


乒乓存儲時由倒序地址模塊產(chǎn)生倒序存儲地址,使RAM中存儲數(shù)據(jù)為倒序,為FFT運算做準備。為了加快運算速度,蝶形運算旋轉(zhuǎn)因子,先由Matlab軟件生成,量化為12位帶符號數(shù),然后存儲在內(nèi)部ROM里面。
整個FFT運算單元由狀態(tài)機設(shè)計完成,共由5個狀態(tài)完成;S1狀態(tài)輸出第一個操作數(shù)地址;S2狀態(tài)得到第一個操作數(shù),輸出第二個操作數(shù)地址;S3狀態(tài)得到第2個操作數(shù),計算出第一個結(jié)果;S4狀態(tài)寄存第一個結(jié)果,計算出第二個結(jié)果;S5狀態(tài)寄存第二個結(jié)果,產(chǎn)生下一級運算地址。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉