《基于fpga的qpsk调制解调电路设计与实现说明书》由会员分享,可在线阅读,更多相关《基于fpga的qpsk调制解调电路设计与实现说明书(41页珍藏版)》请在金锄头文库上搜索。
1、基于FPGA的QPSK调制解调电路设计与实现数字调制信号又称为键控信号,调制过程可用键控的方法由基带信号对载频信号的振幅、频率及相位进行调制,最基本的方法有3种:正交幅度调制(QAM)、频移键控(FSK)、相移键控(PSK).根据所处理的基带信号的进制不同分为二进制和多进制调制(M进制).多进制数字调制与二进制相比,其频谱利用率更高.其中QPSK(即4PSK)是MPSK(多进制相移键控)中应用最广泛的一种调制方式。1 QPSK简介QPSK信号有00、01、10、11四种状态。所以,对输入的二进制序列,首先必须分组,每两位码元一组。然后根据组合情况,用载波的四种相位表征它们。QPSK信号实际上是
2、两路正交双边带信号, 可由图1所示方法产生。QPSK信号是两个正交的2PSK信号的合成,所以可仿照2PSK信号的相平解调法,用两个正交的相干载波分别检测A和B两个分量,然后还原成串行二进制数字信号,即可完成QPSK信号的解调,解调过程如图2所示。图1 QPSK信号调制原理图图2 QPSK信号解调原理图2 QPSK调制电路的FPGA实现及仿真2.1基于FPGA的QPSK调制电路方框图基带信号通过串/并转换器得到2位并行信号,四选一开关根据该数据,选择载波对应的相位进行输出,即得到调制信号,调制框图如图3所示。图3 QPSK调制电路框图系统顶层框图如下图中输入信号clk为调制模块时钟,start为
3、调制模块的使能信号,x为基带信号,y是qpsk调制信号的输出端,carrier【3.0】为4种不同相位的载波,其相位非别为0、90、180、270度,锁相环模块用来进行相位调节,用来模拟通信系统中发送时钟与接收时钟的不同步start1为解调模块的使能信号。y2为解调信号的输出端。2.2调制电路VHDL程序程序说明信号yy载波相位载波波形载波符号“00”0f3“01”90f2“10”180f1“11”270f0library ieee;use ieee.std_logic_arith.all;use ieee.std_logic_1164.all;use ieee.std_logic_unsig
4、ned.all;entity PL_MPSK isport(clk :in std_logic; -系统时钟 start :in std_logic; -开始调制信号 x :in std_logic; -基带信号 y :out std_logic; carrier:out std_logic_vector(3 downto 0); xxx:out std_logic_vector(1 downto 0) ); -调制信号end PL_MPSK;architecture behav of PL_MPSK issignal q:integer range 0 to 7; -计数器signal ss
5、:std_logic_vector(1 downto 0); -中间寄存器signal yy:std_logic_vector(1 downto 0); -2位并行码寄存器signal xx:std_logic_vector(1 downto 0); signal f:std_logic_vector(3 downto 0); -载波fbeginprocess(clk) -通过对clk分频,得到4种相位;并完成基带信号的串并转换beginif clkevent and clk=1 then if start=0 then q=0; elsif q=0 then q=1;f(3)=1; f(1)
6、=0; xx(1)=x;yy=xx; elsif q=2 then q=3;f(2)=0; f(0)=1; elsif q=4 then q=5;f(3)=0; f(1)=1; xx(0)=x; elsif q=6 thenq=7;f(2)=1; f(0)=0; else q=q+1; end if;end if;-ss=yy;xxx=yy;end process;y=f(0) when yy=11 else f(1) when yy=10 else f(2) when yy=01 else f(3) when yy=00; -根据yy寄存器数据,输出对应的载波carrier=f;end be
7、hav;在quartus ii下的仿真结果总体结果如下图所示局部放大图如下3 QPSK解调电路的FPGA实现及仿真3.1 QPSK解调电路方框图当调制为低电平时,译码器1根据记数器输出值,送入加法器相应的数据。加法器把运算结果送到寄存器,译码器2根据寄存器数据通过译码,输出两位并行信号,该信号再通过并/串转换即可得到解调后的基带信号,调制框图如图4所示。图4 QPSK解调电路框图3.2解调电路VHDL程序library ieee;use ieee.std_logic_arith.all;use ieee.std_logic_1164.all;use ieee.std_logic_unsigne
8、d.all;entity PL_MPSK2 isport(clk :in std_logic; -系统时钟 start :in std_logic; -同步信号 x :in std_logic; -调制信号 y :out std_logic); -基带信号end PL_MPSK2;architecture behav of PL_MPSK2 issignal q:integer range 0 to 7; -计数器signal xx:std_logic_vector(2 downto 0); -加法器signal yyy:std_logic_vector(1 downto 0); -2位并行基
9、代信号寄存器signal yy:std_logic_vector(2 downto 0); -寄存xx数据beginprocess(clk)beginif clkevent and clk=1 then if start=0 then q=0; elsif q=0 then q=1;yy=xx; y=yyy(0); -把加法计数器的数据送入yy寄存器 if x=0 thenxx=001; -调制信号x为低电平时,送入加法器的数据“001” elsexx=000; end if; elsif q=2 then q=3; if x=0 thenxx=xx+001; -调制信号x为低电平时,送入加法
10、器的数据“001” end if; elsif q=4 then q=5; y=yyy(1); if x=0 thenxx=xx+010; -调制信号x为低电平时,送入加法器的数据“010” end if; elsif q=6 then q=7; if x=0 thenxx=xx+011; -调制信号x为低电平时,送入加法器的数据“011” end if; else q=q+1; end if;end if;end process;process(yy) -此进程根据yy寄存器里的数据进行译码beginif clk=1 and clkevent then if yy=101 then yyy=
11、00; -yy寄存器“101”对应基带码“00” elsif yy=011 then yyy=01; -yy寄存器“011”对应基带码“01” elsif yy=010 then yyy=10; -yy寄存器“010”对应基带码“10” elsif yy=100 then yyy=11; -yy寄存器“100”对应基带码“11” else yyy=00; end if;end if;end process; end behav;使用FPGA实现QPSK调制解调电路,多进制数字调制技术与FPGA的结合使得通信系统的性能得到了迅速的提高。系统联调的全局仿真图如下局部放大图如下所示 从仿真图中可以看
12、到基带信号x与解调出的信号y2一致,说明解调成功。 / 文档可自由编辑打印附件1: 大学本科毕业论文(设计)工作程序要求阶段工作程序及要求完成时间第一阶段(准备阶段)(一)确定题目和指导教师1.学院(系)成立毕业论文(设计)领导小组;2.学院(系)向教师(具有讲师以上职称或具有研究生学历的助教)分派指导论文(设计)任务,院(系)公布备选题目一览表;3.学院(系)召开指导教师和学生参加的毕业论文(设计)布置大会;4.学生根据自己的专业兴趣、学术特长选定论文题目,确定指导教师,也可与指导教师协商后确定论文题目;5.学院(系)将选题结果汇总成表,报教务处实践教学科备案。每学年第一学期第8周前(二)做
13、好论文开题、写作的准备工作1.指导教师向学生传达毕业论文(设计)要求及有关管理规定,师生沟通交流课题任务,使学生正确理解课题,为开题做准备;2.学生确定论文题目后,应在指导教师的指导下进行文献检索、实习调研以及实验等论文前期准备工作。每学年第一学期第8周以后第二阶段(开题及写作阶段)(三)做好开题报告教研室组织教师指导学生做好开题报告,院(系)检查开题情况,教务处抽查。每学年第二学期第2周前(四)认真进行毕业论文(设计)指导、检查工作。1指导教师做好指导工作,定期检查学生的工作进度和质量,及时解答和处理学生提出的有关问题;2学院(系)要随时了解、检查论文写作进展情况,及时研究协调处理毕业论文写作过程中的有关问题。每学年第二学期(五)毕业论文中期检查教研室组织中期毕业论文检查工作,做好记录,学生须向