基于FPGA的QPSK调制解调电路设计与实现_第1页
基于FPGA的QPSK调制解调电路设计与实现_第2页
基于FPGA的QPSK调制解调电路设计与实现_第3页
基于FPGA的QPSK调制解调电路设计与实现_第4页
基于FPGA的QPSK调制解调电路设计与实现_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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”0°f3“01”90°f2“10”180°f1“11”270°f0 在quartus ii下的仿真结果总体结果如下图所示局部放大图如下3 QPSK解调电路的FPGA实现及仿真3.1 QPSK解调电路方框图当

4、调制为低电平时,译码器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_unsigned.all;entity PL_MPSK2 isport(clk :in std_logic; -系统时钟 start :in std_logic

5、; -同步信号 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位并行基代信号寄存器signal yy:std_logic_vector(2 downto 0); -寄存xx数据beginprocess(clk)beg

6、inif clk'event 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<

7、;=xx+"001" -调制信号x为低电平时,送入加法器的数据“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 i

8、f;end if;end process;process(yy) -此进程根据yy寄存器里的数据进行译码beginif clk='1' and clk'event then if yy="101" then yyy<="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 i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论