当前位置:技术文章首页 >> 可编程逻辑 >> 基于FPGA的QPSK调制解调电路设计与实现

基于FPGA的QPSK调制解调电路设计与实现

2007-09-08 11:24:44  作者:  来源:启蒙电子  浏览次数:1973  文字大小:【】【】【

摘要:数字调制解调技术在数字通信中占有非常重要的地位,数字通信技术与FPGA的结合是现代通信系统发展的一个必然趋势。文中介绍了QPSK调制解调的原理,并基于FPGA实现了QPSK调制解调电路。MAX+PLUSII环境下的仿真结果表明了该设计的正确性。
关键词:QPSK;FPGA;调制;解调

数字调制信号又称为键控信号,调制过程可用键控的方法由基带信号对载频信号的振幅、频率及相位进行调制,最基本的方法有3种:正交幅度调制(QAM)、频移键控(FSK)、相移键控(PSK).根据所处理的基带信号的进制不同分为二进制和多进制调制(M 进制).多进制数字调制与二进制相比,其频谱利用率更高.其中QPSK(即4PSK)是MPSK(多进制相移键控)中应用最广泛的一种调制方式。本文研究了基于FPGA的QPSK调制解调电路的实现方法,并给出了MAX+PLUSII环境下的仿真结果。

1 QPSK简介

QPSK信号有00、01、10、11四种状态。所以,对输入的二进制序列,首先必须分组,每两位码元一组。然后根据组合情况,用载波的四种相位表征它们。QPSK信号实际上是两路正交双边带信号,可由图1所示方法产生。

QPSK信号是两个正交的2PSK信号的合成,所以可仿照2PSK信号的相平解调法,用两个正交的相干载波分别检测A和B两个分量,然后还原成串行二进制数字信号,即可完成QPSK信号的解调,解调过程如图2所示。

图1   QPSK信号调制原理图

 

图2   QPSK信号解调原理图

2  QPSK调制电路FPGA实现及仿真

2.1  基于FPGAQPSK调制电路方框图

基带信号通过串/并转换器得到2位并行信号,,四选一开关根据该数据,选择载波对应的相位进行输出,即得到调制信号,调制框图如图3所示。

图3    QPSK调制电路方框图

2.2  调制电路VHDL程序及仿真结果

entity modulation is

port(clk     :in std_logic;             --系统时钟

     start   :in std_logic;             --开始调制信号

     x      :in std_logic;             --基带信号

     y      :out std_logic);           --调制信号

end modulation;

architecture behav of modulation is

signal q:integer range 0 to 7;            --计数器

signal xx:std_logic_vector(1 downto 0);   --中间寄存器

signal yy:std_logic_vector(1 downto 0);   --2位并行码寄存器

signal f:std_logic_vector(3 downto 0);    --载波f

begin

process(clk)        --通过对clk分频,得到4种相位;并完成基带信号的串并转换

begin

if clk'event and clk='1' then

   if start='0' then q<=0;   

   elsif q=0 then q<=1;f(3)<='1'; f(1)<='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 then q<=7;f(2)<='1'; f(0)<='0';

   else  q<=q+1;

   end if;

end if;

end process;

y<=f(0) when yy="11" else

   f(1) when yy="10" else

   f(2) when yy="01" else

   f(3);                                  --根据yy寄存器数据,输出对应的载波

end behav;

MAX+PLUSII环境下的仿真结果如图4所示。

图4  调制程序仿真结果

3               QPSK解调电路的FPGA实现及仿真

3.1      QPSK解调电路方框图

图5    QPSK解调电路方框图

当调制为低电平时,译码器1根据记数器输出值,送入加法器相应的数据。加法器把运算结果送到寄存器, 译码器2根据寄存器数据通过译码,输出两位并行信号,该信号再通过并/串转换即可得到解调后的基带信号,调制框图如图5所示。

3.2      解调电路VHDL程序及仿真结果

entity demodulation is

port(clk     :in std_logic;             --系统时钟

    start    :in std_logic;             --同步信号

    x      :in std_logic;              --调制信号

    y      :out std_logic);            --基带信号

end demodulation;

architecture behav of demodulation is

signal 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数据

begin

process(clk)

begin

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

      else xx<="000";

      end if;       

   elsif q=2 then q<=3;            

      if x='0' then xx<=xx+"001";      --调制信号x为低电平时,送入加法器的数据“001”

      end if;        

   elsif q=4 then q<=5; y<=yyy(1);     

      if x='0' then xx<=xx+"010";      --调制信号x为低电平时,送入加法器的数据“010”

      end if; 

   elsif q=6 then q<=7;        

      if x='0' then xx<=xx+"011";      --调制信号x为低电平时,送入加法器的数据“011”

      end if;

   else  q<=q+1;

   end if;

end if;

end process;

process(yy)                         --此进程根据yy寄存器里的数据进行译码

begin

if 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 if;

end process;

 end behav;

MAX+PLUSII环境下的仿真结果如图6所示。

图6   解调程序仿真结果

结束语

多进制数字调制技术与FPGA的结合使得通信系统的性能得到了迅速的提高。本文基于FPGA实现了QPSK调制解调电路,该设计对其它类型的调制解调电路也有一定的参考作用。

本文作者创新观点:文中基于FPGA方式实现了QPSK数字调制解调电路的设计,它比传统的模拟调制方式有着显著的优越性,通信链路中的任何不足均可以借助于软件根除,不仅可以实现信息加密,而且还可以通过相应的误差校准技术,使接收到数据准确性更高。此外,本文采用了相位选择法进行QPSK解调设计,与常用的调相解调法相比,设计更简单,更适合于FPGA实现,系统的可靠性也更高。

参考文献:

[1] 段吉海,胡媛媛.基于VHDL的MSK调制解调器的建模与设计[J].微计算机信息,2006年第7-2期:205-207

[2] 叶淦华.FPGA嵌入式应用系统开发典型实例[M].北京:中国电力出版社,2005

责任编辑:


相关文章
 

最新文章

更多

· 基于FPGA的高速数据采集...
· 基于FPGA和AD768的高精度...
· 基于GPRS的远程数据采集...
· 基于SOPC的定量称重控制...
· 基于VerilogHDL的背景噪...
· 基于FPGA的UART IP核设计...
· 基于FPGA的IIR数字滤波器...
· ArmSim全系统模拟器的设...
· FPGA中软FIFO设计和实现
· 基于FPGA的并行DSP芯片实...

推荐文章

更多

· 基于FPGA的高速数据采集...
· 基于FPGA和AD768的高精度...
· 基于GPRS的远程数据采集...
· 基于SOPC的定量称重控制...
· 基于VerilogHDL的背景噪...
· 基于FPGA的UART IP核设计...
· 基于FPGA的IIR数字滤波器...
· ArmSim全系统模拟器的设...
· FPGA中软FIFO设计和实现
· 基于FPGA的并行DSP芯片实...

热点文章

更多

01-01·[接口与通讯] 红外遥控系统原理及单片机软... (3804)
01-01·[单片机技术] 温度传感器PT100的应用 (2424)
09-17·[可编程逻辑] 基于VHDL语言的智能密码锁设计 (1984)
09-08·[可编程逻辑] 基于FPGA的QPSK调制解调电路... (1973)
09-08·[单片机技术] AT89S52的中文简介及资料下载 (1909)
11-24·[电子基础] 与初学者谈电子制作(电子入门) (1789)
09-09·[电源技术] 基于DSP的三相SPWM波发生软件... (1789)
10-24·[传感与控制] MODBUS RTU通讯协议在S7-200... (1612)
12-01·[单片机技术] 基于ARM智能家居控制器设计与... (1612)
11-24·[单片机技术] 常用LED数码管驱动电路2(单 ... (1601)
09-08·[电源技术] 能延长电池寿命的单节电池升... (1537)
09-11·[仪器与仪表] 应用ADuC847芯片设计压力及温... (1520)