MPSK调制与解调VHDL程序与仿真解读.docx
- 文档编号:24294511
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:15
- 大小:159.40KB
MPSK调制与解调VHDL程序与仿真解读.docx
《MPSK调制与解调VHDL程序与仿真解读.docx》由会员分享,可在线阅读,更多相关《MPSK调制与解调VHDL程序与仿真解读.docx(15页珍藏版)》请在冰豆网上搜索。
MPSK调制与解调VHDL程序与仿真解读
课程设计任务书
学生姓名:
专业班级:
指导教师:
工作单位:
题目:
MPSK调制与解调VHDL程序与仿真
初始条件:
选择的FPGA芯片不限,选用的仿真工具不限
要求完成的主要任务:
完成MPSK调制与解调FPGA实现过程,能熟练使用VHDL语言对其调制与解调程序的描述,以及对仿真结果的分析。
时间安排:
1、2014年5月30日,布置课设具体实施计划与课程设计报告格式的要求说明。
2、2014年5月31日至2014年6月15日,设计说明书撰写。
3、2014年6月18日,上交课程设计成果及报告,同时进行答辩。
指导教师签名:
2014年月日
系主任(或责任教师)签名:
2014年月日
摘要
本论文是为了设计在FPGA(Field-ProgrammableGateArray,现场可编程门阵列)上实现MPSK(多进制相移键控)调制解调的功能。
在QuartusⅡ平台上,运用VHDL硬件描述语言进行编程,对整个MPSK系统进行仿真,得到仿真时序图,对程序代码进行XST综合,得到RTL视图。
仿真结果表明该设计的正确性以及可行性,更清晰直观的了解到MPSK调制解调的原理。
关键词:
MPSK;QuartusⅡ;VHDL语言
Abstract
ThispaperisdesignedtoachieveMPSK(M-aryPhaseShiftKeying)modulationanddemodulationfunctionsinFPGA(Field-ProgrammableGateArray,afieldprogrammablegatearray)on.OntheQuartusⅡplatform,theuseofVHDLhardwaredescriptionlanguageprogrammingfortheentireMPSKsystemsimulation,simulationtimingdiagramoftheprogramcodeXSTsynthesis,getRTLview.Simulationresultsshowthecorrectnessandfeasibilityofthedesign,intuitivetounderstandmoreclearlytheprincipleofMPSKmodulationanddemodulation.
Keywords:
MPSK;QuartusⅡ;VHDLlanguage
引言
作为数字通信技术中重要组成部分的调制解调技术一直是通信领域的热点课题。
随着当代通信的飞速发展,通信体制的变化也日新月异,新的数字调制方式不断涌现并且得到实际应用。
目前的模拟调制方式有很多种,主要有AM、FM、SSB、DSB、CW等,而数字调制方式的种类更加繁多,如ASK、FSK、MSK、GMSK、PSK、DPSK、 QPSK、QAM等。
在众多调制方式中,MPSK信号由于抗干扰能力强而得到了广泛的应用,具有较高的频谱利用率和较好的误码性能,并且实现复杂度小,解调理论成熟,广泛应用于数字微波、卫星数字通信系统、有线电视的上行传输、宽带接入与移动通信等领域中,并已成为新一代无线接入网物理层和B3G通信中使用的基本调制方式。
现场可编程门阵列(Field Programmable Gate Array,FPGA)是20世纪90年代发展起来的大规模可编程逻辑器件,随着电子设计自动化技术和微电子技术的进步,FPGA的时钟延迟可达到ns级,结合其并行工作方式,在超高速、实时测控方面都有着非常广阔的应用前景。
FPGA具有高集成度、高可靠性等特点,在电子产品设计中也将得到广泛的应用。
FPGA器件的另一特点是可用硬件描述语言VHDL对其进行灵活编程,可利用FPGA厂商提供的软件仿真硬件的功能,使硬件设计如同软件设计一样灵活方便,缩短了系统研发周期。
基于上述优点,用FPGA实现调制解调电路,不仅降低了产品成本,减小了设备体积,满足了系统的需要,而且比专用芯片具有更大的灵活性和可控性。
在资源允许下,还可以实现多路调制。
MPSK是目前应用非常广泛的调制解调技术,目前MPSK调制的实现主要是利用数字电路和专用芯片来完成,通常利用可编程数字电路对基带信号进行码元变换,成形滤波等处理后得到同相分量和正交分量,然后将两路信号分量经过数模转换获得模拟信号送入一个正交相乘器与中频载波调制得到中频MPSK调制信号,该方法适合高码率数字信号的传输,但系统的开放性和灵活性较差。
MPSK调制与解调VHDL程序与仿真
1MPSK调制解调的原理
多进制数字相位调制又称多相制,是二相制的推广。
它是利用载波的多种不同相位状态来表征数字信息的调制方式。
与二进制数字相位调制相同,多进制数字相位调制也有绝对相位调制(MPSK)和相对相位调制(MDPSK)两种。
设载波为coswt,则M进制数字相位调制信号可表示为:
上式中,g(t)是高度为1,宽度为Tb的门函数,Tb为M进制码元的持续时间,亦即k(k=
)比特二进制码元的持续时间,
为第n个码元对应的相位,共有M种不同取值,在本论文中M取4,所以
取0°、90°、180°和270°四个相位。
令:
,
这样可得:
,由此可见,MPSK信号可以看成是两个正交载波进行多电平双边带调制所得两路MASK信号的叠加。
这样,就为MPSK信号的产生提供了依据。
本次课程设计主要实现当M=4,即4PSK(正交相移键控,也称QPSK)的调制与解调。
2QPSK调制实现方法
2.1相乘电路
输入基带信号是二进制不归零双极性码元,它被“串/并变换”电路变成两路码元。
变成并行码元后,其每个码元的持续时间是输入码元的两倍,如图1所示。
这两路并行码元序列分别用以两路正交载波相乘,这两路信号在相加电路中相加后得到调制信号。
图1正交调制的方法产生MPSK信号
2.2选择法
输入基带信号经过串并变换后用于控制一个相位选择电路,按照当时的输入双比特决定哪个相位的载波输出。
本次4PSK的FPGA实现方法采用的原理便是选择法。
3QPSK解调实现方法
由于4PSK信号可以看作是两个载波正交的2PSK信号的合成,因此,对4PSK信号的解调可以采用与2PSK信号类似的解调方法进行。
图2是4PSK信号相干解调器的组成方框图。
图中两个相互正交的相干载波分别检测出两个分量a和b,然后,经并/串变换器还原成二进制双比特串行数字信号,从而实现二进制信息恢复,此法也称为极性比较法。
图24PSK信号相干解调器的组成方框图
4QPSK调制解调电路的FPGA实现过程
4.1QPSK调制解调实现依据
调制电路方框图如图3所示。
基带信号通过串/井转换得到两位并行信号;四选一开关根据两位并行信号选择相应的载波输出。
已调信号
图3QPSK调制电路原理方框图
解调电路原理与调制电路相反,这里就不做过多介绍。
4.2QPSK调制及仿真结果
信号yy
载波相位
载波波形
载波符号
“00”
0°
f3
“01”
90°
f2
“10”
180°
f1
“11”
270°
f0
在程序中,clock为系统时钟信号,start为开始调制信号,start为高电平上升沿时开始进行MPSK调制,x为基带信号,y为调制好的信号。
表一调制信号说明
QPSK调制程序仿真波形如图4所示:
(a)QPSK调制VHDL程序仿真全图
(b)QPSK调制VHDL程序仿真局部放大图
图4QPSK调制VHDL程序仿真波形图
仿真结果简要说明:
图中输入信号的一个码元占两个时钟周期,通过观察QPSK调制仿真局部放大图可知已调信号y与输入信号满足表一中所描述的关系,已调输出信号相比输入信号要延迟一个周期,即八个时钟周期。
4.3QPSK解调及仿真结果
解调信号说明如表2所示。
将一个信号周期分成4份,高电平权值分别为0、0、0、0,低电平权值分别为1、1、2、3。
在程序中,clock为系统时钟信号,start为开始调制信号,start为高电平上升沿时开始进行QPSK调制,x为调制信号,y为解调好的基带信号。
表2解调信号说明
载波波形
载波相位
加法器xx
中间信号yyy
0°
0+0+2+3=5
“00”
90°
0+1+2+0=3
“01”
180°
1+1+0+0=2
“10”
270°
1+0+0+3=4
“11”
MPSK解调程序仿真波形如图5所示:
(a)QPSK解调VHDL程序仿真全图
(b)QPSK解调VHDL程序仿真局部放大图
图5QPSK解调VHDL程序仿真波形图
仿真结果简要说明:
图中已调信号每个码元占两个时钟周期,输出基带信号与输入已调信号相比,要延迟一个周期,但根据QPSK局部放大图观察可知,仿真结果与表二中的仿真说明相符合。
5总结
多进制数字调制技术与FPGA的结合使得通信系统的性能得到了迅速的提高。
本文基于FPGA实现了MPSK调制解调电路部分。
在实际应用中,完全可以把调制部分和解调部分电路都集成到一片FPGA芯片内,这样即提高了FPGA内部结构的利用率,又可以降低系统的成本。
多进制数字调制技术与FPGA的结合使得通信系统的性能得到了迅速的提高。
本文基于FPGA实现了QPSK调制解调电路,该设计对其它类型的调制解调电路也有一定的参考作用。
本文作者创新观点:
文中基于FPGA方式实现了QPSK数字调制解调电路的设计.它比传统的模拟调制方式有着显著的优越性.通信链路中的任何不足均可以借助于软件根除,不仅可以实现信息加密,而且还可以通过相应的误差校准技术,使接收到数据准确性更高。
此外,本文采用了相位选择法进行QPSK解调设计,与常用的调相解调法相比,设计更简单,更适合于FPGA实现,系统的可靠性也更高。
6参考文献
【1】徐以涛,沈良,王金龙.FPGA技术在软件无线电中的应用【J】.电信科学,200l(11):
36-39.
【2】樊昌信,张甫翊,徐炳祥,等.通信原理【M】.第五版.北京:
国防工业出版社,2001.
【3】阳晰.高速数字调制解调【D】.成都:
电子科技大学,2005.
【4】损增友.基于FPGA的MPSK调制器的设计【J】.数字技术与应用,2009(7):
19-20.
【5】詹仙宁,田耘.VHDL开发精解与实例剖析【M】.北京:
电子工业出版社,2009.
附录ⅠQPSK调制程序
libraryieee;
useieee.std_logic_arith.all;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityPL_MPSKis
port(clock:
instd_logic;--系统时钟
start:
instd_logic;--开始调制信号
x:
instd_logic;--基带信号
y:
outstd_logic);--调制信号
endPL_MPSK;
architecturebehavofPL_MPSKis
signalq:
integerrange0to7;--计数器
signalxx:
std_logic_vector(1downto0);--中间寄存器
signalyy:
std_logic_vector(1downto0);--2位并行码寄存器
signalf:
std_logic_vector(3downto0);--载波f
begin
process(clk)--通过对clk分频,得到4种相位;并完成基带信号的串并转换
begin
ifclk'eventandclk='1'then
ifstart='0'thenq<=0;
elsifq=0thenq<=1;f(3)<='1';f
(1)<='0';xx
(1)<=x;yy<=xx;
elsifq=2thenq<=3;f
(2)<='0';f(0)<='1';
elsifq=4thenq<=5;f(3)<='0';f
(1)<='1';xx(0)<=x;
elsifq=6thenq<=7;f
(2)<='1';f(0)<='0';
elsifq=7thenq<=0;
elseq<=q+1;
endif;
endif;
endprocess;
y<=f(0)whenyy="11"else
f
(1)whenyy="10"else
f
(2)whenyy="01"else
f(3);--根据yy寄存器数据,输出对应的调制信号
endbehav;
附录Ⅱ:
QPSK解调程序
libraryieee;
useieee.std_logic_arith.all;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityPL_MPSK2is
port(clock:
instd_logic;--系统时钟
start:
instd_logic;--同步信号
x:
instd_logic;--调制信号
y:
outstd_logic);--基带信号
endPL_MPSK2;
architecturebehavofPL_MPSK2is
signalq:
integerrange0to7;--计数器
signalxx:
std_logic_vector(2downto0);--加法器
signalyyy:
std_logic_vector(1downto0);--2位并行基代信号寄存器
signalyy:
std_logic_vector(2downto0);--寄存xx数据
begin
process(clk)
begin
ifclock'eventandclock='1'then
ifstart='0'thenq<=0;
elsifq=0thenq<=1;yy<=xx;y<=yyy(0);--把加法计数器的数据送入yy寄存器
ifx='0'thenxx<="001";--调制信号x为低电平时,送入加法器的数据“001”
elsexx<="000";
endif;
elsifq=2thenq<=3;
ifx='0'thenxx<=xx+"001";--调制信号x为低电平时,送入加法器的数据“001”
endif;
elsifq=4thenq<=5;y<=yyy
(1);
ifx='0'thenxx<=xx+"010";--调制信号x为低电平时,送入加法器的数据“010”
endif;
elsifq=6thenq<=7;
ifx='0'thenxx<=xx+"011";--调制信号x为低电平时,送入加法器的数据“011”
endif;
elseq<=q+1;
endif;
endif;
endprocess;
process(yy)--此进程根据yy寄存器里的数据进行译码
begin
ifclk='1'andclk'eventthen
ifyy="101"thenyyy<="00";--yy寄存器“101”对应基带码“00”
elsifyy="011"thenyyy<="01";--yy寄存器“011”对应基带码“01”
elsifyy="010"thenyyy<="10";--yy寄存器“010”对应基带码“10”
elsifyy="100"thenyyy<="11";--yy寄存器“100”对应基带码“11”
elseyyy<="00";
endif;
endif;
endprocess;
endbehav;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MPSK 调制 解调 VHDL 程序 仿真 解读