搜索
您的当前位置:首页FSK调制解调系统的建模与仿真

FSK调制解调系统的建模与仿真

来源:乌哈旅游
武汉理工大学《通信原理》课程设计

课程设计任务书

学生姓名: 专业班级: 指导教师: 工作单位: 初始条件:

(1)MAX+plus、Quartus II、ISE等软件;

(2)课程设计辅导书:《通信原理课程设计指导》

(3)先修课程:数字电子技术、模拟电子技术、电子设计EDA、通信原理

题 目: 2FSK数字信号频带传输系统的设计与建模

要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)

(1)课程设计时间:;

(2)课程设计题目:2FSK数字信号频带传输系统的设计与建模;

(3)本课程设计统一技术要求:按照要求对题目进行逻辑分析,了解2FSK数字信号的产生方法,画出FSK调制解调的方框图,编写VHDL语言程序,上机调试、仿真,记录实验结果波形,对实验结果进行分析;

(4)课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,并标明参考文献至少5篇;

(5)写出本次课程设计的心得体会(至少500字)。

时间安排:第19周

参考文献:段吉海.数字通信系统建模与设计.北京:电子工业出版社,2004

江国强.EDA技术与应用. 北京:电子工业出版社,2010

John G. Proakis.Digital Communications. 北京:电子工业出版社,2011

指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日

武汉理工大学《通信原理》课程设计

摘 要

现代通信系统要求通信距离远、通信容量大、传输质量好。作为其关键技术之一的调制解调技术一直是人们研究的一个重要方向。本文主要讨论2FSK系统单元设计,以VHDL作为设计的硬件描述语言,在Altera公司开发的QuartusII平台上进行程序设计及波形仿真。对各个模块进行FPGA建模,然后对各个模块的设计内容进行了层层细化。最终达到模块的具体软硬件实现。

基于中压通信的特点,对中压信道噪声特性进行了总结研究,并在QuartusII下实现仿真波形;对通信上现有调制解调技术进行比较总结,应用QuartusII编程实现了2FSK调制解调,并在实现单载波2FSK调制解调基础上,实现了多载波2FSK调制解调。介绍了采用多载波调制技术实现数字信号传输的基本原理及其优点;从理论上分析总结了中压信道及噪声特性,并结合均衡、编码,小波变换等技术,提出了进一步提高多载波调制系统性能的途径。

关键词: 二进制频率键控系统;QuartusII;VHDL

武汉理工大学《通信原理》课程设计

目 录

1 绪论 ............................................................................................................................. 3 2 2FSK频移键控 ........................................................................................................... 2 2.1 2FSK频移键控及信号产生原理 ........................................................................... 2 2.2 2FSK信号的调制与解调 ....................................................................................... 3 2.2.1 2FSK信号的调制技术 .................................................................................... 3 2.2.2 2FSK信号的解凋技术 .................................................................................... 4 3 2FSK信号的仿真步骤 ............................................................................................... 7 4 系统电路模块的设计及仿真实现 .............................................................................. 8 4.1基于VHDL语言的2FSK程序设计 ..................................................................... 8 4.1.1 2FSK调制模块及仿真 .................................................................................... 8 4.1.2 2FSK解调模块及仿真 ................................................................................... 11 5 个人总结 .................................................................................... 错误!未定义书签。 6 参考文献 .................................................................................................................... 15 本科生课程设计成绩评定表 .......................................................................................... 16

武汉理工大学《通信原理》课程设计

1 绪 论

随着科学技术的进步,通信事业得到了飞速发展,信息的传送也由模拟传输转向数字传输,信息越来越多地作为数字脉冲之间的时间或相位的变化而传送出去。这样,对信号进行数字调制显的尤其重要,这种利用模拟调制方法随着现代调制方法的出现而陷入了困境。为了可靠地进行通信,现代调制方法更钟情于频率和相位调制。

调制器是通信系统中必不可少的关键设备,其性能的好坏直接关系到整个系统的性能。我们设计的2FSK调制系统具有抗干扰、抗噪声、抗衰减性能较强、技术复杂程度低、成本低等诸多优点,因而广泛应用与实际电路中。在中低速数据传输通信系统中得到了较为广泛的应用。此外,许多集成芯片里也用到了2FSK调制技术。数字频率调制是数据通中常见的一种调制方式。频移键控方法简单,用不同频率的载波来传送数字信号,并用数字基带信号控制载波信号的频率,易于实现,并且解调不须恢复本地载波,可以异步传输,抗噪声和抗衰落性能也较强,传输距离远、误码率低等优点。因此,2FSK调制技术在通信行业,特别是在衰落信道中传输数据时得到了广泛地应用,并且主要适用于用于低、中速数据传输。

一个系统的通信质量,很大程度上依赖于所采用的调制方式。但传统用硬件实现2FSK的方法,特别是相干解调需要提取载波。设备相对比较复杂、成本较高。文中基于FPGA芯片。采用VHDL语言提出了一种2FSK调制解调器的实现方法因此,对调制方式的研究,将直接决定着通信系统质量的好坏。

武汉理工大学《通信原理》课程设计

2 2FSK频移键控

2.1 2FSK频移键控及信号产生原理

所谓2FSK就是用数字信号去调制载波频率,是数字信号传输中用的最早的一种调制方式。此方式实现起来比较容易,抗噪声和抗衰减性能好,稳定可靠,是中低速数据传输最佳选择。频移就是把振幅、相位作为常量,而把频率作为变量,通过频率的变化来实现信号的识别。在2FSK中传送的信号只有0和1两个。输出后的2FSK波形如图2-1所示。

图2-1 调制后波形图

2FSK信号的产生原理

用二进制数字信号m(t)进行调频,是使载波υC=Vccos(ω+φ)中的ω,当符号为1时具有ω1的信息,而当符号为0时具有ω2的信息,此调制称移频调制。产生波形如图2-2所示。

武汉理工大学《通信原理》课程设计

图2-2 2FSK调制原理波形图

2.2 2FSK信号的调制与解调

2FSK是利用载波的频率变化来传递数字信息的一种非线性调制方法。在22FSK(二进制频移键控)系统中,使用两个不同频率的载波分别代表数字信号“0”和“1”,22FSK信号的解调和22FSK的调制是一个相反的过程。2FSK信号的躲调是从已调的载波信号中,恢复为调制前的基带信号“0”和“1”。 2.2.1 2FSK信号的调制技术 (1)直接调频法

直接调频法是用数字基带信号直接控制载频振荡器的振荡频率。直接调频法实现电路有许多。一般采用的控制方法是:当基带信号为正时(相当于‘1’码),改变振荡器谐

3

武汉理工大学《通信原理》课程设计

振回路的参数·(电容或电感数值),使振荡器的振荡频率提高(设为f1);当基带信号为负时(相当于‘0’码),改变振荡器谐振回路的参数,使振荡器的频率降低(设为f2)。从而实现了调频,这种方法产生的调频信号是相位连续的。虽然实现方法简单。但频率稳定度不高,同时频率转换速度不能太快。 (2)频率键控法

频率键控法也称频率选择法.图2-4是它实现的原理框图。

图2-4 频率键控法的原理框图

频率键控法产生的2FSK信号频率稳定度可以做得很高并且没有过渡频率,它的转换速度快,波形好。频率键控法在转换开关发生转换的瞬间.两个高频振荡的输出电压通常不可能相等于是U。U2FSK(t)信号在基带信号变换时电压会发生跳变,这种现象也称为相位不连续,这是频率键控特有的情况。 2.2.2 2FSK信号的解凋技术

FPGA clk start 基带信号 寄存器xx 分频器q 计数器m 判决 调制信号

图2-5 2FSK解调方框图

4

武汉理工大学《通信原理》课程设计

(1)同步解调法

同步解调中,2FSK信号解调原理方框如图2-6所示。

图2-6 2FSK信号同步解调原理方框图

从图2-6可见,2FSK信号的同步解调分成上、下两个支路,输入的2FSK信号经过f1和f2两个带通滤波器后变成了上、下两路ASK信号.之后其解调原理与ASK类似,但判决需对上、下两支路比较来进行。

当输入的2FSK信号振荡频率为f1时.上支路经带通后由正弦信号Acos2πf1t存在。与ASK系统接收到“l”码时的情况相似,经过低通滤波器,Xl=A。而下支路带通滤波器输出为0.与ASK系统接收到“0”码时相似,故X2=0,显然Xl—X2=A一0>0. 按判决准则判输入为f1;反之,当输人为f2时.X1=0,X2=A,Xl-X2=0-A<0,按判决准则应判输入为f1。因此可以判决出2FSK信号。

5

武汉理工大学《通信原理》课程设计

(2)包络解调法

图2-7 2FSK信号包络解调方框图

2FSK信号包络解调方框图如图2-7所示。从图2-7可见,2FSK信号包络解凋相当于两路ASK信号包络解调。用两个窄带的分路滤波器分别滤出频率为f1及f2的高频脉冲,经包络检波后分别取出它们的包络。把两路输出同时送到抽样判决器进行比较.从而判决输m基带数字信号。

有时称这种比较判别器的判决门限为零点平。当2FSK信号为f1时.上支路相当于ASK系统接收“1”码的情况,其输出Xl为正弦波加窄带高斯噪声的包络,它服从莱斯分布。而下支路相当于ASK系统接收“0”码的情况,其输出X2为窄带高斯噪声的包络,它服从瑞利分布。如果2FSK信号为f2。上、下支路的情况正好相反,此时上支路输出的瞬时值服从瑞利分布.下支路输出的瞬时值服从莱斯分布。由以上分析可知.无论输出的2FSK信号是f1或f2,两路输出总是一路为莱斯分布,另一路为瑞利分布。

6

武汉理工大学《通信原理》课程设计

3 2FSK信号的仿真步骤

整个时序仿真测试流程有,建立波形文件、输入信号、设置波形参数编辑输入信号、波形文件存盘、运行仿真器和分析仿真波形等步骤。

[1]建立仿真波形文件:选择File菜单的New选项,在弹出的文件类型编辑对话框中,选择Other Files中的Vector Weaveform File项,单击OK按钮,即出现波形文件窗口。 [2]设置仿真时间区域:对于时序仿真测试来说,将仿真时间设置在一个合理时间区域是十分重要的,一般视实际情况具体而定。其设计步骤是在Edit菜单中选择End Time,在弹出的Time处填上适当的时间区域,同理在Gride Size中Time period输入周期,单击OK按钮。

[3]输入各工程信号的节点:选择View菜单中的Utility Windows项的Node Finder,在弹出的对话框Filter项中选Pins:all&Registers:Post-fitting,然后单击List按钮,在Nodes Found窗口中出现设计中的工程的所有端口的引脚注明。用鼠标将时钟信号节点clk、start、x、q1、f1、q2、f2和y分别拖到波形编辑窗口,如下图所示。

图3-6 2FSK调制波形编辑器输入信号窗口

[4]设计信号波形:首先单击左侧的全屏显示按钮,使之处于适当的位置。单击时钟

7

武汉理工大学《通信原理》课程设计

信号clk使之变成蓝色条,再单击右键,选择Value设置中的Count Value项,设置clk为连续变化的二进制数值,初始值为0,。单击start使之成为蓝色,再单击右键,选择Value设置中的Forcing High项,使得start变成高电平信号。单击x使之变成蓝色,再单击Waveform Editing按钮,把x变成高低电平连续变化的信号。 [5]文件存盘:选择File中的Save As项,将波形文件存盘。

[6]所有设置完毕后,即可启动仿真器Processing/start simulation直到出现Simulation was successful,仿真结束。仿真波形输出文件将自动弹出仿真图形。

4 系统电路模块的设计及仿真实现

4.1 基于VHDL语言的2FSK程序设计

4.1.1 2FSK调制模块及仿真 library ieee;

use ieee.std_logic_arith.all; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity PL_2FSK is

port(clk :in std_logic; --系统时钟 start :in std_logic; --开始调制信号 x :in std_logic; --基带信号 y :out std_logic); --调制信号

8

武汉理工大学《通信原理》课程设计

end PL_2FSK;

architecture behav of PL_2FSK is

signal q1:integer range 0 to 11; --载波信号f1的分频计数器 signal q2:integer range 0 to 3; --载波信号f2的分频计数器 signal f1,f2:std_logic; --载波信号f1,f2 begin

process(clk) --此进程通过对系统时钟clk的分频,得到载波f1 begin

if clk'event and clk='1' then if start='0' then q1<=0;

elsif q1<=5 then f1<='1';q1<=q1+1; --改变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的分频,得到载波f2 begin

if clk'event and clk='1' then if start='0' then q2<=0;

elsif q2<=0 then f2<='1';q2<=q2+1; --改变q2后面的数字可以改变,载波f2的占空比

9

武汉理工大学《通信原理》课程设计

elsif q2=1 then f2<='0';q2<=0; --改变q2后面的数字可以改变,载波f2的频率 else f2<='0';q2<=q2+1; end if; end if; end process;

process(clk,x) --此进程完成对基带信号的2FSK调制 begin

if clk'event 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;

其波形仿真图如图4-1所示。其中载波f1、也分别是通过对时钟clk信号6分频和2分频得到的;基带码长为载波f1的2个周期,为载波f2的6个周期;输出的调制信号y在时间上滞后于载波信号一个elk周期.滞后于系统时钟2个elk周期。

10

武汉理工大学《通信原理》课程设计

图4-1 2FSK调制VHDL程序仿真图

注:a. 载波f1、f2分别是通过对clk的12分频和2分频得到的。

b.基带码长为载波f1的2个周期,为载波f2的6个周期。

c.输出的调制信号y在时间上滞后于载波信号一个clk,滞后于系统时钟2个clk。

4.1.2 2FSK解调模块及仿真 library ieee;

use ieee.std_logic_arith.all; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity PL_2FSK2 is

port(clk :in std_logic; --系统时钟 start :in std_logic; --同步信号 x :in std_logic; --调制信号 y :out std_logic); --基带信号

11

武汉理工大学《通信原理》课程设计

end PL_2FSK2;

architecture behav of PL_2FSK2 is

signal q:integer range 0 to 11; --分频计数器 signal xx:std_logic; --寄存器 signal m:integer range 0 to 5; begin

process(clk) begin

if clk'event and clk='1' then xx<=x; if start='0' then q<=0; elsif q=11 then q<=0; else q<=q+1; end if; end if; end process;

process(xx,q) begin

if q=11 then m<=0; elsif q=10 then

if m<=3 then y<='0'; --计数器 --对系统时钟进行q分频 --在clk信上升沿时,x信号对中间信号xx赋值 --if语句完成Q的循环计数 --此进程完成2FSK解调 --m计数器清零

--if语句通过对m大小,来判决y输出的电

12

武汉理工大学《通信原理》课程设计

else y<='1'; end if;

elsif xx'event and xx='1'then m<=m+1; --计xx信号的脉冲个数 end if; end process; end behav;

其波形仿真图如图4-2所示。其中输出信号Y滞后输入信号lO个时钟周期;在q=ll时,m清零;q=10时,根据m的大小,进行对输出基带信号Y的电平的判决;在q为其它值时,计数器m计下xx(寄存x信号)的脉冲数。

图4-2 2FSK解调VHDL程序仿真图

13

武汉理工大学《通信原理》课程设计

5 个人总结

这次课程设计的主要目的是通过VHDL语言来设计2FSK的调制与解调仿真系统,对于2FSK的调制和解调的原理部分在之前的《通信原理》课程中已经有学习,理解起来并不是很难!所以本次课程设计的难点在于仿真部分的实现,这就涉及到仿真软件的使用和VHDL语言的综合,我使用的是QuartusII仿真软件。

针对这次实验的特点,我把重心放在了我所认为的难点上!首先,利用网络资源找到了QuartusII软件的相关介绍,大致了解了其功能。它作为一种可编程逻辑的设计环境,具有强大的设计能力,支持多种设计输入形式的同时,让其能够完成从设计输入到硬件配置的完整PLD设计流程。

其次,就是对软件的具体操作。初次打开用户界面,觉得跟以前接触的类似仿真软件有些不同,主要在于其多样化的编译方式选择。于是在网上搜索了使用教程说明以及视频,从新建文件夹到创建工程开始,按着提示一步步操作,进而慢慢熟悉。之前的工程编译过程也是比较重要的一部分,关系到后面的仿真测试。最后通过同学的指导以及自己翻阅的资料,完成的本次的课程设计!

本次课程设计让我学习到了不少知识,在对频移键控数字通信系统的调制解调原理以及用途有进一步加深理解的同时,也对仿真软件有了更多的接触,在仿真结果出来之时收获了乐趣。

14

武汉理工大学《通信原理》课程设计

6 参考文献

[ l ] 樊昌信 ,曹丽娜. 通信原理第6版.国防工业出版杜.2008

[ 2 ] 侯伯亨. VHDL硬件描述语言与数字电路设计.西安电子科大出版社.2003 [ 3 ] 孙玉梅. 基于FPGA的FSK调制解调器的设计与实现.电子科技出版社.2009 [ 4 ] 张凤晓. 基于VHDL的FSK解调仿真设. 应用科技. 2005 [ 5 ] 黄智伟. FPGA系统设计与实践. 电子工业出版社. 2005 [ 6 ] 潘松,黄继业. EDA技术实用教程. 北京科学出版社. 2005

[ 7 ] 段吉海,黄智伟. 基于CPLD/FPGA的数字通信系统建模与设计.北京电子工业出版

社.2004

15

武汉理工大学《通信原理》课程设计

本科生课程设计成绩评定表

姓 名 专业、班级 课程设计题目: 课程设计答辩或质疑记录: 性 别 成绩评定依据: 最终评定成绩(以优、良、中、及格、不及格评定)

指导教师签字:

年 月 日

16

因篇幅问题不能全部显示,请点此查看更多更全内容

Top