標題: FSK調(diào)制與解調(diào)VHDL程序 [打印本頁]
作者: wang1587170 時間: 2018-1-8 17:25
標題: FSK調(diào)制與解調(diào)VHDL程序
8.10 FSK調(diào)制與解調(diào)VHDL程序
1. FSK調(diào)制VHDL程序
--文件名:PL_FSK
--功能:基于VHDL硬件描述語言,對基帶信號進行FSK調(diào)制
--最后修改日期:
library ieee;
use ieee.std_logic_arith.all;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity PL_FSK is
port(clk :in std_logic; --系統(tǒng)時鐘
start :in std_logic; --開始調(diào)制信號
x :in std_logic; --基帶信號
y :out std_logic); --調(diào)制信號
end PL_FSK;
architecture behav of PL_FSK is
signal q1:integer range 0 to 11; --載波信號f1的分頻計數(shù)器
signal q2:integer range 0 to 3; --載波信號f2的分頻計數(shù)器
signal f1,f2:std_logic; --載波信號f1,f2
begin
process(clk) --此進程通過對系統(tǒng)時鐘clk的分頻,得到載波f1
begin
if clk'event and clk='1' then
if start='0' then q1<=0;
elsif q1<=5 then f1<='1';q1<=q1+1; --改變q1后面的數(shù)字可以改變,載波f1的占空比
elsif q1=11 then f1<='0';q1<=0; --改變q1后面的數(shù)字可以改變,載波f1的頻率
else f1<='0';q1<=q1+1;
end if;
end if;
end process;
process(clk) --此進程通過對系統(tǒng)時鐘clk的分頻,得到載波f2
begin
if clk'event and clk='1' then
if start='0' then q2<=0;
elsif q2<=0 then f2<='1';q2<=q2+1; --改變q2后面的數(shù)字可以改變,載波f2的占空比
elsif q2=1 then f2<='0';q2<=0; --改變q2后面的數(shù)字可以改變,載波f2的頻率
else f2<='0';q2<=q2+1;
end if;
end if;
end process;
process(clk,x) --此進程完成對基帶信號的FSK調(diào)制
begin
if clk'event and clk='1' then
if x='0' then y<=f1; --當輸入的基帶信號x=‘0’時,輸出的調(diào)制信號y為f1
else y<=f2; --當輸入的基帶信號x=‘1’時,輸出的調(diào)制信號y為f2
end if;
end if;
end process;
end behav;
1. FSK解調(diào)VHDL程序
--文件名:PL_FSK2
--功能:基于VHDL硬件描述語言,對FSK調(diào)制信號進行解調(diào)
--最后修改日期:
library ieee;
use ieee.std_logic_arith.all;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity PL_FSK2 is
port(clk :in std_logic; --系統(tǒng)時鐘
start :in std_logic; --同步信號
x :in std_logic; --調(diào)制信號
y :out std_logic); --基帶信號
end PL_FSK2;
architecture behav of PL_FSK2 is
signal q:integer range 0 to 11; --分頻計數(shù)器
signal xx:std_logic; --寄存器
signal m:integer range 0 to 5; --計數(shù)器
begin
process(clk) --對系統(tǒng)時鐘進行q分頻
begin
if clk'event and clk='1' then xx<=x; --在clk信上升沿時,x信號對中間信號xx賦值
if start='0' then q<=0; --if語句完成Q的循環(huán)計數(shù)
elsif q=11 then q<=0;
else q<=q+1;
end if;
end if;
end process;
process(xx,q) --此進程完成FSK解調(diào)
begin
if q=11 then m<=0; --m計數(shù)器清零
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信號的脈沖個數(shù)
end if;
end process;
end behav
作者: FFEGFIUEGUEGT 時間: 2018-1-9 20:46
這個程序你運行成功過嗎?為什么我運行起來顯示有三個警告啊
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
亚洲第一av网站
|
欧美性大战xxxxx久久久
|
在线视频 亚洲
|
人人鲁人人莫人人爱精品
|
成人深夜福利
|
国产精品美女久久久
|
日韩精品专区在线影院重磅
|
一级电影免费看
|
免费观看a级毛片在线播放
黄网站免费入口
|
国产精品久久久久久久一区二区
|
午夜在线小视频
|
午夜天堂精品久久久久
|
精品视频国产
|
日本特黄a级高清免费大片
成年人黄色小视频
|
成年无码av片在线
|
久久草在线视频
|
国产高清av免费观看
|
手机在线观看av
|
欧美aaa级|
国产成人啪免费观看软件
|
国产一在线观看
|
影视先锋av资源噜噜
|
日韩视频在线播放
|
在线亚洲一区
|
在线免费观看a级片
|
91麻豆精品国产91久久久更新资源速度超快
|
国产高清视频一区
|
免费在线观看一区二区三区
|
成年视频在线观看
|
91国内精品久久
|
成人在线免费
|
精品国产久
|
欧美日韩久久
|
久久性色
|
一级黄色夫妻生活
|
欧美日韩中文字幕在线
|
欧美成人精品激情在线观看
|
成人在线视|
成人不卡|
日本不卡一区二区三区
|
九九精品在线
|