




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、实验名称基于IP核的DDS和FIR滤波器设计二、实验目的和要求目的要求:1)掌握IP核的设计方法。2)掌握和理解DDS的原理和波形产生方法。3)理解掌握FIR滤波器设计方法。4)掌握用VHDL硬件语言进行顶层文件设计。5)掌握用Modelsim进行仿真操作。三、实验内容和原理1. DDS的原理DDS称为直接数字频率合成器(DDFS),它具有输出相位连续、相对 带宽较大、频率分辨率高、可编程、准确度和稳定度都比较高的优点。它不 仅能产生正弦、余弦、方波、三角波和锯齿波等波形,而且可以根据需要产 生传统函数发生器所不能产生的任意波形。DDS的基本原理是利用采样定理,根据相位间隔对正弦信号进行取
2、样、量化、编码,然后储存在EPROM中构成一个正弦查询表,通过查表法产生波形。它是由参考时钟、相位累加 器、正弦查询表和D/A转换器组成,如图3-1所示。时钟图3-1直接数字频率合成器原理框图相位累加器由N位加法器与N位累加寄存器级联构成,其原理框图如 图3-2所示。针对时钟脉冲Fc, N位加法器将频率控制数据 K与累加寄存器 输出的累加相位数据相加,把相加后的结果送至累加器的输入端。累加器 方面将在上一时钟周期作用后所产生的新的相位数据反馈到加法器的输入端,以使加法器在下一时钟的作用下继续与频率控制数据K相加;另一方面把相加后的结果形成正弦查询表的地址,取出表中与该相位对应的单元中的 幅度量
3、化正弦函数值,作为取样地址值送入幅度/相位转换电路。这样就可把存储在波形存储器内的波形抽样值(二进制编码)经查找表查出,完成相位 到幅值转换。波形存储器的输出送到D/A转换器,D/A转换器将数字量形式 的波形幅值转换成所要求合成频率的模拟量形式信号。频率桎制宇K亠N位N位*耶E输出序列N加法器寄存器1图3-2相位累加器原理框图相位累加器在每一个时钟脉冲输入时,把频率控制字累加一次,相位累 加器输出的数据就是合成信号的相位。当相位累加器加满量时就会产生一次 溢出,溢出频率就是DDS输出的信号频率。相位累加器的最大计数长度与正弦查询表中所存储的相位分隔点数相 同,在取样频率(由参考时钟频率决定)不
4、变的情况下,由于相位累加器的 相位增量不同,将导致一周期内的取样点数不同,输出信号的频率也相应 变化。如果设定累加器的初始相位,则可以对输出信号进行相位控制。由 采样原理可知,如果使用两个相同的频率合成器,并使其参考时钟相同, 同时设定相同的频率控制字、不同的初始相位,那么在原理上就可以实现 输出两路具有一定相位差的同频信号。也可以以正弦波为例说明 DDS的基本原理,设正弦信号S(t)表达式为S(t) =Asi n(2 二 fto)(1-1)其中振幅为A,频率为f,初始相位o。实际应用中f与初始信号无关,若 A=1,0(t) =2二ft 贝U S(t)二 sin 0(t)相同的单位T内不同频率
5、与相对应的相位增量不同,有f(1-2)2叮相位在时域内随时间均匀变化,因为 DD升相位累加是周期性的,因此相位与正弦信号线性特性一致的。设 K为频率控制字,fc为时钟频率,N为相位累加器的长度,则合成的信号频率为:11(1-3)改变频率控制字K输出频率随着变化,频率分辨率为(1-4)亠min 2 N 1 c2. FIR滤波器FIR (Finite Impulse Respons滤波器,即有限长单位冲激响应滤波器,它可以保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应式有限长的,因而滤波器是稳定的系统。FIR滤波器具有以下特点:(1) 系统的单位冲激响应h(n)在有限各n值处不为
6、零。(2) 系统函数H(z)在z 0处只有零点,即有限z平面只有零点,而全部极点都在z=0处(因果系统)。(3) 结构上是非递归结构,没有输出到输入的反馈。FIR滤波器的基本结构有直接型、级联型、频率抽样型、快速卷积结构和线 性相位结构,以下简要介绍其中几个基本结构。直接型为最普遍的结构,根 据差分方程可得出结构如下图所示:x(n)zzzfh(0)1 11V h. f h(2)卄 h(N 2)仃 1 -111A图3-3 FIR滤波器的直接型结构h(N -1)级联型结构是将H(z)分解成实系数二阶因子的乘积形式,如下图所示:A.A.A,图3-4 FIR滤波器级联型结构图3-5 FIRa)滤波器线
7、性相位型结构(N=5)中心在Ni/2处,线性相位型FIR滤波器单位响应h(n)为实数,且满足偶对称或奇对称,对称x(n)zz zh(0)h(1)h(2)h(3)(b)直接型网络结构3. DDS和FIR滤波器IP核原理图735第一类线性相位网络结构(N=5)IP核是一段具有特定电路功能的硬件描述语言程序,该程序与集成电路工艺无关,可移植到不同的半导体工艺中生产集成电路芯片。由于具有复杂 功能和商业价值的IP核一般具有知识产权,而它的本意也是知识产权核。 IP核有两种,与工艺无关的 VHDL程序称为软核,具有特定电路功能的集 成电路版图称为硬核,硬核一般不允许修改。软IP设计周期短,设计投入少,为
8、后续设计预留很大的发挥空间,增大了IP的灵活性和适应性。Xilinx ISE中集成大量的IP库可供用户使用,在开发中无需了解硬件语言是如何实现的,提供了很大的方便性。如下图所示为DDS的IP核符号文图3-6 DDS符号文件其中CLK为DDS系统时钟输入信号,WE为写使能信号,DATA为输 入数据,RDY表示有效数据输出,SINE和COSINE为输出波形,PHASE_OUT 为相位输出值。当 WE有效时,在时钟作用下,通过改变输入数据 DATA使 输出正余弦频率发生改变。FIR滤波器的IP核符号文件如下图所示:FIR滤波器与DDS分别采用 不同的时钟,FIR滤波器的系统时钟为36.864MHz,
9、输入选择信号ND表示 有新的数据到来。FIR滤波器的滤波系数由MATLAB产生,在IP核参数修 改时把coe文件加载到IP核中。DIN (N-10JDOUT M O*NDDOUT_I N-10DOUTjQR-1:0FILTSEL F-1:0COEF_LDRFDCOEF WERDYrCOEF_DIN K-110J*COEF_FILT_SEL (F-1;0JpiCHAN INULISCECHAN_OUT (01:0*SCLR图3-7 FIR滤波器IP核符号文件四、实验环境(软、硬件环境,主要仪器设备)软件环境:ISE Design Suite 11.0 Modelsim SE 6.5,MATLAB
10、 R2012a硬件环境:PC机操作系统:Win dows XP五、操作方法与实验步骤1、DDS IP核设计打开 ISE Design Suite 11.0,新建工程命名为 dds_fir。在 Preferred Language中择为VHDL,在新建的工程中右键 New Source选择IP (CORE Generator & Architecture Wizard )并命名为 dds,在弹出的 DDS Compiler 中 修改系统时钟参数如下图所示:to# :plDDS CompilerComponent hame ddsConfiguration Options Phse Generat
11、or and SH4 COS LUTSystem Clock2.304Clumber of ChannelszrSystem RfiquirementsRange: 0,01.,550 MHzFrequency per Channel (Fs) 2.3039959999999998 MHzParameter Selection System ParametersSystem ParametersSpuriiDus Free Dynamic Range84Rang-e: 18. B150 d日Frequency Resolution10Range: O.COOOOOOO&lB5528fiOOO
12、HzNoise ShapingAuto+图5-1 DDS IP核的时钟设置本次试验中DDS的系统时钟为2.304MHz,衰减范围为84dB,频率分 辨率为10Hz,而后设置IP核的相位累加为可编程的。如下图所示:如綁DDS CompilerPhase Increment Programmability Fixeda ProgrammableStreamingFhase Offset Programmability图5-2 DDS IP核的相位累加设置在Options Pins中添加RDY信号管脚,如下图所示:Optional Pins4d9.Mm :D.Q1W37 由-L.9MM9 dB. X
13、.GKlTTbGi * Freiji RespOW Q ImptefWTMtar OetalbCompanenlFiibrr CncffiaenbSe*rtE Sdww :CDEFIR CompilerE:pilabL,ijid5_hr,!fk_MQk.aiEBruwse.nnK.camrp:lir_ j (ienEi-rte Chx1 | Hdp图5-6 FIR IP核时钟设置” j FIR CompilerFreq. ResponsexFrequency Response (Magnitude)曲 FFIR CompilerOptlmuzadon Goal Areac&ntrol Dpti
14、oniSEl SCLK Use dstrministic SCUR DATA.VAJJD鬲1 HD CECHAN_1H Optons口 Generate CHANIN value in advanceNumber fff samples: 0Rgige: 0.0Memory DpbansData Buffer Typ 1g Automatic 仃Coefficient Buffer Typig :Automatic 仃input Buffer Type :Automatic 图5-7 FIR IP核的控制管脚设置设置完成后点击Gen erate生成DDS的IP核,在工程中可以看到 DDS IP
15、核 已添加到工程之中,并且该路径下生成有 dds.xco文件。4、系统设计系统总体原理框图如下,从图中可以看出,把DDS和FIR滤波器例化后就可以通过端口映射把模块相连, 形成一个通过输入改变输入数据改变产 生200kHz和900kHz的输出频率、然后进行滤波,只有 200kHz的正弦波形13在新建的工程中右键 New Source选择VHDL Module,新建dds_fir.vhd 文件。鼠标点击dds和fir的IP核,显示高亮。双击 View HDL Instantiation Template,查看模板例化硬件语言。把dds和fir的元件声明分别复制并粘贴 在结构体中(begin之前)
16、,把管脚映射也复制粘贴在结构体中(begin之后)。 在实体中加入输入输出端口。由于dds和fir滤波器有RDY和ND、SINE和 din相连,所以要定义两个信号变量:wire1和wire2,wire2为14位总线型变量,其中的端口映射关系参考实验代码。由于输出数据仅需要14位,所以需加入以下代码:processbegi ndata_out=wire3(29 downto 16);end process;代码编辑完成后保存、编译,如果没有错误开始进行仿真操作。5、Modelsim仿真操作在新建的工程中右键New Source选择 VHDL Test Ben ch,新建dds_fir_tb.vh
17、d文件。在关联文件中选择dds_fir,生成Test Bench后双击打开 该文件。把初始化的输入信号赋值为零,定义常量clk2304_period和clk36864_period 分别为 434ns和 27nwait for 100 ns;wait for clk5304_periad*10;we=T1T;data=T,0 2匚 111 3011LC 301 ln;wait for clk5304_period*500;data=M011D : 1C :: 33 jD11 ;wait for =lk23t)4period*500;we clk2304,we = we,data = data,
18、rdy = wirel,-cos ine = cos ine,sine = wire2- phase_out = phase_out);in st2 : firport map (clk = clk36864,nd = wire1,rfd = rfd,rdy = rdy,din = wire2,dout = wire3);processbegindata_out 0);-Outputssig nal data_out : std_logic_vector(13 dow nto 0);sig nal rfd : std_logic;sig nal rdy : std_logic;-Clock p
19、eriod defi niti onscon sta nt clk2304_period : time := 434 ns;con sta nt clk36864_period : time := 27 ns;BEGIN-I nsta ntiate the Un it Un der Test (UUT) uut: dds_fir PORT MAP (clk2304 = clk2304,clk36864 = clk36864,we = we,data = data,data_out = data_out,rfd = rfd,rdy = rdy);-Clock process defi niti
20、ons clk2304_process :process beginclk2304 = O;wait for clk2304_period/2;clk2304 = 1;wait for clk2304_period/2;end process;clk36864_process :processbeginclk36864 = O;wait for clk36864_period/2;clk36864 = 1;wait for clk36864_period/2;end process;-Stimulus processstim_proc: processbegin-hold reset stat
21、e for 100 ns.wait for 100 ns;wait for clk2304_period*10;we=1;data=000101100011100011;wait for clk2304_period*500;data=011001000000000000;wait for clk2304_period*500;we=0;-in sert stimulus herewait;end process;3、实验仿真结果图(1) Modelsim 仿真结果如下图所示为Modelsim仿真实验结果,数据在没有转换格式前的截图1_rmi111QkEmzCOKtOHO:! Tm i11 M
22、i LtTTiFimu 汕 | 初-wgjuiAUn m|H1IIJII 】IIL1II】. Kllll 【lll:l:lGlllll】ltaMOXi 忌11口1“,制1:11丘tmiDLiMaiiLiXia mu naiLiii-in rtMsji.tiitaJ Q frllE Nr-itfd*J-JWdrOIIJI.L11LOJ l.ii.dlLiiLaji.LilL图6-1 Modelsim仿真数据结果(2)Modelsim仿真输出模拟波形如下图所示为Modelsim仿真结果为输出数据格式转换成模拟后的截图FIR滤波器输出为31位数据,顶层文件设计后的系统的输出是截取FIR输出数据的高14位,从波形来看输出波形和信号线wire3上波形并没有明显的区别。所以,输出取高14位数据是可行的。图6-2 Modelsim仿真结果七、实验结果与分析从Modelsim仿真波形可以看出,当DDS输入数据000101100011100011(十六进制58E3)时,DDS输出端输出200kHz的正弦波,同时在信号线wire2 也出现200kHz正弦波数据,当DDS&入数据01100
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 航空航天复合材料 课件知识点1 聚合物基复合材料概论
- 山东医专入学考试试题及答案
- 肿瘤防治与精准医学前沿进展
- 自我意识心理健康教育
- 秩序队员法律法规培训
- 呼吸内科门诊病历
- 中班艺术活动《冬天里的活动》
- 园区招商培训计划
- 2025年中国女性生物纤维素面膜行业市场全景分析及前景机遇研判报告
- 大班健康教案:冬季护肤品使用指南
- 第五单元 第5节 跨学科实践:制作望远镜 教学设计-2024-2025学年人教版物理八年级上册
- 2022-2023学年湖南省岳阳市城区人教版六年级下册期末测试数学试卷(原卷版+解析)
- 2023年湖南省普通高等学校对口招生考试语文题
- 人工智能算法开发合作合同
- 和合文化与国际传播
- 客服主管岗位周工作计划
- 煤矿急救知识培训课件
- 高速公路路产赔(补)偿收费标准表
- 压接端子检验标准
- 双方关于2024年度地铁车辆采购及维护合同2篇
- 中心静脉导管相关血流感染的预防及护理
评论
0/150
提交评论