完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我用的是quartus9.0
仿真出问题了,输出波形有问题,求解救,很感谢 这是调制模块 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; --系统时钟 start :in std_logic; --此时开始调制信号 x :in std_logic; --基带信号 y :out std_logic ); --调制信号 end PL_FSK; architecture behav of PL_FSK is signal q1:integer range 0 to 11; --载波信号f1的,分频计数器 signal q2:integer range 0 to 3; --载波信号f2的,分频计数器 signal f1,f2:std_logic; --载波信号f1和f2 begin process(clk) --进程经过对系统时钟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之后的数字能够改变载波f1的占空比 elsif q1=11 then f1<='0';q1<=0; --改变q1之后的数字能够改变载波f1的频率 else f1<='0';q1<=q1+1; end if; end if; end process; process(clk) --进程经过对系统时钟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之后的数字能够改变载波f2的占空比 elsif q2=1 then f2<='0';q2<=0; --改变q2之后的数字能够改变载波f2的频率 else f2<='0';q2<=q2+1; end if; end if; end process; process(clk,x) --进程成功对基带信号进行FSK调制 begin if clk'event and clk='1' then if x='0' then y<=f1; --若输入的基带信号x=‘0’时,得到的调制信号y为f1 else y<=f2; --若输入的基带信号x=‘1’时,得到的调制信号y为f2 end if; end if; end process; end behav; 解调模块: 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; --系统时钟 start :in std_logic; --同步信号 x :in std_logic; --调制信号 y :out std_logic); --基带信号 end PL_FSK2; architecture behav of PL_FSK2 is signal q:integer range 0 to 11; --分频计数器 signal xx:std_logic; --寄存器 signal m:integer range 0 to 5; --计数器 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) --此进程完成FSK解调 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; |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1512 浏览 1 评论
1295 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
1503 浏览 0 评论
922 浏览 0 评论
2300 浏览 0 评论
1452 浏览 35 评论
5640 浏览 113 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 01:15 , Processed in 0.602538 second(s), Total 72, Slave 52 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号