基于MATLAB的QAM 眼图和星座图

合集下载

(完整word版)使用matlab绘制眼图.docx

(完整word版)使用matlab绘制眼图.docx

使用 matlab 绘制数字基带信号的眼图实验一、实验目的1、掌握无码间干扰传输的基本条件和原理,掌握基带升余弦滚降系统的实现方法;2、通过观察眼图来分析码间干扰对系统性能的影响,并观察在输入相同码率的NRZ 基带信号下,不同滤波器带宽对输出信号码间干扰大小的影响程度;3、熟悉 MATLAB语言编程。

二、实验原理和电路说明1、基带传输特性基带系统的分析模型如图3-1 所示,要获得良好的基带传输系统,就应该a n t nT s基带传输a n h t nT sn n抽样判决H ( )图 3-1基带系统的分析模型抑制码间干扰。

设输入的基带信号为a n t nT s, T s为基带信号的码元周期,则经过n基带传输系统后的输出码元为a n h t nT s。

其中nh(t )1H ()e j t d(3-1 )2理论上要达到无码间干扰,依照奈奎斯特第一准则,基带传输系统在时域应满足:,k 0h( kT s)(3-2)0,k为其他整数频域应满足:T s,T s(3-3)H ( )0,其他H ( )T sT sT s图 3-2 理想基带传输特性此时频带利用率为2Baud / Hz , 这是在抽样值无失真条件下,所能达到的最高频率利用率。

由于理想的低通滤波器不容易实现,而且时域波形的拖尾衰减太慢,因此在得不到严格定时时,码间干扰就可能较大。

在一般情况下,只要满足:2 i H2 2 ,(3-4)HH ( ) HT s iT sT sT sT s基带信号就可实现无码间干扰传输。

这种滤波器克服了拖尾太慢的问题。

从实际的滤波器的实现来考虑,采用具有升余弦频谱特性H ( ) 时是适宜的。

1 sinT s ( ) , (1 ) (1 )2T sT sT sH ( )1, (1 ) 0(3-5)T s0,(1 )T s这里称为滚降系数,1。

所对应的其冲激响应为:sin tcos( t T s )h(t )T s (3-6)t 1 4 2t 2 T s 2T s此时频带利用率降为 2 / (1 ) Baud/ Hz ,这同样是在抽样值无失真条件下,所能达到的最高频率利用率。

基于matlab的QAM信号性能仿真

基于matlab的QAM信号性能仿真

基于matlab的QAM信号性能仿真引言正交振幅调制,这是近年来被国际上移动通信技术专家十分重视的一种信号调制方式。

QAM是数字信号的一种调制方式,在调制过程中,同时以载波信号的幅度和相位来代表不同的数字比特编码,把多进制与正交载波技术结合起来,进一步提高频带利用率。

单独使用振幅和相位携带信息时,不能最充分利用信号平面,这可由矢量图中信号矢量端点的分布直观观察到。

多进制振幅调制时,矢量端点在一条轴上分布;多进制相位调制时,矢量点在一个圆上分布。

随着进制数M的增大,这些矢量端点之间的最小距离也随之减少。

但如果充分利用整个平面,将矢量端点重新合理地分布,则可能在不减小最小距离的情况下,增加信号的端点数。

基于上述概念引出的振幅与相位结合的调制方式被称为数字复合调制方式,一般的复合调制称为幅相键控(APK),2个正交载波幅相键控称为正交振幅调制。

随着通信业迅速的发展,传统通信系统的容量已经越来越不能满足当前用户的要求,而可用频谱资源有限,也不能靠无限增加频道数目来解决系统容量问题。

另外,人们亦不能满足通信单一的语音服务,希望能利用移动电话进行图像等多媒体信息的通信。

但由于图像通信比电话需要更大的信道容量。

高效、可靠的数字传输系统对于数字图像通信系统的实现很重要,正交幅度调制是数字通信中一种经常利用的数字调制技术,尤其是多进制QAM具有很高的频带利用率,在通信业务日益增多使得频带利用率成为主要矛盾的情况下,正交幅度调制方式是一种比较好的选择。

一、现代数字调制技术概述所有无线通信的基础,调制是一个将数据传送到无线电调制是载波用于发射的过程。

如今的大多数无线传输都是数字过程,并且可用的频谱有限,因此调制方式变得前所未有地重要。

如今的调制的主要目的是上将尽可能多的数据压缩到最少的频谱中。

此目标被称为频谱效率,量度数据在分配的带宽中传输的速度。

此度量的单位是比特每秒每赫兹(b/s/Hz)。

现在已现出现了多种用来实现和提高频谱效率的技术,下面将常用的几种数字调制技术进行简单介绍。

16QAM-星形和矩形星座图调制解调MATLAB代码

16QAM-星形和矩形星座图调制解调MATLAB代码

%% ------------------------------------------------------------% 软件无线电课程设计%% 方形、星形16QAM调制解调仿真%%%------------------------------------------------------------%%主程序clcclear%% 定义参数fd=250*10^6; %码元速率250Mfs=2500*10^6; %滤波器采样率fc=2500*10^6; %载波频率2.5Gf=10000*10^6; %对载波采样data_len=200000; %数据长度sym_len=data_len/4; %码元序列长度M_QAM=16;%QAM数k=log2(M_QAM);SNR=1:12;%白噪声信噪比,%% ------------------------------------------------------------bit_tx=randint(1,data_len);%产生随机序列echo off;rec_qam16=QamMod(bit_tx,16); %方形16QAM调制star_qam16=SrarQamMod(bit_tx); %星形16QAM调制base_rec=base_shape(fd,fs,f,rec_qam16); %基带成型滤波base_star=base_shape(fd,fs,f,star_qam16); %基带成型滤波for i=1:length(SNR) %信噪比从1dB到12dB计算误码率SNR_=i%方形映射16QAMrf_rec_qam16=CarrierMod(fc,f,base_rec); %载波调制rf_rec_qam16_n=awgn(rf_rec_qam16,SNR(i),'measured'); %加噪声[rec_qam16_rx base_rec_rx]=CarrierDemod(fd,fs,fc,f,rf_rec_qam16_n); %载波解调bit_rec_rx=QamDemod(rec_qam16_rx,16); %MQAM解调[num_qam16,perr_qam16_rec(i)]=biterr(bit_tx,bit_rec_rx);%误码率qam16_data_rec(i,:)=rec_qam16_rx;%scatterplot(rec_qam16_rx);%星形映射16QAMrf_star_qam16=CarrierMod(fc,f,base_star); %载波调制rf_star_qam16_n=awgn(rf_star_qam16,SNR(i),'measured'); %加噪声[star_qam16_rx base_star_rx]=CarrierDemod(fd,fs,fc,f,rf_star_qam16_n); %载波解调bit_star_rx=StarQamDemod(star_qam16_rx); %MQAM解调[num_qam16,perr_qam16_star(i)]=biterr(bit_tx,bit_star_rx);%误码率qam16_data_star(i,:)=star_qam16_rx;%scatterplot(star_qam16_rx);end%% 理论误码率计算SNRtheo=0:0.1:length(SNR);for i=1:length(SNRtheo)SNRdec=10.^(SNRtheo(i)/10);theo_perr_qam16(i)=(3/8)*erfc(sqrt(SNRdec*2/5));end%% 基带波形N=200;n=1:N;t=1:N*10;%发送端波形figure;stem(n,bit_tx(n)); title('发送序列'); %发送序列figure('Name','发送端基带信号');subplot(411);plot(t,real(base_rec(t))); title('方形映射-Q路');subplot(412);plot(t,imag(base_rec(t))); title('方形映射-I路');subplot(413);plot(t,real(base_star(t))); title('星形映射-Q路');subplot(414);plot(t,imag(base_star(t))); title('星形映射-I路');%接收端波形figure;subplot(211);stem(n,bit_rec_rx(n)); title('方形接收序列');subplot(212);stem(n,bit_star_rx(n)); title('星形接收序列');figure('Name','接收端基带信号');subplot(411);plot(t,real(base_rec_rx(t))); title('方形映射-Q路');subplot(412);plot(t,imag(base_rec_rx(t))); title('方形映射-I路');subplot(413);plot(t,real(base_star_rx(t))); title('星形映射-Q路');subplot(414);plot(t,imag(base_star_rx(t))); title('星形映射-I路');%基带眼图N1=20000;Tn=f/fd;eye_rex=base_rec(1:N1);eyediagram(eye_rex,Tn*4,Tn); title('方形基带眼图');eye_star=base_star(1:N1);eyediagram(eye_star,Tn*4,Tn); title('星形基带眼图');%% 接收端星座图%scatterplot(qam16_data_rec(12,:));figure('Name','方形16QAM接收端星座图');for i=3:3:12subplot(2,2,i/3);plot(real(qam16_data_rec(i,:)),imag(qam16_data_rec(i,:)),'.');xmax=5;axis([-xmax xmax -xmax xmax])title(['Snr=',num2str(SNR(i)),' dB']);endfigure('Name','星形16QAM接收端星座图');for i=3:3:12subplot(2,2,i/3);plot(real(qam16_data_star(i,:)),imag(qam16_data_star(i,:)),'.');xmax=3;axis([-xmax xmax -xmax xmax])grid on; title(['Snr=',num2str(SNR(i)),' dB']);end%% 功率谱密度f_plot;%% 误码率分析%16QAM误码率曲线figure('Name','16QAM误码性能对比');% semilogy(SNRtheo,theo_perr_qam16);% hold on;semilogy(SNR,perr_qam16_rec,'*');hold on;semilogy(SNR,perr_qam16_star,'o');xlabel('SNR in dB');ylabel('Prb of Err');legend('方形16QAM','星形16QAM');title('16QAM误码性能对比');%------------------------------------------------------------------------------- %% 基带成型function base_info=base_shape(fd,fs,f,seq_16QAM)%平方根升余弦滤波器,滚降系数0.5,延迟3个采样点flt=rcosine(fd,fs,'sqrt',0.5);%I路和Q路seq_Q=real(seq_16QAM);seq_I=imag(seq_16QAM);%增采样R=fs/fd;up_seq_Q=upsample(seq_Q,R);up_seq_I=upsample(seq_I,R);%升余弦调制rcos_Q=conv(up_seq_Q,flt);rcos_I=conv(up_seq_I,flt);%提升rcos_Q_up=interp(rcos_Q,f/fs);rcos_I_up=interp(rcos_I,f/fs);base_info=rcos_Q_up+j*rcos_I_up;%--------------------------------------------------------------------%% 载波解调function [data_rx base_rx]=CarrierDemod(fd,fs,fc,f,receive)%% 分两路乘正交高频载波rc_length=length(receive);flt=rcosine(fd,fs,'sqrt',0.5);t=0:rc_length-1;rc_Q=receive .* sin(2*pi*fc*t/f);rc_I=receive .* cos(2*pi*fc*t/f);%减采样后根升余弦匹配滤波,注意对齐采样点down_Q=downsample([0 rc_Q],f/fs);down_I=downsample(rc_I,f/fs);low_Q_rcos=conv(down_Q,flt);low_I_rcos=conv(down_I,flt);base_rx=low_Q_rcos(1:length(low_I_rcos))+j*low_I_rcos;%两次根升余弦滤波延迟,定位初始信号位置%delay+1:end-delay-1R=fs/fd;delay=3*R*2;rc_Q_seq=(downsample(low_Q_rcos(delay+1:end-delay-1),R));rc_I_seq=(downsample(low_I_rcos(delay+1:end-delay-1),R)); %类型转换data_rx=rc_Q_seq+j*rc_I_seq;%--------------------------------------------------------------------------%% 载波调制function transmit=CarrierMod(fc,f,base)%载波调制t=0:length(base)-1;high_freq_Q=real(base) .* sin(2*pi*fc*t/f);high_freq_I=imag(base) .* cos(2*pi*fc*t/f);transmit=high_freq_Q+high_freq_I;%------------------------------------------------------------------------------%% QAM解调程序,将MQAM码元还原为二进制数据% 入口参数:data_QAM:QAM码元数据% M_QAM:MQAM中M的大小% 出口参数:二进制数据比特流%------------------------------------------------------------------------function data_out=QamDemod(data_QAM,M_QAM)k=log2(M_QAM);%每个M进制码元的bit数data_len=length(data_QAM);%码元长度%-------------------------------------------------------------------%QAM信号放缩至与发送端相同比例data_temp=data_QAM(find(real(data_QAM>0)));aver=mean(real(data_temp));data_Qam_temp=data_QAM/aver*(2^(k/2-1));%------------------------------------------------------------------------%平移到第一象限data_Qam_temp2=(data_Qam_temp+(2^(k/2)-1)*(1+j))/2;%----------------------------------------------------------------------%将实部虚部分别映射为二进制数据%实部data_real=round(real(data_Qam_temp2));%实部判决data_real(find(data_real>(2^(k/2)-1)))=2^(k/2)-1;%大于2^(k/2)-1的数据判定为2^(k/2)-1 data_real(find(data_real<0))=0;%小于0的数据判为0bit_real=abs(dec2bin(data_real))-'0';%虚部data_imag=round(imag(data_Qam_temp2));%虚部判决data_imag(find(data_imag>(2^(k/2)-1)))=2^(k/2)-1;%大于2^(k/2)-1的数据判定为2^(k/2)-1 data_imag(find(data_imag<0))=0;%小于0的数据判为0bit_imag=abs(dec2bin(data_imag))-'0';%------------------------------------------------------------------------%还原为二进制比特流bit_rec=[bit_real,bit_imag]';data_out=reshape(bit_rec,1,data_len*k);%-------------------------------------------------------------------------------------------------------------%% QAM调制程序,实现二进制到MQam调制% 入口参数:binary:二进制数据% M_QAM:MQAM中M的大小% 返回参数:MQAM码元%------------------------------------------------------------------------function data_M = QamMod(binary,M_QAM)k=log2(M_QAM);%每个M进制码元的bit数data_len=length(binary);%比特长度binary_rec=reshape(binary,k,data_len/k)';%转化为data_len/k行,k列,的矩阵,以便转化为16进制M进制%计算实部data_str1=num2str(binary_rec(:,1:k/2));data_m_real=bin2dec(data_str1);%计算虚部data_str2=num2str(binary_rec(:,k/2+1:k));data_m_imag=bin2dec(data_str2);%实部虚部映射到MQamdata_M=((data_m_real*2-2^(k/2)+1)+j*(data_m_imag*2-2^(k/2)+1)).';%---------------------------------------------------------------------------------%% 星形16QAM映射function data_m16 = SrarQamMod(binary)%binary=randint(1,100);%产生随机序列data_len=length(binary);%比特长度binary_rec=reshape(binary,4,data_len/4)';%转化为data_len/4行,4列,的矩阵,以便转化为16进制data_str=num2str(binary_rec);data_dec=bin2dec(data_str);data_mm16=(floor(data_dec/8)+1).*exp(j*45/180*pi*mod(data_dec,8));data_m16=reshape(data_mm16,1,data_len/4);%------------------------------------------------------------------------------%% 星形16QAM解调function data_bit = StarQamDemod(qam_rev)%qam_rev=xing_qam16_noise(1:10);am=abs(qam_rev);%幅度判定am(find(am>2))=2;%幅度大于2的判定为2am(find(am<1.5))=1;%幅度大于2的判定为2%相位判定ang=angle(qam_rev)/pi*180;%将-180度到0度变为180度到360度ang(find(ang<0))=ang(find(ang<0))+360;ang_n=round(ang/45);ang_n(find(ang_n>7))=0;data_dec=8*(round(am)-1)+ang_n;%data_dec(find(data_dec>15))=15;%大于15的判定为15%data_dec(find(data_dec<0))=0;%小于0的判定为0data_bit_rec=dec2bin(data_dec);data_bit=reshape(data_bit_rec',1,length(qam_rev)*4)-'0';。

关于使用matlab绘制眼图

关于使用matlab绘制眼图

使用matlab 绘制数字基带信号的眼图实验一、实验目的1、掌握无码间干扰传输的基本条件和原理,掌握基带升余弦滚降系统的实现方法;2、通过观察眼图来分析码间干扰对系统性能的影响,并观察在输入相同码率的NRZ 基带信号下,不同滤波器带宽对输出信号码间干扰大小的影响程度;3、熟悉MATLAB 语言编程。

二、实验原理和电路说明1、基带传输特性基带系统的分析模型如图3-1所示,要获得良好的基带传输系统,就应该图3-1基带系统的分析模型抑制码间干扰。

设输入的基带信号为()nsna t nT δ-∑,sT 为基带信号的码元周期,则经过基带传输系统后的输出码元为()nsna h t nT -∑。

其中1()()2j th t H ed ωωωπ+∞-∞=⎰(3-1)理论上要达到无码间干扰,依照奈奎斯特第一准则,基带传输系统在时域应满足:10()0,s k h kT k =⎧=⎨⎩,为其他整数 (3-2)频域应满足:()0,ss T T H πωωω⎧≤⎪=⎨⎪⎩,其他 (3-3)图3-2 理想基带传输特性此时频带利用率为2/Baud Hz ,这是在抽样值无失真条件下,所能达到的最高频率利用率。

由于理想的低通滤波器不容易实现,而且时域波形的拖尾衰减太慢,因此在得不到严格定时时,码间干扰就可能较大。

在一般情况下,只要满足:222(),s i s s s si H H H H T T T T T ππππωωωωω⎛⎫⎛⎫⎛⎫+=-+++=≤⎪ ⎪⎪⎝⎭⎝⎭⎝⎭∑ (3-4)基带信号就可实现无码间干扰传输。

这种滤波器克服了拖尾太慢的问题。

从实际的滤波器的实现来考虑,采用具有升余弦频谱特性()H ω时是适宜的。

(1)(1)1sin (),2(1)()1,0(1)0,s s s s s s T T T T H T T ππαπαωωαπαωωπαω⎧⎡⎤-+--≤≤⎪⎢⎥⎣⎦⎪⎪-⎪=≤≤⎨⎪⎪+>⎪⎪⎩(3-5)这里α称为滚降系数,01α≤≤。

基于星座图的8QAM最优结构选取

基于星座图的8QAM最优结构选取

基于星座图的8QAM最优结构选取摘要本文提出了8QAM中最优星座图的设计,并在MATLAB的环境下,对几种常用的8QAM星座图与所设计的星座图分别进行了仿真和对比。

通过设定发送功率对比误比特率曲线的方法,证明了所设计星座图的最优性。

目录1 QAM调制原理 (2)2 QAM星座图设计 (2)2.1常见星座图简介 (2)2.2星座图的性能评价指标 (3)2.3 最优8QAM星座图的构造 (4)3 仿真与对比 (4)3.1 对比对象 (4)3.2 对比前提 (5)3.3 程序仿真 (5)3.4 结果分析 (6)附:完整代码 (7)1 QAM调制原理QAM(Quadrature Amplitude Modulation)正交幅度调制技术,是用两路独立的基带信号对两个相互正交的同频载波进行抑制载波双边带调幅,利用这种已调信号的频谱在同一带宽内的正交性,实现两路并行的数字信息的传输。

该调制方式通常有8QAM,16QAM,64QAM。

QAM调制实际上就是幅度调制和相位调制的组合,相位+ 幅度状态定义了一个数字或数字的组合。

QAM的优点是具有更大的符号率,从而可获得更高的系统效率。

通常由符号率确定占用带宽。

因此每个符号的比特(基本信息单位)越多,频带效率就越高。

调制时,将输入信息分成两部分:一部分进行幅度调制;另一部分进行相位调制。

对于星型8QAM信号,每个码元由3个比特组成,可将它分成第一个比特和后两个个比特两部分。

前者用于改变信号矢量的振幅,后者用于差分相位调制,通过格雷编码来改变当前码元信号矢量相位与前一码元信号矢量相位之间的相位差。

QAM是一种高效的线性调制方式,常用的是8QAM,16QAM,64QAM等。

当随着M 的增大,相应的误码率增高,抗干扰性能下降。

2 QAM星座图设计QAM调制技术对应的空间信号矢量端点分布图称为星座图。

QAM的星座图呈现星状分层分布,同一层信号点的振幅相同,位于一个圆周上。

常见的调制方式如8QAM,16QAM,64QAM所对应的星座图中分别有8,16,64个矢量端点。

16QAM-星形与矩形星座图调制解调MATLAB代码

16QAM-星形与矩形星座图调制解调MATLAB代码

%% ------------------------------------------------------------% 软件无线电课程设计%% 方形、星形16QAM调制解调仿真%%%------------------------------------------------------------%%主程序clcclear%% 定义参数fd=250*10^6。

%码元速率250Mfs=2500*10^6。

%滤波器采样率fc=2500*10^6。

%载波频率2.5Gf=10000*10^6。

%对载波采样data_len=200000。

%数据长度sym_len=data_len/4。

%码元序列长度M_QAM=16。

%QAM数k=log2(M_QAM)。

SNR=1:12。

%白噪声信噪比,%% ------------------------------------------------------------bit_tx=randint(1,data_len)。

%产生随机序列echo off。

rec_qam16=QamMod(bit_tx,16)。

%方形16QAM调制star_qam16=SrarQamMod(bit_tx)。

%星形16QAM调制base_rec=base_shape(fd,fs,f,rec_qam16)。

%基带成型滤波base_star=base_shape(fd,fs,f,star_qam16)。

%基带成型滤波for i=1:length(SNR) %信噪比从1dB到12dB计算误码率SNR_=i%方形映射16QAMrf_rec_qam16=CarrierMod(fc,f,base_rec)。

%载波调制rf_rec_qam16_n=awgn(rf_rec_qam16,SNR(i),'measured')。

%加噪声[rec_qam16_rx base_rec_rx]=CarrierDemod(fd,fs,fc,f,rf_rec_qam16_n)。

16QAM

16QAM

1
%% 进行调制 y = qammod(xsym,M); % 16-QAM.此处为方形星 座图 %% 发送的基带信号 ytx = y;
2
%% 信道 % 在AWGN信道传输信号 %% 比特到符号的映射 % 将向量x中的比特转换成k比特长的符号流 EbNo = 10; % 信噪比定义(In dB) snr = EbNo + 10*log10(k) - 10*log10(nsamp); xsym = bi2de(reshape(x,k,length(x)/k).','left-msb'); ynoisy = awgn(ytx,snr,'measured'); %加噪声 %% 接收信号 yrx = ynoisy;
• SystemView:用SystemView,可以构造各种复杂的模
拟、数字、数模混合系统,各种多速率系统,用户在进行 系统设计时,只需从System View配置的图标库中调出有 关图标并进行参数设置,完成图标间的连线,然后运行仿 真操作,最终以时域波形、眼图、功率谱等形式给出系统 的仿真分析结果。
3
16QAM产生方法
1
• 正交调幅法:两路正交的四电平振幅键控信 号叠加而成。 • 复合相位法:两路正交的四相位移相键控信 2 号叠加而成。 • 16进制正交调幅法是一种振幅调制和相位调 制相结合的调制方式,即用16进制数字基带 信号去控制去控制载波的振幅和相位。
3
16QAM调制原理
1
2
速率为Rb的二进制码元序列经过串/并转换分为两路,再经 过2/4电平转换转换为四电平信号,这两路四电平信号分 别与正交载波相乘,完成正交调制,将两路信号叠加后产 3 生16QAM信号。
1

PAM、PSK、QAM数字调制解调系统误码性能仿真

PAM、PSK、QAM数字调制解调系统误码性能仿真

数字通信系统传输误码性能仿真(一)摘要:脉冲幅度调制(PAM)、频移键控(PSK)、正交振幅调制(QAM)等数字信号调制解调模式在经典和现代通信中得到广泛应用。

不同调制方式在不同的条件下传输可靠性能不尽相同。

Matlab/Simulink包含多种仿真模块库,可以对各种通信调制方式的调制解调进行仿真,并验证其传输可靠性能。

关键字:通信系统、仿真、PAM、PSK、QAMAbstract:Digital signal modulation and demodulation modes such as pulse amplitude modulation (PAM), frequency shift keying (PSK), quadrature amplitude modulation (QAM)are widely used in classical and modern communication. The transmission reliability of different modulation are different under different conditions. Matlab/Simulink contains a variety of library of simulation modules for various communications modem modulation to simulate and verify its transmission reliability.Keywords: communication systems, simulation, PAM,PSK,QAM0 引言系统仿真是进行协议标准制定、算法分析优化和产品总体设计的重要步骤,对验证算法和理论的设计性能、缩减设计开发时间、降低总体成本具有重要意义。

传统的系统仿真方法主要使用基于C语言等计算机编程语言的方法,工作量大,效率低,仿真程序的可读性、可靠性、可移植性无法达到现代大中型系统的要求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

南昌大学信息工程学院
《随机信号分析》课程作业
题目:QAM调制信号的眼图及星座图仿真指导老师:虞贵财
作者:毕圣昭
日期:2011-12-05
QAM调制信号的眼图及星座图仿真
1. 眼图
眼图是在数字通信的工程实践中测试数字传输信道质量的一种应用广泛、简单易行的方法。

实际上它的一个扫描周期是数据码元宽度1~2倍并且与之同步的示波器。

对于二进制码元,显然1和0的差别越大,接受判别时错判的可能性就越小。

由于传输过程中受到频带限制,噪声的叠加使得1和0的差别变小。

在接收机的判决点,将“1”和“0”的差别用眼图上“眼睛”张开的大小来表示,十分形象、直观和实用。

MATLAB工具箱中有显示眼图和星座图的仪器,下面通过具体的例子说明它们的应用。

图1-1所示是MATLAB Toolbox\Commblks中的部分内容,展示了四进制随机数据通过基带QPSK调制、升余弦滤波(插补)及加性高斯白噪声传输环境后信号的眼图。

图1-1 通过QPSK基带调制升余弦滤波及噪声环境后观察眼图的仿真实验系统
图1-2所示是仿真运行后的两幅眼图,上图是I(同相)信号,下图是Q(正交)信号。

图1-2 通过QPSK基带调制及噪声传输环境后观察到的眼图
2. 星座图
星座图是多元调制技术应用中的一种重要的测量方法。

它可以在信号空间展示信号所在的位置,为系统的传输特性分析提供直观的、具体的显示结果。

为了是系统的功率利用率、频带利用率得到充分的利用,在特定的调制方式下,在信号空间中如何排列与分布信号?在传输过程中叠加上噪声以后,信号之间的最小距离是否能保证既定的误码率的要求这些问题的研究用星座图仪十分直观方便。

多元调制都可以分解为In-phase(同相)分量及Quadrature(正交)分量。

将同相分量用我们习惯的二维空间的X轴表示,正交分量用Y轴表示。

信号在X-Y平面(同相-正交平面)的位置就是星座图。

MATLAB通信系统的工具箱里有着使用方便、界面美观的星座图仪。

图1-3所示是随机数据通过基带QAM调制及噪声环境传输后,观察星座图的仿真系统。

图1-3 通过基带QAM调制及噪声环境传输后观察星座图的仿真系统图1-4所示是运行仿真后的星座图
图1-4 通过基带QAM调制及噪声环境传输后观察到的星座图
3. 用MATLAB程序实现QAM的眼图和星座图
MATLAB通信工具箱中提供了眼图显示函数“eyediagram”。

其调用格式为eyediagram(x,n,period,offset,plotstring);其中:x是输入信号序列;n是每一波形轨迹的样值数;period是作图的时间范围刻度,在-period/2 到period/2之间;offset是偏移量,在0~n-1之间;plotstring是作图线型选项。

MATLAB中观察多元数字调制输出的星座图可用指令“scatterplot”。

其调用格式为scatterplot(x,n,offset,plotstring,h);
下面用程序实现QAM的I路、Q路眼图及星座图,程序如下:
%QAM的眼图和星座图实现
M=16;Fd=1;Fs=10; %定义M元数和采样率
Pd=100; %计算的轨迹数
msg_d=randint(Pd,1,M); %产生在(0,M-1)范围内的随机整数
%使用矩形星座图的QASK调制
msg_a=modmap(msg_d,Fd,Fd,'qask',M);
%假定信道等价于升余弦滤波器
delay=3; %升余弦滤波器的延时
rcv=rcosflt(msg_a,Fd,Fs,'fir/normal',0.5,delay); %通过滤波器
%去掉升余弦滤波器的暂时响应部分的数据
propdelay=delay.*Fs/Fd+1; %滤波器的适合的时延
rcv1=rcv(propdelay:end-(propdelay-1),:);
N=Fs/Fd;
%作出接收信号的眼图和星座图(无噪声无串扰)
offset1=0;
h1=eyediagram(rcv1,N,1/Fd,offset1);
h2=scatterplot(rcv1,N,0,'bx');
rcv2=rcv1+0.1*randn(size(rcv1)); %接受QASK信号加高斯噪声
%作出接收信号的眼图和星座图(加入噪声的情况)
h3=eyediagram(rcv2,N,1/Fd,offset1);
h4=scatterplot(rcv2,N,0,'bx');
运行程序,QAM的I路、Q路眼图如图1-5所示,星座图如图1-6所示。

图1-5 QAM同相支路和正交支路的眼图(左图为无噪声情况,右图为有噪声情况)
图1-6 QAM星座图(左图为无噪声情况,右图为有噪声情况)。

相关文档
最新文档