⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cheby1filter.m

📁 本程序是利用matlab中的函数设计滤波器
💻 M
字号:
N=550;                %数据点数
fs=5500;               %采样频率
dt=1/fs;
k=1:N;
f1=100;f2=250;    %信号频率
y=sin(2*pi*f1*k*dt)+sin(2*pi*f2*k*dt)+0.5*sin(2*pi*(f2+20)*k*dt);%100、250、270Hz三个正弦信号合成
subplot(2,2,[1 2]);
plot(k,y);
axis([0 550 -3 3 ]);
title('输入信号(数据点数=600,采样频率=500)');

lp=200;           %截至频率
wn1=2*lp/fs;      %函数的参数
[z1,p1,k1]=CHEBY1(2,0.5,wn1);     %滤波器的极零点表示
[b1,a1]=CHEBY1(2,0.5,wn1);        %滤波器的传递函数表示
yy1=filter(b1,a1,y);              %滤波

y=fft(y,N);                       %将信号做傅立叶变换
pyy=y.*conj(y);                   %作功率谱分析
f=(0:(N/2-1));
subplot(2,2,3);
plot(f,pyy(1:N/2));
title('输入信号功率谱')

y=fft(yy1,N);                     
pyy=y.*conj(y);                  %将滤波后数据做功率谱分析
f=(0:(N/2-1));
subplot(2,2,4);
plot(f,pyy(1:N/2));
title('滤波后信号功率谱');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -