中南大学数字信号处理课程设计报告(3)

2019-03-28 08:46

disp(['线性相位斜率为',num2str(beta)]) delta_w=2*pi/1000;

w_kai=(kaiser(M,beta)); %调用窗函数 wc=(ws+wp)/2; r=(M-1)/2; n=[0:1:(M-1)]; m=n-r+eps;

hd=sin(wc*m)./(pi*m);%求理想脉冲响应 h=hd.*w_kai';%加窗 stem(n,w_kai); title('凯泽窗 '); axis([0 M-1 0 1.1]); ylabel('w(n)');

2.3.3 结果截图 IIR DF设计

FIR DF设计

11

2.4 数字滤波 2.4.1 说明

利用步骤3得到的滤波系数,对测试信号进行数字滤波。 (3)IIR DF:要求通过差分过程迭代实现滤波(未知初值置零处理);

(4)FIR DF:要求通过快速卷积实现滤波(对于长序列,可以选择使用重叠相加或重叠保留法进行卷积运算)。 用双线性变换法设计无限脉冲响应数字滤波器(IIF DF)时,先把数字滤波器指标转换成模拟滤波器的指标,然后根据模拟滤波器的指标设计模拟滤波器,再经过线性变换把模拟滤波器转换成数字滤波器。该系统要能够设计巴特沃兹型低通、带通、高通滤波器,并能够输入数字滤波器的性能指标,显示出滤波器的阶数和系数。该系统的关键部分是滤波器的设计部分,按照双线性变换法设计滤波器的步骤进行设计即可。

2.4.2 源代码

%IIR DF设计:

%Step1:产生含有3个正弦分量的信号

Fs=20000; t=(1:100)/Fs; %抽样频率、时间轴

s1=100*sin(2*pi*t*2000);s2=100*sin(2*pi*t*5000);s3=sin(2*pi*t*8000); s=s1+s2+s3; subplot(511); %组成信号、指定图形位置 plot(t,s);title(' 原始信号');

xlabel('时间(s)' ); ylabel('信号波形' ); %Step2:产生一个4阶IIR带通滤波器 %通带为100Hz到200Hz,并得出其幅频响应

[b,a]=ellip(2,0.5,20,[1000,2500]*2/Fs); %得到滤波器的系数矩阵

12

[H,w]=freqz (b,a,512); %H为滤波器的系统函数 subplot(512); plot(w*Fs/(2*pi),abs(H)); title('IIR带通滤波器幅频响应' );

xlabel(' 频率(Hz)' );ylabel(' 幅度' ); axis([0 10000 0 1.5]); %Step3:对原始信号进行滤波

sf=filter(b,a,s); %用设计的滤波器过滤原始信号 subplot(513);plot(t,sf); title(' 滤波后的信号波形' );

xlabel(' 时间(s)' ); ylabel(' 信号波形' ); axis([0 0.001 -150 150]);

%Step4:绘出信号滤波前、后的幅频图

S=fft(s,512); %求出原始信号的傅立叶变换 SF=fft(sf,512); %求出过滤后信号的傅立叶变换 w=(0:255)/256*(Fs/2); subplot(514);

plot(w,abs([S(1:256)' ,SF(1:256)' ])); title(' 滤波前、后的幅频图' ); xlabel(' 频率(Hz)' ); ylabel(' 幅度' ); grid;

legend({' 滤波前的幅频' ,' 滤波后的幅频' }) subplot(515);

plot(w,angle([S(1:256)' ,SF(1:256)' ])); title(' 滤波前、后的相频图' ); xlabel(' 频率(Hz)' ); ylabel(' 相位' ); grid;

legend({' 滤波前的相频' ,' 滤波后的相频' })

%FIR DF设计: As=70;

ws=0.2* pi; wp=0.3* pi; tr_width=wp-ws;

M=ceil((As-7.95)*2*pi/14.36./tr_width+1)+1; disp(['滤波器的长度为',num2str(M)]); beta=0.1102*(As-8.7); n=[0:1:M-1];

disp(['线性相位斜率为',num2str(beta)]) delta_w=2*pi/1000;

w_kai=(kaiser(M,beta)); %调用窗函数 wc=(ws+wp)/2; r=(M-1)/2; n=[0:1:(M-1)];

13

m=n-r+eps;

hd=sin(wc*m)./(pi*m);%求理想脉冲响应 h=hd.*w_kai';%加窗 stem(n,w_kai); title('凯泽窗 '); axis([0 M-1 0 1.1]); ylabel('w(n)');

fs=1000;

t=0:1/20000:2;

x=100*sin(2*pi*2000*t)+100*sin(2*pi*5000*t)+100*sin(2*pi*8000*t); x1=filter(h,2,x);%对信号进行滤波 figure;

n=5000:5100; subplot(211); t=n/fs;

plot(t,x(n));

title('原始信号'); subplot(212); plot(t,x1(n));

title('滤波后的信号');

2.4.3 结果截图 IIR DF

14

FIR DF

15


中南大学数字信号处理课程设计报告(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:德国开源代码的四轴飞行

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: