实验基于MATLAB的FIR数字滤波器设计.docVIP

实验基于MATLAB的FIR数字滤波器设计.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验基于MATLAB的FIR数字滤波器设计

实验4 基于MATLAB的FIR数字滤波器设计 实验目的:加深对数字滤波器的常用指标和设计过程的理解。 实验原理:低通滤波器的常用指标: 通带边缘频率,阻带边缘频率 ,通带起伏, 通带峰值起伏, 阻带起伏,最小阻带衰减。 数字滤波器有IIR和FIR两种类型,它们的特点和设计方法不同。 在MATLAB中,可以用b=fir1(N,Wn,’ftype’) 等函数辅助设计FIR数字滤波器。’high’高通,’stop’带阻等;taper为窗函数类型,默认为海明窗,窗系数需要实现用窗函数blackman, hamming,hanning chebwin, kaiser产生。 例1 用凯塞窗设计一FIR低通滤波器,通带边界频率 ,阻带边界频率 ,阻带衰减 不小于50dB。 解 首先由过渡带宽和阻带衰减 来决定凯塞窗的N和 , , ? 上图给出了以上设计的频率特性,(a) 为N=30直接截取的频率特性(b)为凯塞窗设计的频率特性。凯塞窗设计对应的MATLAB程序为: wn=kaiser(30,4.55); nn=[0:1:29]; alfa=(30-1)/2; hd=sin(0.4*pi*(nn-alfa))./(pi*(nn-alfa)); h=hd.*wn; [h1,w1]=freqz(h,1); 或者:b = fir1(29,0.4,kaiser(30,4.55)); [h1,w1]=freqz(b,1); plot(w1/pi,20*log10(abs(h1))); axis([0,1,-80,10]); grid; xlabel(归一化频率/() ; ylabel(幅度/dB) ; [n,Wn,beta,ftype] = kaiserord(f,a,dev)函数来估计滤波器阶数等,得到凯塞窗滤波器: fcuts = [0.3 0.5]; %归一化频率omega/pi mags = [1 0]; devs = [0.05 10^(-2.5)]; [n,Wn,beta,ftype] = kaiserord(fcuts,mags,devs); %计算出凯塞窗N,beta的值 hh = fir1(n,Wn,ftype,kaiser(n+1,beta),noscale); freqz(hh); ???实际中,一般调用MATLAB信号处理工具箱函数remezord来计算等波纹滤波器阶数N和加权函数W(ω),调用函数remez可进行等波纹滤波器的设计,直接求出滤波器系数。函数remezord中的数组fedge为通带和阻带边界频率,数组mval是两个边界处的幅值,而数组dev是通带和阻带的波动,fs是采样频率单位为Hz。例2 利用雷米兹交替算法,设计一个线性相位低通FIR数字滤波器,其指标为:通带边界频率fc=800Hz,阻带边界fr=1000Hz,通带波动 阻带最小衰减At=40dB,采样频率fs=4000Hz。 解 在MATLAB中可以用remezord 和remez两个函数设计,其结果如图2,MATLAB程序如下: fedge=[800 1000]; mval=[1 0]; dev=[0.0559 0.01]; ?????????????? ? fs=4000; [N,fpts,mag,wt]=remezord(fedge,mval,dev,fs); b=remez(N,fpts,mag,wt); [h,w]=freqz(b,1,256); plot(w*2000/pi,20*log10(abs(h))); grid;? ????????????????? ?xlabel(频率/Hz) ; ylabel(幅度/dB); ??????????????? ???? 实验内容: 利用MATLAB编程设计一个数字带通滤波器,指标要求如下: 通带边缘频率:,,通带峰值起伏:。 阻带边缘频率:,,最小阻带衰减: 。 分别用两种FIR数字滤波器。 实验要求:给出FIR数字滤波器的冲激响应,绘出它们的幅度和相位频响曲线,讨论它们各自的实现形式和特点。 1-1)用窗函数法实现: 调用函数[n,wn,bta,ftype]=kaiserord(f,a,dev,fs) 参数:f=[0.3 0.45 0.65 0.8]为对应数字频率,,,,[0.01 0.1087 0.01]用于指定各个频带输出滤波器的频率响应与其期望幅值之间的最大输出误差或偏差,长度与a相等,计算公式:阻带衰减误差=,通带波动衰减误差= fs缺省值为2HZ [n,wn,bta,ftype]=kaiserord([0.3 0.45

您可能关注的文档

文档评论(0)

ipad0d + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档