2FSK数字信号频带传输系统的设计与建模.docx
- 文档编号:30154541
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:27
- 大小:947.75KB
2FSK数字信号频带传输系统的设计与建模.docx
《2FSK数字信号频带传输系统的设计与建模.docx》由会员分享,可在线阅读,更多相关《2FSK数字信号频带传输系统的设计与建模.docx(27页珍藏版)》请在冰豆网上搜索。
2FSK数字信号频带传输系统的设计与建模
课程设计任务书
学生姓名:
COBE专业班级:
电信1333班
指导教师:
工作单位:
信息工程学院
题目:
2FSK数字信号频带传输系统的设计与建模
初始条件:
(1)MAX+plus、QuartusII、ISE等软件;
(2)课程设计辅导书:
《通信原理课程设计指导》
(3)先修课程:
数字电子技术、模拟电子技术、电子设计EDA、通信原理
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
(1)课程设计时间:
;
(2)课程设计题目:
2FSK数字信号频带传输系统的设计与建模;
(3)本课程设计统一技术要求:
按照要求对题目进行逻辑分析,了解2FSK数字信号的产生方法,画出FSK调制解调的方框图,编写VHDL语言程序,上机调试、仿真,记录实验结果波形,对实验结果进行分析;
(4)课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,并标明参考文献至少5篇;
(5)写出本次课程设计的心得体会(至少500字)。
时间安排:
第19周
参考文献:
江国强.EDA技术与应用.北京:
电子工业出版社,2010
JohnG.Proakis.DigitalCommunications.北京:
电子工业出版社,2011
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
本科生课程设计成绩评定表
姓名
性别
专业班级
课程设计题目:
2FSK数字信号频带传输系统的设计与建模
课程设计答辩或质疑记录:
成绩评定依据:
最终评定成绩(以优、良、中、及格、不及格评定)
指导教师签字:
年月日
目录
1设计要求分析……………………………………………………………………1
1.1题目的意义………………………………………………………………………1
1.2设计要求…………………………………………………………………………1
2FSK设计的原理与方案……………………………………………………………2
2.1FSK的调制………………………………………………………………………2
2.1.1直接调频法………………………………………………………………2
2.1.2频率键控法………………………………………………………………2
2.1.3基于FPGA的FSK调制方案………………………………………………3
2.2FSK的解调………………………………………………………………………3
2.2.1同步(相干)解调法………………………………………………………3
2.2.2FSK滤波非相干解调法……………………………………………………4
2.2.3基于FPGA的FSK解调方案………………………………………………4
3FSK设计的程序与仿真……………………………………………………………5
3.1FSK基于VHDL语言调制…………………………………………………………5
3.1.1FSK调制程序………………………………………………………………5
3.1.2FSK调制仿真………………………………………………………………6
3.2FSK基于VHDL语言解调………………………………………………………10
3.2.1FSK调制程序……………………………………………………………10
3.2.2FSK调制仿真……………………………………………………………11
4FSK基于FPGA实物测试…………………………………………………………14
4.1FPGA原理图及其引脚分配………………………………………………………14
4.1.1数码管电路介绍…………………………………………………………14
4.1.2按键电路介绍……………………………………………………………15
4.1.3LED电路介绍……………………………………………………………16
4.2FPGA程序………………………………………………………………………17
4.3FPGA结果演示…………………………………………………………………19
5课程设计心得……………………………………………………………………20
6参考文献…………………………………………………………………………21
1设计要求分析
1.1题目的意义
数字调制技术是现代通信的一个重要内容,在数字通信系统中,由于数字信号具有丰富的低频成份,不宜进行无线传输或长距离电缆传输,因而需要将基带信号进行数字调制(DigitalModulation)。
数字调制同时也是数字信号频分复用的基本技术。
数字调制与模拟调制都属于正弦波调制,但是,数字调制是调制信号为数字型的正弦波调制,因而数字调制具有自身的特点,一般说来数字调制技术分为两种类型:
一是把数字基带信号当作模拟信号的特殊情况来处理;二是利用数字信号的离散取值去键控载波,从而实现数字调制。
后一种方法通常称为键控法。
例如可以对载波的振幅、频率及相位进行键控,便可获得振幅键控(ASK)、移频键控(FSK)、相移键控(PSK)等调制方式。
移频键控(FSK)是数字信息传输中使用较早的一种调制形式,它由于其抗干扰及衰落性较好且技术容易实现,因而在集散式工业控制系统中被广泛采用。
以往的键控移频调制解调器采用“定功能集成电路+连线”式设计;集成块多,连线复杂,容易出错,且体积较大,本设计采用Lattice公司的FPGA芯片,有效地缩小了系统的体积,降低了成本,增加了可靠性,同时系统采用VHDL语言进行设计,具有良好的可移植性及产品升级的系统性。
1.2设计要求
1.了解了FSK信号的基本概念后,利用QuartusII软件中的VHDL语言对2FSK频移键控系统就行调制、解调的程序设计。
2.程序设计运行成功后,在利用VHDL语言对FSK频移键控系统进行调制、解调的波形仿真。
3.最后通过VHDL语言制作出FSK频移键控系统调制、解调的电路图。
2FSK设计的原理与方案
2.1FSK的调制
频移键控即FSK(Frequency-ShiftKeying)数字信号对载波频率调制,主要通过数字基带信号控制载波信号的频率来来传递数字信息。
在二进制情况下,“1”对应于载波频率,“0”对应载波频率,但是它们的振幅和初始相位不变化。
FSK信号产生的两种方法:
2.1.1直接调频法
用二进制基带矩形脉冲信号去调制一个调频器,使其输出两个不同频率的码元。
一般采用的控制方法是:
当基带信号为正时(相当于“1”码),改变振荡器谐振回路的参数(电容或者电感数值),使振荡器的振荡频率提高(设为f1);当基带信号为负时(相当于“0”码),改变振荡器谐振回路的参数(电容或者电感数值),使振荡器的振荡频率降低(设为f2);从而实现了调频。
这种方法产生的调频信号是相位连续的,虽然实现方法简单,但频率稳定度不高,同时频率转换速度不能做得太快,但是其优点是由调频器所产生的FSK信号在相邻码元之间的相位是连续的。
2.1.2频率键控法
频率键控法也称频率选择法。
它有两个独立的振荡器,数字基带信号控制转换开关,选择不同频率的高频振荡信号实现FSK调制。
图1频率健控法原理框图
键控法产生的FSK信号频率稳定度可以做得很高并且没有过渡频率,它的转换速度快,波形好。
频率键控法在转换开关发生转换的瞬间,两个高频振荡的输出电压通常不可能相等,于是uFSK(t)信号在基带信息变换时电压会发生跳变,这种现象也称为相位不连续,这是频率键控特有的情况。
2.1.3基于FPGA的FSK调制方案
图2FSK调制方框图
图3FSK调制电路符号
2.2FSK的解调
数字频率键控(FSK)信号常用的解调方法有很多种如:
2.2.1同步(相干)解调法
在同步解调器中,有上、下两个支路,输入的FSK信号经过
和
两个带通滤波器后变成了上、下两路ASK信号,之后其解调原理与ASK类似,但判决需对上、下两支路比较来进行。
假设上支路低通滤波器输出为
,下支路低通滤波器输出为
,则判决准则是:
图4相干解调法原理框图
接收信号经过并联的两路带通滤波器进行滤波与本地相干载波相乘和包络检波后,进行抽样判决,判决的准则是比较两路信号包络的大小。
假设上支路低通滤波器输出为
,下支路低通滤波器输出为
,则判决准则是:
如果上支的信号包络较大,则判决为“1”;反之,判决为收到为“0”。
2.2.2FSK滤波非相干解调法
输入的FSK中频信号分别经过中心频为、的带通滤波器,然后分别经过包络检波,包络检波的输出在t=kTb时抽样(其中k为整数),并且将这些值进行比较。
根据包络检波器输出的大小,比较器判决数据比特是1还是0。
图5非相干解调法原理框图
2.2.3基于FPGA的FSK解调方案
图6FSK解调方框图
图7FSK解调电路符号
3FSK设计的程序与仿真
3.1FSK基于VHDL语言调制
3.1.1FSK调制程序
文件名:
FSKTZ
--功能:
基于VHDL硬件描述语言,对基带信号进行FSK调制
LIBRARYIEEE;
USEIEEE.STD_LOGIC_ARITH.ALL;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYFSKTZIS
PORT(CLK:
INSTD_LOGIC;--系统时钟
START:
INSTD_LOGIC;--开始调制信号
X:
INSTD_LOGIC;--基带信号
Y:
OUTSTD_LOGIC);--调制信号
ENDFSKTZ;
ARCHITECTUREBEHAVOFFSKTZIS
SIGNALQ1:
INTEGERRANGE0TO11;--载波信号F1的分频计数器
SIGNALQ2:
INTEGERRANGE0TO3;--载波信号F2的分频计数器
SIGNALF1,F2:
STD_LOGIC;--载波信号F1,F2
BEGIN
PROCESS(CLK)--产生载波F1
BEGIN
IF(CLK'EVENTANDCLK='1')THEN
IFSTART='0'THENQ1<=0;
ELSIFQ1<=5THENF1<='1';Q1<=Q1+1;--改变Q1可以改变载波F1
--的占空比
ELSIFQ1=11THENF1<='0';Q1<=0;
ELSEF1<='0';Q1<=Q1+1;
ENDIF;
ENDIF;
ENDPROCESS;
PROCESS(CLK)--产生载波F2
BEGIN
IF(CLK'EVENTANDCLK='1')THEN
IFSTART='0'THENQ2<=0;
ELSIFQ2=1THENF2<='0';Q2<=0;
ELSIFQ2<=0THENF2<='1';Q2<=Q2+1;
ELSEF2<='0';Q2<=Q2+1;
ENDIF;
ENDIF;
ENDPROCESS;
PROCESS(CLK,X)--此进程完成对基带信号的FSK调制
BEGIN
IF(CLK'EVENTANDCLK='1')THEN
IFX='0'THENY<=F1;--X=’0’时,输出F1
ELSEY<=F2;--X=’1’时,输出F2
ENDIF;
ENDIF;
ENDPROCESS;
ENDBEHAV;
3.1.2FSK调制仿真
工程编译通过后,必须对其功能和时序性能进行仿真测试,以验证设计结果是否满足设计要求。
整个时序仿真测试流程一般有建立波形文件、输入信号节点、设置波形参数、编辑输入信号、波形文件存盘、运行仿真器和分析方针波形等步骤。
假设需要调制的二进制序列为[1101001011001],且码元宽度为480ns。
一、FSK调制波形仿真
①建立仿真测试波形文件。
选择QuartusII主窗口的File菜单的New选项,在弹出的文件类型编辑对话框中,选择OtherFiles中的VectorWeaveformFile项,单击OK按钮,即出现如图8所示的波形文件编辑窗口。
图8波形文件编辑窗口
②设置仿真时间区域。
对于时序仿真测试来说,将仿真时间设置在一个合理的时间区域内是十分必要的,通常设置的时间区域将视具体的设计项目而定。
设计中整个仿真时间区域设为6us、时间轴周期为40ns,其设置步骤是在Edit菜单中选择EndTime,在弹出的窗口中Time处填入6,单位选择us,同理在GrideSize中Timeperiod输入40ns,单击OK按钮,设置结束。
③输入工程信号节点
选择View菜单中的UtilityWindows项的NodeFinder,即可弹出如图4.1.2所示的对话框,在此对话框Filter项中选择Pins:
all&Registers:
Post-fitting,然后单击List按钮,于是在下方的NodesFound窗口中出现设计中的PL_FSK工程的所有端口的引脚名。
用鼠标将时钟信号节点clk、start、x、q1、f1、q2、f2和y分别拖到波形编辑窗口,如图9所示,此后关闭NodesFound窗口即可。
图9FSK调制波形编辑器输入信号窗口
④设计信号波形。
单击图9左侧的全屏显示按钮,使之全屏显示,并单击放大缩小按钮,再用鼠标在波形编辑窗口单击(右击为放大,左击为缩小),使仿真坐标处于适当位置。
单击图9窗口的时钟信号clk使之变成蓝色条,再单击右键,选择Value设置中的CountValue项,设置clk为连续变化的二进制值,初始值为“0”。
单击start使之变成蓝色,再单击右键,选择Value设置中的ForcingHigh项,使start变成高电平信号。
单击x使之变成蓝色,再单击右左侧WaveformEditing按钮,把x变成高低电平连续变化信号。
⑤文件存盘
选择File中的Saveas项,将波形文件以默认名FSKTZ.vwf存盘即可。
⑥所有设置完成后,即可启动仿真器Processing︱StartSimulation直到出现Simulationwassuccessful,仿真结束。
仿真波形输出文件FSKTZSimulationReport将自动弹出如图10所示。
注意,QuartusII的仿真波形文件中,波形编辑文件(*.vwf)与波形仿真报告输出文件(SimulationReport)是分开的,而MaxplusII的激励波形编辑文件与波形仿真报告输出文件是合二为一的。
图10FSK调制VHDL程序仿真全图
图11FSK调制VHDL程序仿真局部放大图
二、FSK调制电路
FSK调制电路如图12所示:
图12FSK调制电路图
QuartusII可实现硬件描述语言或网表文件(VHDL、Verilog、BDF、TDF、EDIF、VQM)对应的RTL电路图的生成。
其方法为:
选择Tools︱RTLViewer,可以打开FSKTZ工程个层次的RTL电路图,双击图形中有关模块,或选择左侧各项,可了解个层次的电路结构。
3.2FSK基于VHDL语言解调
3.2.1FSK解调程序
文件名:
FSKJT
--功能:
基于VHDL硬件描述语言,对基带信号进行FSK解调
LIBRARYIEEE;
USEIEEE.STD_LOGIC_ARITH.ALL;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYFSKJTIS
PORT(CLK:
INSTD_LOGIC;--系统时钟
START:
INSTD_LOGIC;--同步信号
X:
INSTD_LOGIC;--调制信号
Y:
OUTSTD_LOGIC);--基带信号
ENDFSKJT;
ARCHITECTUREBEHAVOFFSKJTIS
SIGNALQ:
INTEGERRANGE0TO11;--分频计数器
SIGNALXX:
STD_LOGIC;--寄存器
SIGNALM:
INTEGERRANGE0TO5;--计数器
BEGIN
PROCESS(CLK)
BEGIN
IF(CLK'EVENTANDCLK='1')THENXX<=X;--在CLK信号上升沿时
--X信号对中间信号XX赋值
IFSTART='0'THENQ<=0;--IF语句完成对Q的循环计数
ELSIFQ=11THENQ<=0;
ELSEQ<=Q+1;
ENDIF;
ENDIF;
ENDPROCESS;
PROCESS(XX,Q)--此进程完成对FSK解调
BEGIN
IFQ=11THENM<=0;--M计数器清零
ELSIFQ=10THEN
IFM<=3THENY<='0';--IF语句通过对M大小,来判决Y输出的电平
ELSEY<='1';
ENDIF;
ELSIFXX'EVENTANDXX='1'THENM<=M+1;--计XX信号的脉冲个数
ENDIF;
ENDPROCESS;
ENDBEHAV;
3.2.2FSK解调仿真
工程编译通过后,必须对其功能和时序性能进行仿真测试,以验证设计结果是否满足设计要求。
整个时序仿真测试流程一般有建立波形文件、输入信号节点、设置波形参数、编辑输入信号、波形文件存盘、运行仿真器和分析方针波形等步骤。
以FSK调制的输出作为FSK解调的输入。
一、FSK解调波形仿真
①建立仿真测试波形文件。
选择QuartusII主窗口的File菜单的New选项,在弹出的文件类型编辑对话框中,选择OtherFiles中的VectorWeaveformFile项,单击OK按钮,即出现波形文件编辑窗口。
②设置仿真时间区域。
对于时序仿真测试来说,将仿真时间设置在一个合理的时间区域内是十分必要的,通常设置的时间区域将视具体的设计项目而定。
设计中整个仿真时间区域设为6us、时间轴周期为40ns,其设置步骤是在Edit菜单中选择EndTime,在弹出的窗口中Time处填入6,单位选择us,同理在GrideSize中Timeperiod输入40ns,单击OK按钮,设置结束。
③输入工程信号节点
选择View菜单中的UtilityWindows项的NodeFinder,即可弹出如图4.2.1所示的对话框,在此对话框Filter项中选择Pins:
all&Registers:
Post-fitting,然后单击List按钮,于是在下方的NodesFound窗口中出现设计中的PL_FSK2工程的所有端口的引脚名。
用鼠标将时钟信号节点clk、start、x、y、q、m和xx分别拖到波形编辑窗口,如图13所示,此后关闭NodesFound窗口即可。
图13FSK解调波形编辑器输入信号窗口
④设计信号波形。
单击图13左侧的全屏显示按钮,使之全屏显示,并单击放大缩小按钮,再用鼠标在波形编辑窗口单击(右击为放大,左击为缩小),使仿真坐标处于适当位置。
单击图13窗口的时钟信号clk使之变成蓝色条,再单击右键,选择Value设置中的CountValue项,设置clk为连续变化的二进制值,初始值为“0”。
单击start使之变成蓝色,再单击右键,选择Value设置中的ForcingHigh项,使start变成高电平信号。
单击x使之变成蓝色,再单击右左侧WaveformEditing按钮,把x变成高低电平连续变化信号。
⑤文件存盘
选择File中的Saveas项,将波形文件以默认名FSKJT.vwf存盘即可。
⑥所有设置完成后,即可启动仿真器Processing︱StartSimulation直到出现Simulationwassuccessful,仿真结束。
仿真波形输出文件FSKJTSimulationReport将自动弹出如图14所示。
注意,QuartusII的仿真波形文件中,波形编辑文件(*.vwf)与波形仿真报告输出文件(SimulationReport)是分开的,而MaxplusII的激励波形编辑文件与波形仿真报告输出文件是合二为一的。
图14FSK解调VHDL程序仿真全图
图15FSK解调VHDL程序仿真局部放大图
二、FSK调制电路
FSK调制电路如图16所示:
图16FSK解调电路图
QuartusII可实现硬件描述语言或网表文件(VHDL、Verilog、BDF、TDF、EDIF、VQM)对应的RTL电路图的生成。
其方法为:
选择Tools︱RTLViewer,可以打开PL_FSK2工程个层次的RTL电路图,双击图形中有关模块,或选择左侧各项,可了解个层次的电路结构,如图16所示。
4FSK基于FPGA实物测试
此款开发板使用的是ALERA公司的CYCLONEIV系列FPGA,型号为EP4CEF17C8,256引脚的FBGA封装。
4.1FPGA原理图及其引脚分配
4.1.1数码管电路介绍
使用的是共阳极数码管,当某一字段对应的引脚为低电平时,相应字段
就点亮,当某一字段对应的引脚为高电平时,相应字段就不亮。
其原理图如图17所示,引脚分配如图18所示。
图17数码管原理图
图18数码管引脚分配图
4.1.2按键电路介绍
按键为低电平有效,其原理图如图19所示,引脚分配图如图20所示。
图19按键原理图
图20按键引脚分配图
4.1.3LED电路介绍
开发板板载了4个LED发光二极管,引脚高电平时LED发光,低电平时
LED不发光,其理图如图21所示,引脚分配图22所示。
图21LED原理图
图22LED引脚分配图
4.2FPGA程序
图23为此开发板中所用到的资源及其引脚对应关系。
图23引脚对应
程序如下:
4.3FPGA结果演示
图24
图25
程式分析:
调制:
‘0’码跟‘1’码采用不同频率的信号发送至LED0端口,且‘0’码的频率是‘1’码的6倍,当按下KEY1时,发送‘0’码,当按下KEY2时,发送‘1’码。
为了便于识别,将‘1’码对应的信号占空比改成了10%,‘0’码对应的信号占空比改成了50%,因此发送‘1’码时的LED灯亮度高于‘0’码。
解调:
由于‘0’码的频率高于‘1’码元,在12个时钟周期内,显然‘0’码产生的上升沿是‘1’码元的6倍,因此,在程序中,设置一个整型信号变量M,来读取12个周期内的上升沿,当上升沿小于3个时肯定是‘1’码,反之则为‘0’码,从而实现了信号的解调,并将解调信号在数码管上显示出来。
5课程设计心得
通过这次课程设计,加强了我们动手、思考和解决问题的能力。
我觉得做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用所学知识,而
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FSK 数字信号 频带 传输 系统 设计 建模