网站大量收购独家精品文档,联系QQ:2885784924

基于VHDL语2FSK调制解调.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于VHDL语2FSK调制解调

基于VHDL语言的2FSK调制解调 设计课程:CPLD/FPGA设计 设计内容:2FSK的调制解调 涉及专业:通信工程 实验人员: 指导教师:刘明珠 基于VHDL语言的2FSK调制解调 摘要:在数字中,数字调制与解调技术占有非常重要的地位。FSK调制解调的基本原理,用VHDL语言实现了2FSK调制解调器的仿真结果表明此设计方案是可行的,系统具有较高的实用性和可靠性。FSK就是利用载波信号的频率变化来传递数字信息。   在2FSK中,载波的频率随二进制基带信号在f1和f2两个频率点之间变化。故其表达式为: 实现数字频率调制的一般方法有两种, 直接调频法和键控法。 直接调频法:即连续调制中的调频(FM) 信号的产生方法,是将输入的基带脉冲去控制一个振荡器的参数而改变振荡频率,这种方法实现容易,输出的波形相位是连续的,但电路的振荡频率稳定性较差。 键控法:是用数字信号去控制两个独立振荡器,两个门电路按数字信号的变化规律通断。 3,2FSK的解调 2FSK频移键控信号的解调方法有多种,有模拟鉴频法德数字检测法,有非相干解调方法和相干解调方法。然而在数字系统中倡议使用数字检测法较为方便和有效,具体的原理和方法我们将会在第三部分详细介绍。 三,研究内容: 这一部分我们会详细研究和讨论怎样用数字方式和VHDL语言来实现2FSK的调制和解调。 1.2FSK调制器设计.1 分频法实现2FSK调制器’或‘1’来决定信号f1或f2通过,实现2FSK的调制。实现2FSK调制的原理方框图如图1所示。 图1 2FSK调制实现原理框图   其中FSK调制的核心部分包括分频器、二选一选通开关等,图中的两个分频器分别产生两路数字载波信号;二选一选通开关的作用是以基带信号作为控制信号,当基带信号为0’时,选通载波f1;当基带信号为1’时,选通载波f2。从选通开关输出的信号就是数字FSK信号。这里的调制信号为数字信号。 .1 分频法实现2FSK解调器’的区分和传输,所以我们也同样可以利用传出信号频率的大小来识别原始信号的值,一般情况下我们利用高频来代表信号‘1’时准确度较高,详细的证明在这里不做解释了。  利用信号波形在单位时间内的次数来测定信号频率。’,反之输出‘0’。实现2FSK解调器的原理方框图如图所示。 图 2FSK解调实现原理框图。2FSK调制解调器整体设计  在整体设计过程中,整体电路如图所示,其中x为基带信号,y为经过调制解调后的解调信号。 图整体电路。Library ieee; Use ieee.std_logic_1164.all; Use ieee.std_logic_arith.all; Use ieee.std_logic_unsigned.all; Entity fsk is Port(clk:in std_logic; Start:in std_logic; x:in std_logic; y:out std_logic); end fsk; architecture behave of fsk is signal q1:integer range 0 to 11; signal q2:integer range 0 to 3; signal f1,f2:std_logic; begin process(clk,start) begin if(clk’event and clk=’1’)then if(start=’0’)then q1=0; elsif(q1=5)then f1=’1’;q1=q1+1; elsif(q1=11)then f1=’0’;q1=0; else f1=’0’;q1=q1+1; end if; end if; end process; process(clk,start) begin if(clk’event and clk=’1’)then if(start=’0’)then q2=0; elsif(q2=1)then f2=’1’;q2=q2+1; elsif(q1=3)then f2=’0’;q2=0; else f2=’0’;q2=q2+1;

文档评论(0)

owy207 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档