数字信号处理文档格式.docx
《数字信号处理文档格式.docx》由会员分享,可在线阅读,更多相关《数字信号处理文档格式.docx(15页珍藏版)》请在冰点文库上搜索。
![数字信号处理文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/1/522c07dd-cd5b-4a67-b648-c1a1a7c806d8/522c07dd-cd5b-4a67-b648-c1a1a7c806d81.gif)
要求设计窄带滤波器滤除语音信号中的干扰信号,通过计算机仿真对滤波器的性能和滤波效果进行分析。
(2)针对一个含有5Hz、15Hz和30Hz的混合正弦波信号x(t),试设计滤波系统,滤除5Hz和30Hz的正弦分量,阻带的最小衰减不小于50dB。
要求:
①确定采样频率fs、采样长度N,对x(t)进行采样;
②分别设计IIR、FIR带通数字滤波器;
③通过计算机仿真对滤波器的性能进行分析。
4、理论分析和MATLAB实现:
题目一:
1.理论分析:
因为一段语音信号中混入了频率为1200Hz的正弦干扰信号,所以选择带阻滤波器将这个频率的信号过滤掉,通过MATLAB对设计的滤波器的性能进行模拟。
由于单位冲激响应法不能对带阻滤波器进行设计,所以选用双线性变化法将带阻模拟滤波器转换成带阻数字滤波器,然后再对语音信号进行滤波处理,最后比较滤波前和滤波后波形的变化及滤波前后频谱的变化。
用MATLAB中的FDAtool工具对带阻滤波器进行模拟:
通过MATLAB中的FDAtool模拟滤波器的效果看出可以将滤波器的参数设置为fp1=1100;
fs1=1150;
fs0=1200;
fs2=1250;
fp2=1300时合适。
用计算机的声音编辑工具录制一段语音信号,生成.wav文件。
录制的语音信号可以由话筒输入,也可以由CD输入。
计算机声音编辑工具的使用方法是:
在Windows操作系统下点击【开始】→【程序】→【附件】→【娱乐】→【录音机】,在matlab中通过函数wavread读取此wav文件。
通过语句:
x1=wavread('
C:
\Users\vincent\Desktop\bingyu.wav'
);
对语音信号进行读取并转换成相应的数据数组。
2.MATLAB设计实现:
源程序:
fs=22050;
%语音信号采样频率为22050Hz
x1=wavread('
t=(0:
length(x1)-1)/fs;
y1=fft(x1,2048);
f=fs*(0:
1023)/2048;
figure
(1)
subplot(2,1,1)
plot(t,x1)%做原始语音信号的时域图形
gridon;
axistight;
title('
原始语音信号'
xlabel('
time(s)'
ylabel('
幅度'
subplot(2,1,2)
plot(f,abs(y1(1:
1024)))%做原始语音信号的FFT频谱图
axis([800,1600,0,50])
原始语音信号FFT频谱'
)
Hz'
plot(t,x1)%原始语音信号波形图
原始语音信号时域波形图'
时间'
y=sin(2400*pi*t);
y(:
2)=0;
C=y'
+x1;
%加噪声
加噪后的语音波形图'
plot(C)%绘制加噪后的语音波形图
fp1=1000;
fs1=1100;
fs2=1300;
fp2=1400;
%带阻滤波器参数
wp1=2*pi*fp1/fs;
wp2=2*pi*fp2/fs;
ws1=2*pi*fs1/fs;
ws2=2*pi*fs2/fs;
T=1/fs;
Omgsp1=(2/T)*tan(wp1/2);
Omgsp2=(2/T)*tan(wp2/2);
Omgsp=[Omgsp1,Omgsp2];
Omgss1=(2/T)*tan(ws1/2);
Omgss2=(2/T)*tan(ws2/2);
Omgss=[Omgss1,Omgss2];
bw=Omgsp2-Omgsp1;
w0=sqrt(Omgsp2*Omgsp1);
[N,Omgn]=buttord(Omgsp,Omgss,3,10,'
s'
[B,A]=butter(N,Omgn,'
stop'
'
%巴特沃斯设计模拟带阻滤波器
[bz,az]=bilinear(B,A,22050);
%双线性变化法设计IIR带阻数字滤波器
freqz(bz,az);
带阻数字滤波器的幅频特性'
y=filter(bz,az,C);
%通过带阻数字滤波器对信号进行滤波
plot(y)gridon;
axistight
滤波语音信号'
ylabel('
plot(f,abs(y(1:
1024)))
axistight;
axis([800,1600,0,50])
滤波后语音信号FFT频谱'
)%做滤波后语音信号的FFT频谱图
运行程序后图形:
原始语音信号波形图和800-1600Hz之间的频谱分析图:
添加1200Hz的杂音后信号波形图和原始信号波形图的比较:
通过加噪后的信号波形图和原始语音信号波形图的比较发现信号时域波形图明显发生了变化。
IIR数字带阻滤波器的幅频特性:
滤波后语音信号波形图和800-1600Hz之间的频谱分析:
原始信号和滤波后信号频谱图比较:
根据滤波前后的语音信号波形图的分析比较,发现滤波前后信号波形发生了很大的变化,然后滤波后的波形和原始信号波形图进行比较后发现两者波形很相似,所以设计的带阻滤波器对1200Hz的信号起到了滤除的作用。
题目二:
1.FIR带通滤波器设计
(1)理论分析:
根据题目要求,很明显是需要设计一个带通滤波器,能够滤除5Hz和30Hz的信号而保留15Hz的信号,因此带通滤波器的通带可以选择为10Hz--20Hz,根据采样定理可知采样频率大于最大信号频率的两倍即可,所以简便运算将采样频率设置为fs=100Hz。
为使得滤波器的效果明显,阻带衰减大,因此选择hamming窗。
根据公式
,计算出理论N值为80。
使用MATLAB中的FDAtool工具对滤波器进行性能模拟调试,如下图所示:
看图可知fs=100Hz,N=100时滤波器的通带平坦,阻带衰减大,为方便计算所以最终选择采样频率fs=100Hz,N=100。
(2)MATLAB设计实现:
fs=100;
%给定采样频率
ws1=14*pi/fs;
wp1=26*pi/fs;
%带通滤波器的下阻带的上限频率和下通带的频率
wp2=34*pi/fs;
ws2=46*pi/fs;
%带通滤波器的上阻带的下限频率和上通带的频率
band=wp1-ws1;
%过滤带带宽
N=ceil(8*pi/band);
%求N
wc1=(wp1+ws1)/2;
wc2=(wp2+ws2)/2;
ham=(hamming(N));
%N阶汉明窗
h=fir1(N-1,[wc1/pi,wc2/pi],ham);
w=0:
0.01:
pi;
H=freqz(h,1,w);
subplot(3,1,1)
plot(w,20*log10(abs(H)/max(abs(H))))
频率'
分贝数'
FIR带通数字滤波器幅频特性'
axis([0,3.5,-200,10])t=0:
1;
y=sin(10*pi*t)+sin(30*pi*t)+sin(60*pi*t);
%原始混合信号
subplot(3,1,2)
plot(t,y)xlabel('
原始信号波形图'
axis([0,1,-2.2,2.2])
x=filter(h,1,y);
subplot(3,1,3)plot(t,x)%经过带通滤波器后的信号
经过滤波器滤波后信号波形图'
axis([0,1,-2,2])
figure
(2)
plot(t,sin(30*t))%绘制15Hz理想信号
理想要求信号波形图'
axis([0,1,-3,3])
运行后截图:
理想15Hz信号:
通过滤波前后的图形可以看出原始信号得到了很大的改善,通过滤波后的信号和理想的滤波信号的比较,可以看出信号有些延时,但还是把大部分15Hz的信号滤除出来了。
IIR滤波器的设计
(1)理论分析:
根据题目要求,要将5Hz和30Hz的信号滤除,可以将模拟带通滤波器的参数设置为ws1=12*pi,wp1=20*pi,p2=40*pi,ws2=56*pi。
根据这些参数设计巴特沃斯带通滤波器,然后通过冲激响应不变法将模拟带通滤波器转换为IIR数字带通滤波器,然后对原始混合信号进行滤波处理。
Wp=[26*pi34*pi];
Ws=[14*pi46*pi];
%带通滤波器的参数
[N,Wn]=buttord(Wp,Ws,3,50,'
[B,A]=butter(N,Wn,'
freqs(B,A);
[H,w]=freqs(B,A);
y=20*log10(abs(H)/max(abs(H)));
%计算设计出巴特沃斯模拟带通滤波器
figure
(1)
plot(w./(2*pi),y)%绘制巴特沃斯带通滤波器的幅频特性
)ylabel('
带通滤波器幅频特性'
t=0:
x=0.5*cos(10*pi*t)+0.2*cos(30*pi*t)+cos(60*pi*t);
plot(t,x)xlabel('
原始信号时域波形图'
[bz,az]=impinvar(B,A,100);
%冲激响应不变法将模拟转换为数字
w=filter(bz,az,x)
plot(t,w)
axis([0,1,-1.5,1.5])%过滤后的信号
经过IIR带通数字滤波器后的信号图形'
figure(3)
h=sin(30*t);
plot(t,h)xlabel('
理想15Hz信号波形图'
axis([0,1,-1.5,1.5])
带通滤波器的幅频特性:
经过滤波器后的图形:
理想15Hz信号的时域波形图:
通过滤波后的信号和理想的滤波信号的比较,可以看出信号有些延时,但还是把大部分15Hz的信号滤除出来了。
实验小结
通过本课程设计使我进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法;
使掌握的基本理论和分析方法方面的知识得到进一步扩展;
并能有效地将理论和实际紧密结合;
增强了软件编程实现能力和解决实际问题的能力。
能够更加熟练地用Matlab/Simulink等工具编写数字信号处理的应用程序;
在此次试验中也从各种细节了解到知识的不足,希望在以后的学习中能够巩固加强基础知识,并学以致用。