f.i.r.滤波器设计报告_第1页
f.i.r.滤波器设计报告_第2页
f.i.r.滤波器设计报告_第3页
f.i.r.滤波器设计报告_第4页
f.i.r.滤波器设计报告_第5页
免费预览已结束,剩余23页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、设计指标:设计一个 16 阶低通线性相位 FIR 滤波器;要求采样频率 Fs 为 80KHz;截止频率 Fc 为 10KHz;采用函数窗法设计,且窗口类型为 Kaiser,Beta 为 0.5;输入序列位宽为 10 位的有符号数(最高位为符号位); 输出序列位宽为 10位的有符号数(最高位为符号位)。二、线性相位fir滤波器理论:有限长脉冲响应(FIR)滤波器的系统函数只有零点,除原点外,没有极点,因而FIR 滤波器总是稳定的。 如果他的单位脉冲响应是非因果的, 总能够方便的通过适当的移位得到因果的单位脉冲响应,所以 FIR 滤波器不存在稳定性和是否可实现的问题。它的另一个突出的优点是在满

2、足一定的对称条件时,可以实现严格的线性相位。由于线性相位滤波器不会改变输入信号的形状,而只是在时域上使信号延时,因此线性相位特性在工程实际中具有非常重要的意义,如在数据通信、图像处理等应用领域,往往要求信号在传输和处理过程中不能有明显的相位失真,因而线性相位 FIR 滤波器得到了广泛的应用。长度为 M 的因果有限冲激响应滤波器由传输函数 H(z)描述:M1H(z)=h(k)z”(1)k=0它是次数为 M-1 的 z-1的一个多项式。在时域中,上述有限冲激响应滤波器的输入输出关系为:M4y(n)=h(k)x(n-k)(2)k=0其中 y(n)和 x(n)分别是输出和输入序列。有限冲激响应滤波器的

3、一种直接型实现, 可由式(2)生成, M=5 的情况如图 2-1(a)所示。其*$置,如图 2-1(b)所示,是第二个直接型结构。通常一个长度为 M 的有限冲激响应滤波器由 M 个系数描述, 并且需要 M 个乘法器和(M-1)个双输入加法器来实现。长度为 M 的线性相位有限冲激响应滤波器由对称的冲激响应 h(n)=h(M-1-n)或反对称的冲激响应 h(n)=-h(M-1-n)描述。利用线性相位有限冲激响应滤波器的对称(或反对称)性质,可以将传输函数的直接型实现所需的乘法器总量减少一半。例如,图 2-2 显示了一个具有对称冲击响应的、长度为 7的有限冲激响应传输函数的实现。三、设计思路:根据课

4、程上老师所讲例题,首先使用 matlab 计算出符合设计要求的滤波器冲激响应系数。后将整个电路规划为语言编辑和原理图编辑两个单元,其中语言编辑部分负责编辑整个滤波器电路中所需用的单元器件,包括寄存器、加法器、减法器以及乘法器几个单元器件;原理图编辑部分完成单元器件的电气连接工作。整个电路的原理图设置方案如图 3-1 所示:-1Z四、设计过程:(一)基于matlab工具的滤波器系数计算:在 matlab 命 令 编 辑 窗 口 输 入 Fdatool 指 令 , 敲 击 回 车 可 以 打 开FilterDesign&AnalysisTool 窗口(如图 4-1 所示),在该工具的帮助下

5、,我们可以完成f.i.r.滤波器系数的计算工作。Fdatool 界面总共分两大部分,一部分是 designfilter,在界面的下半部分,用来设置滤波器的设计参数,另一部分则是特性区,在界面的上半部分,用来显示滤波器的各种特性。designfilter 部分主要分为:ResponseType(响应类型)选项,包括 Lowpass(低通)、Highpass(高通)、Bandpass(带通)、Bandstop(带阻)和特殊的滤波器。根据本次作业要求,在该选项中选择 Lowpass 选项。DesignMethod(设计方法)选项,包括 IIR 滤波器的 Butterworth(巴特沃思)法、Cheb

6、yshevTypei(切比雪夫 i 型)法、ChebyshevTypeii(切比雪夫 ii 型)法、日 liptici-CurrentFlterinionr*ellonQrudure,Drect-FomFIROrder:50YesS4surce:DesignedStoreFiter.FinefManager.FilterOrderCSpedTyorder;后MirihiurniortterlOptionsDenselyFactor;|20_.FrequancySpBcrlicerbons-|HZFs:pEOOflFpsss|96O0-Fstop12000FileEditAnalysisTarg

7、etsviewWindowHelp口东“昌口阳J3HXOER国此需需噩扁。国国上?_FrterspecillCijrteHs.Mag.(dB)1MHz)_Design-MethodIH|Buttemorth?FIR|Equiripple-_MaiffudespBcrficsnons-.DesigriFilter|图 4-1FilterDesign&AnalysisTool 窗口(椭圆滤波器)法等和 FIR 滤波器的 Equiripple 法、Least-squares(最小乘方)法、Window(窗函数)法等多种方法。结合本次作业要求,选择 FIR 滤波器的窗函数法进行设计。选定窗函数

8、法后,会在右侧出现 Options 区域,进行窗函数法相关参量的设置,根据作业要求选择 Kaiser 窗并设置 Beta 为:0.5。FilterOrder(滤波器阶数)选项,定义滤波器的阶数,包括 Specifyorder(指定阶数)和 Minimumorder(最小阶数)。在 Specifyorder 中填入所要设计的滤波器的阶数(n 阶滤波器, specifyorder=n-1) ,如果选择 Minimumorder 则 matlab 根据所选择的滤波器类型自动使用最小阶数。本次作业要求设计 16 阶滤波器,所以选定 Specifyorder 并填入 15。FrenquencySpecf

9、ications 选项,可以详细定义频带的各参数,包括采样频率 Fs和频带的截止频率。它的具体选项由 ResponseTyp 进项和 DesignMetho 选项决定。我们要求的 Lowpass(低通)滤波器只需要定义 Fs、Fc。采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定的,所以只需要定义通带截止频率,而不必定义阻带参数。MagnitudeSpecifications 选项,可以定义幅值衰减的情况。采用窗函数设计时,通带截止频率处的幅值衰减固定为 6db,所以不必定义。本次作业中的参数设定结果如图 4-2 所示。ResponseTypeH初pdssBsndpe&s

10、rBan同阴1riDrffersntifltorDe5igniMethod审IsutlerwoilhDesignFiller|Ready图 4-2 滤波器参数设定结果参数设定完毕,单击工具窗口下方的 DesignFilter 按钮,开始进行相关参数计算。在计算结果中我们可以看到该滤波器的一些相关曲线,如幅频响应4-3)、相频响应(如图 4-4)、冲激响应(如图 4-5)等以及具体的系数值(如图 4-6)。lFilterOrder(*SpecifyordergMiniimm口rdsrOptions一ScalePassbandFrequencySpecilicotrons,hfagntudeSpe

11、cificcrtiom一Theflrttenuationatcxloflflrequeincieisisfixedst6dE(haiTtne晔汕日口口。日mjMagnitudeResponse(dB)SP)岩口艺CTEW图 4-3 幅频响应篦电詈)VSEUD.10152a253035Frequency(kHz)图 4-4 相频响应C.J20.0STimeCmseconds)图 4-5 冲激响应图 4-6 所设计滤波器冲激系数计算的结果可通过 File 下拉菜单中的 Export 命令取出,点击 Export 打开 Export对话框 (如图 4-7) ,点击 OK 按钮可将滤波器系数数据存放到

12、当前工作空问, 并以 Num命名。图 4-7 冲激系数输出对话框保存并关闭滤波器设计分析工具回到 matlab 主窗口,在命令编辑区输入 Num可得到工具的计算结果(如图 4-8)。NwhNum=ColuimE-1through8-0.0153HXQ432=0.0517-0.02650.0343口.11680.1956Q+2436Coluim?9through160.24360.19560.11680B0343-0.0265-0.0517-0.0432-0.0153图 4-8 输出在 matlab 的冲激系数对 FIR 滤波器的系数进行调整,做整数化操作(如图 4-9)。可得到滤波器整数化的系

13、数为-31-88-106-547023940149949940123970-54-106-88-31round(Nuns3R3-31-83-106-547023940149949940123970-54-1D6-88-31|图 4-9 整数化后的冲激系数(二)单元器件的语言编辑:1、寄存器模块寄存器用于寄存一组二值代码,只要求它们具有置 1、置 0 的功能即可。在本设计中用 D 触发器组成寄存器,实现寄存功能。本设计中使用带异步复位 rst程序代码如下:仿真结果如图 4-10 所示:端的 D 触发器,当 rst=1 时,输出信号q=0,当 rst=0 且上升沿脉冲到达时 q=d。LIBRARY

14、ieee;USEieee.std_logic_1164.all;ENTITYdff16ISPORT(rst,clk:INSTD_LOGIC;d:INSTD_LOGIC_VECTOR(9DOWNTO0);q:OUTSTD_LOGIC_VECTOR(9DOWNTO0);ENDdff16;ARCHITECTUREdff16OFdff16ISBEGINPROCESS(rst,clk)BEGINIF(rst=1)THENq0);ELSIF(clkEVENTANDclk=1)THENq=d;ENDIF;ENDPROCESS;ENDdff16;图 4-10 寄存器仿真结果Value100.c口pi2OD.D

15、Xki400.0ni50D.Das800.(ni1.Dus1-h-1I100.0HEIQ立J二23rst-rLrLrLrLrLrLrLrLrLrLrLTLrLrLrLrLrLrMasterTimeBai:End:elk2000Sii国Q29.12ins70.80nsIntetvl:1DO.OnsTP而修酊:2、加法器模块实现两个有符号数的相加运算。即将输入的两数,在时钟脉冲到来时相加运算,输出结果。在本设计中共有 8 个两个 10 位有符号数相加产生一个 11 位有符号数的加法器、一个 18 位和 19 位有符号数相加产生 20 位有符号数的加法器、一个两个 20位有符号数相加产生一个 21

16、位有符号数的加法器、一个两个 19 位有符号数相加产生一个 20 位有符号位数的加法器、一个 20 位和 21 位有符号数相加产生 22 位有符号数的加法器,以及一个 20 位和 22 位有符号数相加产生 23 位有符号数的加法器电路。其中一个 20 位和 22 位有符号数相加产生 23 位有符号数的加法器电路为最后一级,所以在加法器电路中在引入低位舍去功能只保留最终 10 位输出,最终保留 10 位输出采用了直接取输出 23 位数的高十位的方法,因此在输出中近似等仿真结果如图 4-11 所示:18 位和 19 位有符号数相加产生 20 位有符号数的加法器设计:USEieee.std_logi

17、c_1164.all;USEieee.std_logic_arith.all;于除掉了 2A13 即 8192 以后的结果。10 位有符号数相加产生一个LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_arith.all;ENTITYsum101011ISPORT(a,b:INSIGNED(9DOWNTO0);clk:INSTD_LOGIC;s:OUTSIGNED(10DOWNTO0);ENDSUM101011;11 位有符号数的加法器设计:ARCHITECTUREsum101011OFsum101011ISBEGINPROCES

18、S(clk)BEGINIF(clkEVENTANDclk=1)THENs39瞽4口叫T196T-BSTCI4工22日36T乂12Q34T乂7日5382乂3TH41-1如45乂-01950太25089口x734智9;_r_L_rL_rL_rL_r_L_r_Lr_L_rL_rL_r京-169鸵4,面2T3/1。丽2聚-13也斗果-您210551已於然84丸犬14湖5炳;图 4-1218 位 19 位相加产生 20 位数仿真结果两个 20 位有符号数相加产生一个 21 位有符号数的加法器设计:ARCHITECTUREsum40149919OFsum40149919ISBEGINPROCESS(clk

19、)BEGINIF(clkEVENTANDclk=1)THENs=(a(19)&a)+(b(19)&b);ENDIF;ENDPROCESS;ENDsum40149919;仿真结果如图 4-13 所示:图 4-13 两 20 位相加产生 21 位数仿真结果两个 19 位有符号数相加产生一个 20 位有符号位数的加法器设计:USEieee.std_logic_arith.all;LIBRARYieee;USEieee.std_logic_1164.all;ENTITYsum7023918ISPORT(a:INSIGNED(17DOWNTO0);b:INSIGNED(18DOWNTO0

20、);clk:INSTD_LOGIC;s:OUTSIGNED(19DOWNTO0);ENDsum7023918;BEGINPROCESS(clk)BEGINIF(clkEVENTANDclk=1)THENs=(a(17)&a(17)&a)+(b(18)&b);ENDIF;ENDPROCESS;ENDsum7023918;LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_arith.all;ENTITYsum40149919ISPORT(a:INSIGNED(19DOWNTO0);b:INSIGNED(19DO

21、WNTO0);clk:INSTD_LOGIC;s:OUTSIGNED(20DOWNTO0);ENDsum40149919;NameValue13.IE最口田aS刊LJ-21abSl*4ZclkSi寿43sSiENTITYsum181819IS?piSODpntns日DO.pntBOOpm13.15MJ(07893/45715:(gJ57l8/v15犬5191gLX皆04Ply47时的乂-如170户用4星)三葩荻H124300X-3B1681X-640L4X1T(5-X5550/92627-565010087JO18(10-36359TCIQ34烂4龙96米一物/1理49E,R19BB5*11J

22、763蹴纯加4PORT(a:INSIGNED(18DOWNTO0);b:INSIGNED(18DOWNTO0);clk:INSTD_LOGIC;s:OUTSIGNED(19DOWNTO0);ENDsum181819;PROCESS(clk)BEGINIF(clkEVENTANDclk=1)THENs=(a(18)&a)+(b(18)&b);ENDIF;ENDPROCESS;ENDsum181819;口吗0m4。/k 啊。n一呵口皿1小1315261出。户6M4) )(宓0(。009至-1丘&76)能3兆户1rB7胡乂-18非27)-能。(芝11134;(726养圻24”

23、2日)/8口2*必日1点15D61)(I71B况工-630国乂-省1团)fylCT附11如4m骗5#Z3B41B/44g723沿64543,一阴149木17365,-149157(I| iI*图 4-14 两 19 位相加产生 20 位数仿真结果20 位和 21 位有符号数相加产生 22 位有符号数的加法器:LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_arith.all;ENTITYsum192021ISPORT(a:INSIGNED(19DOWNTO0);b:INSIGNED(20DOWNTO0);clk:INSTD_LO

24、GIC;s:OUTSIGNED(21DOWNTO0);ENDsum192021;仿真结果如图 4-15 所示:ARCHITECTUREsum192021OFsum192021ISBEGINPROCESS(clk)BEGINIF(clkEVENTANDclk=1)THENs600pntBOO.pniIT15ns门。33如标89015乂-45都酊乂-3/94以331109乂28311户4M01乂269171561T2丫侬:fWIT胸丘故1北的瓦丁丘1加0电/福肝14口网岸M喈叉14525,汹侬经1迎:rrLLrLrLrLrLLrLrLJ-图 4-1520 位和 21 相加产生 22 位数仿真结果2

25、0 位和 22 位有符号数相加产生 23 位有符号数的加法器电路设计 (最后一级带舍位):ENTITYsum192110ISPORT(a:INSIGNED(19DOWNTO0);b:INSIGNED(21DOWNTO0);ARCHITECTUREsum181819OFsum181819ISBEGIN仿真结果如图 4-14 所示:NameValue13IE国&s磔!国bS721口clkS希41田工SINumeValue13.IE畲口国aS琏321Hbclk田ES-51,SSI143贵44LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_

26、logic_arith.all;clk:INSTD_LOGIC;s:OUTSIGNED(9DOWNTO0);ENDsum192110;ARCHITECTUREsum192110OFsum192110ISBEGINPROCESS(clk)VARIABLEc:SIGNED(22DOWNTO0);仿真结果如图 4-16 所示:BEGINIF(clkEVENTANDclk=1)THENc:=(a(19)&a(19)&a(19)&a)+(b(21)&b);ENDIF;s0);BEGINPROCESS(Din1,Din2,clk)BEGINIFclkeventandclk=

27、1THENDout=s2-Din2-s1;ENDIF;ENDPROCESS;ENDsub318817;仿真结果如图 4-17 所示:Value13.3PMa.pm4gpnM6m.pniElDO.pgL315niJ片口elk固DiniSDin2QDo-utSI_T_L_T_L_rL_r_LJ_L_T_L_T_L_r_L_r_L_*1s3rS-5?s孔电可x11器5乂的SS乂因就X史口1醴r3214TX吨弓花X714白X0);BEGINPROCESS(Din1,Din2,clk)BEGINIFclkeventandclk=1THENDoutipi200.p13.15nsJ乘 31 电路设计:LIB

28、RARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_arith.all;ENTITYmult31ISPORT(clk:INSTD_LOGIC;Din:INSIGNED(10DOWNTO0);Dout:OUTSIGNED(15DOWNTO0);ENDmult31;ARCHITECTUREmult31OFmult31ISSIGNALs1:SIGNED(15DOWNTO0);SIGNALs2:SIGNED(10DOWNTO0);SIGNALs3:SIGNED(15DOWNTO0);BEGINA1:PROCESS(Din,s1,s2,s3)BEG

29、INs1=Din&00000”;s2=Din;IF(Din(10)=0)THENs3=(0&s1(14downto0)-(00000&s2(10DOWNTO0);ELSEs3=(1&s1(14downto0)-(11111&s2(10DOWNTO0);ENDIF;ENDPROCESS;A2:PROCESS(clk,s3)BEGINIFclkEVENTANDclk=1THENDout=s3;ENDIF;ENDPROCESS;ENDmult31;仿真结果如图 4-19 所示:ppt200.0m400,0M600IDTIE000.0hi13.15nstrL_r

30、Lx_rL_rn_L_rn_x_rL_r=(河X5gX3器初初-却却工2厂曳 r2356X1116X11935X2563T)0333乂1S569找开工-口花方一召4图 4-19 乘 31 仿真结果乘 88 电路设计:LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_arith.all;ENTITYmult88ISPORT(clk:INSTD_LOGIC;Din:INSIGNED(10DOWNTO0);Dout:OUTSIGNED(17DOWNTO0);ENDmult88;ARCHITECTUREmult88OFmult88ISSI

31、GNALs1:SIGNED(16DOWNTO0);SIGNALs2:SIGNED(14DOWNTO0);SIGNALs3:SIGNED(13DOWNTO0);SIGNALs4:SIGNED(17DOWNTO0);BEGINA1:PROCESS(Din,s1,s2,s3)BEGINs1=Din&000000”;s2=Din&0000;s3=Din&000;IF(Din(10)=0)THENs4=(0&s1(16downto0)+(000&s2(14DOWNTO0)+(0000&s3(13DOWNTO0);ELSEs4=(1&s1(16dow

32、nto0)+(111&s2(14DOWNTO0)+(1111&s3(13DOWNTO0);ENDIF;ENDPROCESS;A2:PROCESS(clk,s4)BEGINIFclkEVENTANDclk=1THENDout=s4;ENDIF;ENDPROCESS;ENDmult88;仿真结果如图 4-20 所示:13.IELIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_arith.all;ENTITYmult106ISPORT(clk:INSTD_LOGIC;Din:INSIGNED(10DOWNTO0);Dou

33、t:OUTSIGNED(17DOWNTO0);ENDmult106;ARCHITECTUREmult106OFmult106ISSIGNALs1:SIGNED(16DOWNTO0);SIGNALs2:SIGNED(15DOWNTO0);仿真结果如图图 4-20 乘 88 仿真结果SIGNALs3:SIGNED(13DOWNTO0);SIGNALs4:SIGNED(11DOWNTO0);SIGNALs5:SIGNED(17DOWNTO0);BEGINA1:PROCESS(Din,s1,s2,s3,s4)BEGINs1=Din&000000”;s2=Din&00000”;s3=Di

34、n&000;s4=Din&0;IF(Din(10)=0)THENs5=(0&s1(16downto0)+(00&s2(15DOWNTO0)+(0000&s3(13DOWNTO0)+(000000&s4(11DOWNTO0);ELSEs5=(1&s1(16downto0)+(11&s2(15DOWNTO0)+(1111&s3(13DOWNTO0)+(111111&s4(11DOWNTO0);ENDIF;ENDPROCESS;A2:PROCESS(clk,s5)BEGINIFclkEVENTANDclk=1THENDo

35、ut=s5;ENDIF;ENDPROCESS;ENDmult106;Dps200LOins400.0ns600.0HE800.0nsHIII13.15r-_r_L_rL_rL_TL_rL_rL_rL_rL_rL_r-(346口BIBX&3X-LI1X96XT43-3E3X49T4口;(EK3s6而XE52gB,13cl38125比-4EE4乘54电路设计:LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_arith.all;ENTITYmult54ISPORT(clk:INSTD_LOGIC;Din:INSIGNED(10

36、DOWNTO0);图 4-21 乘 106 仿真结果Dout:OUTSIGNED(16DOWNTO0);ENDmult54;ARCHITECTUREmult54OFmult54ISNameIQ3p200.0nw400.pns600.( (0M800s0ns13.15nsLL-qi_ii-L_J_1_L_n_r-L_J_11_11-(tool、993X-TCTX58n(OT7X8X-侬X-20X4T6X侬;3白白口白白Xma*K-GT4弱,空04K辨货6左前*TTG。,4.由88裁呢13.15国DinSK田lout5乘 106 电路设计:4-21 所小:N:dITitValue13.15clks

37、;即国Dins小13国DoutsSIGNALs1:SIGNED(16DOWNTO0);SIGNALs2:SIGNED(13DOWNTO0);SIGNALs3:SIGNED(11DOWNTO0);SIGNALs4:SIGNED(16DOWNTO0);BEGINA1:PROCESS(Din,s1,s2,s3)BEGINs1=Din&000000”;s2=Din&000;s3=Din&0;IF(Din(10)=0)THENs4=(0&s1(15downto0)-(00&s2(13DOWNTO0)-(0000&s3(11DOWNTO0);ELSE0)-(

38、11&s2(13DOWNTO0)-(1111&s3(11DOWNTO0);ENDIF;ENDPROCESS;A2:PROCESS(clk,s4)BEGINIFclkEVENTAND仿真结果如图 4-22 所示:3ft200.pm100.pM600.pnt13.15ns二_|1I1I1I1-81之XY91X吗48乂S电T丈S161和6=再丫口IF蒿4&1-37314*T113Z出32圜飞用64/4g4日4长卷12LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_arith.all;ENTITYmult70IS

39、PORT(clk:INSTD_LOGIC;Din:INSIGNED(10DOWNTO0);Dout:OUTSIGNED(17DOWNTO0);ENDmult70;ARCHITECTUREmult70OFmult70ISSIGNALs1:SIGNED(16DOWNTO0);SIGNALs2:SIGNED(12图 4-22 乘 54 仿真结果DOWNTO0);SIGNALs3:SIGNED(11DOWNTO0);SIGNALs4:SIGNED(17DOWNTO0);BEGINA1:PROCESS(Din,s1,s2,s3)BEGINs1=Din&000000;s2=Din&00;s

40、3=Din&0;IF(Din(10)=0)THENs4=(0&s1(16downto0)+(00000&s2(12DOWNTO0)+(000000&s3(11DOWNTO0);ELSEs4=(1&s1(16downto0)+(11111&s2(12DOWNTO0)+(111111&s3(11DOWNTO0);ENDIF;ENDPROCESS;A2:PROCESS(clk,s4)BEGINIFclkEVENTANDclk=1THENDout=s4;ENDIF;ENDPROCESS;ENDmult70;仿真结果如图 4-23 所示:s4=(1

41、&s1(15downtoclk=1THENDout=s4;ENDIF;ENDPROCESS;ENDmult54;乘 70 电路设计:图 4-23 乘 70 仿真结果乘 239 电路设计:LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_arith.all;ENTITYmult239ISPORT(clk:INSTD_LOGIC;Din:INSIGNED(10DOWNTO0);Dout:OUTSIGNED(18DOWNTO0);ENDmult239;ARCHITECTUREmult239OFmult239ISSIGNALs1:

42、SIGNED(18DOWNTO0);SIGNALs2:SIGNED(14DOWNTO0);SIGNALs3:SIGNED(10DOWNTO0);SIGNALs4:SIGNED(18DOWNTO0);BEGINA1:PROCESS(Din,s1,s2,s3)BEGINs1=Din&00000000”;s2=Din&0000;s3=Din;IF(Din(10)=0)THENs4=(0&s1(17downto0)-(0000&s2(14DOWNTO0)-(00000000&s3(10DOWNTO0);ELSEs4=(1&s1(17downto0)-(1

43、111&s2(14DOWNTO0)-(11111111&s3(10DOWNTO0);ENDIF;ENDPROCESS;A2:PROCESS(clk,s4)BEGINIFclkEVENTANDclk=1THENDout=s4;ENDIF;ENDPROCESS;ENDmult239;仿真结果如图 4-24 所示:Valuef)pt200.pnt400.pns600pHEBOO.pntNam=!L3.15ns:Lk金J._rn_r_i_r_L_r_LJ_L_r_L_rL_r_L_r_i_33DinTT6。X-6S1工6TEX749%血血即1X白05X457r乂T1S14E3:313国

44、Douts40-332401-155569161561米-即411I80226米-图549/216四51092231709856?:?:HLIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_arith.all;ENTITYmult401ISPORT(clk:INSTD_LOGIC;Din:INSIGNED(10DOWNTO0);Dout:OUTSIGNED(19DOWNTO0);ENDmult401;ARCHITECTUREmult401OFmult401ISSIGNALs1:SIGNED(19图 4-24 乘 239 仿真结果DO

45、WNTO0);SIGNALs2:SIGNED(17DOWNTO0);SIGNALs3:SIGNED(14DOWNTO0);SIGNALs4:SIGNED(10DOWNTO0);SIGNALs5:SIGNED(19DOWNTO0);BEGINA1:PROCESS(Din,s1,s2,s3,s4)BEGINs1=Din&000000000”;s2=Din&0000000”;s3=Din&0000;s4=Din;IF(Din(10)=0)THENs5=(0&s1(18downto0)-(00&s2(17DOWNTO0)+(00000&s3(14DOWN

46、TO0)+(000000000&s4(10DOWNTO0);ELSEs5=(1&s1(18downto0)-(11&s2(17DOWNTO0)+(11111&s3(14DOWNTO0)+(111111111&s4(10DOWNTO0);ENDIF;ENDPROCESS;A2:PROCESS(clk,s5)乘 401 电路设计:BEGINIFclkEVENTANDclk=1THEN仿真结果如图4-25 所示:LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_arith.all;ENTITYmu

47、lt499ISPORT(clk:INSTD_LOGIC;Din:INSIGNED(10DOWNTO0);Dout:OUTSIGNED(19DOWNTO0);ENDmult499;ARCHITECTUREmult499OFmult499ISSIGNALs1:SIGNED(19DOWNTO0);SIGNALs2:SIGNED(13DOWNTO0);图 4-25 乘 401 仿真结果SIGNALs3:SIGNED(12DOWNTO0);SIGNALs4:SIGNED(10DOWNTO0);SIGNALs5:SIGNED(19DOWNTO0);BEGINA1:PROCESS(Din,s1,s2,s3,

48、s4)BEGINs1=Din&000000000”;s2=Din&000;s3=Din&00;s4=Din;IF(Din(10)=0)THENs5=(0&s1(18downto0)-(000000&s2(13DOWNTO0)-(0000000&s3(12DOWNTO0)-(000000000&s4(10DOWNTO0);ELSEs5=(1&s1(18downto0)-(111111&s2(13DOWNTO0)-(1111111&s3(12DOWNTO0)-(111111111&s4(10DOWNTO0);E

49、NDIF;ENDPROCESS;A2:PROCESS(clk,s5)BEGINIFclkEVENTANDclk=1THENDouteoo.o13.15血写1L_m_j_L_J_1_L_j_11-L_J_11_1-(-85X-7Q3X599X-738X852X-5TMX整X153X他X154s;(5一郡44秋-机90:3*四口199295g3日65g,-朋3T1*才252g*61353419M非Dout=s5;ENDIF;ENDPROCESS;ENDmult401;乘 499 电路设计:Value13.IE搭建成整体的滤波器电路。其中 clk 和 rst 信号采用了总线名称的连接方式。原理图电路

50、编辑结果如图 4-27 所示:图 4-27 滤波器原理图编辑结果为了与 matlab 的 conv 函数结果做比对在输出端额外引入了 s 输出端口,用来显示无截短的滤波器输出结果(23 位)共 23 页18仿真结果如图 4-28 所示:HoneYkluii13.IE)psJOOpns200.0jsm300.0m400.pns5000nsM.OmTDOQns30013.15nvA00elkSIhh国BoutSSrsl3iS7?耳s_111IiiiiiIrr由754-39XBSM43工=331工=52112912fi:证】金金r0XJQt_K0J14OT414LI闻X4g051tg.0ns800.

51、0900,0m10HEl,g1.&sL4.UE1.5ui1111111111111X_釜xo6tJ-17x依XT9XT 口茉 T*J._.9851*9457*-65987I-1325441-1768331-185314:*-M9513*-00824,-3266*JiiIiIiirK-i兄化X-i茉);7史X7演08X356*YOBX图 4-28 滤波器仿真结果(四)仿真结果验证:利用 matlab 的 conv 函数可以验证 FIR 滤波器卷积的结果,在表 4-1 中通过比对来进行对结果的说明。随机输入序列卜 454,-39,55,463,-331,-52,128,260表 4-1 仿真结果验证滤波器仿真无截短输出 23 位conv 函数输出滤波器仿真截断输出 10 位conv 函数除 2A13(8196)140741407411.7180411614116155.0245498514985166.08539457945711.1544-65987-65987-9-8.0551-132544-132544-17-16.1797-176833-176833-22-21.5861-185314-185314-23-22.6213-149513-149513-19-18.2511-80824-80824-10-9.8662-3266-3266-1-0.39875838

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论