自適應波束形成(五) Frost波束形成2

2021-06-21 06:21:33 字數 2477 閱讀 9233

上篇是對matlab模擬產生的陣列接收語音進行增強,這篇主要是利用frost波束形成器對真實訊號進行增強。

1  測試環境

採集環境為6*3.7*3.4m3的測試室,用恆通dar2000多路音訊採集卡(如圖1左),通過d型音訊接線口與由烽火pk-080vh微型數字針孔拾音器(如圖1右)組成的麥克風陣列相連,採集8路真實語音頻號進行語音增強測試。

圖1 dar2000多路音訊採集卡和 pk-080vh微型數字針孔拾音器

2 c++原始碼

這裡僅僅是測試演算法,所以沒有加入讀取音訊及寫音訊部分的**,通過將音訊資料存放於txt中簡單訪問。

#define bounds_check

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include "engine.h" using namespace std; using namespace splab; typedef double type; const int m=8,n=38454,fs=8000,j=20; //麥克風數 const double theta=-pi*30.0/180.0,mu=0.00002; //指向角-30 const type c=type(340.0); const type d=type(0.064); const type ts=1.0/fs; //計算時延 type delay(int m) else */ return d; } int delay1(int m) else } //分數時延濾波器 vector

h(int m) //計算c(c^tc)^-1 matrix

cc() matrix

delay(matrix

&x) yd.setcolumn(y,n); } return yd; } //時域lcmv vector

lcmvtime(matrix

&x,const int m) ; vector

in(n); ifstream fin(filename[a]); for(int i=0;i

>in[i]; } fin.close(); fin.clear(); return in; } int main() { //各麥克風輸出訊號 /*vector

in_0=readdata(0); vector

in_1=readdata(1); vector

in_2=readdata(2); vector

in_3=readdata(3); vector

in_4=readdata(4); vector

in_5=readdata(5); vector

in_6=readdata(6); vector

in_7=readdata(7);*/ //cout<

<

<

其中時延用的是整數時延,最後是用vs呼叫matlab畫圖。3 增強效果在60o方向有一女聲說「我在60o」,-30o方向有一男聲「我在-30o」,首先兩人分別單獨說,然後兩人同時說,取樣頻率為8khz,8個拾音器線性排列,間距6.4cm。先對-30o方向的男聲進行增強,結果如圖2所示。

圖2 增強-30o男聲訊號

上圖的上半部分是第乙個麥克風採集的混合語音,下半部分是對-30o男聲進行增強後的語音。由於前面兩段波形是兩人單獨說話時的波形,對這兩段波形分析可發現,60o語音頻號波形明顯衰減,-30o語音頻號波形基本不變。將-30o語音作為期望訊號,60o語音作為雜訊,增強前訊雜比約為3.6364db,增強後訊雜比約為8.0330db,訊雜比增益4.3966db。

然後對60o方向的女聲語音進行增強,結果如圖3所示。

圖3  增強60o女聲訊號

上圖的上半部分是第乙個麥克風採集的混合語音,下半部分是對60o女聲進行增強後的語音。對前面兩段兩人單獨說話時的波形分析可發現,60o語音頻號波形基本不變,-30o語音頻號波形明顯衰減。將60o語音作為期望訊號,-30o語音作為雜訊,增強前訊雜比約為-3.6364db,增強後訊雜比約為8.2396db,訊雜比增益11.8760db。

由以上實驗可知,frost波束形成器能明顯增強期望方向上的語音頻號,衰減干擾方向的語音頻號,但由於不同人聲頻率的差異,增強效果有所差別。

自適應波束形成(三) 頻域寬頻LCMV波束形成器

為了將窄帶波束形成擴充套件至寬頻,可以使用頻域lcmv波束形成器。首先將麥克風陣列各陣元接收到的訊號進行時延補償,做dft變換到頻域,然後在頻域內劃分子頻帶,在每個子頻帶內運用窄帶lcvm演算法,最後將得到的結果做idft逆變換回時域。儘管頻域lcmv波束形成器會降低收斂速度,但可以減少計算複雜度。...

語音領域的波束形成Beamforming小結

1.背景介紹 波束形成是個很有意思的方向,應用從雷達領域到5g領域,近幾年在語音識別領域也大放光彩。本文主要聚焦於波束形成在語音領域的應用。對於單麥克風來說,沒有波束的概率 波束形成主要針對多麥克風陣列,融合多個通道的資料,對雜訊和干擾方向進行抑制,增強目標方向的訊號。一種方式是找到目標訊號的方向,...

陣列訊號處理 窄帶 寬頻波束形成

波束形成處理過程 採用空間分布的感測器陣列採集場資料,對所採集的陣列資料進行線性加權組合處理得到乙個標量波束輸出,該處理器稱為波束形成器。根據所處理的資料頻頻寬度劃分,波束形成其分為窄帶波束形成器與寬頻波束形成器 窄帶波束形成器實現 1.正交解調得到復包絡後進行加權求和波束形成 2.相移波束形成 寬...