实验一QPSK调制实验一、实验目的1、掌握QPSK的调制解调原理。2、掌握QPSK的软件仿真方法。3、掌握QPSK的硬件设计方法。二、预习要求1、掌握QPSK的编解码原理和方法。2、熟悉matlab的应用和仿真方法。3、熟悉DSP和FPGA的开发方法。三、实验原理1、QPSK调制的工作原理多相相移键控(MPSK),特别是四相相移键控(QPSK)是目前移动通信、微波通信和卫星通信中最常用的载波传输方式。四相相移键控(QPSK)信号的正弦载波有4个可能的离散相位状态,每个载波相位携带2个二进制符号,其信号表达式为:)cos()(icitAtSi=1,2,3,40≤t≤TsTs为四进制符号间隔,{i:i=1,2,3,4}为正弦波载波的相位,有四种可能状态。如以下矢量图所示:如图为QPSK的相位图,QPSK的相位为(-3π/4,-π/4,π/4,3π/4)。对于QPSK:)sincoscos(sin)sin()(icicicittAtAtS0≤t≤Ts由于21cosi21sini所以:)cos)(sin)((2)(ttQttIAtScci21cos)(itI21sin)(itQQPSK正交调制器方框图如图所示:图QPSK信号的相位图IQ图QPSK正交调制器方框图在kTs≤t≤(k+1)Ts(Ts=2Tb)的区间,QPSK产生器的输出为:11),43cos(11),4cos(11),43cos(11),4cos()(1111nncnncnncnncaatAaatAaatAaatAts2、QPSK的相干解调的基本工作原理QPSK的相干解调方框图如图所示:图QPSK的相干解调方框图当调制信号为I=1,Q=1时,由调制原理,调制输出信号为tttSccicossin)(,在没有噪声和延时的理想状态时,解调器的输入tttStrccicossin)()(,则I检测器的输出为:ttttttrcccccsincossinsinsin)(ttttcccc2sin212cos21212sin21)2cos1(21则Q检测器的输出为:ttttttrccccccoscoscossincos)(低通滤波器判决低通滤波器判决并串转换sinωctcosωctr(t))输出串-并变换载波发生器90度相移I(t)Q(t)cosωct-sinωct基带信息已调信息ttttcccc2sin212cos21212sin21)2cos1(21用截止频率小于2c的低通滤波器对I检测器的输出滤波后得到1/2,即为逻辑1;对Q检测器的输出滤波后得到1/2,即为逻辑1。解调出来的I=1,Q=1,解调正确。四、QPSK的仿真1、QPSK的眼图和星座图的仿真(1)建立QPSK仿真文件(2)仿真结果2、QPSK的波形和功率谱密度仿真(1)建立仿真文件clearall;Ts=1;%基带信号周期为1s,即为1Hz,输入信号周期为Ts/2=0.5s,即2Hzfc=1;%载波频率为1HzN_sample=64;%每载波采样64个点N_num=1000;%基带信号为8个码元,每通道4码元dt=1/fc/N_sample;%采样间隔t=0:dt:N_num*Ts-dt;%仿真时间T=dt*length(t);%仿真时间序列d1=sign(randn(1,N_num));%随机产生100个基带信号d2=sign(randn(1,N_num));%随机产生100个基带信号gt=ones(1,fc*N_sample);%每码元对应的载波信号%QPSK调制s1=sigexpand(d1,fc*N_sample);%码元扩展s2=sigexpand(d2,fc*N_sample);%码元扩展b1=conv(s1,gt);%码元扩展b2=conv(s2,gt);%码元扩展s1=b1(1:length(s1));%码元扩展s2=b2(1:length(s2));%码元扩展st_qpsk=s1.*cos(2*pi*fc*t)-s2.*sin(2*pi*fc*t);%QPSK调制信号st_qpsk=st_qpsk/sqrt(2);[fy1f]=T2F(t,st_qpsk);lenf=length(y1f);Show_num=8;%显示码元数Show_time=Show_num*Ts;%显示码元数figure(1);subplot(431)plot(t,s1);xlabel('t');axis([0Show_time-1.61.6]);title('I通道基带波形');subplot(434)plot(t,s2);xlabel('t');axis([0Show_time-1.61.6]);title('Q通道基带波形');subplot(437)plot(t,st_qpsk);xlabel('t');axis([0Show_time-1.61.6]);title('QPSK波形');subplot(4,3,10)plot(f,10*log10(abs(y1f).^2/lenf));xlabel('f');axis([-2020-6010]);title('QPSK频谱');(2)仿真结果3、QPSK的误码率仿真(1)建立simulink文件(2)建立程序文件%设置仿真间隔xSampleTime=1/1000;%设置信噪比取值范围x=0:10;fori=1:length(x)SNR=x(i);sim('qpsksim1.mdl');y(i)=ErrorVec(1);end;semilogy(x,y);gridon;xlabel('SNR(dB)');ylabel('BER');title('QPSK');(3)仿真结果五、QPSK的硬件设计1、DAC0800电路注:在本实验中NRZ码从J606和J605输出。2、中频调制模块电路4、AD采样电路5、FPGA程序的设计(1)差分编码模块:内部电路图:(2)串并转换模块:内部电路图:(3)归零码转为非归零码模块:VHDL程序:Libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entityNRZisport(I,Q:instd_logic;--I,Q路非归零码的输入I_NRZ,Q_NRZ:outstd_logic_vector(7downto0));--NRZ码的输出到DAC0800endentityNRZ;architectureoneofnrzisbeginprocess(i,q)beginif(I='1')thenI_Nrz=11111111;elseI_Nrz=00000000;endif;if(Q='1')thenQ_Nrz=11111111;elseQ_Nrz=00000000;endif;endprocess;endarchitectureone;六、实验操作说明1、操作键盘,是处于QPSK调制解调的模式下,按退出键以外的键,产生不同的码元。2、操作键盘,是处于QPSK的眼图模式下,观看QPSK的星座图。3、连接J605到J401,连接J606到J402,完成QPSK的调制。4、连接J403到J501,分别J503和J504到J601和J602,从TP609和TP610观察QPSK的解调波形七、实验内容1、用matalab中的simulink对QPSK进行软件仿真,绘制QPSK的波形图,分析它的频谱;2、在Quatus中分别对QPSK的进行仿真,实现差分编码和串并转换;3、操作键盘,使系统处于QPSK调制解调模式下;4、用示波器分别测量TP601和TP602,观察输出波形,并将示波器的显示模式调为XY,观察QPSK的星座图;5、用示波器测量TP603,观察调制后的输出波形;6、用示波器分别测量TP609和TP610,观察解调后的输出波形;7、换几组数据(至少4组数据)重复上述步骤3-6。八、实验仪表1、电脑一台(装有matlab、Quatus、CCS软件);2、ByteblasterII下载设备;3、DSP仿真器;4、移动通信原理实验系统;5、60M双踪示波器;6、数字万用表。九、思考题1、对8QPSK进行仿真。2、设计8PSK的调制电路。3、分析当解调器的输入信号)(tr与恢复载波tcsin和tccos存在相移θ,分析相移θ对解调判决的影响,证明当传输中出现正负45度以内相移时,解调器仍能正确解调。4、试分析传输中的白高斯噪声对解调器的影响。十、实验报告要求1、整理数据,画出实验内容中要求的各种波形;2、实验报告中完成思考题。