📄 低通iir型切比雪夫滤波器程序.m
字号:
clear all; %清寄存器值
clc; %清屏
N=256; %数据点数
fs=600; %采样频率
dt=1/fs; %采用时间间隔
for k=1:N;
f1=250; %信号1频率
f2=100; %信号2频率
f3=270; %信号3频率
y(k)=sin(2*pi*f1*k*dt)+sin(2*pi*f2*k*dt)+sin(2*pi*f3*k*dt);
end
lp=200; %截止频率
wn1=2*lp/fs; %函数参数
[z1,p1,k1] = CHEBY1(3,0.5,wn1); %滤波器极、零点表示 ---设计一个3阶低通数字切比雪夫滤波器
[b1,a1] = CHEBY1(3,0.5,wn1); %滤波器传递函数表示
b1=b1/(8*1.0711); %将参数按比例缩小
a1=a1/(8*1.0711); %为DSP汇编程序做准备,MATLAB中不需要
yy1=filter(b1,a1,y); %滤波
y=fft(y,N); %将原始信号做FFT变换
pyy=y.*conj(y); %做功率谱分析
f=(0:(N/2-1));
for i=1:N/2-1;
f(i)=f(i)*fs/N;
end
figure(1);
plot(f,pyy(1:N/2)) %画出原始信号的频谱图
y=fft(yy1,N); %对滤波后信号的数据做功率谱分析
pyy=y.*conj(y);
f=(0:(N/2-1));
for i=1:N/2-1;
f(i)=f(i)*fs/N;
end
figure(2);
plot(f,pyy(1:N/2)); %画出滤波后信号的频谱图
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -