- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7.1 二进制振幅键控(ASK)调制器与解调器设计 7.2 二进制频移键控(FSK)调制器与解调器设计 7.3 二进制相位键控(PSK)调制器与解调器设计 7.4 UART接口设计 教学目标 教学重点 教学过程 7.1二进制振幅键控(ASK)调制器与解调器设计 数字信号对载波振幅调制称为振幅键控即 ASK(Amplitude-Shift Keying)。 ASK有两种实现方法: 1.相乘电路实现法 2.键控法 1.相乘电路实现法 就是用乘法器基带信号与载波信号相乘就可以得到调制信号输出。 乘法器用来进行频谱搬移,相乘后的信号通过带通滤波器滤除高频谐波和低频干扰。 带通滤波器的输出是振幅键控信号。 2.键控法 键控法是产生ASK信号的另一种方法。二元制ASK又称为通断控制(OOK)。最典型的实现方法是用一个电键来控制载波振荡器的输出而获得。 ASK解调方法 1. 同步解调法 2. 包络解调法。 1.同步解调 (设在一个码元持续时间T内,经过带通滤波后的接收信号和噪声电压为: 其中 是一个窄带高斯过程。根据窄带随机过程的性质,我们可以得到: 经过带通滤波器后的接收电压为: 若没有噪声,上式简化为: ASK调制VHDL程序 ASK调制方框图 ASK调制电路符号 ASK调制VHDL程序 library ieee; use ieee.std_logic_arith.all; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity ASK is port( clk:in std_logic; --系统时钟 start:in std_logic; --开始调制信号 x :in std_logic; --基带信号 y :out std_logic); --调制信号 end ASK; architecture behav of ASK is signal q:integer range 0 to 3; --分频计数器 signal f :std_logic; --载波信号 begin process(clk) begin if clkevent and clk=1 then if start=0 then q=0; elsif q=1 then f=1;q=q+1; elsif q=3 then f=0;q=0; else f=0;q=q+1; end if; end if; end process; y=x and f; --对基带码进行调制 end behav; ASK解调电路符号 ASK解调VHDL程序 library ieee; use ieee.std_logic_arith.all; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity ASK2 is port(clk :in std_logic; --系统时钟 start :in std_logic; --同步信号 x :in std_logic; --调制信号 y :out std_logic); --基带信号 end ASK2; architecture behav of ASK2 is signal q:integer range 0 to 11; --计数器 signal xx:std_logic; --寄存x信号 signal m:integer range 0 to 5; --计xx的脉冲数 begin process(clk) --对系统时钟进行q分频, begin if clkevent and clk=1 then xx=x; if start=0 then q=0; --if语句完成q的循环计数 elsif q=11 then q=0; else q=q+1; end if; end if; end process; process(xx
文档评论(0)