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

📄 jichu_2.m

📁 关于滤波器的一些源程序
💻 M
字号:
%设计内容: 有用信号为150Hz 正弦波, 要求设计一个IIR 带通滤波器, 滤掉信号中的工频成分及高频部分, 阶数为4, 截止频率
%为100,200Hz, 抽样频率为1000Hz, 信号s=sin(100*pi*t)+sin(300*pi*t)+ sin(800*pi*t)。

%step1:产生一个三分量的信号;
Fs=1000;t=[1:100]/Fs;%采样频率,时间轴;
s1=sin(2*pi*t*50);
s2=sin(2*pi*t*150);
s3=sin(2*pi*t*400);
s=s1+s2+s3;
subplot(221);plot(t,s);%三个信号的叠加;

%step2:设计四阶IIR滤波器;
[b,a]=ellip(2,0.5,20,[100,200]*2/Fs);%滤波器的系数[b,a]=ellip(n,ap,as,wn)其中:n是滤波器阶数,ap是通带最大衰减,as是阻带最大衰减
[H,w]=freqz(b,a,512);%H是系统的传输函数;
subplot(222);plot(w*2/Fs,H);

%step3:对原始信号进行滤波;
y=filter(b,a,s);%对原始信号进行滤波;
subplot(223);plot(t,y);

%step4:绘制出滤波前后的频谱;
S=fft(s,512);%对原始信号进行傅里叶变换;
SF=fft(y,512);%对滤波后的信号进行傅里叶变换;
w=[0:255]*2/Fs;
subplot(224);plot(w,abs(S(1:256)),w,abs(SF(1:256)));

⌨️ 快捷键说明

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