p; --在q=0时,根据输入信号x的电平来进行判决
if x='1' then y<='1';
else y<='0';
end if;
elsif q=3 then q<=0;
else q<=q+1;
end if;
end if;
end process;
end behav;
2. CPSK解调VHDL程序仿真图及注释
CPSK解调VHDL程序仿真图及注释如图8.11.13所示。
(a)CPSK解调VHDL程序仿真全图
注:a.当q=0时,根据x的电平来进行对判决。
b.输出信号y滞后输入信号x一个clk。
(b)CPSK解调VHDL程序仿真局部放大图
图8.11.13 CPSK解调VHDL程序仿真图及注释
8.11.10绝对码-相对码转换VHDL程序及仿真
1. 绝对码-相对码转换VHDL程序
--文件名:PL_DPSK
--功能:基于VHDL硬件描述语言,对基带信号进行绝对码到相对码的转换
--最后修改日期:2004.3.16
library ieee;
use ieee.std_logic_arith.all;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity PL_DPSK is
port(clk :in std_logic; --系统时钟
start :in std_logic; --开始转换信号
x :in std_logic; --绝对码输入信号
y :out std_logic); --相对码输出信号
end PL_DPSK;
architecture behav of PL_DPSK is
signal q:integer range 0 to 3; --分频器
signal xx:std_logic; --中间寄存信号
begin
process(clk,x) --此进程完成绝对码到相对码的转换
begin
if clk'event and clk='1' then
if start='0' then q<=0; xx<='0';
elsif q=0 then q<=1; xx<=xx xor x;y<=xx xor x; --输入信号与前一个输出信号进行异或
elsif q=3 then q<=0;
else q<=q+1;
end if;
end if;
end process;
end behav;
2. 绝对码-相对码转换程序仿真图及注释
绝对码-相对码转换程序仿真图及注释如图8.11.16所示。
注:a.在q=0时,输出信号y是输入信号x与中间寄存信号xx异或。
b.输出信号y滞后于输入信号x一个clk。
图8.11.16 绝对码-相对码转换程序仿真图及注释
8.11.12 相对码-绝对码转换VHDL程序及仿真
1. 相对码-绝对码转换VHDL程序
--文件名:PL_DPSK2
--功能:基于VHDL硬件描述语言,对基带码进行相对码到绝对码的转换
--最后修改日期:2004.3.16
library ieee;
use ieee.std_logic_arith.all;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity PL_DPSK2 is
port(clk :in std_logic; --系统时钟
start :in std_logic; --开始转换信号
x :in std_logic; --相对码输入信号
y :out std_logic); --绝对码输出信号
end PL_DPSK2;
architecture behav of PL_DPSK2 is
signal q:integer range 0 to 3; --分频
signal xx:std_logic; --寄存相对码
begin
process(clk,x) --此进程完成相对码到绝对码的转换
begin
if clk'event and clk='1' then
if start='0' then q<=0;
elsif q=0 then q<=1;
elsif q=3 then q<=0; y<=xx xor x; xx<=x; --输入信号x与前一输入信号xx进行异或
else q<=q+1;
end if;
end if;
end process;
end behav;
2. 相对码-绝对码转换VHDL程序仿真图及注释
相对码到绝对码的转换程序仿真图及注释如图8.11.19所示。
(a)相对码到绝对码的转换程序仿真全图