基于FPGA的FSK数字调制解调器设计解读.docx
- 文档编号:9268539
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:15
- 大小:145.94KB
基于FPGA的FSK数字调制解调器设计解读.docx
《基于FPGA的FSK数字调制解调器设计解读.docx》由会员分享,可在线阅读,更多相关《基于FPGA的FSK数字调制解调器设计解读.docx(15页珍藏版)》请在冰豆网上搜索。
基于FPGA的FSK数字调制解调器设计解读
等级:
课程设计
课程名称
专业课程设计
课题名称
基于FPGA的FSK数字调制解调器设计
专业
电子信息工程
班级
1381
学号
201313020109
姓名
彭坚
指导老师
贺富朋
2016年12月25日
电气信息学院
专业设计任务书
课题名称
基于FPGA的FSK数字调制器或解调器设计
姓名
彭坚
专业
电子信息工程
班级
1381
学号
09
指导老师
贺富朋
课程设计时间
2016年12月18日-2016年12月30日(17、18周)
教研室意见
意见:
同意审核人:
刘望军
一、任务及要求
设计任务:
利用EDA技术,设计一套FSK数字通信传输系统,要求建立相应的EDA技术实现模型,主要完成2FSK调制器或解调器的编程,仿真与测试。
设计要求:
1、给出整体设计框图;
2、完成各单元电路电路设计,完成仿真,出示仿真结果;
3、写出设计报告;
二、进度安排
第一周:
星期一:
安排任务、讲课;
星期二至星期五:
查资料、设计;
第二周:
星期一至星期二:
设计仿真及调试;
星期三~星期四:
写总结报告;星期五:
答辩。
三、参考资料
1.刘昌华.数字逻辑EDA设计与实践.北京:
国防工业出版社。
2.苏青,张红.基于CPLD/FPGA技术的数字频率设计.北京:
清华大学出版社。
3.黄智伟.FPGA系统设计与实践.北京:
电子工业出版社。
4.张凤言.大规模逻辑器件与数字系统设计.北京:
北京航空航天大学出版社。
一、2FSK设计的基本原理………………………………………………1
1.12FSK的调制…………………………………………………………1
1.22FSK的解调…………………………………………………………2
二、设计方案……………………………………………………………3
2.1调制程序……………………………………………………………3
2.2解调程序……………………………………………………………5
三、仿真…………………………………………………………………6
3.1FSK调制仿真………………………………………………………6
3.2FSK解调仿真………………………………………………………8
四、心得体会……………………………………………………………10
一、2FSK调制和解调的基本原理
二进制频移键控(2FSK)是由两种不同频率的正弦波来分别表示数字信号0和1,即通过频率的变化来传递信息。
它的典型的调制方式有:
键控法,直接调频法,差分检波算法。
在接收端,2FSK信号的解调方法也有多种,其中同步解调和包络检波法较为常见,此外还有鉴频法,过零检测法等等。
1.1 2FSK调制
在2FSK信号中,载波频率随着f1和f2两个不同的频率间的变化因此其表达式为
(2-1)
即从表达式可以看出,一个2FSK可以写成两个不同载频的2ASK信号的叠加,由此可以看出2FSK的时域表达式可以写为
(2-2)
式中:
g(t)为单个矩形脉冲,宽度等于Ts
(2-3)
是
的反码
其中,β和θ不携带任何信息,通常可令这两个变量为零,其波形图如下图
1.2 2FSK解调
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_FSKis
port(clk:
instd_logic;
start:
instd_logic;
x:
instd_logic;
y:
outstd_logic);
endPPPL_FSK;
architecturebehavofPPPL_FSKis
signalq1:
integerrange0to15;
signalq2:
integerrange0to3;
signalf1,f2:
std_logic;
begin
process(clk)
begin
ifclk'eventandclk='1'then
ifstart='0'thenq1<=0;
elsifq1<=7thenf1<='1';q1<=q1+1;
elsifq1=15thenf1<='0';q1<=0;
elsef1<='0';q1<=q1+1;
endif
endif;
endprocess;
process(clk)
begin
ifclk'eventandclk='1'then
ifstart='0'thenq2<=0;
elsifq2<=0thenf2<='1';q2<=q2+1;
elsifq2=1thenf2<='0';q2<=0;
elsef2<='0';q2<=q2+1;
endif;
endif;
endprocess;
process(clk,x)
begin
ifclk'eventandclk='1'then
ifx='0'theny<=f1;
elsey<=f2;
endif;
endif;
endprocess;
endbehav;
2.2解调程序
libraryieee;
useieee.std_logic_arith.all;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityDL_FSKis
port(clk:
instd_logic;
start:
instd_logic;
x:
instd_logic;
y:
outstd_logic);
endDL_FSK;
architecturebehavofDL_FSKis
signalq:
integerrange0to15;
signalxx:
std_logic;
signalm:
integerrange0to5;
begin
process(clk)
begin
ifclk'eventandclk='1'thenxx<=x;
ifstart='0'thenq<=0;
elsifq=15thenq<=0;
elseq<=q+1;
endif;
endif;
endprocess;
process(xx,q)
begin
ifq=15thenm<=0;
elsifq=10then
ifm<=3theny<='0';
elsey<='1';
endif;
elsifxx'eventandxx='1'thenm<=m+1;
endif;
endprocess;
endbehav;
三、仿真
3.12FSK信号的调制波形仿真
工程编译通过后,有必要对其功能和时序性进行详细的仿真测试,已验证设计结果是否满足设计要求。
整个时序仿真测试流程有,建立波形文件、输入信号、设置波形参数编辑输入信号、波形文件存盘、运行仿真器和分析仿真波形等步骤。
[1]建立仿真波形文件。
即选择File菜单的New选项,在弹出的文件类型编辑对话框中,选择OtherFiles中的VectorWeaveformFile项,单击OK按钮,即出现波形文件窗口。
[2]设置仿真时间区域。
对于时序仿真测试来说,将仿真时间设置在一个合理时间区域是十分重要的,一般视实际情况具体而定。
本设计调制部分将仿真时间区域设为6us、周期为40ns其设计步骤实在Edit菜单中选择EndTime,在弹出的Time处填上6,同理在GrideSize中Timeperiod输入40ns,单击OK按钮。
[3]输入各工程信号的节点。
即选择View菜单中的UtilityWindows项的NodeFinder,即可弹出如图3-6所示的对话框,在此对话框Filter项中选Pins:
all&Registers:
Post-fitting,然后单击List按钮,于是在下方的NodesFound窗口中出现设计中的PPPL_FSK工程的所有端口的引脚注明。
用鼠标将时钟信号节点clk、start、x、q1、f1、q2、f2和y分别拖到波形编辑窗口,如下图所示。
图3-6 2FSK调制波形编辑器输入信号窗口
[4]设计信号波形,首先单击左侧的全屏显示按钮,使之处于适当的位置。
单击时钟信号clk使之变成蓝色条,再单击右键,选择Value设置中的CountValue项,设置clk为连续变化的二进制数值,初始值为0,。
单击start使之成为蓝色,再单击右键,选择Value设置中的ForcingHigh项,使得start变成高电平信号。
单击x使之变成蓝色,再单击WaveformEditing按钮,把x变成高低电平连续变化的信号。
[5]文件存盘。
选择File中的SaveAs项,将波形文件以默认名PPPL_FSK.vwf存盘即可。
[6]所有设置完毕后,即可启动仿真器Processing/startsimulation直到出现Simulationwassuccessful,仿真结束。
仿真波形输出文件PPPL_FSKSimulationReport将自动弹出仿真图形。
注意,Quartus‖的仿真波形文件中,波形编辑文件与波形仿真报告输出文件是分开的。
图3-7显示了2FSK信号的调制仿真结果。
图3-7 2FSK信号的调制仿真结果图
3.22FSK信号的解调波形仿真
[1]建立仿真波形文件。
即选择File菜单的New选项,在弹出的文件类型编辑对话框中,选择OtherFiles中的VectorWeaveformFile项,单击OK按钮,即出现波形文件窗口。
[2]设置仿真时间区域。
对于时序仿真测试来说,将仿真时间设置在一个合理时间区域是十分重要的,一般视实际情况具体而定。
本设计调制部分将仿真时间区域设为6us、周期为40ns其设计步骤实在Edit菜单中选择EndTime,在弹出的Time处填上6,同理在GrideSize中Timeperiod输入40ns,单击OK按钮。
[3]输入各工程信号的节点。
即选择View菜单中的UtilityWindows项的NodeFinder,即可弹出下图所示的对话框,在此对话框Filter项中Pins:
allRegisters:
Post-fitting,然后单击List按钮,于是在下方的NodesFound窗口中出现设计中的DL_FSK工程的所有端口的引脚明。
用鼠标将时钟信号节点clk、start、x、q、y、xx、m分别拖到波形编辑窗口,如图3-14所示。
图3-14 解调波形编辑窗口
[4]设计信号波形,首先单击左侧的全屏显示按钮,使之处于适当的位置。
单击时钟信号clk使之变成蓝色条,再单击右键,选择Value设置中的CountValue项,设置clk为连续变化的二进制数值,初始值为0。
单击start使之成为蓝色条,再单击右键,选择Value设置中的ForcingHigh项,使得start变成高电平信号。
单击x使之变成蓝色条,再单击WaveformEditing按钮,把x变成高低电平连续变化的信号。
[5]文件存盘。
选择File中的SaveAs项,将波形文件以默认名DL_FSK.vwf存盘即可。
[6]所有设置完毕后,即可气筒仿真器Processing/startsimulation直到出现Simulationwassuccessful,仿真结束。
仿真波形输出文件DL_FSKSimulationReport将自动弹出仿真图形。
注意,Quartus‖的仿真波形文件中,波形编辑文件与波形仿真报告输出文件是分开的。
图3-15显示了在VHDL语言下的2FSK的解调仿真图。
图3-15 2FSK解调VHDL的程序仿真结果图
四、心得体会
通过此次课程设计,使我更加扎实的掌握了有关FSK2FSK方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。
实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。
过而能改,善莫大焉。
在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获龋最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。
这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。
在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!
课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。
同时,设计让我感触很深。
使我对抽象的理论有了具体的认识。
通过这次课程设计,我掌握了常用元件的识别和测试;熟悉了常用软件quartusII。
此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。
对于这一次的收获,自己发现问题解决问题的能力有所提升。
还有就是对自己细心程度的提升。
我们从书本上学到的知识应用于实践,再次巩固了我的动手能力,提高了我的思考能力。
虽然设计过程中遇到了很多困难,但是在解决这些问题的过程无疑是对自身专业素质的提高。
当最终仿真成功的时候也是对自己的一种肯定。
此次的设计不仅增强了自己在专业设计方面的信息,鼓舞了自己,更是一次兴趣的培养。
电气信息学院课程设计评分标准
环节
项目
评价
优
良
中
及格
不及格
实践环节(70%)
1、设计方案合理性与创造性
2、编程完成情况
3、电路模块仿真调试结果
4、硬件测试过程及结果
5、解决问题能力及答辩情况
6、纪律和出勤情况
设计报告(30%)
1设计报告内容完整、规范
2设计步骤规范、正确
3仿真调试结果正确、波形清楚
4硬件测试过程规范、结果正确
综合评价
课程设计成绩评定为:
□优□良□中□及格□不及格
指导老师签名:
________________
日期:
________________
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA FSK 数字 调制解调器 设计 解读
![提示](https://static.bdocx.com/images/bang_tan.gif)