网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > FPGA > 正文

ASK调制与解调VHDL程序及仿真

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

8.9 ASK调制VHDL程序及仿真

1. ASK调制VHDL程序

--文件名:PL_ASK

--功能:基于VHDL硬件描述语言,对基带信号进行ASK振幅调制

--最后修改日期: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_ASK is

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

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

     x     :in std_logic;           --基带信号

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

end PL_ASK;

architecture behav of PL_ASK is

signal q:integer range 0 to 3;         --分频计数器

signal f :std_logic;                 --载波信号

begin

process(clk)

begin

if clk'event and clk='1' then

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

   elsif q<=1 then f<='1';q<=q+1; --改变q后面数字的大小,就可以改变载波信号的占空比

   elsif q=3 then f<='0';q<=0;    --改变q后面数字的大小,就可以改变载波信号的频率

   else  f<='0';q<=q+1;

   end if;

end if;

end process;

y<=x and f;                   --对基带码进行调制

end behav;

2.  ASK调制VHDL程序仿真图及注释

ASK调制VHDL程序仿真图及注释如图8.9.7所示。

aASK调制仿真全图

注:a.基带码长等于载波f6个周期。

b. 输出的调制信号y滞后于输入基带信号x一个clk时间。

bASK调制仿真局部放大图

8.9.7 ASK调制VHDL程序仿真图及注释

8.9.6 ASK解调VHDL程序及仿真

1.ASK解调VHDL程序

--文件名:PL_ASK2

--功能:基于VHDL硬件描述语言,对ASK调制信号进行解调

--最后修改日期:2004.2.12

library ieee;

use ieee.std_logic_arith.all;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity PL_ASK2 is

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

     start    :in std_logic;         --同步信号

     x      :in std_logic;          --调制信号

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

end PL_ASK2;

architecture behav of PL_ASK2 is

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

signal xx:std_logic;                --寄存x信号

signal m:integer range 0 to 5;        --xx的脉冲数

begin

process(clk)                      --对系统时钟进行q分频,

begin

if clk'event and clk='1' then xx<=x;   --clk上升沿时,把x信号赋给中间信号xx

   if start='0' then q<=0;           --if语句完成q的循环计数

   elsif q=11 then q<=0;

   else q<=q+1;

   end if;

end if;

end process;

process(xx,q)                    --此进程完成ASK解调

begin

if q=11 then m<=0;               --m计数器清零

elsif q=10 then            

   if m<=3 then y<='0';           --if语句通过对m大小,来判决y输出的电平

   else y<='1';

   end if;

elsif  xx'event and xx='1'then m<=m+1; --xx信号的脉冲个数

end if;

end process;

end behav;

2.ASK程序解调仿真图及注释

ASK程序解调仿真图及注释如图8.9. 10所示。

aASK解调仿真全图

注:a.q=11时,m清零。

b.q=10时,根据m的大小,进行对输出基带信号y的电平的判决。

c.q为其它时,mxxx信号的寄存器)的脉冲数。

d. 输出的基带信号y滞后输入的调制信号x 10clk

bASK解调仿真局部放大图

8.9.10  ASK程序解调仿真图及注释

  • 上一篇资讯: MASK调制VHDL程序及仿真
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师