巴特沃斯、切比雪夫I型、切比雪夫Ⅱ型和椭圆型滤波器的相同和不同之处

news2024/9/27 9:23:56

巴特沃斯、切比雪夫I型、切比雪夫型和椭圆型滤波器的相同和不同之处

1、概述 

      用 MATLAB 中的函数可以设计巴特沃斯、切比雪夫I型、切比雪夫Ⅱ型和椭圆型滤波器,我们用MATLAB的函数,在相同的条件下观察巴特沃斯、切比雪夫I型、 切比雪夫Ⅱ型和椭圆型滤波器,再进一步比较它们的相同和不同之处。 

2、实例 

例:设计一个模拟带通滤波器,带通值为wp1=0.2π,wp2=0.3π,带阻值ws1=0.1π,ws2=0.4,Rp=1,Rs=20。对这些指标分别以巴特沃斯、切比雪夫I型、切比雪夫Ⅱ型和椭圆型设计四类模拟滤波器。

Matlab 程序如下:

% 用 MATLAB 中的函数可以设计巴特沃斯、切比雪夫I型、切比雪夫型和椭圆型滤波器,
% 我们用MATLAB的函数,在相同的条件下,观察巴特沃斯、切比雪夫I型、 切比雪夫Ⅱ型和椭圆型滤波器,
% 再进一步比较它们的相同和不同之处。?
% 
% 例:设计一个模拟带通滤波器,带通值为wp1=0.2π,wp2=0.3π,
% 带阻值ws1=0.1π,ws2=0.4,Rp=1,Rs=20。
% 对这些指标分别以巴特沃斯、切比雪夫I型、切比雪夫Ⅱ型和椭圆型设计四类模拟滤波器。
% 
% pr3_2_1
clear; close all; clc;

wp = [0.2*pi 0.3*pi];   % 设置通带频率
ws = [0.1*pi 0.4*pi];   % 设置阻带频率
Rp = 1; Rs = 20;        % 设置波纹系数
% 巴特沃斯滤波器设计
[N,Wn] = buttord(wp,ws,Rp,Rs,'s'); % 求巴特沃斯滤波器阶数
fprintf('巴特沃斯滤波器 N=%4d\n',N) % 显示滤波器阶数
[bb,ab] = butter(N,Wn,'s');        % 求巴特沃斯滤波器系数
W= 0:0.01:2; % 设置模拟频率
[Hb,wb] = freqs(bb,ab,W); % 求巴特沃斯滤波器频率响应
plot(wb/pi, 20*log10(abs(Hb)),'b')% 作图
hold on

% 切比雪夫I型滤波器设计
[N,Wn] = cheb1ord(wp,ws,Rp,Rs,'s');   % 求切比雪夫I型滤波器阶数
fprintf('切比雪夫I型滤波器 N=%4d\n',N) % 显示滤波器阶数
[bc1,ac1] = cheby1(N,Rp,Wn,'s');     % 求切比雪夫I型滤波器系数
[Hc1,wc1] = freqs(bc1,ac1,W);        % 求切比雪夫I型滤波器频率响应
plot(wc1/pi, 20*log10(abs(Hc1)),'k')% 作图

% 切比雪夫II型滤波器设计 
[N,Wn] = cheb2ord(wp,ws,Rp,Rs,'s');  % 求切比雪夫II型滤波器阶数
fprintf('切比雪夫II型滤波器 N=%4d\n',N) % 显示滤波器阶数
[bc2,ac2] = cheby2(N,Rs,Wn,'s');    % 求切比雪夫II型滤波器系数
[Hc2,wc2] = freqs(bc2,ac2,W);       % 求切比雪夫II型滤波器频率响应
plot(wc2/pi, 20*log10(abs(Hc2)),'r')% 作图

% 椭圆型滤波器设计
[N,Wn] = ellipord(wp,ws,Rp,Rs,'s');  % 求椭圆型滤波器阶数
fprintf('椭圆型滤波器 N=%4d\n',N) % 显示滤波器阶数
[be,ae] = ellip(N,Rp,Rs,Wn,'s');     % 求椭圆型滤波器系数
[He,we] = freqs(be,ae,W);            % 求椭圆型滤波器频率响应
% 作图
plot(we/pi, 20*log10(abs(He)),'g')
axis([0 max(we/pi) -30 2]); %grid;
legend('巴特沃斯滤波器','切比雪夫I型滤波器','切比雪夫II型滤波器','椭圆型滤波器')
xlabel('角频率{\omega}/{\pi}'); ylabel('幅值/dB')
set(gcf,'color','w'); 

line([0 max(we/pi)],[-20 -20],'color','k','linestyle','--');
line([0 max(we/pi)],[-1 -1],'color','k','linestyle','--');
line([0.2 0.2],[-30 2],'color','k','linestyle','--');
line([0.3 0.3],[-30 2],'color','k','linestyle','--');

巴特沃斯滤波器 N=   4
切比雪夫I型滤波器 N=   3
切比雪夫II型滤波器 N=   3
椭圆型滤波器 N=   2

3、讨论 

  • ①我们对设计模拟滤波器的要求是:带通为wp1=0.2,wp2=0.3,带阻为ws1=0.1π,ws2=0.4π,Rp=1,Rs=20。在上图中0.2和0.3(单位为pi)处画了两条竖虚线,可以看出这四类带通滤波器通带区间都在0.2~0.3之内。又在纵坐标-1dB和-20dB 处画了两条横虚线,也可以看出通带内起伏在-1~0dB之间,阻带都小于或等于-20dB。这说明四类滤波器的幅频响应曲线形状虽不完全相同,但都满足了初始设计的要求。 
  • ②在运行程序时把每个滤波器的阶数都显示了出来,可以看到,在满足相同的设计要求的条件下,巴特沃斯滤波器用了4阶,阶数最多;切比雪夫I型滤波器和切比雪夫Ⅱ型滤波器用了3阶;椭圆型滤波器用了2阶,阶数最少。阶数少,相应的滤波器系数就少,在实现时就能减小运算量。 
  • ③从图中可看出,巴特沃斯和切比雪夫Ⅱ型滤波器在通带是平坦的,切比雪夫 I型和椭圆型滤波器在通带有波纹,而切比雪夫Ⅱ型和椭圆型滤波器在阻带有波纹。 
  • ④从图中还可看出,在满足相同的设计要求的条件下,切比雪夫Ⅱ型滤波器和 椭圆型滤波器在过渡带内衰减更陡。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1018961.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何看待近期tiktok大批量封号问题?

近期大量客户反馈Tiktok账号大批量被封,了解这类客户的情况后,得知被封的账号大部分都是为搬运国内视频上传的账号类型,从这次的事件可以看出,tk对视频的检测以及内容要求度越来越高,Tk风控升级,回导致很多…

【Nacos】Nacos服务注册源码分析(二)

在上篇文章中,我们主要聚焦于Nacos服务注册在服务端grpc设计层面的一些代码。本篇文章将深入探讨服务注册的相关逻辑,通过细致的分析来更全面地理解这一过程。 NamingGrpcClientProxy.registerService 我们从NamingGrpcClientProxy的registerService方法…

Vue项目中使用element-plus的el-table组件-组件使用-样式修改

项目配置 <div class"table-wrap"><el-tableclass"table-card-container":data"tableData"style"width: 100%"><template v-for"column in tableColumn"><el-table-columnv-if"column.isShow&qu…

前端笔试2

1.下面哪一个是检验对象是否有一个以自身定义的属性? foo.hasOwnProperty("bar")bar in foo foo["bar"] ! undefinedfoo.bar ! null 解析&#xff1a; bar in foo 检查 foo 对象是否包含名为 bar 的属性&#xff0c;但是这个属性可以是从原型链继承来的&a…

华为云云耀云服务器L实例评测|轻量级应用服务器对决:基于 fio 深度测评华为云云耀云服务器L实例的磁盘性能

本文收录在专栏&#xff1a;#云计算入门与实践 - 华为云 专栏中&#xff0c;本系列博文还在更新中 相关华为云云耀云服务器L实例评测文章列表如下&#xff1a; 华为云云耀云服务器L实例评测 | 从零开始&#xff1a;云耀云服务器L实例的全面使用解析指南华为云云耀云服务器L实…

JVM:如何判断对象已死?

对象已死&#xff1f; 在堆里面存放着Java世界中几乎所有的对象实例&#xff0c;垃圾收集器在对堆进行回收前&#xff0c;第一件事情就是要确定这些对象之中哪些还“存活”着&#xff0c;哪些已经“死去”&#xff08;“死去”即不可能再被任何途径使用的对象&#xff09;了。…

2023/09/17

文章目录 1. vscode展开所有代码快捷键ctrl k j2. git删除所有stash或指定stash git stash drop [可选stash名]3. vue在函数默认参数后增加新参数4. git push 添加“-u”参数5. vscode快捷输入符号$的使用6. WebGL之什么是GLB&GLTF文件&#xff1f;7. WebGL之什么是HDR&a…

python之pyQt5实例:Matplotlib的应用

1、显示逻辑 1.1MatplotlibWidget.py import sys import random import matplotlibmatplotlib.use("Qt5Agg") from PyQt5 import QtCore from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QSizePolicy, QWidget from numpy import arange, si…

nginx日志分割

nginx日志分割 有的用nginx做代理的&#xff0c;日志产生的特别多&#xff0c;而nginx的日志又是一整个&#xff0c;所以需要我们自己来写分割脚本了 小白教程&#xff0c;一看就会&#xff0c;一做就成。 1.写脚本 #!/bin/bash #nginx日志分割 LOGPATH/home/oldlogs CURLOG…

多目标优化算法:基于非支配排序的小龙虾优化算法(NSCOA)MATLAB

一、小龙虾优化算法COA 小龙虾优化算法&#xff08;Crayfsh optimization algorithm&#xff0c;COA&#xff09;由Jia Heming 等人于2023年提出&#xff0c;该算法模拟小龙虾的避暑、竞争和觅食行为&#xff0c;具有搜索速度快&#xff0c;搜索能力强&#xff0c;能够有效平衡…

前端用JavaScript实现桑基图(Sankey图)

前端用JavaScript实现桑基图&#xff08;Sankey图&#xff09; 桑基图&#xff08;Sankey图&#xff09;&#xff0c;是流图的一种&#xff0c;常用来展示事物的数量、发展方向、数据量大小等&#xff0c;在可视化分析中经常使用。 本文&#xff0c;演示如何在前端用JavaScri…

Spring Boot - Rest VS GraphQL

文章目录 概述图解CodeSpring Boot RestSpring Boot GraphQL 概述 REST&#xff08;Representational State Transfer&#xff09;和GraphQL都是用于构建Web服务的API设计和交互方式&#xff0c;它们有不同的特点和优劣势。 REST&#xff08;Representational State Transf…

PHP自己的框架2.0加载控制器并运行(重构篇四)

目录 1、加载控制器并运行 2、创建admin和index模块控制器 3、自动加载控制器文件 4、运行控制器中方法 5、运行模块下控制器方法 1、加载控制器并运行 2、创建admin和index模块控制器 <?php namespace app\admin\controller; class index{public function index(){ech…

【pytest】生成测试报告

0. 脚本&#xff1a; fixture/test_fixtures_02.py # 功能函数 import pytestdef multiply(a, b):return a * bclass TestMultiply:# fixturesclassmethoddef setup_class(cls):print("setup_class>")classmethoddef teardown_class(cls):print("teardown_c…

在PHP8中对数组进行计算-PHP8知识详解

在php8中&#xff0c;提供了丰富的计算函数&#xff0c;可以对数组进行计算操作。常见的计算函数如下几个&#xff1a;array_sum()函数、array_merge()函数、array_diff()函数、array_diff_assoc()函数、array_intersect()函数、array_intersect_assoc()函数。 1、array_sum()函…

MySQL数据库——MySQL8.0.26-Linux版安装

目录 准备Linux服务器 下载安装包 上传安装包 创建目录,并解压 安装mysql的安装包 启动MySQL服务 查询自动生成的root用户密码 修改root用户密码 创建用户 并给root用户分配权限 通过DataGrip远程连接MySQL 准备Linux服务器 云服务器或者虚拟机&#xff0c; Linux…

P2P协议的传输艺术

TP 采用两个 TCP 连接来传输一个文件。 控制连接&#xff1a;服务器以被动的方式&#xff0c;打开众所周知用于 FTP 的端口 21&#xff0c;客户端则主动发起连接。该连接将命令从客户端传给服务器&#xff0c;并传回服务器的应答。常用的命令有&#xff1a;list——获取文件目…

图解曲面积分的对称性

1.图解曲面积分的对称性 1.1 第一类曲面积分的一般对称性 二重积分、三重积分、第一类曲线积分、第一类曲面积分的一般对称性其原理都类似 平面和空间曲面的原理一样&#xff0c;以下内容以空间曲面为例 图中所示为积分区域 Σ \Sigma Σ&#xff0c;函数 f ( x , y , z ) f(…

PostgreSQL缓存管理

缓冲区管理器、存储和后端进程之间的关系 缓存管理结构 PostgreSQL 缓冲区管理器由buffer table、buffer descriptors和buffer pool组成。buffer pool层存储表和索引等数据文件页&#xff0c;以及空闲空间映射和可见性映射。buffer pool是一个数组&#xff0c;每个槽存储数据文…

Redis RedLock算法和底层源码分析

Redlock红锁算法 官网地址&#xff1a;Distributed Locks with Redis | Redis 为什么要使用RedLock&#xff1f; 解释&#xff1a; 线程 1 首先获取锁成功&#xff0c;将键值对写入 redis 的 master 节点&#xff0c;在 redis 将该键值对同步到 slave 节点之前&#xff0c;mas…