余會(huì)娟
摘要:有限長(zhǎng)沖激響應(yīng)(FIR)數(shù)字濾波器具有描述方便、系統(tǒng)穩(wěn)定、易于實(shí)現(xiàn)線性相位等特點(diǎn),獲得了廣泛的應(yīng)用。該文采用FIR數(shù)字濾波器的窗函數(shù)法設(shè)計(jì)濾波器,針對(duì)語(yǔ)音信號(hào)中出現(xiàn)的加性噪聲進(jìn)行消除,并在matlab軟件中進(jìn)行實(shí)現(xiàn)。
關(guān)鍵詞:FIR數(shù)字濾波器;窗函數(shù)法;matlab;語(yǔ)音信號(hào)處理
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)03-0183-03
數(shù)字濾波器是數(shù)字信號(hào)處理的一個(gè)重要技術(shù)分支,利用它可以在形形色色的信號(hào)中提取所需信號(hào),抑制不需要的信號(hào)(干擾、噪聲等)。有限長(zhǎng)脈沖響應(yīng)FIR濾波器在保證幅度特性滿足技術(shù)要求的同時(shí),很容易做到有嚴(yán)格的線性相位特性,因此在高保真的信號(hào)處理領(lǐng)域得到了廣泛應(yīng)用。濾波器的設(shè)計(jì)過(guò)程分三步完成:①技術(shù)要求,在設(shè)計(jì)之前,根據(jù)具體用途確定技術(shù)指標(biāo);②近似,用選用的設(shè)計(jì)方法表述濾波器,它可以是一個(gè)差分方程的形式,或者是一個(gè)系統(tǒng)函數(shù)H(Z)的形式,或者是一個(gè)脈沖響應(yīng)h(n)的形式,這種表述逼近于所給定的技術(shù)指標(biāo);③實(shí)現(xiàn),依據(jù)上一步的濾波器表述,在計(jì)算機(jī)上通過(guò)MATLAB軟件實(shí)現(xiàn)這個(gè)濾波器。本文旨在用FIR數(shù)字濾波器的窗函數(shù)法設(shè)計(jì)濾波器,針對(duì)語(yǔ)音信號(hào)中出現(xiàn)的加性噪聲進(jìn)行消除。并在matlab軟件中實(shí)現(xiàn)。
1 FIR數(shù)字濾波器設(shè)計(jì)原理
FIR數(shù)字濾波器的單位脈沖響應(yīng)是有限長(zhǎng)的,使得它在以下方面具有明顯的優(yōu)勢(shì):
(1) 有限長(zhǎng)序列的Z變換在整個(gè)Z平面上收斂,因此,不存在穩(wěn)定性問(wèn)題;
(2) 只要經(jīng)過(guò)一定的時(shí)延,任何非因果的有限長(zhǎng)序列都可以變成因果的有限長(zhǎng)序列,都可以用因果系統(tǒng)來(lái)實(shí)現(xiàn);
(3) 由于單位脈沖響應(yīng)是有限長(zhǎng)的,可以用快速傅立葉變換算法實(shí)現(xiàn)信號(hào)的濾波,使運(yùn)算效率大大提高。
因此,F(xiàn)IR數(shù)字濾波器日益引起人們的注意,在各個(gè)領(lǐng)域廣泛應(yīng)用。
如果FIR數(shù)字濾波器的單位脈沖響應(yīng)h(n)為實(shí)數(shù),且滿足以下任何一個(gè)條件:
偶對(duì)稱:h(n)=h(N-1-n);
奇對(duì)稱:h(n)=-h(N-1-n)
其對(duì)稱中心在(N-1)/2處,則濾波器就具有準(zhǔn)確的線性相位。
將頻率響應(yīng)表示成,其中是幅度函數(shù),是相位函數(shù)。
2 基于窗函數(shù)法的 FIR數(shù)字濾波器設(shè)計(jì)
理想的數(shù)字濾波器的頻率響應(yīng)可以用傅立葉級(jí)數(shù)展開(kāi)為:
其中傅立葉系數(shù)為 :
顯然,就是理想濾波器的單位脈沖響應(yīng)。 但是直接用(2)式設(shè)計(jì)FIR濾波器是不可能的,因?yàn)槭且粋€(gè)無(wú)限長(zhǎng)非因果序列。根據(jù)線性相位FIR數(shù)字濾波器理論,單位脈沖響應(yīng)應(yīng)該是有限長(zhǎng)的因果序列。因此,設(shè)計(jì)FIR濾波器就是解決向逼近的問(wèn)題。可以直接用截?cái)嗟姆椒ū平筺取有限項(xiàng),那么,(1)式就變?yōu)椋?/p>
截取后,我們要保證截取的一段對(duì)(N-1)/2對(duì)稱,這樣就構(gòu)成一個(gè)長(zhǎng)度為N的線性相位濾波器。
但是,用直接截?cái)嗟姆椒〞?huì)使得頻率響應(yīng)的間斷會(huì)出現(xiàn)吉布斯(Gibbs)效應(yīng),該效應(yīng)會(huì)引起通帶內(nèi)和阻帶內(nèi)的波動(dòng)性,尤其使阻帶內(nèi)的衰減減小,從而滿足不了技術(shù)上的要求。這種吉布斯(Gibbs)效應(yīng)是由于將直接截?cái)嘁鸬模渤7Q為截?cái)嘈?yīng)。
2.1 設(shè)計(jì)原理
獲得FIR數(shù)字濾波器的一個(gè)有效的方法就是利用有限的“加權(quán)”序列w(n),也就是所謂的“窗函數(shù)”來(lái)修正(1)和(2)式。這種方法稱為“窗函數(shù)法”。通常,是將h(n)看作理想單位脈沖響應(yīng)hd(n)與窗函數(shù)w(n)的乘積。即
利用復(fù)卷積定理可得:
上式表明,是理想頻率響應(yīng)與窗函數(shù)頻率響應(yīng)的循環(huán)卷積。因此,對(duì)的逼近程度完全決于窗函數(shù)的頻率特性。
加窗函數(shù)后,對(duì)濾波器的理想特性影響有以下幾點(diǎn):
(1) Hd(w)在截止頻率的間斷點(diǎn)變成了連續(xù)的曲線,使得Hd(w)出現(xiàn)了一個(gè)過(guò)渡帶,它的寬度等于窗函數(shù)的主瓣寬度,由此可知,如果窗函數(shù)的主瓣越寬,過(guò)渡帶就越寬。
(2) 由于窗函數(shù)旁瓣的影響,使得濾波器的幅度頻率特性出現(xiàn)了波動(dòng),波動(dòng)的幅度取決于旁瓣的相對(duì)幅度。旁瓣范圍的面積越大,通帶波動(dòng)和阻帶的波動(dòng)就越大,也就是說(shuō)阻帶的衰減減小。而波動(dòng)的多少,取決于旁瓣的多少。
(3) 增加窗函數(shù)的長(zhǎng)度,只能減少窗函數(shù)的幅度頻率特性W(w)的主瓣寬度,而不能減少主瓣和旁瓣的相對(duì)值,該值取決于窗函數(shù)的形狀,即增加截取函數(shù)的長(zhǎng)度N只能相應(yīng)的減小過(guò)渡帶,而不能改變?yōu)V波器的波動(dòng)。
因此,通過(guò)改變窗函數(shù)的形狀來(lái)改善濾波器的幅度頻率特性。窗函數(shù)的選擇原則是:
(1) 具有較低的旁瓣幅度,尤其是第一旁瓣的幅度。
(2) 旁瓣的幅度下降的速率要快,以利于增加阻帶的衰減。
(3) 主瓣的寬度要窄,這樣可以得到比較窄的過(guò)渡帶。
通常上述的幾點(diǎn)難以同時(shí)滿足,實(shí)際上選用的窗函數(shù)往往是它們的折中。
窗函數(shù)的種類繁多,而且還可以根據(jù)需要自己設(shè)計(jì)窗函數(shù),在設(shè)計(jì)FIR數(shù)字濾波器時(shí),選擇窗函數(shù)的原則是在保證阻帶衰減滿足要求的情況下,盡量選擇主瓣窄的窗函數(shù)。
2.2 設(shè)計(jì)步驟
FIR數(shù)字濾波器的窗函數(shù)法設(shè)計(jì)步驟:
(1) 依據(jù)給定的技術(shù)指標(biāo)得出理想的頻率響應(yīng);
(2) 選擇窗函數(shù),根據(jù)其過(guò)渡帶寬△W,估計(jì)h(n)的長(zhǎng)度N;
(3) 根據(jù)理想頻率響應(yīng)計(jì)算理想單位脈沖響應(yīng);
(4) 用選擇的窗函數(shù)對(duì)進(jìn)行加窗得出,;
(5) 計(jì)算數(shù)字濾波器的頻率響應(yīng)。
2.3 設(shè)計(jì)與MATLAB實(shí)現(xiàn)
對(duì)采樣頻率為220v、50HZ的語(yǔ)音信號(hào)人工引入高頻5KHZ余弦噪聲后,對(duì)信號(hào)在頻域進(jìn)行濾波。濾波后顯示的語(yǔ)音信號(hào)的波形與原始語(yǔ)音信號(hào)波形基本相同。
2.3.1 信號(hào)采集程序
fs=22050;
x1=wavread('C:\Documents and Settings\laurence\桌面\新建文件夾\數(shù)字.wav'); sound(x1,22050);
y1=fft(x1,1024);
f=fs*(0:511)/1024;
figure(1)
plot(x1)
title('原始語(yǔ)音信號(hào)');
xlabel('time n');
ylabel('fuzhi n');
figure(2)
freqz(x1)
title('頻率響應(yīng)圖')
figure(3)
subplot(2,1,1);
plot(abs(y1(1:512)))
title('原始語(yǔ)音信號(hào)FFT頻譜')
subplot(2,1,2);
plot(f,abs(y1(1:512)));
title('原始語(yǔ)音信號(hào)頻譜')
xlabel('Hz');
ylabel('fuzhi');
2.3.2 加上5kHz高頻余弦噪聲后的信號(hào)采集程序
fs=22050;
x1=wavread('C:\Documents and Settings\laurence\桌面\新建文件夾\數(shù)字.wav');
f=fs*(0:511)/1024;
t=0:1/22050:(size(x1)-1)/22050;
Au=0.03;
d=[Au*cos(2*pi*5000*t)]';
x2=x1+d;
sound(x2,22050);
y2=fft(x2,1024);
figure(1)
plot(t,x2)
title('加噪后的信號(hào)');
xlabel('time n');
ylabel('fuzhi n');
figure(2)
subplot(2,1,1);
plot(f,abs(y1(1:512)));
title('原始語(yǔ)音信號(hào)頻譜');
xlabel('Hz');
ylabel('fuzhi');
subplot(2,1,2);
plot(f,abs(y2(1:512)));
title('加噪后的信號(hào)頻譜');
xlabel('Hz');
ylabel('fuzhi');
2.3.4 窗函數(shù)法設(shè)計(jì)濾波器程序
fs=22050;
x1=wavread('C:\Documents and Settings\laurence\桌面\新建文件夾\數(shù)字.wav');
t=0:1/22050:(size(x1)-1)/22050;
Au=0.03;
d=[Au*cos(2*pi*5000*t)]';
x2=x1+d;
wp=0.25*pi;
ws=0.3*pi;
wdelta=ws-wp;
N=ceil(6.6*pi/wdelta);
wn=(0.2+0.3)*pi/2;
b=fir1(N,wn/pi,hamming(N+1));
figure(1)
freqz(b,1,512)
f2=filter(bz,az,x2)
figure(2)
subplot(2,1,1)
plot(t,x2)
title('濾波前的時(shí)域波形');
subplot(2,1,2)
plot(t,f2);
title('濾波后的時(shí)域波形');
sound(f2,22050);
F0=fft(f2,1024);
f=fs*(0:511)/1024;
figure(3)
y2=fft(x2,1024);
subplot(2,1,1);
plot(f,abs(y2(1:512)));
title('濾波前的頻譜')
xlabel('Hz');
ylabel('fuzhi');
subplot(2,1,2)
F2=plot(f,abs(F0(1:512)));
title('濾波后的頻譜')
xlabel('Hz');
ylabel('fuzhi');
3 結(jié)束語(yǔ)
語(yǔ)音信號(hào)是最能體現(xiàn)信號(hào)非線性的一個(gè)領(lǐng)域。本文運(yùn)用MATLAB軟件,設(shè)計(jì)出符合技術(shù)要求的數(shù)字濾波器,對(duì)加入單一頻率語(yǔ)音信號(hào)進(jìn)行消噪處理,結(jié)果顯示還是非常有效的。FIR濾波器對(duì)語(yǔ)音信號(hào)濾波能夠取得較好的效果。對(duì)于高斯噪聲引入及消噪的方法需要用到現(xiàn)代濾波器的設(shè)計(jì)方法,傳統(tǒng)濾波器只能削弱而不能消除噪聲的影響。當(dāng)然,對(duì)語(yǔ)音信號(hào)進(jìn)行處理技術(shù)還有很多方面,如語(yǔ)音壓縮和語(yǔ)音編碼,語(yǔ)音識(shí)別等。結(jié)合語(yǔ)音語(yǔ)義理論的研究, 循環(huán)平穩(wěn)信號(hào)分析、多譜分析和時(shí)頻尺度理論,關(guān)鍵特征的捕捉等多層次的語(yǔ)音信號(hào)研究,有很重要的應(yīng)用前景。
參考文獻(xiàn):
[1] 陳明軍,毛樟梅.改進(jìn)窗函數(shù)在FIR數(shù)字濾波器設(shè)計(jì)中的應(yīng)用[J].繼電器,2007,35(13):64-68.
[2] 孫強(qiáng).運(yùn)用MATLAB實(shí)現(xiàn)數(shù)字濾波器的設(shè)計(jì)[J].電腦學(xué)習(xí),2005(2):32-34.
[3] 蘇玉萍,鄭瓊瓊,余冬菊.基于MATLAB的FIR濾波器設(shè)計(jì)[J].中國(guó)科技信息,2008(8):44-46.
[4] 周輝,董正宏.數(shù)字信號(hào)處理基礎(chǔ)及MATLAB實(shí)現(xiàn)[M].北京:北京希望出版社,2006:230-260.
[5] 丁玉美,高西全.數(shù)字信號(hào)處理[M].2版.西安:西安電子科技大學(xué)出版社,2000:195-222.