ASK编码器与译器的EDA设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ASK编码器与译器的EDA设计

安徽大学 题  目:  ASK编码器和译码器的EDA设计    专 业: 08 通信工程    设计的软件平台为 Max+plusⅡ 一.ASK编码器与译码器系统的具体设计 主要的目标是:在发送端对基带信号进行ASK编码调制,在接收端对已进行编码的信号进行ASK解调,还原出发送端的基带信号。 对ASK编码器系统设计模型如图8所示。 图8:ASK编码器系统设计模型 ASK编码调制的原理就是:基带信号为“0”,则保持不变;基带信号为“1”,则转化为一个特定的频率信号。对sys时钟信号八分频作为载波信号。产生的m序列作为基带信号,经过数据选择器编码调制载波信号,产生新的编码信号。 对ASK译码系统设计模型如图9所示。 图9:ASK译码器系统设计模型 ASK译码器的原理是对已编码的ASK信号进行判断。检测到输入信号的频率为ASK编码器设置的频率时,即还原输出为“1”,否则还原输出为“0”。 2 . 伪随机序列产生器(产生m序列) 新建ASKVHDL文件输入VHDL代码 图10:m序列vhdl程序 上图的m序列VHDL代码有两个输入管脚clk和load控制信号,mout为输出信号。定义signal信号msecom为m序列寄存器,共有四个信号元素。初始化m序列寄存器,当控制信号load为0 时,设置m序列寄存器的初始值为0110。当load信号为1时,进行寄存器的移位操作。然后进行移位寄存器msecom(0)和msecom(3)的异或运算。最后输出m序列。 (2) 生成的m序列的功能模块如图11所示。 图11:m序列功能模块 (3) 连接m序列芯片的输入与输出及时钟信号控制信号管脚,连接后如图12所示,存原理图框图文件名为askcodec.gdf。 图12:m序列原理图 (4) m序列的仿真,建立m序列功能模块的波形仿真文件通过NODE加入输入输出后文件如图13所示。 图13:加入node管脚 (5) 输入时钟信号5KHZ设置的时间长度endtime 10ms 仿真时间范围为10ms。 (6) 将仿真时间及输入波形设置好后如图14所示。 图14:未仿真前m序列 (7) 将文件进行仿真,仿真成功后结果如图15所示。 图15:m序列仿真成功 由仿真的波形图,可以看出输出的m序列周期长度为15,输出的码型为011001000111101。可以验证m序列产生器的输出的m序列的正确性。 3. ASK编码器的设计 ASK振幅键控的调制原理就是:基带信号为“0”,则保持不变;基带信号为“1”,则转化为一个特定的频率信号。ASK编码器的设计系统由一个频率发生器和数据选择器组成,系统框图如图16所示。 图16:ASK编码器框图 进行ASK编码器的代码设计 (1) 新建ASKVHDL文件输入VHDL代码新建ASKVHDL文件输入VHDL代码m序列的VHDL程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity m_xht is port( clk : in std_logic; load : in std_logic; mout : out std_logic); end m_xht; architecture one of m_xht is signal msecom : std_logic_vector(3 downto 0);--m序列寄存器 begin process(clk) begin if clkevent and clk = 1 then if load = 0 then msecom = 0110;--初始化m序列寄存器 mout = msecom(3); else msecom(3 downto 1) = msecom(2 downto 0);--进行寄存器移位操作 msecom(0) = msecom(3) xor msecom(0);--进行移位寄存器异或运算 mout = msecom(3); --m序列符号输出 end if; end if; end process; end one; 2 ASK编码器VHDL程序 library ieee; use ieee.std_log

文档评论(0)

lxiencan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档