FIR低通滤波器实例_第1页
FIR低通滤波器实例_第2页
FIR低通滤波器实例_第3页
FIR低通滤波器实例_第4页
FIR低通滤波器实例_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实例1:在实际设计中,可以通过加窗函数的方法抑制频谱泄露相比较于IIR滤波器,FIR可能所需阶数更高,但同时由于其非迭代结构,永远能够得到稳定的输出。本文介绍如何用MATLAB仿真产生FIR滤波器,并使用一个混合频率的信号通过FIR滤波器,观察其输出,以验证FIR滤波器性能。实际应用背景:若信号为一个10Hz与一个30Hz的余弦信号相加,那么如何滤除30Hz的信号?首先产生原始信号。采样率设置为100Hz,时宽2s。MATLAB程序如下: f1=10;%第一个点频信号分量频率 f2=30;%第二个点频信号分量频率 fs=100;%采样率 T=2;%时宽 B=20;%带宽 n=round(T*f

2、s);%采样点个数 t=linspace(0,T,n); y=cos(2*pi*f1*t)+cos(2*pi*f2*t);观察原始信号的时域波形和频谱,从频谱图中可以明显看出其10Hz与30Hz的分量。MATLAB程序如下: figure; plot(t,y); title(原始信号时域); xlabel(t/s); ylabel(幅度); figure; fft_y=fftshift(fft); f=linspace(-fs/2,fs/2,n); plot(f,abs(fft_y); title(原始信号频谱); xlabel(f/Hz); ylabel(幅度); axis( 0 50 0

3、100); 设计FIR滤波器:为滤除30Hz的分量,我们选用20Hz截止频率的低通滤波器,阶数为40阶(若要获得更陡峭的过渡带,阶数可以选择的更高)。MATLAB中用fir1函数实现滤波器冲击响应系数的计算。注意:模拟频率f=20Hz需要按f/(fs/2)的式子化为数字频率,作为fir1函数中的参数。MATLAB程序如下: b=fir1(40, B/(fs/2); %滤波产生指定带宽的噪声信号 figure; freqz(b);%画滤波器频响信号通过FIR滤波器:采用filter函数。MATLAB程序: y_after_fir=filter(b,1,y); %信号通过滤波器观察滤波后输出信号的时域与频谱:从频谱中可以明显看出,30Hz的分量被滤除,留下了10Hz的分量。时域波形也可以看出这一点。同时需要注意,输出信号的前面一段是无效的。该段的长度为滤波器阶数的一半。MATLAB程序: figure; plot(t,y_after_fir); title(滤波后信号时域); xlabel(t/s); ylabel(幅度); fft_y1=fftshift(fft(y_after_fir); f=linspace(-fs/2,fs/2,n); figure; plot(f,abs(fft_y1);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论