急求关于基于iir matlabB实现的IIR数字滤波器的设计??????

基于MATLAB数字滤波器的设计开题报告书定稿_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于MATLAB数字滤波器的设计开题报告书定稿
上传于||暂无简介
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩2页未读,继续阅读
你可能喜欢  前面一篇文章介绍了通过FDATool工具箱实现滤波器的设计,见&&,这里通过几个例子说明采用Matlab语言设计FIR滤波器的过程。
二、实验平台
  Matlab7.1
三、实验原理
  以低通滤波器为例,其常用的设计指标有:
通带边缘频率fp(数字频率为&Op)
阻带边缘频率fst&(数字频率为&Ost)
通带内最大纹波衰减&p=-20log10(1-&p),单位为 dB
阻带最小衰减&s=-20log10(&s),单位为 dB
阻带起伏&s
通带峰值起伏&p
  其中,以1、2、3、4条最为常用。5、6条在程序中估算滤波器阶数等参数时会用到。
  数字频率 = 模拟频率/采样频率
四、实例分析
例1&&用凯塞窗设计一FIR低通滤波器,通带边界频率&Op=0.3pi,阻带边界频率&&Os=0.5pi,阻带衰减&s不小于50dB。
方法一:手动计算滤波器阶数N和&值,之后在通过程序设计出滤波器。
第一步:通过过渡带宽度和阻带衰减,计算滤波器的阶数B和&值。
第二步:通过程序设计滤波器。
程序如下:
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]);&
xlabel('归一化频率/p')&;
ylabel('幅度/dB')&;
波形如下:
采用[n,Wn,beta,ftype]&=&kaiserord(f,a,dev)函数来估计滤波器阶数等,得到凯塞窗滤波器。
  这里的函数kaiserord(f,a,dev)或者kaiserord(f,a,dev,fs):
  f为对应的频率,fs为采样频率;当f用数字频率表示时,fs则不需要写。
  a=[1&0]为由f指定的各个频带上的幅值向量,一般只有0和1表示;a和f长度关系为(2*a的长度)- 2=(f的长度)
  devs=[0.05&10^(-2.5)]用于指定各个频带输出滤波器的频率响应与其期望幅值之间的最大输出误差或偏差,长度与a相等,计算公式:
阻带衰减误差=&s,通带衰减误差=&p,可有滤波器指标中的3、4条得到。
  fs缺省为2Hz。
程序如下:
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两个函数设计
程序如下:&
fedge=[800&1000];&
mval=[1&0];&
[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)));&
xlabel('频率/Hz')&;
ylabel('幅度/dB');
波形如下:
例3&利用MATLAB编程设计一个数字带通滤波器,指标要求如下:通带边缘频率:&Op1=0.45pi,&Op2=0.65pi,通带峰值起伏:&1&=1[dB]。阻带边缘频率:&Os1=0.3pi,&Os2=0.8pi,最小阻带衰减:&2&=40[dB]&。
方法一:窗函数法
程序如下:
[n,wn,bta,ftype]=kaiserord([0.3&0.45&0.65&0.8],[0&1&0],[0.01&0.]);%用kaiserord函数估计出滤波器阶数n和beta参数
h1=fir1(n,wn,ftype,kaiser(n+1,bta),'noscale');
[hh1,w1]=freqz(h1,1,256);
subplot(2,1,1)
plot(w1/pi,20*log10(abs(hh1)))
xlabel('归一化频率w');ylabel('幅度/db');
subplot(2,1,2)
plot(w1/pi,angle(hh1))
xlabel('归一化频率w');ylabel('相位/rad');
波形如下:
滤波器系数为:
&&Columns&1&through&8&
&&&&0.0041&&&&0.0055&&&-0.0091&&&-0.0018&&&-0.0056&&&-0.0000&&&&0.0391&&&-0.0152
&&Columns&9&through&16&
&&&-0.0381&&&&0.0077&&&-0.0293&&&&0.0940&&&&0.0907&&&-0.2630&&&-0.0517&&&&0.3500
&&Columns&17&through&24&
&&&-0.0517&&&-0.2630&&&&0.0907&&&&0.0940&&&-0.0293&&&&0.0077&&&-0.0381&&&-0.0152
&&Columns&25&through&31&
&&&&0.0391&&&-0.0000&&&-0.0056&&&-0.0018&&&-0.0091&&&&0.0055&&&&0.0041
如果直接用freqz(h1,1,256),得幅频特性和相频特性曲线:
方法二:等波纹法设计
程序如下:
[n,fpts,mag,wt]=remezord([0.3 0.45 0.65 0.8],[0 1 0],[0.01 0.]);%用remezord函数估算出remez函数要用到的阶n、归一化频带边缘矢量fpts、频带内幅值响应矢量mag及加权矢量w,使remez函数设计出的滤波器满足f、a及dev指定的性能要求。h2=remez(n,fpts,mag,wt);%设计出等波纹滤波器[hh2,w2]=freqz(h2,1,256);figure(2)subplot(2,1,1)plot(w2/pi,20*log10(abs(hh2)))gridxlabel('归一化频率w');ylabel('幅度/db');subplot(2,1,2)plot(w2/pi,angle(hh2))gridxlabel('归一化频率w');ylabel('相位/rad');h2
波形如下:
滤波器系数如下:
&&Columns&1&through&9&
&&&-0.0013&&&&0.0092&&&-0.0255&&&-0.0642&&&&0.1177&&&&0.0922&&&-0.2466&&&-0.0466&&&&0.3116
&&Columns&10&through&17&
&&&-0.0466&&&-0.2466&&&&0.0922&&&&0.1177&&&-0.0642&&&-0.0255&&&&0.0092&&&-0.0013
如果直接用freqz(h2,1,256);得幅频特性和相频特性曲线:
方法三:采用FDATool工具
&这种方法需要事先计算出滤波器的阶数,bate值,然后设置相应参数,最后生成滤波器。
&设置界面如下图所示:
&  将上述圈圈的区域设置好之后,生成滤波器,最后通过analysis菜单可以观察生成的滤波器的各种特性曲线和滤波器系数。这里的滤波器系数跟方法一的一样。
波形如下:
五、结果分析
5.1& 滤波器设计总结
  FIR滤波器实现一般采用窗函数法和等纹波设计法。窗函数法还包含两个分支,一种是用公式先手动算出值和其他对应得窗函数参数值,再代入窗函数和实现,一种是用函数*rord估算出和相应参数再用实现。不过要注意会低估或高估阶次,可能会使滤波器达不到指定的性能,这时应稍微增加或降低阶次。如果截止频率在或频率附近,或者设定的值较大,则得不到正确结果。
  滤波器实现形式及特点:由于一般的滤波器在利用窗函数是其通带波纹和阻带波纹不同(一般为第一个阻带波纹最大)因此,在满足第一个阻带衰减旁瓣时,比其频率高的旁瓣,它们的衰减都大大超出要求。而根据阻带衰减与项数的近似关系N = P(&2)*fs/TW,可得当阻带衰减越大,所需项数越多。
5.2& 窗函数法和等波纹设计的不同之处
  窗函数设计是通过最小平方积分办法来设计的,即该滤波器的误差为:
  即要求最小方法来设计滤波器,这样的滤波器更忠实于理想滤波器(即滤波系数更接近于理想滤波器)。
证明如下:
因此,幅度频谱差值越小,实际滤波器就越接近理想滤波器。
  而等波纹滤波器是通过最大加权误差最小化来实现,其误差为:
要求该误差最小来实现滤波器,得出来的滤波系数较窗函数设计相差较远。
以下通过对例3中的及作比较。
%sigsum是用来对数组各元素进行求和
function&y=sigsum(n1,n2,n,x);
for&i=n1+1-min(n):n2+1-min(n)
&&&&y=y+x(i);
n=0.001:30.001;
h=2*cos(0.55*pi*(n-15)).*sin(0.175*pi*(n-15))./(pi*(n-15));
delta1=h-h1;
n=0.001:16.001;
h=2*cos(0.55*pi*(n-15)).*sin(0.175*pi*(n-15))./(pi*(n-15));
delta2=h-h2;
y1=sigsum(0,30,[0:30],(abs(delta1).^2))/31;
y2=sigsum(0,16,[0:16],(abs(delta2).^2))/17;
&结果如下:
&&&&0.0278
  由此得到用窗函数实现的滤波系数比用等波纹滤波器系数的每一项更接近于理想滤波器(为用窗函数实现的与理想滤波器的差值,为用等波纹滤波器实现的与理想滤波器的差值);
  对比二者的幅度频谱可知,等波纹滤波器阻带边缘比用窗函数实现的更平滑(理想滤波器为垂直下降的)。
  从设计的角度考虑,由于窗函数设计法都是通过已有的窗函数对理想滤波器的改造,因此,可以用手算的办法方便的设计滤波器。
而等波纹滤波器,其实现是通过大量的迭代运算来实现,这样的方法一般只能通过软件来设计。
  项数的问题由于等波纹滤波器能较平均的分布误差,因此对于相同的阻带衰减,其所需的滤波系数比窗函数的要少。
5.3&几点说明
1.相频特性曲线形状不同说明
  上面第一个图是用角度为单位画出来的,下面的图是用单位画出来的。从图形可以观察到在到数字频率间两个图都是严格的线性相位,至于下面的图为什么在这个区间会有跳变是因为的区间只有&&,当相位由继续增加时只能跳到而不能大于,而角度表示则可以连续增大。
2.调用或者函数时,用(缺省方式)对滤波器进行归一化,即滤波器通带中心频率处的响应幅值为。用不对滤波器归一化。
阅读(...) 评论()您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
(精)毕业论文-数字滤波器设计(呕心沥血整理,值得一看!).doc45页
本文档一共被下载:
次 ,您可免费全文在线阅读后下载本文档
文档加载中...广告还剩秒
需要金币:180 &&
你可能关注的文档:
··········
··········
本文分析了国内外数字滤波技术的应用现状与发展趋势,介绍了数字滤波器的基本结构,在分别讨论了IIR与FIR数字滤波器的设计方法的基础上,指出了传统的数字滤波器设计过程复杂计算工作量大滤波特性调整困难Matlab和Modelsim软件的数字滤波器设计方法,完成了高Q值50Hz带通IIR滤波器的设计, 达到了通带45-55Hz,衰减小于3db,阻带40-60Hz,衰减大于80db的参数指标。文中深入分析了该滤波器系统设计的功能特点、实现原理以及技术关键,阐述了使用MATLAB进行设计的极大的减轻了工作量,有利于滤波器设计的最优化。IIR;Matlab;VHDL;Modelsim仿真;
This paper analyzes the situation of application and development of digital filter technology home and abroad. It introduces the basic structure of a digital filter, discusses different design methods of FIR and IIR filter, and points out that the traditional design method of digital filter is not only complex but also of heavy workload, even adjustment of filtering parametrer is very difficult. So it brings forwad another design method of digital filter which based on the Matlab software and Modelsim software. This paper introduces the design method of a high Q value band-pass IIR filter which meets the given standard -- the pass band is 45-55Hz, with attenuation of less than 3 the stop band is 40-60Hz with attenuation greater than 80db. It deeply analyzes the design features and principles of the filter system and the key technical in the design. Then it describs the use of Matlab in design and simulation of the bandpass filte design. In the end, the procedure was simulated on Modelsim. Simulation results of Modelsim and Matlab compared to make proof of the accuracy of the design. It is proved that the design can be accurate at the sixth decimal place, stable error is withi The design has good portability and widely
正在加载中,请稍后...毕业设计(论文):MATLAB实现IIR数字滤波器的仿真
资料价格:5学豆&&[]&&
文件类型: (rar)[下载阅读器]
文件大小:0.4MB
上传时间:
标&&&&&&&签: & & & & &
毕业设计(论文):MATLAB实现IIR数字滤波器的仿真这是一份很完整的优秀毕业设计论文,欢迎下载!页数:29页,字数总计:9416摘要 3第1章 绪论 41.1&&MATLAB简介 4第2章 数字滤波器 52.1数字滤波器简介 52.2 数字滤波器的实现方法 72.3 数字滤波器的分类 72.4 滤波器的性能指标 7第三章 IIR数字滤波器 93.1 IIR与FIR数字滤波器的比较 93.2 IIR数字滤波器的结构 103.3 IIR数字滤波器的设计分析 123.4 IIR滤波器的设计步骤 14第4章 IIR数字滤波器的仿真 164.1 IIR数字滤波器的仿真类别 164.2 IIR低通滤波器的仿真 194.3 IIR高通滤波的仿真 214.4 IIR带通滤波的仿真 25第5章 结束语 28参考文献 29摘要&& MATLAB是一种交互式、面向对象的程序设计语言,由美国的Clever Moler 博士于1980年开发。它集科技计算、图像处理、声音处理于一身,并提供了的Windows图形界面设计方法。它可以把计算结果很方便地用图形表示,使人们能直接了解其许多内在的本质。利用MATLAB 设计IIR数字滤波器,可以按照设计要求非常方便地调整设计参数,极大地减轻了设计的工作量,有利于滤波器设计的最优化。IIR数字滤波器的实现是数字信号处理中的重要组成部分,设计过程较复杂,牵涉到模型逼近,指标选择,计算机仿真,性能分析及可行性分析等一系列的工作,本文从数学软件MATLAB出发实现对IIR数字滤波器的仿真。在仿真中,可根据不同的阶数、精度和速度等要求对IIR 滤波器系数进行灵活的修改,以实现任意阶数的IIR 滤波器。关键词:&&MATLAB;IIR;数字滤波器;仿真;AbstractMATLAB is an interactive, object-oriented programming language, developed in 1980 by Dr. Clever Moler of the United States. It combines the technical computing, image processing, sound processing in one, and provides the Windows graphical interface design. Calculations it can be easily represented graphically, so that people can understand many of its inner nature. The use of the the MATLAB design IIR digital filter, in accordance with their design requirements and very easy to adjust the design parameters, greatly reducing the workload of the design, conducive to optimal filter design. IIR digital filter implementation is an important part of the digital signal processing, the design process is more complex, involves model approximation, the selection of indicators, computer simulation, performance analysis and feasibility analysis of a series of work, from the mathematical software MATLAB IIR digital filter simulation. In the simulation, according to the different order of accuracy and speed requirements of the IIR filter coefficients flexible modifications to any order IIR filter.Key words:MATLAB;IIR;D simulation;第1章 绪论1.1&&MATLAB简介MATLAB是由美国Mathworks公司推出的用于数值计算和图形处理的科学计算系统环境。MATLAB是英文MATrix&&LABoratory(矩形实验室)的缩写。在MATLAB环境下,用户可以集成地进行程序设计,数值计算,图形绘制,输入输出,文件管理等各项操作。除此之外,MATLAB还具有很强的功能扩展能力,与它的主系统一起,可以配备各种各样的工具箱,以完成一些特定的任务。MATLAB是一套高性能的数值分析和计算软件,其功能不断扩充,目前,Mathworks公司推出了18种工具箱。用户可以根据自己的工作任务,开发自己的工具箱。版本不断升级,1992年推出划时代的4.0版,1993年推出了可以配合Microsoft Windous使用的微机版,95年4.2版,97年5.0版,99年5.3版,5.X版无论是界面还是内容都有长足的进展,其帮助信息采用超文本格式和PDF格式,可以方便的浏览。至2001年6月推出6.1版,2002年6月推出6.5版,继而推出6.5.1版, 2004年7月MATLAB7和Simulink6.0被推出,目前的最新版本为7.1版。 &&&&MATLAB将矩阵运算、数值分析、图形处理、编程技术结合在一起,为用户提供了一个强有力的科学及工程问题的分析计算和程序设计工具,它还提供了专业水平的符号计算、文字处理、可视化建模仿真和实时控制等功能,是具有全部语言功能和特征的新一代软件开发平台。 &&&&MATLAB 已发展成为适合众多学科,多种工作平台、功能强大的大型软件。在欧美等国家的高校,MATLAB已成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具。成为攻读学位的本科、硕士、博士生必须掌握的基本技能。在设计研究单位和工业开发部门,MATLAB被广泛的应用于研究和解决各种具体问题。在中国,MATLAB也已日益受到重视,短时间内就将盛行起来,因为无论哪个学科或工程领域都可以从MATLAB中找到合适的功能。
您可能需要的
[] [] [] [] [] [] [] []
找资料直通车
提交您的需求,我们尽力为您提供
网友分享心得&nbsp&&&>IIR数字低通滤波器的设计与实现
IIR数字低通滤波器的设计与实现&&&&
编号:99-423054 | doc 格式 | 2.14M |
Ta 们刚刚下载了...

我要回帖

更多关于 iir matlab 的文章

 

随机推荐