请教关于matlab设计firfir 滤波器阶数和系数的系数量化问题

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
基于Matlab的FIR低通滤波器设计及simulink仿真实现
下载积分:5000
内容提示:基于Matlab的FIR低通滤波器设计及simulink仿真实现
文档格式:DOC|
浏览次数:16|
上传日期: 17:52:41|
文档星级:
该用户还上传了这些文档
基于Matlab的FIR低通滤波器设计及simulink仿真实现
官方公共微信Vivado经典案例——使用Simulink设计FIR滤波器
FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。
Vivado自带的FIR滤波器IP核已经很好用,这里借FIR滤波器的设计,介绍Simulink图形设计编程方法。Simulink可以使设计更直观,使硬件资源得到更为高效的利用。
使用vivado的System Generator可以在simulink下快速的通过matlab的强大设计功能设计滤波器。这里使用fdatool设计了一个15阶的FIR滤波器。
软件环境:【vivado2014.2+matlab2013b】
1. &fdatool设计滤波器
通过matlab可以快速的设计滤波器,直接导出滤波器系数,方便大家快速设计。上图使用Kaiser窗函数设计了一个采样率为30.72MHz的15阶8M低通滤波器。File – Export 将设计好的滤波器系数Num导出到Workspace。
2.系数处理
由于系数都是小数,需要重新量化,以充分利用dsp48的精度。
本例直接将系数扩大2^16倍后取整。
Num = { -0.1 0.7 -0.7 0.0 0.4 -0.5 0.0 -0.7 }
a = round ( Num * 2^16) = { -46 -467 459
3. Simulink设计模型
y(n) = h(0)*(x(n)+x(n-15))+h(1)*(x(n-1)+x(n-14))+h(2)*(x(n-2)+x(n-13))+h(3)*(x(n-3)+x(n-12))+h(4)*(x(n-4)+x(n-11))+h(5)*(x(n-5)+x(n-10))+h(6)*(x(n-6)+x(n-9))+h(7)*(x(n-7)+x(n-8))
利用FIR滤波器系数的对称性,采用折叠方式,可节省一半的DSP48用量,考虑到7系的DSP48普遍可以跑到200-300MHz,如信号采样率低的话,可以采用多路复用的方式大量节省DSP使用量,若只有一路信号也可以采用提高工作时钟的方式减少DSP使用量。空间与时间的相互关系,在这里表现的淋漓尽致。
模型设计的时候特别需要注意每个模块的时延,时延一定要计算清楚。
上图设计的fir滤波器,DSP的PCIN输入为上一级DSP的PCOUT信号,这样做的目的是充分利用DSP的快速进位链,使实现变得容易。最后一拍数据直接使用的DSP的P端输出。
4. 模型仿真
为设计好的模型增加一个顶层,添加两个信号源作为仿真激励,使用两个频谱分析仪观测结果。
由滤波器幅值响应图可知,当信号采样率为245.76MHz时(提升了8倍),通带(原为5M提升8倍为40MHz)内信号抖动为0.03db以内,此滤波器对100MHz(对应图中12.5MHz)的抑制能力为-61db。
测试使用两个幅度相同、频率不同的正弦信号(25M与100M)相加作为信号输入,使用频谱分析仪观测FIR模型输出,开始仿真观测频谱仪信号。
上面左图为滤波器输入信号,右图为滤波器输出信号。观测可知此滤波器对25MHz信号功率没有影响,对100MHz信号衰减了约60db左右,将图放大可知输入100MHz功率为83.2dbm输出为21.6dbm,衰减了61.2db。由此可知与fdatool设计的滤波器性能相同。
xilinx在新版本的vivado中将simulink中的WaveScope删掉了,信号观测方式换为和vivado debug相同的窗口,更为灵活和人性化。添加信号的方式更为简单,选择好需要观测的信号后直接右键单击Xilinx Add to Viewer。这时启动仿真将自动打开vivado的Waveform窗口,可以在时域上观察每一个点的数据。
上图为单个25M正弦波作为激励信号的模型输入和输出信号。当前光标位置输入数据为1025,此fir滤波器时域上对信号有19个周期的延迟,19个周期后的数据为1024,那么20lg()=0.008db 抖动小于通带内抖动值0.03db。
通过将输入信号改为脉冲信号,脉冲宽度为1个周期,此时可观测到此fir滤波器的冲击响应。
经过以上步骤,基本验证此滤波器的设计能够达到需求。
5. 将模型导入到vivado工程
System Generator提供了几种导入方法:
1、 &直接生成hdl网表文件。
生成的.v或.vhd文件直接例化dsp的IP核,用户可直接将代码文件添加至自己的工程内。就好像模型是自己用代码完成的一样。
2、 &以IP核形式生成IP。
添加IP信息,生成IP核。用户以IP核的形式直接调用。
3、 &Synthesized Checkpoint形式生成网表文件(推荐)。
选择此项,用户可直接在simulink下综合出网表和约束文件,打包至.dcp文件中,用户可在vivado下直接加载dcp文件调用模型。
4、 &直接在vivado中添加模型文件(推荐)。
Vivado的Add source中可选择Add or Create DSP Sources,直接将模型文件(.mdl或.slx)添加至工程中,综合的时候,系统将自动调用matlab分析模型文件,自动生成需要HDL文件。效果等同于自动操作的方法1,缺点是使用此方法综合工程必须装有对应版本的matlab。
写在最后:
Vivado设计套件,赛灵思公司2012年发布的集成设计环境,随着每季度的按时更新,现已发布最新版本为2014.2。目前来看命名规则较为简单,为年份+发布季度。若有比已安装的版本更新的版本发布后,启动vivado后会有版本升级通知,方便用户及时更新版本。总的来说新产品不是特别完善前总会或多或少有一些bug,两年多过去了,相信已经非常稳定了。
7系列芯片总的构架都一样,用户可以非常方便的在Aritix7、Kintex7、Virtex7系列之间移植设计。在这必须说明的是vivado只支持7系列及以后的片子,或许构架的原因让大量的spartan-6用户未免有些遗憾。不过好消息是在2013.4版本中就见到了Aritix7系列的小容量芯片,应该很快就会面世。习惯了Spartan6的用户可以开始考虑Aritix7了,未来低端是Aritix的天下,另外使用7系列以后就可以使用强大了Vivado了。
谢谢大家支持投票,以后会经常将平时的心得与大家分享。
关注微信公众号基于MATLAB的FIR和IIR数字滤波器的设计--《吉林大学》2012年硕士论文
基于MATLAB的FIR和IIR数字滤波器的设计
【摘要】:本文主要内容是通过MATLAB工具设计两种数字滤波器的基本方法。这两种数字滤波器指无限脉冲响应(IIR, Infinite Impulse Response)滤波器和有限脉冲响应(FIR, Finite Impulse Response)滤波器,输入和输出信号皆为数字信号。以往传统的数字滤波器设计方法步骤繁琐,计算环节繁杂,一旦设计完成,无法便捷修改滤波特性曲线,十分不便,以上缺点极大的限制了数字滤波器的发展与应用。而MATLAB及其附带的工具箱功能十分强大,我们利用该软件设计上述的两种滤波器,可以做到随时把结果曲线与目标滤波特性曲线对比,从而做出改进,节省时间和工作量,优点十分显著。
本论文分为三部分:第一部分为序论,简单介绍数字信号处理中滤波器的作用和前景;第二部分介绍用MATLAB设计FIR数字滤波器的方法,包括窗函数法、频率采样法和最优等波纹法,最后使用MATLAB程序实现了IIR带通和低通滤波器的设计,并总结了上述几种方法各自的优缺点;第三部分介绍用MATLAB设计IIR滤波器的方法,主要介绍了基于两种转换原理的数字——模拟转换法,以及通过MATLAB实现转换法的具体做法,同时也用MATLAB程序直接设计了IIR带通和低通滤波器。
【关键词】:
【学位授予单位】:吉林大学【学位级别】:硕士【学位授予年份】:2012【分类号】:TN713.7【目录】:
摘要4-5abstract5-8第一章 序论8-12 1.1 研究数字滤波器的意义与背景8-9 1.2 MATLAB软件简介9-10 1.3 本文的研究内容10-12第二章 基于MATLAB的数字FIR滤波器设计12-38 2.1 数字FIR滤波器基础简介12-19
2.1.1 数字FIR滤波器的基本特性12-18
2.1.2 主流数字FIR滤波器的硬件实现方法18-19 2.2 MATLAB窗函数法设计FIR滤波器19-24
2.2.1 窗函数法的基本原理19-21
2.2.2 常用的窗函数介绍21-22
2.2.3 运用MATLAB窗函数设计FIR数字滤波器22-24 2.3 MATLAB频率采样法设计FIR滤波器24-27
2.3.1 频率采样法设计FIR滤波器的基本理论24-26
2.3.2 运用MATLAB频率采样函数设计FIR数字滤波器26-27 2.4 MATLAB最优等波纹法设计FIR滤波器27-31
2.4.1 最优等波纹法设计FIR滤波器的基本理论27-29
2.4.2 运用MATLAB最优等波纹法设计FIR数字滤波器29-31 2.5 MATLAB滤波器工具设计FIR滤波器实例31-36
2.5.1 运用MATLAB设计FIR带通滤波器31-33
2.5.2 运用MATLAB设计FIR低通滤波器33-36 2.6 分析与小结36-38第三章 基于MATLAB的数字IIR滤波器设计38-70 3.1 数字IIR滤波器基础简介38-40 3.2 基于MATLAB对IIR滤波器的设计和仿真40-45
3.2.1 FDATool的界面设计40-42
3.2.2 MATLAB程序设计法42-43
3.2.3 对设计成的IIR滤波器的分析43-44
3.2.4 基于Simulink的仿真实例44-45 3.3 设计简单级联型数字IIR滤波器45-55
3.3.1 低通数字滤波器设计45-46
3.3.2 数字滤波器的频带变换46-52
3.3.3 通过频带变换法设计滤波器的实例52-55 3.4 通过双线性变换法设计滤波器55-59
3.4.1 利用双线性变换法设计滤波器的基本原理55-56
3.4.2 双线性变换法的基本原理56-57
3.4.3 运用双线性变化法的滤波器设计实例57-59 3.5 基于脉冲响应法的新型IIR滤波器设计方法59-60 3.6 运用MATLAB程序设计IIR滤波器60-66
3.6.1 运用MATLAB设计IIR带通滤波器60-63
3.6.2 运用MATLAB设计IIR低通滤波器63-66 3.7 分析与小结66-70结论70-72参考文献72-74致谢74
欢迎:、、)
支持CAJ、PDF文件格式
【参考文献】
中国期刊全文数据库
李茂;任学恒;李涛;张怀武;;[J];磁性材料及器件;2007年01期
薛健;陈后金;胡健;;[J];电气电子教学学报;2012年01期
陶国彬;张秀艳;任玉霞;;[J];大庆石油学院学报;2007年06期
姜乃卓;都思丹;;[J];电子测量技术;2010年12期
刘彬;;[J];电子测量技术;2011年04期
李峥嵘,桑怀胜,王飞雪,雍少为;[J];国防科技大学学报;2003年04期
黄吉胜;;[J];哈尔滨科学技术大学学报;1996年05期
赵瑞杰,赖晓平;[J];山东大学学报(工学版);2004年04期
毛青春;徐分亮;;[J];中国水运(学术版);2007年02期
吕绍娟;赵不贿;;[J];微计算机信息;2008年20期
【共引文献】
中国期刊全文数据库
李晶;谷彩连;;[J];安徽电气工程职业技术学院学报;2008年01期
刘凯歌;;[J];安防科技;2011年09期
朱哲;钟伟红;;[J];安徽电子信息职业技术学院学报;2008年06期
高清维,程玉林,明军;[J];安徽大学学报(自然科学版);1999年04期
孙静静;;[J];安徽大学学报(自然科学版);2010年01期
徐辉;;[J];安徽农业科学;2008年31期
胡远东;;[J];安徽科技学院学报;2009年05期
,刘涤尘;[J];安全与电磁兼容;2005年04期
刘全金;张杰;朱永忠;江贵生;;[J];安庆师范学院学报(自然科学版);2005年04期
丁蕾;;[J];安庆师范学院学报(自然科学版);2007年04期
中国重要会议论文全文数据库
王成磊;郭治富;董彦良;赵克定;;[A];第十五届流体动力与机电控制工程学术会议论文集[C];2011年
张军;贾瑞清;;[A];2004“安徽制造业发展”博士科技论坛论文集[C];2004年
章大勇;吴文启;吴美平;;[A];第二十七届中国控制会议论文集[C];2008年
陈丽;吴仁彪;卢丹;;[A];第三届中国卫星导航学术年会电子文集——S07北斗/GNSS用户终端技术[C];2012年
曾朝阳;贾鑫;张晓永;;[A];中国光学学会2010年光学大会论文集[C];2010年
陈晓清;马君国;赵宏钟;付强;;[A];中国光学学会2010年光学大会论文集[C];2010年
汤辰;毕传兴;徐亮;;[A];现代振动与噪声技术(第九卷)[C];2011年
蒋瑜;陈循;陶俊勇;;[A];第九届全国振动理论及应用学术会议论文集[C];2007年
蒋济同;唐世振;;[A];第九届全国振动理论及应用学术会议论文集[C];2007年
李盛林;胡天玉;梅华;;[A];“2010年北京气象学会中青年优秀论文评选”学术研讨会论文集[C];2011年
中国博士学位论文全文数据库
范迪;[D];山东科技大学;2010年
殷复莲;[D];哈尔滨工程大学;2010年
吴冬梅;[D];哈尔滨工程大学;2010年
于志明;[D];哈尔滨工程大学;2010年
邓志鑫;[D];哈尔滨工程大学;2009年
刘友永;[D];哈尔滨工程大学;2009年
朱广平;[D];哈尔滨工程大学;2009年
刘文海;[D];哈尔滨工程大学;2010年
宫宇;[D];大连海事大学;2010年
苏晓宏;[D];大连海事大学;2010年
中国硕士学位论文全文数据库
李锦;[D];南昌航空大学;2010年
黄正荣;[D];南昌航空大学;2010年
张亮;[D];山东科技大学;2010年
刘希花;[D];山东科技大学;2010年
张海社;[D];山东科技大学;2010年
李国伟;[D];山东科技大学;2010年
曹倩;[D];山东科技大学;2010年
陈磊;[D];长春理工大学;2010年
任泉;[D];浙江理工大学;2010年
钟丽辉;[D];郑州大学;2010年
【二级参考文献】
中国期刊全文数据库
周金治;;[J];兵工自动化;2005年06期
余志强;刘建华;何朝峰;刘宁宁;石彦辉;;[J];电测与仪表;2007年05期
赵娜;黄志利;徐宝连;杨楠;;[J];弹箭与制导学报;2008年03期
朱广信;王匡;徐红;;[J];电路与系统学报;2010年02期
顾文奕;;[J];电子测量技术;2008年05期
吴建斌;俞林;李太全;;[J];电子测量技术;2008年07期
姜乃卓;都思丹;;[J];电子测量技术;2010年12期
王华东;鲍景富;吴正德;;[J];电子测量与仪器学报;2008年03期
周砚江;顾焕峰;冯佳良;;[J];电子测量与仪器学报;2008年03期
程亮;童玲;;[J];电子测量与仪器学报;2009年01期
【相似文献】
中国期刊全文数据库
葛仁华;[J];桂林航天工业高等专科学校学报;2000年02期
沈荻帆,许向华;[J];苏州大学学报(自然科学);2000年04期
赵金峰;张文利;吴瑞金;;[J];军事通信技术;2000年01期
谢强,洪嘉祥;[J];南京理工大学学报;2001年01期
肖扬,宋明艳;[J];通信学报;2001年10期
钱进;[J];长江职工大学学报;2001年03期
王光芦,徐明;[J];航空标准化与质量;2001年01期
陈章位,王述成;[J];振动与冲击;2002年03期
杨帮华;[J];测控技术;2002年09期
唐毅谦,赵悦,寇立华,陈鹏,王登新;[J];辽宁工学院学报;2002年04期
中国重要会议论文全文数据库
刘焕淋;何方白;张云麟;庄陵;;[A];第九届全国青年通信学术会议论文集[C];2004年
贾再一;赖晓平;陈仕兵;;[A];第九届全国信号处理学术年会(CCSP-99)论文集[C];1999年
黄建军;谢维信;;[A];第十届全国信号处理学术年会(CCSP-2001)论文集[C];2001年
张培珍;;[A];2011高等职业教育电子信息类专业学术暨教学研讨会论文集[C];2011年
夏惊雷;范建华;王庭昌;;[A];2005通信理论与技术新进展——第十届全国青年通信学术会议论文集[C];2005年
黄凯明;王兆明;林发炳;;[A];2006中国控制与决策学术年会论文集[C];2006年
张涛;蒋静坪;张项安;;[A];2006中国电力系统保护与控制学术研讨会论文集[C];2006年
陈玙;王炳和;江川;;[A];2009年西安-上海声学学术会议论文集[C];2009年
郭清风;王建国;;[A];2006北京地区高校研究生学术交流会——通信与信息技术会议论文集(上)[C];2006年
陈彬;周昀;卢红伟;袁哲;刘云飞;;[A];2008’“先进集成技术”院士论坛暨第二届仪表、自动化与先进集成技术大会论文集[C];2008年
中国重要报纸全文数据库
成都 张华;[N];电子报;2011年
;[N];电子报;2004年
中国博士学位论文全文数据库
黄朝耿;[D];浙江工业大学;2013年
方伟;[D];江南大学;2008年
朱广信;[D];浙江大学;2010年
孔阳;[D];中国科学技术大学;2011年
赵瑞杰;[D];山东大学;2012年
中国硕士学位论文全文数据库
仰继连;[D];湘潭大学;2008年
袁博;[D];杭州电子科技大学;2011年
李彩霞;[D];哈尔滨工程大学;2007年
郝逸轩;[D];长沙理工大学;2012年
吴光清清;[D];西南交通大学;2011年
张翔宇;[D];哈尔滨工业大学;2013年
孟海龙;[D];杭州电子科技大学;2013年
周飞红;[D];湖南师范大学;2009年
高和平;[D];浙江工业大学;2011年
侯秀竹;[D];杭州电子科技大学;2012年
&快捷付款方式
&订购知网充值卡
400-819-9993
《中国学术期刊(光盘版)》电子杂志社有限公司
同方知网数字出版技术股份有限公司
地址:北京清华大学 84-48信箱 知识超市公司
出版物经营许可证 新出发京批字第直0595号
订购热线:400-819-82499
服务热线:010--
在线咨询:
传真:010-
京公网安备74号你的位置:
matlab中设计的FIR滤波器系数如何导出来呢
[i=s] 本帖最后由 eecsseudl 于
09:56 编辑
你好,我用matlab设计了数字滤波器,其中有几个半带滤波器的taps也太高了,看他的系数真是烦人,有没有什么方法可以把它导出来呢?
这是我写做的半带滤波器
h2=fdesign.decimator(2,'halfband',00);
H2=equiripple(h2);
谢谢。我只能通过fvtool里面的选项来看系数,但是不知道怎么才能以文档的形式保存下来,有个export,但是出来的是图片~~

我要回帖

更多关于 滤波器系数如何量化 的文章

 

随机推荐