预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共15页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

等级:课程设计课程名称专业课程设计课题名称基于FPGA的FSK数字调制解调器设计专业电子信息工程班级1381学号201313020109姓名彭坚指导老师贺富朋2016年12月25日电气信息学院专业设计任务书课题名称基于FPGA的FSK数字调制器或解调器设计姓名彭坚专业电子信息工程班级1381学号09指导老师贺富朋课程设计时间2016年12月18日-2016年12月30日(17、18周)教研室意见意见:同意审核人:刘望军一、任务及要求设计任务:利用EDA技术,设计一套FSK数字通信传输系统,要求建立相应的EDA技术实现模型,主要完成2FSK调制器或解调器的编程,仿真与测试。设计要求:给出整体设计框图;完成各单元电路电路设计,完成仿真,出示仿真结果;写出设计报告;二、进度安排第一周:星期一:安排任务、讲课;星期二至星期五:查资料、设计;第二周:星期一至星期二:设计仿真及调试;星期三~星期四:写总结报告;星期五:答辩。三、参考资料1.刘昌华.数字逻辑EDA设计与实践.北京:国防工业出版社。2.苏青,张红.基于CPLD/FPGA技术的数字频率设计.北京:清华大学出版社。3.黄智伟.FPGA系统设计与实践.北京:电子工业出版社。4.张凤言.大规模逻辑器件与数字系统设计.北京:北京航空航天大学出版社。目录一、2FSK设计的基本原理………………………………………………11.12FSK的调制…………………………………………………………11.22FSK的解调…………………………………………………………2二、设计方案……………………………………………………………32.1调制程序……………………………………………………………32.2解调程序……………………………………………………………5三、仿真…………………………………………………………………63.1FSK调制仿真………………………………………………………63.2FSK解调仿真………………………………………………………8四、心得体会……………………………………………………………10一、2FSK调制和解调的基本原理二进制频移键控(2FSK)是由两种不同频率的正弦波来分别表示数字信号0和1,即通过频率的变化来传递信息。它的典型的调制方式有:键控法,直接调频法,差分检波算法。在接收端,2FSK信号的解调方法也有多种,其中同步解调和包络检波法较为常见,此外还有鉴频法,过零检测法等等。1.12FSK调制在2FSK信号中,载波频率随着f1和f2两个不同的频率间的变化因此其表达式为(2-1)即从表达式可以看出,一个2FSK可以写成两个不同载频的2ASK信号的叠加,由此可以看出2FSK的时域表达式可以写为(2-2)式中:g(t)为单个矩形脉冲,宽度等于Ts(2-3)是的反码其中,β和θ不携带任何信息,通常可令这两个变量为零,其波形图如下图1.22FSK解调1.2.1相干解调法相干解调法是将已调信号通过与其相同频率的本地载波相乘后再经过低通滤波器恢复原信号,2FSK信号的同步检测法是将已调信号分为两路,两路信号分别经过两路不同频率的带通滤波器,然后分别与两路不同的频率的载波信号相乘,其中f1对应“1”信号频率;f2对应“0”信号的频率,在解调器中,中心频率为f1的带通滤波器只允许中心频率为f1的信号通过,而滤除中心频率为f2的频率的信号;同时,中心频率为f2的带通滤波器只允许中心频率为f2的信号通过,而滤除中心频率为f1的频率的信号通过。【5】图2-4显示了2FSK信号的同步解调过程图。1.2.2非相干解调法非相干解调法即利用包络检波器从已调信号的波形的幅度中提取调制信号,我们说过,2FSK可以看做频率不同的两个2ASK信号的叠加而成,对于2ASK信号可以使用包络检波法,因此2FSK亦适用于这种非相干解调的方式,下图2-5显示了非相干解调的基本解调过程。图2-5二、设计方案2.1调制程序libraryieee;useieee.std_logic_arith.all;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityPPPL_FSKisport(clk:instd_logic;start:instd_logic;x:instd_logic;y:outstd_logic);endPPPL_FSK;architecturebehavofPPPL_FSKissignalq1:integerrange0to15;signalq2:integerrange0to3;signalf1,f2:std_logic;beginprocess(clk)beginifclk'eventandclk='1'thenifstart='0'thenq1<=0;elsi