- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
fpgamp实验报告
基于Xilinx XUPV2P 的数字音乐播放器设计 一?实验目的和要求 学习并熟练使用verilog语言来描述和设计数字系统, 掌握以xilinx公司的XUP Virtex-Pro 开发系统为硬件平台,设计并完成一系列实验项目的能力 掌握DDS设计技术,了解DS技术的应用? 掌握用chioscope Pro观察波形的方法? 二?主要仪器设备 装有ISE?ModelSim SE和ChipScope Pro软件的计算机?XUP Virtex-II Pro开发系统? 三?实验内容和数据记录?处理 (1)DDS模块的设计 原理: 直接数字频率合成技术DDS(Direct Digital Frequency Synthesis)是一种从相位出发直接合成所需波形的频率合成技术? 它是以一个固定频率精度的时钟作为参考时钟源,通过数字信号处理技术产生一个频率与相位可调的输出信号(本实验主要是频率可调)?实质上,它是通过对现有的正弦信号进行不同采样率的采样,来实现输出信号的频率控制? DDS工作原理:设一路频率为f的余弦信号: 现以采样频率fc对该路信号采样,得到离散序列为: 式中:Tc=1/fc为采样周期? 式(2)所对应的相位序列为: 该相位序列的显著特性就是线性,即相邻样值之间的相位增量是一常数,且仅与信号频率f有关,即相位增量为: 由于频率.厂与参考源频率fc之间满足: 式中:K和M为正整数? 相位增量为: 由式(6)可知,若将2π的相位均匀量化为M等份,则频率为f=(K/M)fc的余弦信号以频率fc采样后,其量化序列的样本之间的量化相位增量为一变值K? 根据以上原理,用变量K构造一个量化序列: 完成φ(n)到另一序列s(n)的映射,即由φ(n)构造序列: 式(8)是连续时间信号s(t)经采样频率fc为采样后的离散时间序列?根据采样定理,当 时,s(n)经低通滤波器滤波后,可唯一恢复s(t)?可见,通过上述系列变换.变量K将唯一确定一个单频模拟余弦信号s(t): 该信号频率为: 式(11)是DDS方程,在实际的DDS中,一般取M=2N,N为正整数,于是DDS方程可写成: 本实验中采用正弦信号,Sine ROM中存放一个完整的正弦信号样品,正弦信号样品表达式为: 式中,m为SineRom地址线位数,n为ROM的数据线宽度,S(i)的数据形式为补码; fc 为取样时钟clk的频率,K为相位增量,输出正弦信号的频率fo和K共同决定,即: 设计过程: 实验原理图 : Q D 地址处 理 数据处理 addr D Q dout D Q Reset复位,使原始地址raw-addr为0,随着时钟clk的变化,原始地址raw_addr从0开始以增量K进行递增,原始地址raw_addr通过地址处理得到最终地址rom_addr ,通过rom_addr读得波形数据,该数据经过数据处理后得到最终的正弦信号? 几个要点: (1)由于正弦信号的对称性,我们采用储存1/4个周期的正弦信号样品的SineROM,其地址为10位?对一个完整周期内的信号进行编号00,01,10,11 ,因此读取完整周期信号,需10+2=12位地址,即m=12? (2)需对Sine Rom的地址和数据进行处理 DDS模块主要代码: 顶层文件(屈老师提供,这里对关键部分进行解释) `timescale 1ns / 1ps module dds(K, clk, reset, sine_data); input [21:0] K; input clk; input reset; output [15:0] sine_data; //Accumulator wire[23:0] raw_addr; wire[23:0] sum1; add24 add24_inst( .a({2b00,K}), .b(raw_addr), .ci(1b0), .sum(sum1), .co() ); dffr #(24) dffr24(.d(sum1), .clk(clk),.r(reset),.q(raw_addr)); //address process wire[9:0] rom_addr; wire[9:0] addr_temp; assign rom_addr=(raw_addr[21](~|raw_addr[20:11]))?10d1023: addr_temp; add12 add12_inst( .a({10{raw_addr[21]}}^raw_addr[20:11]), .b(12d0), .ci(raw_addr[21]), .sum(addr_temp), .co()); //rom read wire[15:0] raw_data; sine_r
有哪些信誉好的足球投注网站
文档评论(0)