常用模拟低通滤波器的设计~经典 IIR 滤波器之契比雪夫II型滤波器

常用模拟低通滤波器的设计~经典 IIR 滤波器之契比雪夫II型滤波器

切比雪夫 II 型滤波器的振幅平方函数为:

\left | H_{a}(j\Omega ) \right |^{2} = \frac{1}{1+\varepsilon ^{2}T_{N}^{2}\left ( \frac{\Omega }{\Omega _{c}} \right )}

       式中,\Omega_{c}为有效带通截止频率,\varepsilon 是与通带波纹有关的参量,\varepsilon 大,波纹大,0< \varepsilon < 1

T_{N} 为 N 阶契比雪夫多项式。

在 Matlab 中,函数cheb2ap、cheb2ord、cheby 用于设计切比雪夫 II 型滤波器。

1、cheb2ap 函数

在 Matlab 中,函数 cheb2ap 用于设计切比雪夫 II 型低通滤波器,其调用格式为:

  •   [z, p, k] = cheb2ap(n, Rs)      % 返回契比雪夫 II 型滤波器的零点z、极点p 和增益 k   

说明:输入 n 为滤波器的阶数,Rs 为通带的波动,即滤波器在通带内的最小衰减值。

2、cheb2ord 函数

在 Matlab 中,利用 cheb2ord 函数可以求出所需要的滤波器的阶数和截止频率,滤波器在通带中的损耗不超过 Rp dB,在阻带中的衰减至少为 Rs dB。其调用格式为:

  •   [n, Wn] = cheb2ord(Wp, Ws, Rp, Rs)      % 返回值 n 为滤波器的最低阶数,Wn 为截止频率   
  •   [n, Wn] = cheb2ord(Wp, Ws, Rp, Rs, 's')    % 设计模拟契比雪夫 I 型滤波器的最低阶数n 和截止频率Wn    

说明:滤波器通带中的损耗不得超过Rp dB,在阻带中至少为Rs dB。

Wp为通带截止频率、Ws为阻带起始频率、Rp为通带内波动、Rs为阻带内最小衰减

3、cheby2函数

由切比雪夫 II 型滤波器的阶数 n 以及通带截止频率 Wn 可以计算出对应传递函数 H(z)的分子分母系数。

Matlab 提供 cheby2 函数用于求解契比雪夫 II 型滤波器的系数,函数调用格式为:

  •   [b, a] = cheby2(n, Rs, Ws)      % 返回值契比雪夫 I 型低通滤波器传递函数的系数   

说明:b 为 H(z)的分子多项式系数,a 为 H(z)的分母多项式系数,Wp 为标准化通带边缘频率,Rp 为峰间通带波纹。

  •   [b, a] = cheby2(n, Rs, Ws, ftype)      % 根据 ftype 的值和 Ws 的元素数,设计低通、高通、带通或带阻契比雪夫 II 型滤波器,其中带通和带阻设计为 2n 级。
  •   [z, p, k] = cheby2(____)    % 设计数字切比雪夫 II 型滤波器,并返回其零点、极点和增益   
  •   [A, B, C, D] = cheby2(____)    % 设计数字切比雪夫 II 型滤波器,并返回指定其空间状态表示形式的矩阵  
  •   [ ____ ] = cheby2(____, 's')    % 设计通带边缘角频率为Ws、通带波纹为Rs 的模拟切比雪夫 II 型滤波器   

说明:滤波器的传递函数系数 b 和 a,零点z、极点p 、增益 k 、ftype的含义与 cheby1 函数中的相同 。

ftype 包括:'low'、'high'、'bandpass' 及 'stop',含义如下:

  • 'low':指定通带边缘频率为 Wp 的低通滤波器,为默认值。
  • 'high':指定通带边缘频率为 Wp 的高通滤波器。
  • 'bandpass' :指定 2n 阶的带通滤波器,如果 Wp 为两个元素向量,则默认为 'bandpass' 。
  • 'stop':如果 Wp 为两个元素向量,指定 2n 阶的带阻滤波器。

4、实例演示

【例7-24】设计一个6阶切比雪夫 II 型低通滤波器,阻带波动为70dB,并显示其幅值和相位响应。

% 【例7-24】设计一个6阶切比雪夫 II 型低通滤波器,阻带波动为70dB,并显示其幅值和相位响应。
clc, clear, close all
[z, p, k] = cheb2ap(6, 70); % 低通滤波器原型
[num, den] = zp2tf(z, p, k); % 零极增益模型转换为传递函数形式
freqs(num, den); % 模拟滤波器的频率响应
title('切比雪夫 II 型低通滤波器幅频响应曲线');  grid on;

【例7-25】针对 1000Hz 采样的数据,设计一个低通滤波器,在0~40Hz 的通带中纹波小于3dB,在150Hz到奈奎斯特频率的阻带中衰减至少为60dB,并显示其幅值和相位响应。

% 【例7-25】针对 1000Hz 采样的数据,设计一个低通滤波器,在0~40Hz 的通带中纹波小于3dB,
% 在150Hz到奈奎斯特频率的阻带中衰减至少为60dB,并显示其幅值和相位响应。
figure
Wp = 40/(1000/2);
Ws = 150/(1000/2);
Rp = 3;
Rs = 60;
[n, Ws] = cheb2ord(Wp,Ws,Rp,Rs);  % 切比雪夫 II 型低通滤波器最低阶数 n 及相应的截止频率Ws.
[b,a] = cheby2(n,Rs,Ws); % 切比雪夫 II 型低通滤波器传递函数系数
freqz(b,a,512,1000); % 数字滤波器的频率响应
title('切比雪夫 II 型低通滤波器幅频响应曲线');  grid on;

【例7-26】设计一个切比雪夫 II 型低通滤波器示例。

% 【例7-26】设计一个切比雪夫 II 型低通滤波器示例。
figure
Wp = 3*pi*4*12^3;
Ws = 3*pi*12*10^3;
rp = 1;
rs = 30; % 设计滤波器参数
wp = 1; ws = Ws/Wp; % 对参数归一化
[N, wc] = cheb2ord(wp, ws, rp, rs, 's'); % 计算滤波器阶数和阻带起始频率
[z, p, k] = cheb2ap(N, rs); % 计算零点、极点、增益
[b, a] = zp2tf(z, p, k); % 计算系统函数系数多项式
w = 0:0.02*pi:pi;
[h,w] = freqs(b,a,w); % 模拟滤波器的频率响应
plot(w*wc/wp, 20*log10(abs(h)),'k');
xlabel('\lambda'); ylabel('A(\lambda)/dB');
title('切比雪夫 II 型低通滤波器幅频响应曲线');  grid on;

  • 4
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值