全数字2DPSK调制解调系统 一、实验目的:
1.掌握2DPSK调制与借条的基本原理和实现方法;
2.掌握MAX+plusII开发软件的运用,再该软件下熟练的运用多种输入方式完成各种电路设计的要求;
3.初步掌握HDL语言,能够运用硬件描述语言编写简单的程序,完成设计要求; 4.熟悉对PLD的下载和仿真,学会观察测试结果的正确性; 5.学会运用各方面知识,设计并实现一个系统。 二、实验设备:
MAX+plusII开发系统,微机1台,示波器1台,稳压电源1台,万用表1台,实验箱1套 三、实验原理:
?0,表示数字信息“0”????1”??,表示数字信息“
二进制数字信息:或 ???1 1 0 1 0 0 1 10?0? ?0 0 ?2DPSK信号相位:??0??0 ??00 0 ?0 0
2DPSK全称是二进制相对(差分)移相键控,其基本原理是利用前后相邻码元的相对载波相
位值去表示数字信息。即用相位偏移△Φ取不同的值(如0或π)去表示数字信息的“1”或“0”,其解调采用差分相干解调法:
它的特点是可以避免倒π现象的发生。 ADC控制电路:
四、实验步骤: 1)实验框图:
2)差分编码
LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY DECODE IS PORT ( An,CLK : IN STD_LOGIC; Bn : Buffer STD_LOGIC ); END DECODE; ARCHITECTURE ONE OF DECODE IS BEGIN PROCESS(CLK,An) BEGIN IF CLK'EVENT AND CLK='0' THEN Bn<=(An XOR Bn); --查分编码逻辑bn=an异或bn-1 END IF; END PROCESS; END ONE;
Bn=An xor Bn-1,Bn相对于An有一个clk的延迟 3)码元延迟
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY codeDELAY IS
PORT ( CLK : IN STD_LOGIC;
ADCCODEIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0); CODEOUT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END codeDELAY;
ARCHITECTURE one OF codeDELAY IS SIGNAL
MIDCODE0,MIDCODE1,MIDCODE2,MIDCODE3,MIDCODE4,MIDCODE5,MIDCODE6,MIDCODE7,
MIDCODE8,MIDCODE9,MIDCODE10,MIDCODE11,MIDCODE12,MIDCODE13,MIDCODE14,MIDCODE15,
MIDCODE16,MIDCODE17,MIDCODE18,MIDCODE19,MIDCODE20,MIDCODE21,MIDCODE22,MIDCODE23,
MIDCODE24,MIDCODE25,MIDCODE26,MIDCODE27,MIDCODE28,MIDCODE29,MIDCODE30,MIDCODE31 : STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN
P_REG: PROCESS(CLK) BEGIN
IF CLK'EVENT AND CLK='1' THEN--通过内部32次数据传输,即寄存,实现传输延时
MIDCODE0<=ADCCODEIN;
MIDCODE1<=MIDCODE0; MIDCODE2<=MIDCODE1; MIDCODE3<=MIDCODE2; MIDCODE4<=MIDCODE3; MIDCODE5<=MIDCODE4; MIDCODE6<=MIDCODE5; MIDCODE7<=MIDCODE6; MIDCODE8<=MIDCODE7; MIDCODE9<=MIDCODE8; MIDCODE10<=MIDCODE9; MIDCODE11<=MIDCODE10; MIDCODE12<=MIDCODE11; MIDCODE13<=MIDCODE12; MIDCODE14<=MIDCODE13; MIDCODE15<=MIDCODE14; MIDCODE16<=MIDCODE15; MIDCODE17<=MIDCODE16; MIDCODE18<=MIDCODE17; MIDCODE19<=MIDCODE18; MIDCODE20<=MIDCODE19; MIDCODE21<=MIDCODE20; MIDCODE22<=MIDCODE21; MIDCODE23<=MIDCODE22; MIDCODE24<=MIDCODE23; MIDCODE25<=MIDCODE24; MIDCODE26<=MIDCODE25; MIDCODE27<=MIDCODE26; MIDCODE28<=MIDCODE27; MIDCODE29<=MIDCODE28; MIDCODE30<=MIDCODE29; CODEOUT<=MIDCODE30; END IF;
END PROCESS; END ONE;
4)ADC控制电路:
library ieee;
use ieee.std_logic_1164.all;

