matlab 滤波器设计 coe_FIR滤波器
FIR滤波器广泛应用于数字信号处理中,主要功能就是将不感兴趣的信号滤除,留下有用信号。FIR滤波器是全零点结构,系统永远稳定;并且具有线性相位的特征,在有效频率范围内所有信号相位上不失真。在无线通信收发机中的DDC/DUC模块,抽取和内插都需要加入滤波器以防止信号在频谱上混叠,最典型的是采用FIR滤波器实现半带滤波器。
FIR滤波处理如下式所示,其中x(n)为输入信号,h(n)为FIR滤波系数,y(n)为经过滤波后的信号;N表示FIR滤波器的抽头数,滤波器阶数为N-1。
由上式可得到FIR滤波器在FPGA中的实现结构,如图1所示,主要由延迟单元Z-1、乘法器和累加器组成。此结构为直接型FIR滤波器结构,也称横向结构(transverse)。
设计FIR滤波器的方法有多种,其中Matlab软件提供了很多关于滤波器设计的工具箱,FDATool就是一个很好的工具,如图2所示就是FDATool的界面,可以在Matlab的Command窗口中直接输入FDATool命令来调用。
滤波器的设计首先需要设置的参数:
(1) Response Type:选择FIR滤波器的类型:低通、高通、带通和带阻等。如图3所示为Lowpass中的下拉选项,在DDC/DUC模块设计中,抽取和内插需要使用Halfband Lowpass类型,而channel filter需要使用Raised-cosine类型。
(2) Design Method:FIR滤波器设计方法有多种,如图4所示,最常用的是窗函数设计法(Window)、等波纹设计法(Equiripple)和最小二乘法(Least-Squares)等。其中窗函数设计法在学校课堂中是重点讲解的,提到FIR滤波器肯定会想到hamming、kaiser窗,但是实际应用中却很少使用,因为如果采用窗函数设计法,达到所期望的频率响应,与其它方法相比往往阶数会更多;而且窗函数设计法一般只参照通频带wp、抑制频带ws和理想增益来设计滤波器,但是实际应用中通频带和抑制带的波纹也是需要考虑的,那在这种情况下,采用等波纹设计法就非常适用了。
(3) Filter Order:设置滤波器的阶数,这个选项直接影响滤波器的性能,阶数越高,性能越好,但是相应在FPGA实现耗用的资源需要增多。在这个设置中提供2个选项:Specify order和Minimum order,Specify order是工程师自己确定滤波器的阶数,Minimum order是让工具自动确定达到期望的频率相应所需要的最小阶数,因此具体选择哪个选项得视实际情况而定了。
(4) Frequency Specification:设置频率响应的参数,包括采样频率Fs、通带频率Fpass和阻带频率Fstop。
参数设置完成后,FDATool就会分析并且生成滤波系数,如图7所示,可以得到滤波器的频率相应曲线,并且可以通过File->Export导出滤波系数,如图8所示。
为了快速验证FIR滤波器的FPGA实现,使用Xilinx的System Generator工具,如图9所示为FIR滤波器的验证模型,其中通过Gateway In和Gateway out模块分隔matlab simulink模块和Xilinx FPGA模块,matlab simulink模块用于产生测试源,接收并显示滤波后波形。还有System Generator Token用于生成Xilinx FPGA模块的HDL代码。
其中FIR Compiler 5.0模块的参数设置如图10所示,滤波系数直接调用FDATool生成的滤波系数equ_coe,输出为全精度数据。
得到输出结果如图11所示,上边图为输入原波形,由两个频率分量的正弦波叠加而成,频率分别为2MHz和100MHz,经过FIR滤波之后,100MHz频率分量被滤除。
matlab 滤波器设计 coe_FIR滤波器相关推荐
- matlab编程设计fir滤波器,用MATLAB设计FIR滤波器
滤波器 滤波器定义 "滤波器(filter),是一种用来消除干扰杂讯的器件,将输入或输出经过过滤而得到纯净的直流电.对特定频率的频点或该频点以外的频率进行有效滤除的电路,就是滤波器,其功能就 ...
- matlab 滤波窗函数,Matlab窗函数设计FIR滤波器
一.设计目的 1.熟悉FIR滤波器设计的基本方法. 2.掌握用窗函数设计FIR滤波器的基本原理和方法,熟悉MATLAB语言. 3.熟悉线性相位FIR滤波器的幅频特性和相位特性. 4.了解各种不同窗函数 ...
- matlab emi滤波器设计,EMI滤波器设计.pdf
2011 年 7 月 第 7期 电 子 测 试 ELECTRONIC TEST Jul.2011 No.7 75 EMI滤波器设计 武小军, 秦开宇,唐博 (电子科技大学空天科学技术研究院,成都611 ...
- c语言课程设计fir滤波器设计,fir滤波器设计c语言
C语言编写FIR滤波器,代码如下: #include <> #include <> #include<> /**************************** ...
- [Matlab]FIR滤波器设计:(基本窗函数FIR滤波器设计)
[Matlab]FIR滤波器设计:(基本窗函数FIR滤波器设计) IIR滤波器主要设计方法先设计一个模拟低通滤波器,然后把它转化为形式上的数字滤波器.但对于FIR滤波器来说,设计方法的关键要求之一 ...
- EMI滤波器的matlab仿真,开关电源EMI滤波器的仿真设计
目前,在我国绝大多数工程设计中,尤其是在设计初期,很少考虑设备内部电路对内以及对外的电磁干扰问题,致使许多电力电子装置性能都不能得到理想效果.往往是问题出现了才去寻找原因与解决方法,这既耗时又耗力,而 ...
- fir滤波器等纹波matlab,基于Matlab的FIR滤波器设计与实现
基于Matlab的FIR滤波器设计与实现 一.摘要 前面一篇文章介绍了通过FDATool工具箱实现滤波器的设计,见"基于Matlab中FDATool工具箱的滤波器设计及相关文件的生成&quo ...
- 【DSP教程】第35章 FIR有限冲击响应滤波器设计
完整版教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547 第35章 FIR有限冲击响应滤波器设计 FIR滤波器设计 ...
- MATLAB Signal Rrocessing(8)滤波器分类
1.1滤波器滤波 designfilt命令用于打开.编辑滤波器设计工具 滤波器参数如下: 滤波器可视化工具是一种交互式工具,可以显示滤波器的大小.相位相应.群延迟.脉冲响应.阶跃响应.零极点图和系数. ...
最新文章
- js_sl 延迟菜单
- 性能测试时需要关注哪些性能
- C ++ STL中的set :: upper_bound()函数
- python的read函数_Python Pandas pandas.read_sql函数方法的使用
- 讨物联网的隐私解决方案_2017年数据隐私日:日常隐私解决方案
- sqlsever无法重新启动计算机,SQLServer 2008安装提示需要重启计算机,但是重启还是不通过解决方案...
- android 内存对齐,Go struct 内存对齐
- 接口测试用例模板_《测试用例知识大全》----测试用例所有疑问,只需这篇就够了...
- python下载哪个版本好-究竟哪个版本的Python是最快的?
- .NET中的设计模式——一步步发现装饰模式
- [.NET领域驱动设计实战系列]专题十:DDD扩展内容:全面剖析CQRS模式实现
- Microsoft Office Visio 2007和Microsoft Office Project 2007下载
- 怎么提高公文写作水平?原来这就是公文写作通知类模板
- 淮阴工学院计算机硕士生导师,硕士生导师概况
- canvas绘制动态图片
- (OC) interface
- 多线程不能不知道的之单线程和多线程的比较
- C语言——计算阶层求和
- Blur大战Opensea:a16z的奶酪与Paradigm的独食
- java内嵌数据库_Java嵌入式数据库-MapDB