基于VHDL的基帶信號(hào)的MFSK調(diào)制
--多進(jìn)制數(shù)字頻率調(diào)制(MFSK)系統(tǒng)VHDL程序
--文件名:MFSK
--功能:基于VHDL硬件描述語(yǔ)言,完成對(duì)基帶信號(hào)的MFSK調(diào)制
--說明:這里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; --系統(tǒng)時(shí)鐘
start :in std_logic; --開始調(diào)制信號(hào)
x :in std_logic; --基帶信號(hào)
y :out std_logic); --調(diào)制信號(hào)
end MFSK;
architecture behav of MFSK is
process(clk) process(clk,yy) --此進(jìn)程完成對(duì)輸入基帶信號(hào)x的MFSK調(diào)制
begin
if clk'event and clk='1' then
if start='0' then y<='0'; -- if語(yǔ)句完成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;
--對(duì)輸入的基帶信號(hào)x進(jìn)行串/并轉(zhuǎn)換,得到2位并行信號(hào)的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;