资源描述:
《QPSK调制解调实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验一QPSK调制实验一、实验目的1、掌握QPSK的调制解调原理。2、掌握QPSK的软件仿真方法。3、掌握QPSK的硬件设计方法。二、预习要求1、掌握QPSK的编解码原理和方法。2、熟悉matlab的应用和仿真方法。3、熟悉DSP和FPGA的开发方法。三、实验原理1、QPSK调制的工作原理多相相移键控(MPSK),特别是四相相移键控(QPSK)是目前移动通信、微波通信和卫星通信中最常用的载波传输方式。四相相移键控(QPSK)信号的正弦载波有4个可能的离散相位状态,每个载波相位携带2个二进制符号,其信号表达式为:i=1,2,3
2、,40≤t≤TsTs为四进制符号间隔,{:i=1,2,3,4}为正弦波载波的相位,有四种可能状态。如以下矢量图所示:图QPSK信号的相位图IQ如图为QPSK的相位图,QPSK的相位为(-3π/4,-π/4,π/4,3π/4)。对于QPSK:0≤t≤Ts由于所以:QPSK正交调制器方框图如图所示:串-并变换载波发生器90度相移I(t)Q(t)cosωct-sinωct基带信息已调信息图QPSK正交调制器方框图在kTs≤t≤(k+1)Ts(Ts=2Tb)的区间,QPSK产生器的输出为:2、QPSK的相干解调的基本工作原理QPSK
3、的相干解调方框图如图所示:低通滤波器判决低通滤波器判决并串转换sinωctcosωctr(t))输出图QPSK的相干解调方框图当调制信号为I=1,Q=1时,由调制原理,调制输出信号为,在没有噪声和延时的理想状态时,解调器的输入,则I检测器的输出为:则Q检测器的输出为:用截止频率小于2的低通滤波器对I检测器的输出滤波后得到1/2,即为逻辑1;对Q检测器的输出滤波后得到1/2,即为逻辑1。解调出来的I=1,Q=1,解调正确。四、QPSK的仿真1、QPSK的眼图和星座图的仿真(1)建立QPSK仿真文件(2)仿真结果2、QPSK的波
4、形和功率谱密度仿真(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));%随
5、机产生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调制信号
6、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
7、通道基带波形');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;%设置信噪比取值
8、范围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)