ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:191.42KB ,
资源ID:5853172      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5853172.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于MATLAB的数字滤波器的设计与仿真.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于MATLAB的数字滤波器的设计与仿真.docx

1、基于MATLAB的数字滤波器的设计与仿真 一、课题简介本课题是基于MATLAB的数字滤波器的设计与仿真,采用MATLAB软件设计与仿真。有限冲击响应数字滤波器(FIR)具有突出的优点:系统总是稳定的、易于实现线性相位、允许设计多通带(或多阻带)滤波器。首先在了解有限冲击响应数字滤波器的基本概念和数学模型的前提下,给出有限冲击响应数字滤波器具有线性相位的条件,以及有限冲击响应数字滤波器的各种结构及其特点。其次,由于在实际工程设计限冲击响应数字滤波的时候,窗函数设计法和频率采样法都存在设计精度不高,运算量大,边缘频率不容易确定的缺点。而优化设计法恰能弥补上述方法的不足,能很好的逼近理想数字滤波器。

2、最后,在Simulink环境下建立一个数字滤波器系统仿真模型,用优化设计法和频率采样法分别设计相同指标的滤波器。把原始信号和干扰信号同时输入,两种方法设计的滤波器分别在仿真模型中滤除干扰。以仿真图的形式直观的给出滤波器的性能。二、设计过程有限长单位冲激响应(FIR)滤波器的基本结构直接型:如图1-1可以看出直接型结构共需要N个乘法器,若系数不对称则不能设计线性相位。 图1-1 FIR滤波器的直接型结构级联型:将H(z)分解成实系数二阶因子的乘积形式 (1.1)这种结构的每一节控制一对共轭极点,因此调整传输零点方便,但是这种结构所需的系数和所需的乘法运算比直接型多,所以这种结构使用的比较少。 图

3、1-2 FIR滤波器的级联型结构频率抽样型:把一个有限长序列(长度为N点)的z变换H (z)在单位圆上作N等分抽样,就得到H(k),其主值序列就等于h(n)的离散傅里叶变换H(k)。用H (k)表示的H(z)的内插公式为 (1.2) (1.3)其中 为梳状滤波器, 为谐振器。谐振器的极点正好与梳状滤波器的零点相抵消,保证了网络的稳定性。N个并联谐振器与梳状滤波器级联后,得到图1-3的频率抽样结构。图1-3 FIR滤波器的频率抽样型结构2.FIR数字滤波器的设计方法2.1窗函数设计法流程图如2-1所示:图2-1窗函数设计流程 常用的窗函数有:矩形窗、汉宁窗、海明窗、布莱克曼窗、凯塞窗、三角窗等。

4、在窗函数中,凯塞窗是比较灵活的一种窗函数,调整凯塞窗中的参数的大小,我们可以得到不同性能的滤波器。窗函数设计法是一种常用的设计数字滤波器的方法,不过在设计精度和性能方面并不是十分理想。几种窗函数的性能比较如下表1所示:表1 各种窗函数的参数表窗函数过渡带宽度(P/N)阻带最小衰减(dB)旁瓣峰矩形窗42113三角窗82525汉宁窗84431海明窗85341凯塞窗(=5.6)7.4426051布莱克曼窗1274712.2频率采样设计法流程图如2-2所示:频率采样法的缺点是在信号的幅值出不容易控制,而且其设计过程不好理解。图2-2频率采样设计流程2.3优化设计法流程图如2-3所示:交替定理为优化法

5、提供了一组很有用的充分必要条件。这里的优化算法也叫做Remez算法,是一种可以用来设计线性相位的FIR滤波器的高效算法。图2-3 优化设计流程3.不同设计方法的比较本文将举例要求用MATLAB实现一个线性相位FIR数字低通滤波器,参数要求:通带临界频率fp=2000Hz,通带允许波动Rp=ldB,阻带临界频率fs=4000Hz,阻带衰减Rs=50db,截止频率Fc=(fp+fs)2=3000Hz,采样频率Fs=22050Hz。3.1用窗口设计法没计的m程序代码如下:clear; close all;clc;fp=2000;fs=4000;Fs=22050;Rp=1;Rs=5;%输入设计指标W1

6、p=fp/(Fs/2);Wls=fs/(Fs/2);W1c=(W1p+Wls)/2;%求归一化频率%选择窗函数的类型(Rs=50选哈明窗)并估计窗口长度MdW=Wls-W1p;M=ceil(6.6/dW);if mod(M,2)=0;N=M+I,else N=M; end;%选用第一类滤波器n=0:N-1;r=(N-1)/2;%用于计算理想低通单位脉冲响应hdn=sin(W1c*pi*(n-r)+eps)/(pi*(n-r)+eps);win=hamming(N);hn=hdn.*win;%用哈明窗加窗%以上三行可用hn=firl(N-1,W1c,hamming(N)直接求得freqz(hn,

7、1,512,Fs);grid on;%绘制结果并加网络程序运行结果如下:N=37(hn只取了前20个数据,图如3-1所示)hn=0.0004 0.0015 0.0019 0.0008 -0.0024 -0.0059-0.0061 0.0002 0.0l13 0.0l89 0.0130 -0.0093 -0.0374-0.0482 -0.0195 0.0543 0.1532 0.2385 0.2721 0.2385滤波器的阶数为37阶(即满足要求的滤波器的最低阶数为37阶),如果把窗函数的阶数降低,则最后设计得到的滤波器性能指标不符合设计要求。除了矩形窗之外,一般的窗函数能满足实际工程的需求,但

8、是在精度要求比较高的场合,窗函数设计往往达不到要求。图3-1 幅频及相频响应曲线3.2采用频率采样法设计的m程序代码如下:clear;close all;clc;fc=3000;Fs=22050;W1c=fc/(Fs/2);%指标归一化N=37;%选用阶数N为奇的第一类滤波器%根据约束务件确定H(k)的值w=0:N-1*2*pi/N;m=fix(W1c/(2/N)+1);abs_H=ones(1,m),zeros(1,N-2*m+1),ones(1,m-1);angles_H=-w*(N-1)/2;H=abs_H.*exp(j*angles_H);hn=real(ifft(H);%求单位脉冲响

9、应freqz(hn,1,512,Fs);grid on;%绘制结果并加网络程序运行结果如下(列出hn前20个数据,图如3-2所示):hn=-0.0242 -0.0046 0.0l91 0.0280 0.0142 -0.0125-0.0310 -0.0252 0.003l 0.0333 0.0399 0.0122 -0.0348-0.0656 -0.0454 0.0357 0.1529 0.2562 0.2973 0.2562频率采样法采用了插值逼近理论,当理想频响曲线越平缓,则内插值越接近理想值,逼近误差越小,故设计时常在不连续的边缘加一些过渡点,以减小通带和阻带的波动。可见,此方法设计滤波器

10、的阶数比用窗口函数法设计的滤波器阶数少。图3-2 幅频及相频响应曲线3.3采用优化设计法设计的m程序代码如下:clear;close all;clc;fp=2000;fs=4000;Fs=22050;Rp=1;Rs=50;%设计指标W1p=fp/(Fs/2);W1s=fs/(Fs/2);%求归一化频率F=W1p,W1s;A=1,0;%设置边界频率和幅度要求DEVp=(10(Rp/20)-1)/(10(Rp/20)+1);DEVs=10(-Rs/20);DEV=DEVp,DEVs;%各频带内的波纹要求N,Fo,Ao,W=remezord(F,A,DEV);%确定remez参数hn=remez(N

11、,Fo,Ao,W);%调用remez函数进行设计freqz(hn,1,512,Fs);grid on;%绘制结果并加网络程序运行结果如下:N=18(列出hn前11个数据,图如3-3所示)hn =-0.0005 -0.0122 -0.0272 -0.0400 -0.03470.0016 0.0697 0.1529 0.2218 0.2485 0.2218如果设计的滤波器指标不合要求,可将remezord输出的参数适当修改。一般说来,改变remez的阶数,通带阻带指标都会更好;减小通带加权,可能增加阻带衰耗,但通带波动增加;加大阻带加权,将增加阻带衰减。从理论和数值上分析,相比窗函数法和频率采样法

12、,采用优化设计法设计的滤波器系数较少。 图3-3 幅频及相频响应曲线4.数字滤波器的设计与分析工具(FDAToo1)工具设计法是利用MATLAB提供的滤波器设计与分析工具(FDAToo1)进行设计的一种方法。该窗口分为上下两部分:上面是设计结果显示;下面用来设定所需的技术参数。FDATool需设置的参数主要有响应类型、设计方法、滤波器阶数及选项、频率参数和幅度参数等项目。不同类型和不同方法的滤波器设计参数不尽相同,图4-1给出的是前述实例的设计指标。滤波器的设计工作完成后,可以借助于Export操作导出所设计滤波器的系统函数H(z)。图4-1 利用FDAtool的滤波器设计窗口三、结果分析 利

13、用MATLAB设计FIR数字滤波器有多种方法。窗口设计法概念清楚,但临界频率难以控制,而且当理想频响是任意曲线时,求hd(n)也比较困难;频率采样法在取样点处精确保证频响要求,克服了窗口设计法转折频率不易控制缺点,但不能确保截止频率自由取值;优化设计法在相同阶数下,可以获得更好的频率特性和衰耗特性,但通带不平滑;FDATool工具设计法操作简单、设计方便,但不好理解。无论哪种方法,都要注意选择类型,以便确定阶数,如果不满足指标,应逐渐增加或减小阶数直到符合要求。四、数字滤波器的应用-软件实现(滤噪)程序流程框图如图5-1所示:图5-1程序框图function xt=xtg%xt=xtg产生一个

14、长度为N,有加性高频噪声的单频调幅信号xt,N=1000N=1000;Fs=1000;T=1/Fs;Tp=N*T;%采样频率Fs=1000Hzt=0:T:(N-1)*T;fc=Fs/10;f0=fc/10;%载波频率fc=Fs/10=100Hz,调制正弦波f0=fc/10=10Hzmt=cos(2*pi*f0*t);%产生单频调制信号mt,频率为f0ct=cos(2*pi*fc*t);%产生载波正弦波信号ct,频率为fcxt=mt.*ct;%相乘产生单频调幅信号xtnt=2*rand(1,N)-1;%产生随机噪声nt%设计高通滤波器hn,用于滤除噪声nt中的低频成分,生成高通噪声fp=150;

15、fs=200;Rp=0.1;As=70;%滤波器指标fb=fp,fs;m=0,1;%计算remezord函数所需参数f,m,devdev=10(-As/20),(10(Rp/20)-1)/(10(Rp/20)+1);n,fo,mo,W=remezord(fb,m,dev,Fs);%确定remez函数所需参数hn=remez(n,fo,mo,W);%调用remez函数进行设计,用于滤除噪声nt中的低频成分yt=filter(hn,1,10*nt);%滤除随机噪声中的低频成分,产生高通噪声ytxt=xt+yt;%噪声加信号fst=fft(xt,N);k=0:N-1;f=k/Tp;subplot(2

16、,2,1);plot(t,nt);grid;xlabel(t/s);ylabel(n(t);axis(0,Tp/5,min(nt),max(nt);title(a)滤波前的波形);subplot(2,2,2);plot(t,yt);grid;xlabel(t/s);ylabel(y(t);axis(0,Tp/5,min(yt),max(yt);title(b)滤波后的波形);subplot(2,2,3);plot(t,xt);grid;xlabel(t/s);ylabel(x(t);axis(0,Tp/5,min(xt),max(xt);title(c)信号加噪声波形);subplot(2,2,4);plot(f,abs(fst)/max(abs(fst);grid;title(d)信号加噪声频谱);axis(0,Fs/2,0,1.2);xlabel(f/Hz);ylabel(幅度);运行结果如图6-1所示:图6-1滤波前后波形显示五、进一步需要解决的问题多阅读相关文献资料,进一步完善软件部分的设计,通过观察运行出的图形及数据,能更加直观的认识滤波器的性能。下一步工作的重点是在Simulink环境下如何修改滤波器的仿真参数,从而很好的实现对滤波器的可视化建摸与仿真。六、后期工作安排继续研究课题,使设计更加完善。对该课题进行分析整理,完成毕业论文,准备答辩。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1