欢迎来到天天文库
浏览记录
ID:33190326
大小:85.50 KB
页数:6页
时间:2019-02-21
《fsk调制与解调vhdl程序及仿真》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、8.10FSK调制与解调VHDL程序及仿真1.FSK调制VHDL程序--文件名:PL_FSK--功能:基于VHDL硬件描述语言,对基带信号进行FSK调制--最后修改日期:2004.3.16libraryieee;useieee.std_logic_arith.all;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityPL_FSKisport(clk:instd_logic;--系统时钟start:instd_logic;--开始调制信号x:instd_logic;--基带信号y:ou
2、tstd_logic);--调制信号endPL_FSK;architecturebehavofPL_FSKissignalq1:integerrange0to11;--载波信号f1的分频计数器signalq2:integerrange0to3;--载波信号f2的分频计数器signalf1,f2:std_logic;--载波信号f1,f2beginprocess(clk)--此进程通过对系统时钟clk的分频,得到载波f1beginifclk'eventandclk='1'thenifstart='0'thenq1<=0;elsifq1<=5thenf1<='1'
3、;q1<=q1+1;--改变q1后面的数字可以改变,载波f1的占空比elsifq1=11thenf1<='0';q1<=0;--改变q1后面的数字可以改变,载波f1的频率elsef1<='0';q1<=q1+1;endif;endif;15endprocess;process(clk)--此进程通过对系统时钟clk的分频,得到载波f2beginifclk'eventandclk='1'thenifstart='0'thenq2<=0;elsifq2<=0thenf2<='1';q2<=q2+1;--改变q2后面的数字可以改变,载波f2的占空比elsifq2=1
4、thenf2<='0';q2<=0;--改变q2后面的数字可以改变,载波f2的频率elsef2<='0';q2<=q2+1;endif;endif;endprocess;process(clk,x)--此进程完成对基带信号的FSK调制beginifclk'eventandclk='1'thenifx='0'theny<=f1;--当输入的基带信号x=‘0’时,输出的调制信号y为f1elsey<=f2;--当输入的基带信号x=‘1’时,输出的调制信号y为f2endif;endif;endprocess;endbehav;2.FSK调制VHDL程序仿真图FSK调制
5、VHDL程序仿真图如图8.10.7所示。15(a)FSK调制VHDL程序仿真全图注:a.载波f1、f2分别是通过对clk的12分频和2分频得到的。b.基带码长为载波f1的2个周期,为载波f2的6个周期。c.输出的调制信号y在时间上滞后于载波信号一个clk,滞后于系统时钟2个clk。(b)FSK调制VHDL程序仿真局部放大图图8.10.7FSK调制VHDL程序仿真图8.10.5FSK解调方框图及电路符号FSK解调方框图如图8.10.8所示,FSK解调电路符号如图8.10.9所示。说明:图中没有包含模拟电路部分,调制信号为数字信号形式。FPGAclkstart调制
6、信号分频器q寄存器xx计数器m判决基带信号图8.10.8FSK解调方框图15图8.10.9FSK解调电路符号8.10.6FSK解调VHDL程序及仿真1.FSK解调VHDL程序--文件名:PL_FSK2--功能:基于VHDL硬件描述语言,对FSK调制信号进行解调--最后修改日期:2004.3.16libraryieee;useieee.std_logic_arith.all;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityPL_FSK2isport(clk:instd_logic;-
7、-系统时钟start:instd_logic;--同步信号x:instd_logic;--调制信号y:outstd_logic);--基带信号endPL_FSK2;architecturebehavofPL_FSK2issignalq:integerrange0to11;--分频计数器signalxx:std_logic;--寄存器signalm:integerrange0to5;--计数器beginprocess(clk)--对系统时钟进行q分频begin15ifclk'eventandclk='1'thenxx<=x;--在clk信上升沿时,x信号对中间信
8、号xx赋值ifstart='0'the
此文档下载收益归作者所有