一、实验目的
1. 掌握FIR 滤波器的各种实现形式。
2. 了解FIR 滤波器的各种实现形式之间的转化。
3. 学会用MATLAB 工具实现FIR 滤波器
二、实验原理
FIR 滤波器的结构特点是没有环路,它的单位脉冲响应的长度是有限的,设它的长度为N,它的系统函数为

FIR 滤波器的结构稳定,且比IIR 滤波器容易实现。它包括:直接型,级联型,线性相位型和频率采样型。
1. 直接型
FIR 直接型的系统函数为

FIR 滤波器的直接型结构由行向量b 表示,分母向量a 置1。MATLAB 中用filter 函数实现这个结构。
2. 级联型
FIR 级联型的系统函数为具有实系数的二阶节的积,每个二阶节均用直接型实现,然后整个滤波器就是所有二阶节的级联。系统函数为:

级联型 FIR 滤波器可以用MATLAB 函数dir2cas 从直接型转化而来。
3.线性相位型
对于一个具有在[0 , M-1] 区间上的脉冲相应的因果 FIR   滤波器来说, 满足h(n) = h(M − 1 − n) 的脉冲响应称为对称脉冲响应,满足h(n) = −h(M − 1 − n) 的脉冲响应称为反对称脉冲响应。线性相位型的结构就是利用这些对称条件。在 MATLAB  中线性相位结构的实现是等效于直接型的。
4.频率采样型
由于 FIR 滤波器的系数为实数,利用 H (k ) 和W −ᵏ

根据(4),(5)两式,可以自己编写函数dir2fs 实现从直接型转化为频率采样型。
三、实验内容
1. 参看教材第五章有关内容,并阅读本实验原理。
2. 若FIR 滤波器的直接型结构为b=[1 3 5 3 1],把它转化级联型结构。(提示:可以直接调用函数dir2cas)
3. 编写MATLAB 函数dir2fs,存入库函数,然后直接调用该函数将直接型FIR 滤波器转化为频率采样型。设h=[1,3,5,-3,-1]/9。
参考流程图

四、思考题
(1) FIR 滤波器的直接实现形式有什么缺点?
(2) FIR 滤波器的级联形式在那些方面比直接形式有改进?为此它付出了什么代价?
(3) 频率采样结构有什么优缺点?为了克服它的缺点,可以采用什么改进方法?
五、实验报告要求
1. 简述实验目的及原理。

2. 整理好经过运行并证明是正确的实验程序并加上注释。绘出相应的图形。

3. 简要回答思考题。

b=[1,3,5,3,1];
a=[1];
[b0,B,A]=dir2cas(b,a);
b0,B,A
调用的函数:dir2cas.m
function[b0,B,A]=dir2cas(b,a)
b0=b(1);b=b/b0; a0=a(1);a=a/a0; b0=b0/a0;
M=length(b);N=length(a);
if N>M
b=[b,zeros(1,N-M)]; elseif M>N
a=[a,zeros(1,M-N)];N=M;
end
K=floor(N/2);B=zeros(K,3);A=zeros(K,3);
if K*2==N
b=[b 0];
a=[a 0];end
broots=cplxpair(roots(b)); aroots=cplxpair(roots(a)); for i=1:2:2*K
Brow=broots(i:1:i+1,:); Brow=real(poly(Brow)); B(fix((i+1)/2),:)=Brow;
Arow=aroots(i:1:i+1,:); Arow=real(poly(Arow)); A(fix((i+1)/2),:)=Arow;
end

结果:

b0 =
1
B =
1.0000        2.2435        2.9656
1.0000        0.7565        0.3372
A =1          0          0
1          0          0

程序:

h=[1,3,5,-3,-1]/9;
[N,Hk,wk]=dir2fs(h)调用的函数:dir2fs.m
function[N,Hk,wk]=dir2fs(b);
N=length(b); Hk=fft(b); k=0:N-1;
wk=exp(2*pi*i/N).^k;

结果:

N =
5
Hk =
Columns 1 through 40.5556                        -0.0000 - 0.9452i      0.0000 + 0.5841i      0.0000 - 0.5841i
Column 5
-0.0000 + 0.9452i
wk =Columns 1 through 4
1.0000                          0.3090 + 0.9511i    -0.8090 + 0.5878i    -0.8090 - 0.5878i
Column 5
0.3090 - 0.9511i

FIR 滤波器四种结构形式的MATLAB 实现相关推荐

  1. matlab微分的语句格式,偏微分差分四种格式的matlab程序.doc

    偏微分差分四种格式的matlab程序.doc 偏微分差分四种格式的matlab程序 (1)Lax-Fridrichs格式 function u = LaxFridrichs(a,dt,n,x1,x2, ...

  2. IIR 数字滤波器三种结构形式的MATLAB实现

    一.实验目的 1. 掌握IIR 数字滤波器设计的方法: 2. 掌握IIR 数字滤波器直接型.级联型和并联型的基本特点并根据给定的传递函数形式正 确选择是否采用直接型.级联型和并联型. 3. 熟悉直接型 ...

  3. 【语音去噪】基于FIR滤波器实现音频去噪含Matlab源码

    1 简介 结合数字滤波器的理论基础和设计方法,在MATLAB程序语言环境下,设计出有限长单位脉冲响应(FIR)数字滤波器,同时利用GUI界面设计FIR数字滤波器人机交互平台,该系统平台界面直观.操作简 ...

  4. 基于MATLAB的FIR滤波器的设计及应用(图像去噪)

    基于MATLAB的FIR滤波器的设计及应用(图像去噪) 一.实现功能 1.学会MATLAB的使用,掌握MATLAB的程序设计方法: 2.掌握数字信号处理的基本概念.基本理论和基本方法: 3. 在MAT ...

  5. fir fpga 不同截止频率_一种新的FIR滤波器系数量化方法

    相对于模拟滤波器,数字滤波器具有高精度.高可靠性.可编程改变滤波特性.便于集成等一系列优点,并且理论上可实现近似理想频率特性的滤波性能.经典的数字滤波器主要包括有限脉冲响应(Finite Impuls ...

  6. Matlab | 数字信号处理:FIR滤波器结构的实现

    ========================================== 博主github:https://github.com/MichaelBeechan 博主CSDN:https:/ ...

  7. FIR滤波器与IIR滤波器

    FIR和IIR滤波器的一个主要区别:FIR是线性相位,IIR为非线性相位(双线性变换法),对于非线性相位会造成的影响,可以这样考虑:对于输入的不同频率分量,造成的相位差与频率不成正比,则输出时不同频率 ...

  8. fir fpga 不同截止频率_【通信篇】带你认识FIR滤波器

    一 .滤波器介绍 滤波器是一种用来减少,消除干扰的电器部件,有对特定频率的频点或该频点以外的频率信号进行有效滤除,从而实现消除干扰.获取特定频率信号的功能.数字滤波器相比模拟滤波器,有着更高的精度.信 ...

  9. FIR数字滤波器的FPGA实现(一)-FIR滤波器基本原理

    (一)FIR数字滤波器的FPGA实现-FIR滤波器基本原理 文章目录 (一)FIR数字滤波器的FPGA实现-FIR滤波器基本原理 1 FIR滤波器基本原理 1.1 FIR滤波器的结构及设计 1.1.1 ...

最新文章

  1. Java功底之Reference
  2. 天翼云从业认证(1.4)计算机网络
  3. lstrip在python中是什么意思_什么是一目均衡图?如何利用一目均衡图来做交易?...
  4. windows查看usb信息命令_【VPS】Linux VPS查看系统信息命令大全
  5. android中如何执行java命令
  6. field-symbols的用法[转]
  7. 二维高斯分布(Two-dimensional Gaussian distribution)
  8. python实现新闻网站_Python 教你 4 行代码开发新闻网站通用爬虫
  9. 查看编译class文件时,使用的JDK版本(只能查看到大版本)
  10. 手机版kali Linux教程(质量高)
  11. linux下载tar包和rpm包以及镜像的地址分享一下
  12. 在EXCEL中玩扫雷
  13. 自动化框架到底是什么?
  14. Additions HNUST 1713(矩阵快速幂模板 )
  15. Python获取股票机构调研数据
  16. 【全网最暴力解决方案】使用gdb调试时遭遇“Missing separate debuginfos, use: debuginfo-install glibc....”报错信息
  17. 完成一个重要的互联网进化心理学实验
  18. 阿里达摩院的AI Earth(AIE)初体验
  19. 均值、方差、标准差、协方差的概念及意义
  20. 手动安装MySQL和彻底删除MySQL

热门文章

  1. 达梦查询计算百分比数据为零
  2. SAP odata相关后台表
  3. ###turtle正方形绘制###python
  4. iQOO手机如何将便签内容隐藏
  5. 微信通话记录恢复 android,微信删除的通话记录怎么恢复?以下方法做完后该怎么做?...
  6. 多学科优化MDO(任鸿频小结)
  7. 实例:用C#.NET手把手教你做微信公众号开发(9)--菜单设置
  8. 手机号的正则表达式(以1开头的11位数字)
  9. 用Java实现QQ登录
  10. siteground主机和Bluehost主机哪个好,看完这篇你就有自己确定的答案