推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于VHDL硬件描述语言基带信号的MFSK调制

更新时间:2020-07-02 19:09:56 大小:90K 上传用户:xzxbybd查看TA发布的资源 标签:vhdlmfsk 下载积分:2分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

--文件名:PL_MFSK

--功能:基于VHDL硬件描述语言,完成对基带信号的MFSK调制

--说明:这里MFSKM4

--最后修改日期:2004.2.13

library ieee;

use ieee.std_logic_arith.all;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity PL_MFSK is

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

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

     x       :in std_logic;             --基带信号

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

end PL_MFSK;

architecture behav of PL_MFSK is

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

signal f :std_logic_vector(3 downto 0);    --分频器

signal xx:std_logic_vector(1 downto 0);   --寄存输入信号x2位寄存器

signal yy:std_logic_vector(1 downto 0);   --寄存xx信号的寄存器

begin

process(clk)  --此进程过对clk进行分频,得到4种载波信号f3f2 f1f0

begin

if clk'event and clk='1' then

   if start='0' then f<="0000";

   elsif f="1111" then f<="0000";

   else f<=f+1;

   end if;

end if;

end process;

process(clk)              --对输入的基带信号x进行串/并转换,得到2位并行信号的yy

begin

if clk'event and clk='1' then

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

   elsif q=0 then q<=1;xx(1)<=x;yy<=xx;

   elsif q=8 then q<=9;xx(0)<=x;

   else  q<=q+1;

   end if;

end if;

end process;

process(clk,yy)                          --此进程完成对输入基带信号xMFSK调制

begin

if clk'event and clk='1' then

   if start='0' then y<='0';                 -- if语句完成2位码并行码到4种载波的选通

   elsif yy="00" then y<=not f(3);

   elsif yy="01" then y<=not f(2);

   elsif yy="10" then y<=not f(1);

   else  y<=not f(0);

   end if;

end if;

end process;

end behav;

3. MFSK调制VHDL程序仿真图及注释

MFSK调制VHDL程序仿真图及注释如图8.13.4所示。


aMFSK调制VHDL程序仿真全图


部分文件列表

文件名 大小
MFSK调制VHDL程序及仿真.doc 90K

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载