Board logo

标题: [求助]QPSK调制解调的VHDL(Verilog)源代码 [打印本页]

作者: team2005    时间: 2006-3-17 21:46     标题: [求助]QPSK调制解调的VHDL(Verilog)源代码

那位大虾有 QPSK调制解调的VHDL(Verilog)源代码


小弟在此谢过了。


最好包含同步模块和相关的文档


 


作者: swiki0    时间: 2006-4-7 10:43

我也要,邮箱:swiki@126.com
谢谢~
作者: jay911    时间: 2006-4-20 01:47

帮顶~~~
希望有高手帮忙
作者: stone133    时间: 2006-4-20 08:22

lz要的东西 整个就是一个 完整的设计,这样的东西好像要不到
作者: jay911    时间: 2006-4-20 21:09

不知道是否有相关的介绍或者相似可以借鉴的源代码呢?
作者: stone133    时间: 2006-4-20 22:32

这些东西一般只能找到调制的代码,解调和同步方面的基本没有
作者: jay911    时间: 2006-4-20 23:54

不知道斑竹是否有调制的代码,最近也在做这个题目,没头绪,拜谢
作者: hehe826    时间: 2006-4-24 20:21

我也要!!!wyy790@163.com,谢谢!!!
作者: stone133    时间: 2006-4-24 22:40

代码在书上,很长,有时间给你抄下来
作者: stone133    时间: 2006-4-24 22:40

代码在书上,很长,有时间给你抄下来
作者: jay911    时间: 2006-4-25 14:31

终于把调试和解调的程序编好了
请问如何将这两个模块连接起来

老师要我用量化连接,不是很懂
作者: tanglu5003328    时间: 2008-6-5 21:59

看看吧 交流一下

调制


LIBRARY IEEE;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY PL_QPSK IS
PORT(CLK :IN STD_LOGIC;
START :IN STD_LOGIC;
X :IN STD_LOGIC;
Y :OUT STD_LOGIC);
END PL_QPSK;
ARCHITECTURE BEHAV OF PL_QPSK IS
SIGNAL Q:INTEGER RANGE 0 TO 7;
SIGNAL XX:STD_LOGIC_VECTOR(1 DOWNTO 0);
SIGNAL YY:STD_LOGIC_VECTOR(1 DOWNTO 0);
SIGNAL F:STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
PROCESS(CLK)
BEGIN
IF CLK' EVENT AND CLK='1' THEN
IF START='0' THEN Q<=0;
ELSIF Q=0 THEN Q<=1;F(3)<='1';F(1)<='0';XX(1)<=X;YY<=XX;
ELSIF Q=2 THEN Q<=3;F(2)<='0';F(0)<='1';
ELSIF Q=4 THEN Q<=5;F(3)<='0';F(1)<='1';XX(1)<=X;
ELSIF Q=6 THEN Q<=7;F(2)<='1';F(0)<='0';
ELSE Q<=Q+1;
END IF;
END IF;
END PROCESS;
Y<=F(0) WHEN YY="11" ELSE
F(1) WHEN YY="10" ELSE
F(2) WHEN YY="01" ELSE
F(3);
END BEHAV




解调


library ieee;
use ieee.std_logic_arith.all;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity pl_qpsk2 is
port(clk :in std_logic;
start:in std_logic;
x :in std_logic;
y ut std_logic);
end pl_qpsk2;
architecture behav of pl_qpsk2 is
signal q:integer range 0 to 7;
signal xx:std_logic_vector(2 to 0);
signal yyy:std_logic_vector(1 to 0);
signal yy:std_logic_vector(2 to 0);
begin
process(clk)
begin
if clk' event and clk='1' then
if start='0' then q<=0;
elsif q=0 then q<=1;yy<=xx;y<=yyy(0);
if x='0' then xx="001";
elsif xx<="000";
end if;
elsif q=2 then q<=3;
if x='0' then xx<=xx+"001";
end if;
elsif q=4 then q<=5;y<=yyy(1);
if x='0' then xx<=xx+"010";
end if;
elsif q=6 then q<=7;
if x='0' then xx<=xx+"011";
end if;
else q<=q+1;
end if;
end if;
end process;
process(yy)
begin
if clk='1' and clk' event then
if yy="101" then yyy<="00";
elsif yy="011" then yyy<="01";
elsif yy="010" then yyy<="10";
elsif yy="100" then yyy<="11";
elsif yyy<="00";
end if;
end if;
end process;
end behav;

[此贴子已经被作者于2008-6-5 22:00:21编辑过]


作者: sulilian    时间: 2008-8-13 23:09

9楼的大哥,你那本书叫什么名字啊,推荐下哦,现在也在做这个项目,谢谢了
作者: taotaopig    时间: 2008-9-10 20:26

我做信号发生器做了QPSK的调制的

不过很大啊

有CIC滤波,有扩频

我这上网也不方便

再说这个贴我看到得太晚了


作者: billkusanagi    时间: 2009-9-28 09:15

我也很需要啊,先谢谢九楼的大哥,把你的代码拿回去试验下啦~
作者: LinLongrun    时间: 2011-1-25 12:11

本帖最后由 LinLongrun 于 2011-1-25 12:13 编辑

10# stone133

请问9楼的版主可以把代码也给我一份吗?最好有verilog的,很急用,万分感谢!
我的邮箱是454011005@qq.com
作者: LinLongrun    时间: 2011-1-25 12:15

希望有verilog的,万分感谢!
我的邮箱是454011005@qq.com




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0