基于VHDL的基带信号的MFSK调制
扫描二维码
随时随地手机看文章
--多进制数字频率调制(MFSK)系统VHDL程序
--文件名:MFSK
--功能:基于VHDL硬件描述语言,完成对基带信号的MFSK调制
--说明:这里MFSK的M为4
--最后修改日期:2004.2.13
library ieee;
use ieee.std_logic_arith.all;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity MFSK is
port(clk :in std_logic; --系统时钟
start :in std_logic; --开始调制信号
x :in std_logic; --基带信号
y :out std_logic); --调制信号
end MFSK;
architecture behav of MFSK is
process(clk) process(clk,yy) --此进程完成对输入基带信号x的MFSK调制
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;
--对输入的基带信号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;