[Matlab]切比雪夫Ⅱ型滤波器设计:低通、高通、带通和带阻
切比雪夫Ⅱ型滤波器特点:
1、幅度特性是在一个频带内(通带或阻带)范围内具有等波纹特性;
2、Ⅱ型在通带范围内是单调的,在阻带范围内是等波纹的。
测试代码:
% Cheby2Filter.m % 切比雪夫Ⅱ型滤波器的设计 %clear; close all; clc;fs = 1000; %Hz 采样频率 Ts = 1/fs; N = 1000; %序列长度 t = (0:N-1)*Ts; delta_f = 1*fs/N; f1 = 50; f2 = 100; f3 = 200; f4 = 400; x1 = 2*0.5*sin(2*pi*f1*t); x2 = 2*0.5*sin(2*pi*f2*t); x3 = 2*0.5*sin(2*pi*f3*t); x4 = 2*0.5*sin(2*pi*f4*t); x = x1 + x2 + x3 + x4; %待处理信号由四个分量组成X = fftshift(abs(fft(x)))/N; X_angle = fftshift(angle(fft(x))); f = (-N/2:N/2-1)*delta_f;figure(1); subplot(3,1,1); plot(t,x); title('原信号'); subplot(3,1,2); plot(f,X); grid on; title('原信号频谱幅度特性'); subplot(3,1,3); plot(f,X_angle); title('原信号频谱相位特性'); grid on;%设计一个切比雪夫低通滤波器,要求把50Hz的频率分量保留,其他分量滤掉 wp = 55/(fs/2); %通带截止频率,取50~100中间的值,并对其归一化 ws = 60/(fs/2); %阻带截止频率,取50~100中间的值,并对其归一化 alpha_p = 3; %通带允许最大衰减为 db alpha_s = 40;%阻带允许最小衰减为 db %获取阶数和截止频率 [ N1 wc1 ] = cheb2ord( wp , ws , alpha_p , alpha_s); %获得转移函数系数 [ b a ] = cheby2(N1,alpha_s,wc1,'low'); %滤波 filter_lp_s = filter(b,a,x); X_lp_s = fftshift(abs(fft(filter_lp_s)))/N; X_lp_s_angle = fftshift(angle(fft(filter_lp_s))); figure(2); freqz(b,a); %滤波器频谱特性 figure(3); subplot(3,1,1); plot(t,filter_lp_s); grid on; title('低通滤波后时域图形'); subplot(3,1,2); plot(f,X_lp_s); title('低通滤波后频域幅度特性'); subplot(3,1,3); plot(f,X_lp_s_angle); title('低通滤波后频域相位特性');%设计一个高通滤波器,要求把400Hz的频率分量保留,其他分量滤掉 wp = 350/(fs/2); %通带截止频率,取200~400中间的值,并对其归一化 ws = 380/(fs/2); %阻带截止频率,取200~400中间的值,并对其归一化 alpha_p = 3; %通带允许最大衰减为 db alpha_s = 40;%阻带允许最小衰减为 db %获取阶数和截止频率 [ N2 wc2 ] = cheb2ord( wp , ws , alpha_p , alpha_s); %获得转移函数系数 [ b a ] = cheby2(N2,alpha_s,wc2,'high'); %滤波 filter_hp_s = filter(b,a,x); X_hp_s = fftshift(abs(fft(filter_hp_s)))/N; X_hp_s_angle = fftshift(angle(fft(filter_hp_s))); figure(4); freqz(b,a); %滤波器频谱特性 figure(5); subplot(3,1,1); plot(t,filter_hp_s); grid on; title('高通滤波后时域图形'); subplot(3,1,2); plot(f,X_hp_s); title('高通滤波后频域幅度特性'); subplot(3,1,3); plot(f,X_hp_s_angle); title('高通滤波后频域相位特性');%设计一个带通滤波器,要求把50Hz和400Hz的频率分量滤掉,其他分量保留 wp = [65 385 ] / (fs/2); %通带截止频率,50~100、200~400中间各取一个值,并对其归一化 ws = [75 375 ] / (fs/2); %阻带截止频率,50~100、200~400中间各取一个值,并对其归一化 alpha_p = 3; %通带允许最大衰减为 db alpha_s = 40;%阻带允许最小衰减为 db %获取阶数和截止频率 [ N3 wn ] = cheb2ord( wp , ws , alpha_p , alpha_s); %获得转移函数系数 [ b a ] = cheby2(N3,alpha_s,wn,'bandpass'); %滤波 filter_bp_s = filter(b,a,x); X_bp_s = fftshift(abs(fft(filter_bp_s)))/N; X_bp_s_angle = fftshift(angle(fft(filter_bp_s))); figure(6); freqz(b,a); %滤波器频谱特性 figure(7); subplot(3,1,1); plot(t,filter_bp_s); grid on; title('带通滤波后时域图形'); subplot(3,1,2); plot(f,X_bp_s); title('带通滤波后频域幅度特性'); subplot(3,1,3); plot(f,X_bp_s_angle); title('带通滤波后频域相位特性');%设计一个带阻滤波器,要求把50Hz和400Hz的频率分量保留,其他分量滤掉 wp = [65 385 ] / (fs/2); %通带截止频率?,50~100、200~400中间各取一个值,并对其归一化 ws = [75 375 ] / (fs/2); %阻带截止频率?,50~100、200~400中间各取一个值,并对其归一化 alpha_p = 3; %通带允许最大衰减为 db alpha_s = 40;%阻带允许最小衰减为 db %获取阶数和截止频率 [ N4 wn ] = cheb2ord( wp , ws , alpha_p , alpha_s); %获得转移函数系数 [ b a ] = cheby2(N4,alpha_s,wn,'stop'); %滤波 filter_bs_s = filter(b,a,x); X_bs_s = fftshift(abs(fft(filter_bs_s)))/N; X_bs_s_angle = fftshift(angle(fft(filter_bs_s))); figure(8); freqz(b,a); %滤波器频谱特性 figure(9); subplot(3,1,1); plot(t,filter_bs_s); grid on; title('带阻滤波后时域图形'); subplot(3,1,2); plot(f,X_bs_s); title('带阻滤波后频域幅度特性'); subplot(3,1,3); plot(f,X_bs_s_angle); title('带阻滤波后频域相位特性');
效果:
原始信号:
生成的低通滤波器和滤波后的效果:
生成的高通滤波器和滤波后的效果:
生成的带通滤波器和滤波后的效果:
生成的带阻滤波器和滤波后的效果:
转载于:https://www.cnblogs.com/alimy/p/9140864.html
[Matlab]切比雪夫Ⅱ型滤波器设计:低通、高通、带通和带阻相关推荐
- [Matlab]切比雪夫Ⅰ型滤波器设计:低通、高通、带通和带阻(2)
[Matlab]切比雪夫Ⅰ型滤波器设计:低通.高通.带通和带阻-------(2) 切比雪夫滤波器,又名"车比雪夫滤波器",是在通带或阻带上频率响应幅度等波纹波动的滤波器.切比 ...
- python切比雪夫滤波器_[Matlab]切比雪夫Ⅰ型滤波器设计:低通、高通、带通和带阻...
切比雪夫Ⅰ型滤波器特点: 1.幅度特性是在一个频带内(通带或阻带)范围内具有等波纹特性: 2.Ⅰ型在通带范围内是等波纹的,在阻带范围内是单调的. 测试代码: % Cheby1Filter.m % 切比 ...
- [Matlab]椭圆滤波器设计:低通、高通、带通和带阻(4)
[Matlab]椭圆滤波器设计:低通.高通.带通和带阻-------(4) 椭圆滤波器(Elliptic filter)又称考尔滤波器(Cauer filter),是在通带和阻带等波纹的一种滤波器 ...
- 【DSP教程】第36章 FIR滤波器的Matlab设计(含低通,高通,带通和带阻)
完整版教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547 第36章 FIR滤波器的Matlab设计(含低通 ...
- 【滤波器】基于高通+低通+带通+带阻FIR滤波器设计含Matlab源码
1 简介 本文利用kaiser窗实现了FIR带通数字滤波器的设计,设计结果符合FIR数字滤波器技术指标要求. 2 部分代码 %------------------------------------ ...
- 【Matlab】如何使用Filter Design设计低通、高通、带阻滤波器
如何使用Filter Design设计低通.高通.带阻数字滤波器. 文章目录 前言 一.低通滤波器 二.高通滤波器 三.带阻滤波器 前言 使用Matlab自带的Filter Design APP可以方 ...
- matlab通过“ideal_lp设计理想高通滤波器_常见低通、高通、带通三种滤波器的工作原理...
∧ 更多内容推荐 请关注为星标 □ 广播科技 滤波器是对波进行过滤的器件,是一种让某一频带内信号通过,同时又阻止这一频带外信号通过的电路. 滤波器主要有低通滤波器.高通滤波器和 ...
- matlab哈明窗带阻,基于matlabFIR低通,高通,带通,带阻滤波器设计.doc
基于matlabFIR低通,高通,带通,带阻滤波器设计 课 程 设 计 报 告 课程名称: DSP 设计名称:FIR 低通.高通带通和带阻数字滤波器的设计 姓 名: 学 号: 班 级: 指导教师: 起 ...
- 1.巴特沃斯模拟滤波器(低通,高通,带通,带阻)设计-MATLAB实现
本文是模拟滤波器设计,如果需要了解数字滤波器的内容,可以按顺序看我写的另外两篇博客,如下: 2.MATLAB实现无限脉冲响应数字滤波器(IIR) 3.MATLAB实现有限脉冲响应数字滤波器(FIR) ...
- matlab ellipticf,[Matlab]椭圆滤波器设计:低通、高通、带通和带阻
椭圆滤波器(Elliptic filter)又称考尔滤波器(Cauer filter): 这是在通带和阻带等波纹的一种滤波器. 椭圆滤波器相比其他类型的滤波器,在阶数相同的条件下有着最小的通带和阻带波 ...
最新文章
- SAP MM MIGO过账报错 - 用本币计算的余额 - 之对策
- 妙用 Intellij IDEA 创建临时文件,Git 跟踪不到的那种
- 获取request header的值
- 记录一次Docker For Windows10镜像加速器配置
- CodeForce 463C Gargari and Bishops(贪心+暴力)
- ARM MMU工作原理剖析[转]
- 容器编排技术 -- 安装和设置kubectl
- 查询商品信息报错FreeMark template error
- Kali Linux 网络扫描秘籍 第一章 起步(一)
- java中string和stringbuffer
- android 按下缩小效果松开恢复_22省份三季报:粤苏总量差距缩小,19省份实现正增长...
- udp广播收到重复包
- 用户推广成果总结会议
- 服务器性能监控论文,服务器性能监控系统(本科毕业论文)
- PyQT5 QtWidgets 设置单元格不可编辑/可编辑 恢复单元格默认设置
- 【转】64位win7环境eclipse集成svn后出现Failed to load JavaHL Library的解决办法
- 解决win7安装梦幻桌面后不能使用,成灰色的问题
- 轻量级高并发物联网服务器接收程序源码
- 16条时间管理法则 让你快速提高效率
- EDM初级:什么是EDM邮件营销?EDM营销的定义
热门文章
- 不使用反射,“一行代码”实现Web、WinForm窗体表单数据的填充、收集、清除,和到数据库的CRUD...
- 动态规划算法 dynamic programming
- 详析Exchange 2007/2010 SSL证书如何安装
- T-SQL Parser
- 跨域认证--使用Passport
- Ubuntu18.04 关闭和开启图形界面
- numpy提供的快速的元素级数组函数
- VB求最大公约数的两个例子
- 又联考了一场,感觉自己好菜啊,T1没写出来,后来花了一个早上调试。QAQ。最后发现是个-1还有取模没打。。。TAT。。。难受极了!!!...
- bzoj4974 字符串大师