数字信号处理3:数字滤波器设计


前言

  本人初次学习数字滤波器设计

一、实验目的

  1.掌握由模拟滤波器转换为数字滤波器的原理与方法。
  2.熟悉IIR数字滤波器的计算机仿真实现方法。
  3.掌握用窗函数法设计FIR数字滤波器的原理和方法。
  4.熟悉线性相位FIR滤波器特性。
  5.了解各种窗函数对滤波特性的影响。
  6.熟悉FIR数字滤波器的计算机仿真实现方法。
  7.使用Matlab软件平台,对设计的数字滤波器频域特性及其滤波效果进行模拟仿真,通过观察数字滤波器输入、输出波形及频谱,对软件仿真实验结果进行合理分析,并得到有效的结论。

二、实验设备

  1.计算机
  2.Matlab 2019

三、实验内容

  1.IIR数字滤波器设计。包括巴特沃斯模拟滤波器、切比雪夫模拟滤波器设计;利用脉冲响应不变法、双线性变换法将模拟滤波器转换为数字滤波器。
  2.滤波器结构的转换,将直接型结构转换成级联型结构。
  3.比较分析利用两种不同方法(脉冲响应不变法、双线性变换法)设计的数字滤波器的频率特性区别。
  4.比较分析变换前的模拟滤波器与变换后的数字滤波器的频率特性的区别,注意模拟频率和数字频率之间的对应关系。
  5.利用窗函数设计法设计FIR数字滤波器。
  6.利用频率采样设计法设计FIR数字滤波器
  7.拓展部分是设计合适的IIR滤波器或FIR滤波器对心电信号、语音信号进行滤波。

四、实验原理

  1. 巴特沃斯模拟低通滤波器的设计
  2. 切比雪夫模拟低通滤波器的设计
  3. 脉冲响应不变法设计IIR数字低通滤波器
  4. 双线性变换法设计IIR数字低通滤波器
  5. 线性相位FIR滤波器设计条件
  6. 利用窗函数设计法设计FIR数字滤波器原理
   7. 利用频率采样设计法设计FIR数字滤波器原理

五、实验方法及要求

1.用脉冲响应不变法设计巴特沃斯数字滤波器

  设计巴特沃斯模拟低通滤波器,利用脉冲响应不变法将模拟滤波器转换为数字滤波器,画出模拟及数字滤波器幅频及相频特性。比较分析变换前的模拟滤波器与变换后的数字滤波器的频率特性。
  设定:模拟低通滤波器指标: wp=0.1hz;ws=0.175hz;Rp=1dB;As=10dB;T=1
程序:

T=1;
wp=2*pi*0.1;
ws=2*pi*0.175;
Rp=1;
As=10;
OmegaP=wp/T;
OmegaS=ws/T;
k=sqrt(10^(rs/10)-1)/sqrt(10^(rp/10)-1);
Az=OmegaS/OmegaP;
N=ceil(log10(k)/log10(Az));
OmegaC=OmegaP/((10^(rp/10)-1)^(1/(2*N)));
[B,A]=u_buttap(N,OmegaC);
[b,a]=imp_invr(B,A,T)
subplot(2,2,1)
fk=0:0.001:0.5;
wk=2*pi*fk;
Hk=freqs(B,A,wk);
plot(fk,20*log10(abs(Hk)));
grid on
xlabel('频率(hz)');
title('模拟滤波器:幅频特性')
axis([0,0.5,-50,0]);
subplot(2,2,2)
plot(fk,20*log10(abs(angle(Hk))));
grid on
xlabel('频率(hz)');
title('模拟滤波器:相频特性')
axis([0,0.5,-40,20]);
subplot(2,2,3)
[Hk,w]=freqz(b,a);
plot(w/pi,20*log10(abs(Hk)));
grid on
xlabel('w/π');  
title('数字滤波器:幅频特性')
subplot(2,2,4)
plot(w/pi,20*log10(abs(angle(Hk))));
grid on
xlabel('w/π'); 
title('数字滤波器:相频特性')

结果:
在这里插入图片描述

分析:
在这里插入图片描述

2. 用双线性变换法设计切比雪夫数字滤波器

  设计切比雪夫模拟低通滤波器,利用双线性变换法将模拟滤波器转换为数字滤波器,画出模拟及数字滤波器幅频及相频特性。
设定:模拟数字滤波器指标: wp=0.2pi;ws=0.3pi;Rp=1dB;As=15dB;T=1。
程序:

T=1;
wpz=0.2*pi;
wsz=0.3*pi;
wp=2/T*tan(wpz/2);
ws=2/T*tan(wsz/2);
Rp=1;
As=15;
OmegaP=(2/T)*tan(wp/2);
OmegaS=(2/T)*tan(ws/2);
k=sqrt(10^(rs/10)-1)/sqrt(10^(rp/10)-1);
Az=OmegaS/OmegaP;
N=ceil(logm(k+sqrt(k*k-1))/logm(Az+sqrt(Az*Az-1)));
fprintf('\nChebyshevFilterOrder=%2.0f\n',N)
[B,A]=u_chb1ap(N,rp,OmegaP);
[b,a]=bilinear(B,A,T)
subplot(2,2,1)
fk=0:0.001:0.5;
wk=2*pi*fk;
Hk=freqs(B,A,wk);
plot(fk,20*log10(abs(Hk)));
grid on
xlabel('频率(hz)');
title('模拟滤波器:幅频特性')
axis([0,0.5,-100,0]);
subplot(2,2,2)
plot(fk,20*log10(abs(angle(Hk))));
grid on
xlabel('频率(hz)');
title('模拟滤波器:相频特性')
subplot(2,2,3)
[Hk,w]=freqz(b,a);
plot(w/pi,20*log10(abs(Hk)));
grid on
xlabel('w/π');  
title('数字滤波器:幅频特性')
subplot(2,2,4)
plot(w/pi,20*log10(abs(angle(Hk))));
grid on
xlabel('w/π'); 
title('数字滤波器:相频特性')

结果:
在这里插入图片描述

分析:
在这里插入图片描述

3. 用双线性变换法设计巴特沃斯数字滤波器,并将直接型结构转换成级联型结构

  利用双线性变换法将模拟低通滤波器转换为数字低通滤波器,画出模拟及数字滤波器幅频及相频特性。比较分析变换前的模拟滤波器与变换后的数字滤波器的频率特性。
  设定:模拟数字滤波器指标: wp=0.2pi;ws=0.3pi;Rp=1dB;As=15dB;T=1。
程序:

 
T=1;
wpz=0.2*pi;
wsz=0.3*pi;
wp=2/T*tan(wpz/2);
ws=2/T*tan(wsz/2);
Rp=1;
As=15;
OmegaP=(2/T)*tan(wp/2);
OmegaS=(2/T)*tan(ws/2);
k=sqrt(10^(rs/10)-1)/sqrt(10^(rp/10)-1);
Az=OmegaS/OmegaP;
N=ceil(log10(k)/log10(Az));
OmegaC
  • 18
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道无方

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值