FSK调制与解调VHDL程序及仿真_第1页
FSK调制与解调VHDL程序及仿真_第2页
FSK调制与解调VHDL程序及仿真_第3页
FSK调制与解调VHDL程序及仿真_第4页
FSK调制与解调VHDL程序及仿真_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、8.10 FSK调制与解调VHDL程序及仿真1. FSK调制VHDL程序-文件名:PL_FSK-功能:基于VHDL硬件描述语言,对基带信号进行FSK调制-最后修改日期:library ieee;use ieee.std_logic_arith.all;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity PL_FSK isport(clk :in std_logic; -系统时钟 start :in std_logic; -开始调制信号 x :in std_logic; -基带信号 y :out std_logic

2、); -调制信号end PL_FSK;architecture behav of PL_FSK issignal q1:integer range 0 to 11; -载波信号f1的分频计数器signal q2:integer range 0 to 3; -载波信号f2的分频计数器signal f1,f2:std_logic; -载波信号f1,f2beginprocess(clk) -此进程通过对系统时钟clk的分频,得到载波f1beginif clkevent and clk=1 then if start=0 then q1=0; elsif q1=5 then f1=1;q1=q1+1;

3、 -改变q1后面的数字可以改变,载波f1的占空比 elsif q1=11 then f1=0;q1=0; -改变q1后面的数字可以改变,载波f1的频率 else f1=0;q1=q1+1; end if;end if;end process;process(clk) -此进程通过对系统时钟clk的分频,得到载波f2beginif clkevent and clk=1 then if start=0 then q2=0; elsif q2=0 then f2=1;q2=q2+1; -改变q2后面的数字可以改变,载波f2的占空比 elsif q2=1 then f2=0;q2=0; -改变q2后面

4、的数字可以改变,载波f2的频率 else f2=0;q2=q2+1; end if;end if;end process;process(clk,x) -此进程完成对基带信号的FSK调制beginif clkevent and clk=1 then if x=0 then y=f1; -当输入的基带信号x=0时,输出的调制信号y为f1 else y=f2; -当输入的基带信号x=1时,输出的调制信号y为f2 end if;end if;end process;end behav;2. FSK调制VHDL程序仿真图FSK调制VHDL程序仿真图如图8.10.7所示。(a)FSK调制VHDL程序仿真

5、全图注:a. 载波f1、f2分别是通过对clk的12分频和2分频得到的。b.基带码长为载波f1的2个周期,为载波f2的6个周期。c.输出的调制信号y在时间上滞后于载波信号一个clk,滞后于系统时钟2个clk。(b)FSK调制VHDL程序仿真局部放大图图8.10.7 FSK调制VHDL程序仿真图 8.10.5 FSK解调方框图及电路符号FSK解调方框图如图8.10.8所示, FSK解调电路符号如图8.10.9所示。说明:图中没有包含模拟电路部分,调制信号为数字信号形式。FPGA clkstart调制信号分频器q寄存器xx计数器m判决基带信号图8.10.8 FSK解调方框图图8.10.9 FSK解

6、调电路符号8.10.6 FSK解调VHDL程序及仿真1. FSK解调VHDL程序-文件名:PL_FSK2-功能:基于VHDL硬件描述语言,对FSK调制信号进行解调-最后修改日期:library ieee;use ieee.std_logic_arith.all;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity PL_FSK2 isport(clk :in std_logic; -系统时钟 start :in std_logic; -同步信号 x :in std_logic; -调制信号 y :out std_l

7、ogic); -基带信号end PL_FSK2;architecture behav of PL_FSK2 issignal q:integer range 0 to 11; -分频计数器signal xx:std_logic; -寄存器 signal m:integer range 0 to 5; -计数器beginprocess(clk) -对系统时钟进行q分频beginif clkevent and clk=1 then xx=x; -在clk信上升沿时,x信号对中间信号xx赋值 if start=0 then q=0; -if语句完成Q的循环计数 elsif q=11 then q=0

8、; else q=q+1; end if;end if;end process;process(xx,q) -此进程完成FSK解调begin if q=11 then m=0;-m计数器清零elsif q=10 then if m=3 then y=0; -if语句通过对m大小,来判决y输出的电平 else y=1; end if;elsif xxevent and xx=1then m=m+1; -计xx信号的脉冲个数end if;end process;end behav;2.FSK解调VHDL程序仿真图及注释FSK解调VHDL程序仿真图及注释如图8.10.10所示。(a)FSK解调VHDL程序仿真全图注:a.在q=11时,m清零。b.在q=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论