python切比雪夫滤波器_[Matlab]切比雪夫Ⅰ型滤波器设计:低通、高通、带通和带阻...
切比雪夫Ⅰ型滤波器特点:
1、幅度特性是在一个频带内(通带或阻带)范围内具有等波纹特性;
2、Ⅰ型在通带范围内是等波纹的,在阻带范围内是单调的。
测试代码:
% Cheby1Filter.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 = 90/(fs/2); %阻带截止频率,取50~100中间的值,并对其归一化
alpha_p = 3; %通带允许最大衰减为 db
alpha_s = 40;%阻带允许最小衰减为 db
%获取阶数和截止频率
[ N1 wc1 ] = cheb1ord( wp , ws , alpha_p , alpha_s);
%获得转移函数系数
[ b a ] = cheby1(N1,alpha_p,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 = 20;%阻带允许最小衰减为 db
%获取阶数和截止频率
[ N2 wc2 ] = cheb1ord( wp , ws , alpha_p , alpha_s);
%获得转移函数系数
[ b a ] = cheby1(N2,alpha_p,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 = 20;%阻带允许最小衰减为 db
%获取阶数和截止频率
[ N3 wn ] = cheb1ord( wp , ws , alpha_p , alpha_s);
%获得转移函数系数
[ b a ] = cheby1(N3,alpha_p,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 = 20;%阻带允许最小衰减为 db
%获取阶数和截止频率
[ N4 wn ] = cheb1ord( wp , ws , alpha_p , alpha_s);
%获得转移函数系数
[ b a ] = cheby1(N4,alpha_p,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('带阻滤波后频域相位特性');
效果:
原始信号:
生成的低通滤波器和滤波后的效果:
生成的高通滤波器和滤波后的结果:
生成的带通滤波器和滤波后的结果:
生成的带阻滤波器和滤波后的结果:
python切比雪夫滤波器_[Matlab]切比雪夫Ⅰ型滤波器设计:低通、高通、带通和带阻...相关推荐
- matlab编写fie滤波器,使用Matlab和CCS设计FIR滤波器
[实例简介] 详细讲解FIR滤波器的原理,Matlab的实现及导入CCS中的应用全过程. 从 中导出滤波器系数. 在 中,选择 ,如图. 在出现的对话框中选择输出文件类型为 ,输出系数类型为 如图所 ...
- python进阶项目设计_推荐系统进阶:设计和构建推荐系统流程综述(1)
内容目录推荐系统应用场景概述 为什么需要推荐? 推荐系统的目标? 推荐系统的工作? 推荐系统的基本模型 构建推荐系统的方法 相关参考? 1.推荐系统概述以及它们如何提供有效形式的定向营销 推荐系统 推 ...
- python四瓣花图形_如何使用Inscape设计工具设计出一个四瓣花朵图
在使用矢量图形时,利用Inscape设计工具绘制多个圆形,并利用圆形的特性设计出一个四瓣图形,然后使用图形的形态交叉光滑效果,形成一个花瓣图形.下面利用一个实例说明,操作如下: 工具/原料 Insca ...
- python埃及分数_送你一份低折扣书单,Python就占了6本,人工智能2本
小编没什么好礼物送给大家的,这里有几本超低折扣的几本书,分享给你,为您省点小钱,不谢哟!此书单中,Python书有6本,少儿编程书4本,人工智能书2本.哪一本是你的菜,自己选吧! 文中这几本书折扣价在 ...
- python二级含金量_计算机二级证书含金量有多高?
关闭评论啦,没心情没精力和人口头battle... 向来奉行打倒一波,拉拢一波,团结一波,最终实现社会和谐的原则. 我是来回答问题的,不是来给自己找不快的. 再做最后一次总体回答吧,之后就不管这个问题 ...
- MATLAB数字滤波器的设计
一.数字滤波器设计 数字滤波器就是由数字乘法器.加法器和延时单位组成的一种装置.它的作用是对输入离散信号的数字代码进行运算处理,从而达到改变信号频谱的目的.数字滤波器可以用计算机软件实现或者大规模集成 ...
- matlab 带通相应,matlab butter 带通
? 利用'Help BUTTER'在MATLAB命令窗口 可得到相关信息. 39... matlab功能解释_计算机软件及应用_IT/计算机_专业资料.%设计低通滤波器: [N,Wc...[a,b]= ...
- [Matlab]切比雪夫Ⅰ型滤波器设计:低通、高通、带通和带阻(2)
[Matlab]切比雪夫Ⅰ型滤波器设计:低通.高通.带通和带阻-------(2) 切比雪夫滤波器,又名"车比雪夫滤波器",是在通带或阻带上频率响应幅度等波纹波动的滤波器.切比 ...
- matlab通过“ideal_lp设计理想高通滤波器_常见低通、高通、带通三种滤波器的工作原理...
∧ 更多内容推荐 请关注为星标 □ 广播科技 滤波器是对波进行过滤的器件,是一种让某一频带内信号通过,同时又阻止这一频带外信号通过的电路. 滤波器主要有低通滤波器.高通滤波器和 ...
最新文章
- MSG结构体和WndProc窗口过程详解
- c语言多关卡推箱子程序,多关卡地图推箱子游戏
- AI Challenger 2018 机器翻译参赛总结
- 统计图学习-类型介绍
- 计算机组装与维护报告论文,计算机组装与维护实习报告范文
- CSS_照片墙例子 相对定位
- 批量增加字段值 mysql_按照一定规则批量修改表中新增字段的值
- 特斯拉model3中控屏怎么关_对话特斯拉首席设计师Franz:设计为效率服务
- Mac翻译系列软件推荐二:人人译视界 for Mac
- LPC11XX驱动LCD1602程序
- 苹果电脑安装计算机一级,苹果电脑安装Win10系统的详细步骤
- 应用matlab软件编写 t检验,应用matlab软件进行方差分析 应用方差分析的前提条件...
- 【CVPR2022】论文列表与下载——PartFour
- UEFIEDKII Introduction:UEFIEDKII概述[1]
- 调用百度语音合成API,Qt实现语音合成,Qt语音合成
- python繁简体转换
- 2018.11.22!今天重温一遍知识点,捋一捋思路
- 点餐APP 冲刺三总结
- matlab读取TXT文件数据,二进制文件数据
- ios点击推送闪退_iOS 13.4 Beta 4 发布,闪退问题修复!