龙芯

龙芯

0个粉丝

18

问答

0

专栏

1

资料

龙芯  发布于  2008-10-02 20:26:30
采纳率 0%
18个问答
4856

CPSK调制VHDL程序及仿真

 
基于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_CPSK is
port(clk      :in std_logic;           --系统时钟
     start    :in std_logic;           --开始调制信号
     x      :in std_logic;           --基带信号
     y      :out std_logic);         --已调制输出信号
end PL_CPSK;
architecture behav of PL_CPSK is
signal q:std_logic_vector(1 downto 0);  --2位计数器
signal f1,f2:std_logic;               --载波信号
begin
process(clk)                       --此进程主要是产生两重载波信号f1,f2
begin
if clk'event and clk='1' then
   if start='0' then q<="00";
   elsif q<="01" then f1<='1';f2<='0';q<=q+1;
   elsif q="11" then f1<='0';f2<='1';q<="00";
   else  f1<='0';f2<='1';q<=q+1;
   end if;
end if;
end process;
process(clk,x)                        --此进程完成对基带信号x的调制        
begin
if clk'event and clk='1' then
   if q(0)='1' then
      if x='1' then y<=f1;             --基带信号x为‘1’时,输出信号y为f1
      else y<=f2;                   --基带信号x为‘0’时,输出信号y为f2
      end if;
   end if;
end if;
end process;
end behav;
2. CPSK调制VHDL程序仿真图及注释
CPSK调制VHDL程序仿真图及注释如图8.11.10所示。
(a)CPSK调制VHDL程序仿真全图

注:a.载波信号f1、f2是通过系统时钟clk 分频得到的,且滞后系统时钟一个clk。
b.调制输出信号y滞后载波一个clk;滞后系统时钟两个clk。
(b)CPSK调制VHDL程序仿真全局部放大图
图8.11.10 CPSK调制VHDL程序仿真图及注释
8.11.8 CPSK解调VHDL程序及仿真
1. CPSK解调VHDL程序
--文件名:PL_CPSK2
--功能:基于VHDL硬件描述语言,对CPSK调制的信号进行解调
--最后修改日期: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_CPSK2 is
port(clk       :in std_logic;                --系统时钟
     start     :in std_logic;                --同步信号
     x       :in std_logic;                --调制信号
     y       :out std_logic);              --基带信号
end PL_CPSK2;
architecture behav of PL_CPSK2 is
signal q:integer range 0 to 3;      
begin
process(clk)                              --此进程完成对CPSK调制信号的解调
begin
if clk'event and clk='1' then
   if start='0' then q<=0;
   elsif q=0 then q<=q+1;               --在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)相对码到绝对码的转换程序仿真全图
注:a.当q=3时,输出信号y是信号x与xx(输入信号x延时一个基带码长)的异或。
    b.输出信号y滞后于输入信号x 一个基带码长(4个clk)。
(b)相对码到绝对码的转换程序仿真局部放大图
图8.11.19 相对码到绝对码的转换程序仿真图及注释
我来回答
回答0个
时间排序
认可量排序
易百纳技术社区暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区