调制与解调VHDL程序及仿真.doc_第1页
调制与解调VHDL程序及仿真.doc_第2页
调制与解调VHDL程序及仿真.doc_第3页
调制与解调VHDL程序及仿真.doc_第4页
调制与解调VHDL程序及仿真.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

CPSK调制VHDL程序及仿真CPSK调制VHDL程序-文件名:PL_CPSK-功能:基于VHDL硬件描述语言,对基带信号进行调制library ieee;use ieee.std_logic_arith.all;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity PL_CPSK isport(clk :in std_logic; -系统时钟 start :in std_logic; -开始调制信号 x :in std_logic; -基带信号 y :out std_logic); -已调制输出信号end PL_CPSK;architecture behav of PL_CPSK issignal q:std_logic_vector(1 downto 0); -2位计数器signal f1,f2:std_logic; -载波信号beginprocess(clk) -此进程主要是产生两重载波信号f1,f2beginif clkevent 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的调制 beginif clkevent 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调制的信号进行解调library ieee;use ieee.std_logic_arith.all;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity PL_CPSK2 isport(clk :in std_logic; -系统时钟 start :in std_logic; -同步信号 x :in std_logic; -调制信号 y :out std_logic); -基带信号end PL_CPSK2;architecture behav of PL_CPSK2 issignal q:integer range 0 to 3; beginprocess(clk) -此进程完成对CPSK调制信号的解调beginif clkevent 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硬件描述语言,对基带信号进行绝对码到相对码的转换library ieee;use ieee.std_logic_arith.all;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity PL_DPSK isport(clk :in std_logic; -系统时钟 start :in std_logic; -开始转换信号 x :in std_logic; -绝对码输入信号 y :out std_logic); -相对码输出信号end PL_DPSK;architecture behav of PL_DPSK issignal q:integer range 0 to 3; -分频器signal xx:std_logic; -中间寄存信号 beginprocess(clk,x) -此进程完成绝对码到相对码的转换beginif clkevent 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硬件描述语言,对基带码进行相对码到绝对码的转换library ieee;use ieee.std_logic_arith.all;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity PL_DPSK2 isport(clk :in std_logic; -系统时钟 start :in std_logic; -开始转换信号 x :in std_logic; -相对码输入信号 y :out std_logic); -绝对码输出信号end PL_DPSK2;architecture behav of PL_DPSK2 issignal q:integer range 0 to 3; -分频signal xx:std_logic; -寄存相对码beginprocess(clk,x) -此进程完成相对码到绝对码的转换beginif clkevent 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程序仿真图及注释相对码

温馨提示

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

评论

0/150

提交评论