1、CPSK调制解调器设计精品文档1、设计要求设计CPSK调制解调器,对波形进行仿真分析。2、设计原理所谓绝对调相即CPSK,是利用载波的不同相位去直接传送数字信息的一种方式。对二进制2CPSK,若用相位代表“0”码,相位0代表“1”码,即规定数字基带信号为“ 0”码时,已调信号相对于载波的相位为;数字基带信号为“1”码时,已调信号相对于载波相位为同相。按此规定,2CPS K信号的数学表示式为 式中为载波的初相位。受控载波在0、两个相位上变化。3、CPSK调制与解调方框图CPSK调制方框图如图1所示。FPGACLKSTART基带信号计数器0相载波相载波二选一开关调制信号图1 CPSK调制方框图CP
2、SK解调方框图如图2所示, FPGAclkstart调制信号计数器q判决基带信号图2 CPSK解调方框图4、程序设计4.1 CPSK调制VHDL程序程序设计思路:clk为系统时钟,Start为选通信号,x为基带信号,y为已调制输出信号。先用2位计数器产生两个相位相差90度的载波信号f1,f2。当基带信号x为1时,输出信号y为f1。当基带信号x为0时,输出信号y为f2。由于f1内部信号时序仿真时会被软件优化掉,为了能观测到f1波形,特地引出f3口,f1输出到f3以便观察。最后是例化,可以与解调端连接起来仿真。具体程序如下:library ieee;use ieee.std_logic_arith
3、.all;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cpsk isport(clk :in std_logic; start :in std_logic; x :in std_logic; y :out std_logic; f3 :out std_logic); end cpsk;architecture behav of cpsk issignal q:std_logic_vector(1 downto 0); signal f1,f2:std_logic; beginprocess(clk) be
4、ginif clkevent and clk=1 then if start=0 then q=00; elsif q=01 then f1=1;f3=f1;f2=0;q=q+1; elsif q=11 then f1=0;f3=f1;f2=1;q=00; else f1=0;f3=f1;f2=1;q=q+1; end if;end if;end process;process(clk,x) beginif clkevent and clk=1 then if q(0)=1 then if x=1 then y=f1; else y=f2; end if; end if;end if;end
5、process;end behav;调制器生成的RTL电路如下:4.2 CPSK解调VHDL程序library ieee;use ieee.std_logic_arith.all;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt4 isport(clk :in std_logic; start :in std_logic; x :in std_logic; y :out std_logic); end cnt4;architecture behav of cnt4 issignal q:integer
6、range 0 to 3; beginprocess(clk) beginif clkevent and clk=1 then if start=0 then q=0; elsif q=0 then q=q+1; if x=1 then y=1; else y=0; end if; elsif q=3 then q=0; else qcp,start=en,x=ina,y=cpsk1_y);u2: cnt2PORTMAP(clk=cp,start=en,x=cpsk1_y,y=outa);guangcha=cpsk1_y;ENDARCHITECTURE one;5.仿真波形分析5.1 CPSK调制仿真图分析:载波信号f3(即f1)、f2是通过系统时钟clk 分频得到的,且滞后系统时钟一个clk。可见f2与f3相位相差90度,f3落后f2一个时钟,当当基带信号x为1时,输出信号y为f3。当基带信号x为0时,输出信号y为f2。5.2 CPSK解调仿真图分析:正确进行了解调,当q=0时,根据x的电平来进行对判决。Guangcha是调制器的输出波形,解调输出信号outa滞后输入信号ina一个clk且相反。收集于网络,如有侵权请联系管理员删除