php中文网 | cnphp.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 486|回复: 0

设计一个高/低通滤波器,并检验它的性能

[复制链接]

3138

主题

3148

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

UID
1
威望
0
积分
7946
贡献
0
注册时间
2021-4-14
最后登录
2024-11-21
在线时间
763 小时
QQ
发表于 2022-7-14 23:12:06 | 显示全部楼层 |阅读模式
close all; %先关闭所有图片
%  设计一个高/低通滤波器,并检验它的性能
%  采样率Fs为10kHZ
%  阻带边缘fs为1.5Khz,衰减As为40bB
%  通带边缘fp为2kHz,波纹Rp为3Db
%  通带截止wp为0.4,阻带截止ws为0.3
Fs=1e4;
fs=1.5e3;
fp=2e3;
As=40;
Rp=3;
wp=2*fp/Fs;
ws=2*fs/Fs;
[N,wn]=cheb2ord(wp,ws,Rp,As);
%符合要求性质的滤波器最小阶数N,及滤波器的固有频率为wn
[b,a]=cheby2(N,As,wn,'low');
%ChebyshevⅡ型滤波器设计,b为离散系统的系统函数中Ha(z)分子多项式系数,a为Hz(z)分子多项式系数
[db,mag,pha,grd,w]=freqz_m(b,a); %z变换频率响应,来表示滤波器的性能
%db为相对幅度,mag为绝对振幅,pha为相位响应,grd为群延时,w为频率样本点向量
subplot(2,4,1);
plot(w/pi,mag);
axis([0,1,0,1]);
%setX([0 0.3 0.4 1]);
%setY([0.01 0.7279 1]);
title('绝对振幅');
subplot(2,4,2);plot(w/pi,db);
axis([0 1 -70 0]);
%setX([0 0.3 0.4 1]);
%setY([-40 -2.7589]);
title('相对幅度');

n=0:200;
%x=cos(0.4*pi*n);
x=cos(0.6*pi*n)+2*cos(0.2*pi*n);
%频率为
y=filter(b,a,x);
%x为滤波前序列,y为滤波后序列,b/a提供滤波器系数
%计算过程为
%a(1)*y(n)= b(1)*x(n)+b(2)*x(n-1)+ ...+b(nb+1)*x(n-nb)-a(2)*y(n-1)-...-a(na+1)*y(n-na)            
subplot(2,4,3);plot(n,x);
axis([0 50 -2 2]);
title('滤波前序列');
subplot(2,4,4);plot(n,y);
axis([0 50 -2 2]);
title('滤波后序列');

%做傅立叶变换后显示频谱图
x1=fft(x,201);
x11=abs(x1);
subplot(2,4,5);stem(n,x11);%stem绘制针状图
axis([0 200 -10 200]);
title('滤波前频谱图');
y1=fft(y,201);
y11=abs(y1);
subplot(2,4,6);stem(n,y11);
axis([0 200 -10 200]);
title('滤波后频谱图');

g=x11-y11;
subplot(2,4,7);stem(n,g);
axis([0 200 -10 200]);
title('滤去波频谱图');

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|php中文网 | cnphp.com ( 赣ICP备2021002321号-2 )

GMT+8, 2024-11-22 02:35 , Processed in 0.978088 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

申明:本站所有资源皆搜集自网络,相关版权归版权持有人所有,如有侵权,请电邮(fiorkn@foxmail.com)告之,本站会尽快删除。

快速回复 返回顶部 返回列表