1、原始语音信号的采集与处理
程序清单:
%================原始语音信号===========================%
figure(1);
[music,Fs] = audioread('pei.wav'); %语音信号的采样
y1=music(:,1); %取单声道
y2=music(:,2);
% sound(y1,Fs);
Ns=length(y1); %采样点数Ns
t=(0:Ns-1)/Fs;
subplot(231);
plot(t,y1);title('原始音频信号波形');
xlabel('time/s');ylabel('幅度');
Y1=fft(y1);
magY1=abs(Y1);
magY1(1)=magY1(1)/Ns;
magY1(2:Ns)=magY1(2:Ns)/Ns*2 ;
subplot(234);
f=(0:Ns-1)*Fs/Ns; %Fs/Ns为频率分辨率
plot(f,magY1);title('幅频特性曲线');
xlabel('frequency/Hz');ylabel('幅度');
axis([0 1e+4 0 0.03]);
运行结果:
图一 原始语音信号时域波形
图二 原始语音信号频谱图
2、噪声信号的生成与处理
程序清单:
%=============噪声====================================%
t=(0:Ns-1)/Fs;
noise=sin(2*pi*7500*t);%噪声为正弦波幅值为1 频率为7500Hz
subplot(232);
plot(t,noise);title('噪声信号波形');
xlabel('time/s');ylabel('幅度');
Noise=fft(noise);
magN=abs(Noise);
magN(1)=magN(1)/Ns;
magN(2:Ns)=magN(2:Ns)/Ns*2;
subplot(235);
f=(0:length(Noise)-1)*Fs/Ns;
plot(f,magN);title('幅频特性曲线');
xlabel('frequency/Hz');ylabel('幅度');
axis([0 1e+4 0 0.03]);
运行结果:
图三 噪声信号时域图
图四 噪声信号频谱图
3、加噪语音信号的生成与处理
程序清单:
%==============加性噪声================================%
y1n=y1+noise';
% sound(y1n,Fs);
t=(0:length(y1n)-1)/Fs;
subplot(233);
plot(t,y1n);title('加噪后音频信号波形');
xlabel('time/s');ylabel('幅度');
Xn=fft(y1n);
magXn=abs(Xn);
magXn(1)=magXn(1)/Ns;
magXn(2:Ns)=magXn(2:Ns)*2/Ns;
subplot(236);
f=(0:length(Xn)-1)*Fs/length(Xn);
plot(f,magXn);title('幅频特性曲线');
xlabel('frequency/Hz');ylabel('幅度');
axis([0 1e+4 0 0.03]);
运行结果:
图五 加噪后语音信号时域图
图六 加噪语音信号频谱图
4、巴特沃斯低通滤波器的设计
程序清单:
%==============巴特沃斯低通滤波器======================%
fp=4900;fs=7450;As=100;Rp=1; OmegaP=2*pi*fp;OmegaS=2*pi*fs;
wp=OmegaP/Fs;ws=OmegaS/Fs;
wp1=2*Fs*tan(wp/2);
ws1=2*Fs*tan(ws/2);
[N,wc]=buttord(wp1,ws1,Rp,As,'s');
[b,a]=butter(N,wc,'s');
[bz,az]=bilinear(b,a,Fs);
w0=[wp,ws];
Hx1=freqz(bz,az,w0);
[H,w]=freqz(bz,az);
dbHx1=-20*log10(abs(Hx1)/max(abs(H)));
figure(4);
plot(w/(2*pi)*Fs/1000,20*log10(abs(H)));
title('巴特沃斯低通数字滤波器幅频特性');
xlabel('f(KHz)');ylabel('dB');
%----滤波后音频信号----%
figure(2);
out=filter(bz,az,y1n);
t=(0:length(out)-1)/Fs;
subplot(221);
plot(t,out);title('巴特沃斯低通滤波后音频信号波形');
xlabel('time/s');ylabel('幅度');
OUT=fft(out);
magOUT=abs(OUT);
magOUT(1)=magOUT(1)/Ns;
magOUT(2:Ns)=magOUT(2:Ns)/Ns*2;
subplot(223);
f=(0:length(OUT)-1)*Fs/length(OUT);
plot(f,magOUT);title('幅频特性曲线');
xlabel('frequency/Hz');ylabel('幅度');
axis([0 1e+4 0 0.03]);
% sound(out,Fs);
运行结果:
图七 巴特沃斯低通滤波器幅频特性曲线
图八 滤波后语音信号频域波形
5、切比雪夫II型低通滤波器设计
程序清单:
%=============切比雪夫II型低通滤波器================%
fp=6900;fs=7450;As=100;Rp=1;
OmegaP=2*pi*fp;OmegaS=2*pi*fs;
wp=OmegaP/Fs;ws=OmegaS/Fs;
wp1=2*Fs*tan(wp/2);
ws1=2*Fs*tan(ws/2);
[N,wc]=cheb2ord(wp1,ws1,Rp,As,'s');
[b,a]=cheby2(N,As,wc,'s');
[bz,az]=bilinear(b,a,Fs);
figure(5);
w0=[wp,ws];
Hx2=freqz(bz,az,w0);
[H,w]=freqz(bz,az);
dbHx2=-20*log10(abs(Hx2)/max(abs(H)));
figure(5);
plot(w/(2*pi)*Fs/1000,20*log10(abs(H)));
title('切比雪夫II型低通数字滤波器幅频特性');
xlabel('f(KHz)');ylabel('dB');
%-----------------滤波后音频信号-------------%
figure(2);
out=filter(bz,az,y1n);
t=(0:length(out)-1)/Fs;
subplot(222);plot(t,out);
title('切比雪夫II型低通滤波后音频信号波形');
xlabel('time/s');ylabel('幅度');
OUT=fft(out);
magOUT=abs(OUT);
magOUT(1)=magOUT(1)/Ns;
magOUT(2:Ns)=magOUT(2:Ns)/Ns*2;
subplot(224);
f=(0:length(OUT)-1)*Fs/length(OUT);
plot(f,magOUT);title('幅频特性曲线');
xlabel('frequency/Hz');ylabel('幅度');
axis([0 1e+4 0 0.03]);
% sound(out,Fs);
运行结果:
图九 切比雪夫II型低通滤波器频率响应
图十 滤波后语音信号频谱图
6、巴特沃斯带阻滤波器设计
程序清单:
%==================巴特沃斯带阻滤波器================%
fp1=7000;fs1=7450;fs2=7550;fp2=8000;As=100;Rp=1;
OmegaP1=2*pi*fp1;OmegaS1=2*pi*fs1;
OmegaP2=2*pi*fp2;OmegaS2=2*pi*fs2;
wp1=OmegaP1/Fs;ws1=OmegaS1/Fs;
wp2=OmegaP2/Fs;ws2=OmegaS2/Fs;
wp11=2*Fs*tan(wp1/2);
ws11=2*Fs*tan(ws1/2);
wp22=2*Fs*tan(wp2/2);
ws22=2*Fs*tan(ws2/2);
wp=[wp11,wp22];
ws=[ws11,ws22];
[N,wc]=buttord(wp,ws,Rp,As,'s');
[b,a]=butter(N,wc,'stop','s');
[bz,az]=bilinear(b,a,Fs);
w0=[wp1,ws1,ws2,wp2];
Hx3=freqz(bz,az,w0);
[H,w]=freqz(bz,az);
dbHx3=-20*log10(abs(Hx3)/max(abs(H)));
figure(6);
plot(w/(2*pi)*Fs/1000,20*log10(abs(H)));
title('巴特沃斯带阻数字滤波器幅频特性');
xlabel('f(KHz)');ylabel('dB');
%----滤波后音频信号----%
figure(3);
out1=filter(bz,az,y1n);
t=(0:length(out1)-1)/Fs;
subplot(221);
plot(t,out1);title('巴特沃斯带阻滤波后音频信号波形');
xlabel('time/s');ylabel('幅度');
OUT1=fft(out1);
magOUT1=abs(OUT1);
magOUT1(1)=magOUT1(1)/Ns;
magOUT1(2:Ns)=magOUT1(2:Ns)/Ns*2;
subplot(223);
f=(0:length(OUT1)-1)*Fs/length(OUT1);
plot(f,magOUT1);title('幅频特性曲线');
xlabel('frequency/Hz');ylabel('幅度');
axis([0 1e+4 0 0.03]);
% sound(out1,Fs);
运行结果:
图十一 巴特沃斯带阻滤波器频率响应
图十二 滤波后语音信号的频谱图
7、切比雪夫II型带阻滤波器设计
程序清单:
%==========切比雪夫II型带阻滤波器============%
fp1=7200;fs1=7450;fs2=7550;fp2=7800;As=100;Rp=1;
OmegaP1=2*pi*fp1;OmegaS1=2*pi*fs1; OmegaP2=2*pi*fp2;OmegaS2=2*pi*fs2;
wp1=OmegaP1/Fs;ws1=OmegaS1/Fs; wp2=OmegaP2/Fs;ws2=OmegaS2/Fs;
wp11=2*Fs*tan(wp1/2); ws11=2*Fs*tan(ws1/2);
wp22=2*Fs*tan(wp2/2);
ws22=2*Fs*tan(ws2/2);
wp=[wp11,wp22];
ws=[ws11,ws22];
[N,wc]=cheb2ord(wp,ws,Rp,As,'s'); [b,a]=cheby2(N,As,wc,'stop','s'); [bz,az]=bilinear(b,a,Fs); w0=[wp1,ws1,ws2,wp2];
Hx4=freqz(bz,az,w0); [H,w]=freqz(bz,az);
dbHx4=-20*log10(abs(Hx4)/max(abs(H)));
figure(7);
plot(w/(2*pi)*Fs/1000,20*log10(abs(H)));
title('切比雪夫II型带阻数字滤波器幅频特性');
xlabel('f(KHz)');ylabel('dB');
%----滤波后音频信号----%
figure(3);
out1=filter(bz,az,y1n);
t=(0:length(out1)-1)/Fs;
subplot(222);plot(t,out1);
title('切比雪夫II型带阻滤波后音频信号波形');
xlabel('time/s');ylabel('幅度');
OUT1=fft(out1);
magOUT1=abs(OUT1);
magOUT1(1)=magOUT1(1)/Ns;
magOUT1(2:Ns)=magOUT1(2:Ns)/Ns*2;
subplot(224);
f=(0:length(OUT1)-1)*Fs/length(OUT1);
subplot(224);plot(f,magOUT1);
title('幅频特性曲线');
xlabel('frequency/Hz');ylabel('幅度');
axis([0 1e+4 0 0.03]);
% sound(out1,Fs);
运行结果:
图十三 切比雪夫II型带阻滤波器频率响应
图十四 滤波后语音信号的频谱图
小结
本次大作业利用函数audioread对语音信号进行采样,记住采样频率和采样点数,后利用函数FFT对信号进行快速傅里叶变换,得到信号的频谱特性,然后加入一固定频率干扰信号,再画出语音信号干扰前后的时域波形,并对其频谱进行分析。最后采用双线性变换法设计几种类型的数字滤波器并对混合语音信号进行滤波、FFT快速傅里叶变换并分析各种滤波器的特点及优劣性。
1、从幅度特性比较,巴特沃斯滤波器在全频段具有单调下降的幅度特性;切比雪夫II型在通带是单调下降的,在阻带是呈等波纹型的。
2、从阶次N比较,在滤波器具有相同的幅度特性指标下,巴特沃斯滤波器所需阶次N比切比雪夫II型滤波器所需阶次要大,本大作业中,相对于低通滤波器,巴特沃斯滤波器为26阶;切比雪夫II型滤波器为13阶。相对于带阻滤波器,巴特沃斯滤波器为6阶;切比雪夫II型滤波器为5阶。
3、从过渡带比较,当阶次N,通带最大衰减Rp(dB),阻带最小衰减As(dB)相同且通带截止频率OmegaP(或阻带截止频率OmegaS)相同时,巴特沃斯型的过渡带比切比雪夫II型要宽。本次大作业中,巴特沃斯低通滤波器过渡带宽为2550Hz,切比雪夫II型低通滤波器过渡带宽为550Hz,明显较窄。
4、在滤波器设计中,当滤波器的通带最大衰减Rp(dB)越小,阻带最小衰减As(dB)越大,滤波器的滤波效果越好,但同时滤波器的阶次越高,复杂度也越高,设计更困难。
5、相较于低通滤波器和带阻滤波器之间,带阻滤波器的滤波效果更好,它能准确滤除噪声信号而保留语音信号;低通滤波器不仅将噪声信号滤除还把其后的的所有频率分量全部滤除。