基于MATLAB的FIR滤波器的设计及应用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE PAGE 8 基于MATLAB的FIR滤波器的设计及应用(信号去噪) 摘 要 数字滤波器是一种用来过滤时间离散信号的数字系统,目前数字滤波器的设计有许多现成的高级语言设计程序, 但它们的设计效率较低, 不具有可视图形, 不便于修改参数等缺点, 而MATLAB 语言正好能弥补以上缺点。本文就如何使用MATLAB 语言来设计和实现FIR 数字滤波器进行了探究。 本文主要是通过使用blackman窗设计一个FIR滤波器以对信号进行滤波去噪处理。本设计首先自己编一段信号,依据对该信号的频谱分析,给定相关指标。以MATLAB软件为平台,采用blackman窗设计满足指标的FIR滤波器,以该音乐信号进行滤波去噪处理。通过对比滤波前后的波形图,深入了解滤波器的基本方法。 一、设计目的 1.学会MATLAB的使用,掌握MATLAB的程序设计方法; 2.掌握数字信号处理的基本概念、基本理论和基本方法; 3. 在Matlab环境下产生噪声信号 4.掌握MATLAB设计FIR数字滤波器的窗函数设计方法; 5.学会用MATLAB对信号进行分析和处理。 二、设计要求 1.噪声信号的频谱分析 2.设计数字滤波器和画出频率响应 利用窗函数的方法和最佳逼近法设计FIR滤波器;最后,利用MATLAB中的函数freqz画出各滤波器的频率响应。 3.用滤波器对噪声信号进行滤波 4.比较几种滤波器去滤波前后噪声信号的波形及频谱 三、设计原理及思想 如果所希望的滤波器的理想的频率响应函数为,则其对应的单位脉冲响应为 (4.1) 窗函数设计法的基本原理是用有限长单位脉冲响应序列逼近。由于往往是无限长序列,而且是非因果的,所以用窗函数将截断,并进行加权处理,得到: (4.2) 就作为实际设计的FIR数字滤波器的单位脉冲响应序列,其频率响应函数为 (4.3) 式中,N为所选窗函数的长度。 我们知道,用窗函数法设计的滤波器性能取决于窗函数的类型及窗口长度N的取值。设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N 。各种类型的窗函数可达到的阻带最小衰减和过渡带宽度见表4.1。 表1 各种窗函数的基本参数 窗函数 旁瓣峰值幅度/dB 过渡带宽 阻带最小衰减/dB 矩形窗 -13 4π/N -12 三角形窗 -25 8π/N -25 汉宁窗 -31 8π/N -44 哈明窗 -41 8π/N -53 不莱克曼窗 -57 12π/N -74 凯塞窗(α=7.865) -57 10π/N -80 这样选定窗函数类型和长度N之后,求出单位脉冲响应,并按照式(4.3)求出。是否满足要求,要进行演算。一般在尾部加零使长度满足2的整数次幂,以便用FFT计算。如果要观察细节,补零点数增多即可。如果不满足要求,则要重新选择窗函数类型和长度N ,再次验算,直至满足要求。 如果要求线性相位特性,则还必须满足 根据上式中的正、负号和长度N的奇偶性又将线性相位FIR滤波器分成四类。要根据所设计的滤波特性正确选择其中一类,例如,要设计线性相位低通特性,可以选择这一类,而不能选择这一类。 四、主程序框图开始 开始 读入窗口长度N 计算hd(n) 调用窗函数子程序求w(n) 调用子程序(函数)计算H(k)=DFT[h(n)] 调用绘图子程序(函数)绘制H(k)幅度相位曲线 结束 图6-1 主程序框图 计算h(n)= hd(n) w(n) 五、程序设计 function xt=xtg; N=1000; Fs=1000;T=1/Fs;Tp=N*T; t=0:T:(N-1)*T;fc=Fs/10;f0=fc/10; mt=cos(2*pi*f0*t); ct=cos(2*pi*fc*t); xt=mt.*ct; % 相成产生单频调幅信号 nt=2*rand(1,N)-1; % 产生随机噪声 subplot(4,4,1);plot(t,xt);title(未加噪声的信号) %设计高通滤波器hn,用于滤除噪声nt中的低频成分,生成高通噪声 fp=150;fs=200;Rp=0.1;As=70; fb=[fp,fs];m=[0,1]; dev=[10^(-As/20),(10^(Rp/20)-1)/(10^(Rp/20)+1)]; [n,fo,mo,W]=remezord(fb,m,dev,Fs); hn=remez(n,fo,mo,W); yt=filter(hn,1,10*nt); %滤除随机噪声中低频成分,生成高通噪声yt xt=xt+yt;

文档评论(0)

如果.可以. + 关注
官方认证
文档贡献者

坚持分享有价值的资源!

认证主体汉中恒朱网络技术有限公司
IP属地陕西
统一社会信用代码/组织机构代码
91610726MA6YWAFG7U

1亿VIP精品文档

相关文档