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

全数字2FSK调制解调系统.doc

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

实验二、全数字2FSK调制解调系统 一. 实验目的 掌握2FSK调制解调的原理及其实现方法; 掌握MAX+pluⅡ开发软件的运用,在该软件下熟练的运用多种输入方式完成各种电路设计的要求; 初步掌握VHDL语言,能够运用该语言编写简单的程序,完成设计要求; 熟悉对PLD的下载和仿真,学会观察测试结果的正确性; 学会运用各方面知识,设计并实现一个系统。 二. 实验要求 使用MAX+pluⅡ软件,用M序列发生器作为信号源设计全数字2FSK调制解调系统,速率可自定, 并在实验箱上调试出调制和解调波形,并将信号源和解调结果进行比较。 三. 实验设备 MAX+plusⅡ开发系统、微机1台、示波器1台、稳压电源1台、万用表1只、实验箱1套 四. 实验原理: FSK(Frequency Shift Keying) 方波源 由FPGA内部晶振构成,频率为32.768MHz,为了使后续的A/D和D/A能在1MHz正常工作,方波源必须进行分频,降到1MHz以下。 分频器 由不同进制的计数器构成不同模的分频器。由于载波的频率要高于m序列信号源的频率,因此产生m序列的分频器模要比产生载波的分频器模大,且载波1和载波2的频率不同,它们所用的分频器的模也不同。 m序列 由伪随机信号m序列构成,可根据其生成多项式选择不同阶数的伪随机序列。 载波 载波f1和载波f2通过D/A映射表来设计,一周期取8点或16点或32点都可以,自己决定。 调制 采用二选一数据选择器即可完成。 2、FSK解调原理 FSK解调总体框图如下: 各部分的对应的波形原理为: 经抽样判决后,得到规整的信码。 3、位同步提取 与HDB3位同步原理相同,略。 五. 实验方案 1、设计思路 因FPGA实验板的晶振为32.768M,频率过高,所以要对系统时钟进行分频,设计了一个64分频器。考虑到接收端的A/D采样工作频率,将输入的时钟又通过了8分频器,然后通过8分频得到载波f1,速率32.768M/64/8/8=8Kbps;通过16分频得到载波f2,速率32.768M/64/8/16=4Kbps;通过1024分频得到信码,速率32.768M/64/8/1024=62.5bps;我们采用5阶伪随机序列。在调制模块中称为div64模块、div8模块、div16模块、div1024模块和m5模块。 之后,电路中加入两个载波映射表,将两个不同的频率根据D/A转换表映射成不同的载波。它们分别为f1_zaibo和f2_zaibo模块。然后通过调制模块mux成为2FSK调制信号。 解调电路采用过零检测的方法,不同的载波对应的零点数不同,过零点数反映了载波变化的不同,也反映了信码的不同。按设计原理,解调模块包括:A/D采样模块、将正弦波进行变换的整形模块、微分整流模块、脉冲展宽模块、低通滤波模块和抽样判决模块。 为使解调部分的时钟信号与调制部分同步,加入了位同步dpll模块,控制解调部分的抽样判决时钟。 2、分频器模块 调制模块中共有div64.v、div8.v、div16.v、div1024.v、div128.v等分频器模块,设计如下,供参考。 ///////////////////////////////////////////////////////////////////////////// // 64分频器 module div32( clk, divout); input clk; output divout; reg [5:0]div; //采用6bit寄存器 reg divout; initial div=0; always @(posedge clk) begin div=div+1; //计数器操作 divout=div[5]; //输出最高位 end endmodule /////////////////////////////////////////////////////////////////////////////// // 8分频器 module div128( clk, divout); input clk; output divout; reg [2:0]div; //采用3bit寄存器 reg divout; initial div=0; always @(posedge clk) begin div=div+1; //计数器操作 divout=div[2]; //输出最高位 end endmodule ////////////////////////////////////////////////////////////////////////// // 16分频器 module div128( clk, div

文档评论(0)

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

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

1亿VIP精品文档

相关文档