《FIR数字滤波器的Matlab实现[高等教育]》由会员分享,可在线阅读,更多相关《FIR数字滤波器的Matlab实现[高等教育](8页珍藏版)》请在人人文库网上搜索。

1、第7章 FIR数字滤波器的Matlab实现7.1 实验目的l 学习用窗函数法设计FIR数字滤波器的原理及其设计步骤;l 学习编写数字滤波器的设计程序的方法,并能进行正确编程;l 根据给定的滤波器指标,给出设计步骤。 7.2 实验原理及实例分析7.2.1 FIR低通数字滤波器的设计原理如果系统的冲激响应为已知,则系统的输入/输出关系为:对于低通滤波器,只要设计出低通滤波器的冲激响应函数,就可以由上式得到系统的输出了。假设所希望的数字滤波器的频率响应为,它是频域的周期函数,周期为2,那么它与相对应的傅立叶系数为以为冲激响应的数字滤波器将具有频域响。但是将作为滤波器脉冲响应有两个问题:(1) 它是无。

2、限长的,与FIP滤波器脉冲响应有限长这一前提不一致(2) 它是非因果的,对此,要采取以下的措施,(1) 将截短 (2)将其往右平移,由此得到的实际频域响应,与理想频域响应相近,但不完全一致。理论证明上述现象是对进行简单截短处理的必然结果,一般称为吉布斯现象,为尽可能的减少吉布斯现象,应对进行加窗截取,即以作为FIR滤波器的系数。常用的窗函数有矩形窗、海明窗和布莱克曼窗等。7.2.2 用窗函数法设计FIR滤波器Matlab设计FIR滤波器有多种方法和对应的函数,见表71。表71 matlab设计FIR滤波器的方法和函数方法描述函数窗方法使用窗函数和逆傅立叶变换实现fir1,fir2,kaiser。

3、ord等多带方法包含子带频率域firls,remez等最小二乘法使用最小二乘法将整个频率域上的错误几率压缩到最小fircls ,fircls1等任意响应法使用任意响应,包括非线性相位以及复滤波器cremez等余弦法使用三角函数的低通响应firrcos等窗函数方法不仅在数字滤波器的设计中占有重要的地位,同时可以用于功率谱的估计,从根本上讲,使用窗函数的目的就是消除由无限序列的截短而引起的Gibbs现象所带来的影响。窗函数设计线性相位FIR滤波器步骤如下:(1) 确定数字滤波器的性能要求,临界频率,滤波器单位脉冲响应长度N(2) 根据性能要求,合理选择单位脉冲响应h(n)的奇偶对称性,从而确定理想。

4、频率响应的幅频特性和相频特性(3) 求理想单位脉冲响应,在实际计算中,可对采样,并对其求IDFT的,用代替(4) 选择适当的窗函数w(n),根据求所需设计的FIR滤波器单位脉冲响应(5) 求,分析其幅频特性,若不满足要求,可适当改变窗函数形式或长度N,重复上述设计过程,以得到满意的结果FIR1.m调用格式:a) b=fir1(N,wn)b) b=fir1(N,wn,hign)N为滤波器的阶次,wn是通带截止频率,其值在01之间,1对应抽样频率的一半;b是设计好的滤波器系数h(n)。对于格式a),若wn是标量,则用来设计低通滤波器,若wn是1L的向量,则用来设计带通(带阻)滤波器。其格式为:b=。

5、fir1(N,wn,DC-1)或b=fir1(N,wn,DC-0),其中,前者保证第一个带为通带,后者保证第一个带为阻带。b)用来设计高通滤波器。用于产生窗函数的matlab文件有如下8个:bartlett.m(巴特利特窗)blackman.m(布莱克曼窗)rectangle.m(矩形窗)hamming.m(汉明窗)hanning.m(汉宁窗)triang.m(三角窗)chebwin.m(切比雪夫窗)Kaiser.m(凯泽窗)【实例7-1】 设计一个34阶的高通滤波器,截止频率为0.48,使用具有30dB波纹的chebyshev窗。解:源程序如下:b=fir1(34,0.48,high,che。

6、bwin(35,30);freqz(b,1,512)其响应波形如图7-1所示。图71 带通FIR滤波器【实例7-2】设计一个24阶FIR带通滤波器,通带频率。解:源程序如下:wn=0.35 0.65;N=24;b=fir1(2*N,wn,DC-0);% DC-0表示第一个带为阻带,这样设计出来的滤波器为带通滤波器。freqz(b,1,512)图72 带通FIR滤波器【实例7-3】 设计具有下面指标的低通FIR滤波器由于其最小阻带衰减为50dB,因此可以选择hamming窗来实现这个滤波器,因为它具有较小的过渡带。解:MATLAB源程序为%数字滤波器指标wp=0.2*pi;ws=0.3*pi;t。

7、r_width=ws-wp; %通带宽度N=ceil(6.6*pi/tr_width)+1; %滤波器长度if rem(N,2)=0N=N+1;endNw=N; %滤波器长度为奇数n=0:1:Nw-1;wc=(ws+wp)/2; %截止频率alpha=(Nw-1)/2;m=n-alpha+0.00001; %如果不加0.00001,当n= alpha 时,m为0,下式分母为0,不能执行hd=sin(wc*m)./(pi*m); %理想滤波器的冲激响应% 生成hamming窗w_ham=(hamming(Nw);% 频域图像的绘制h=hd.*w_ham; % 滤波器实际冲激响应freqz (h,。

8、1)figure(2);subplot(2,2,1),stem(n,hd);title(理想脉冲响应)axis(0 Nw-1 -0.3 0.3);xlabel(n);ylabel(hd(n)subplot(2,2,2),stem(n,w_ham);title(hamming窗)axis(0 Nw-1 -0.3 1.2);xlabel(n);ylabel(w(n)subplot(2,2,3),stem(n,h);title(实际脉冲响应)axis(0 Nw-1 -0.3 0.3);xlabel(n);ylabel(h(n)其响应波形如图7-2所示。图73 hamming窗函数设计FIR滤波器【实。

9、例7-4】设带通滤波器的指标为选择Blackman窗来实现这个滤波器。解:MATLAB源程序为% 数字滤波器指标ws1=0.2*pi; wp1=0.35*pi;ws2=0.65*pi; wp2=0.8*pi;As=60;tr_width=min(wp1-ws1),(wp2-ws2); % 过渡带带宽N=ceil(11*pi/tr_width)+1;if rem(N,2)=0N=N+1;endNw=N;n=0:1:Nw-1;wc1=(ws1+wp1)/2;wc2=(ws2+wp2)/2;alpha=(Nw-1)/2;m=n-alpha+0.00001; %如果不加0.00001,当n= alph。

10、a 时,m为0,下式分母为0,不能执行hd=sin(wc2*m)./(pi*m)- sin(wc1*m)./(pi*m); %理想滤波器的冲激响应% 生成blackman窗w_bla=(blackman(M);h=hd.*w_bla;% 频域图像的绘制freqz(h,1)figure(2);subplot(2,2,1),stem(n,hd);title(idael impulse response)axis(0 Nw-1 -0.4 0.5);xlabel(n);ylabel(hd(n)subplot(2,2,2),stem(n,w_bla);title(blackman window)axis。

11、(0 Nw-1 0 1.1);xlabel(n);ylabel(w(n)subplot(2,2,3),stem(n,h);title(actual impulse response)axis(0 Nw-1 -0.4 0.5);xlabel(n);ylabel(h(n)其响应波形如图7-4所示。图74 blackman窗函数设计FIR滤波器7.3 编程练习1. 设计一个48阶FIR带阻滤波器,通带频率。2.用窗函数设计一个线性相位FIR高通滤波器,并满足性能指标:通带边界频率,阻带边界频率,阻带衰减不小于40db。提示:参考例73,4;首先根据阻带衰减,选择合适的窗函数,见课本P342,表7-3。再根据P345,式7-74写出理想滤波器的冲激响应hd 。8辅导工具a。

fir高通滤波器matlab程序,FIR数字滤波器的Matlab实现[高等教育]相关推荐

  1. fdtd算法的matlab程序,FDTD算法的Matlab程序

    <FDTD算法的Matlab程序>由会员分享,可在线阅读,更多相关<FDTD算法的Matlab程序(6页珍藏版)>请在人人文库网上搜索. 1.* 5= T$h;O % 3-D ...

  2. jacobi matlab程序,jacobi迭代法实验MATLAB程序数值分析

    jacobi迭代法实验MATLAB程序数值分析 例1. 求线性方程组 得近似解.精确解为x*=[3,2,1]'. 解:对方程进行移项就得 记为Ax=b,或写为x=B0 x+f,其中 取初始值,代入原方 ...

  3. MATLAB程序详细解析,遗传算法——matlab代码解析

    遗传算法--matlab代码解析 本文为学习B站老哥数学建模课程之后的一点笔记,图片源自web,代码源自老哥程序包,侵权删. 详细的遗传算法原理不再赘述,百度即可找到. 算法定义 遗传算法(GA)是模 ...

  4. 线性规划单纯形法的matlab程序,线性规划单纯形法的MATLAB实现_数学专业.doc

    摘要:运筹学有着长远的发展历史,并且不断地发展变化出许多分支理论,线性规划是运筹学中专研较早,发展比较快速,对现实社会作用涵盖面广,理论系统趋于成熟的一个重要分支,虽然其只是运筹学的一小部分,但是作用 ...

  5. 用matlab程序表示三角形序列,MATLAB程序举例带注释

    1.绘制云图 Ex=18 En=2 He=0.2 hold on for i=1:1000 Enn=randn(1)*He+En; x(i)=randn(1)*Enn+Ex; y(i)=exp(-(x ...

  6. fdtd算法的matlab程序,一维FDTD的matlab程序(最新整理)

    <一维FDTD的matlab程序(最新整理)>由会员分享,可在线阅读,更多相关<一维FDTD的matlab程序(最新整理)(2页珍藏版)>请在人人文库网上搜索. 1.一维 FD ...

  7. 开关磁阻电机matlab程序,开关磁阻电机设计MATLAB程序

    开关磁阻电机设计MATLAB程序 %%%%-开关磁阻电机设计实例 %%%%-Time:2013.08.20 %%%%-By Sun Peng(悟空) %%%---------------------- ...

  8. 脉动风时程matlab程序,脉动风时程matlab程序

    脉动风时程matlab程序 根据风的记录,脉动风可作为高斯平稳过程来考虑.观察n个具有零均值的平稳高斯过程,其谱密度函数矩阵为: s11( )s12( ) s( )s( ) 22 S( ) 21 .. ...

  9. vb.net 调用matlab程序 绘图,vbnet调用matlab

    \\然后参考该 类库的文档,在类里引用 matlab 的命名空间 装 matlab ,添加引用[VB.Net] Matlab = CreateObject("matlab.applicati ...

  10. 灰色相关性matlab程序,灰色关联度分析MATLAB程序

    <灰色关联度分析MATLAB程序>由会员分享,可在线阅读,更多相关<灰色关联度分析MATLAB程序(2页珍藏版)>请在人人文库网上搜索. 1.x(1,:)=83 0.191 1 ...

最新文章

  1. 配置sctp_5G站点网优参数配置指导书
  2. maya中英文切换插件_老司机都在用的30款maya常用插件
  3. chrome浏览器,调试详解,调试js、调试php、调试ajax
  4. inputdstream mysql_【sparkStreaming】将DStream保存在MySQL
  5. GET 和 POST的区别(转载)
  6. 厉害了!这款百度炼丹神器绝了!
  7. 蓝桥杯2016年第七届C/C++A组省赛第二题-生日蜡烛
  8. java web js 创建文件夹_如何在web工程里用java代码用程序动态添加css,images,js等文件夹...
  9. 虚拟化查看服务器sn,查看服务器操作系统序列号
  10. 电脑主板上的一些电子元件
  11. 台式机主板上保护cpu的盖子安装和拆卸
  12. APP微信小程序测试一览表(常规用例)
  13. 51单片机基础知识(重点)
  14. 依然仰望星空,脚踏实地——个人CSDN年度总结。
  15. 电脑蓝屏代码解释与解决方案
  16. PHP实现无限极分类代码
  17. 区块链学习一--初始比特币
  18. Python爬取QQ音乐内地专辑
  19. 多元线性回归的基础理解
  20. 基于CELLO的Fabric网络环境部署

热门文章

  1. 011_GoldWave软件安装及使用
  2. 软约束、硬约束、Minimum Snap的轨迹优化方法
  3. B站视频解析去水印工具入口
  4. 让html img图片垂直居中的三种方法
  5. 如何创建和共享iGoogle标签
  6. 浏览器报ScriptResource.axd异常
  7. N卡显卡驱动更新,解决色彩准确度增强的问题
  8. 对计算机硬盘进行格式化操作,如何禁止对电脑硬盘进行格式化操作?电脑中怎么防止格式化硬盘...
  9. 《神经科学:探索脑》学习笔记(合集)
  10. CentOS7使用yum方式安装Docker(根据官方文档安装)