当前位置: 首页 > news >正文

常用模拟低通滤波器的设计——契比雪夫II型滤波器

常用模拟低通滤波器的设计——契比雪夫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)的分母多项式系数,Ws 为标准化通带边缘频率,Rs 为峰间通带波纹。

  •   [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;

 

http://www.lryc.cn/news/91715.html

相关文章:

  • SSM 如何使用 Redis 实现缓存?
  • uin-app如何获取微信昵称和头像的博客
  • 第六十七天学习记录:对陈正冲编著《C 语言深度解剖》中关于变量命名规则的学习
  • matlab 计算点云的线性指数
  • SpringBoot集成ElasticSearch
  • 分治入门+例题
  • 剑指offer打卡
  • 运维实用脚本整理
  • INT8 中的稀疏性:加速的训练工作流程和NVIDIA TensorRT 最佳实践
  • 隧道模式HTTP代理使用代码示例
  • 翻筋斗觅食海鸥优化算法-附代码
  • K8S常见应用场景(六)
  • 《不抱怨的世界》随记
  • 2.2 利用MyBatis实现CRUD操作
  • 自动缩放Kubernetes上的Kinesis Data Streams应用程序
  • 介绍js各种事件
  • Python 将 CSV 分割成多个文件
  • S32K144开发板
  • 三波混频下的相位失配原理
  • 软考A计划-试题模拟含答案解析-卷一
  • Ubuntu下编译运行MicroPython Unix版本
  • 实现用QCustomPlot封装的插件,放到绘图软件中可以点击和移动
  • 【源码解析】Nacos配置热更新的实现原理
  • 界面组件DevExpress ASP.NET Core v22.2 - UI组件升级
  • 阿里系文生图(PAI+通义)
  • Netty概述及Hello word入门
  • 汇编寄存器之内存访问
  • C++进阶 —— lambda表达式(C++11新特性)
  • 数据结构04:串的存储结构与KMP算法
  • 零基础快速搭建私人影音媒体平台