基于MATLAB的QAM 眼图和星座图
(完整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信号性能仿真引言正交振幅调制,这是近年来被国际上移动通信技术专家十分重视的一种信号调制方式。
QAM是数字信号的一种调制方式,在调制过程中,同时以载波信号的幅度和相位来代表不同的数字比特编码,把多进制与正交载波技术结合起来,进一步提高频带利用率。
单独使用振幅和相位携带信息时,不能最充分利用信号平面,这可由矢量图中信号矢量端点的分布直观观察到。
多进制振幅调制时,矢量端点在一条轴上分布;多进制相位调制时,矢量点在一个圆上分布。
随着进制数M的增大,这些矢量端点之间的最小距离也随之减少。
但如果充分利用整个平面,将矢量端点重新合理地分布,则可能在不减小最小距离的情况下,增加信号的端点数。
基于上述概念引出的振幅与相位结合的调制方式被称为数字复合调制方式,一般的复合调制称为幅相键控(APK),2个正交载波幅相键控称为正交振幅调制。
随着通信业迅速的发展,传统通信系统的容量已经越来越不能满足当前用户的要求,而可用频谱资源有限,也不能靠无限增加频道数目来解决系统容量问题。
另外,人们亦不能满足通信单一的语音服务,希望能利用移动电话进行图像等多媒体信息的通信。
但由于图像通信比电话需要更大的信道容量。
高效、可靠的数字传输系统对于数字图像通信系统的实现很重要,正交幅度调制是数字通信中一种经常利用的数字调制技术,尤其是多进制QAM具有很高的频带利用率,在通信业务日益增多使得频带利用率成为主要矛盾的情况下,正交幅度调制方式是一种比较好的选择。
一、现代数字调制技术概述所有无线通信的基础,调制是一个将数据传送到无线电调制是载波用于发射的过程。
如今的大多数无线传输都是数字过程,并且可用的频谱有限,因此调制方式变得前所未有地重要。
如今的调制的主要目的是上将尽可能多的数据压缩到最少的频谱中。
此目标被称为频谱效率,量度数据在分配的带宽中传输的速度。
此度量的单位是比特每秒每赫兹(b/s/Hz)。
现在已现出现了多种用来实现和提高频谱效率的技术,下面将常用的几种数字调制技术进行简单介绍。
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 绘制数字基带信号的眼图实验一、实验目的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中最优星座图的设计,并在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调制解调仿真%%%------------------------------------------------------------%%主程序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
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)等数字信号调制解调模式在经典和现代通信中得到广泛应用。
不同调制方式在不同的条件下传输可靠性能不尽相同。
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语言等计算机编程语言的方法,工作量大,效率低,仿真程序的可读性、可靠性、可移植性无法达到现代大中型系统的要求。
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_rxbase_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的数据判为0 bit_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的数据判为0 bit_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 的M-QAM调制及相干解调的设计与仿真通信原理课程设计
通信原理课程设计报告题目:基于MATLAB 的M-QAM调制及相干解调的设计与仿真班级:通信工程1411姓名:杨仕浩(2014111347)解博文(2014111321)介子豪(2014111322)指导老师:罗倩倩成绩:日期:2016 年12 月21 日基于MATLAB的M-QAM调制及相干解调的设计与仿真摘要:正交幅度调制技术(QAM)是一种功率和带宽相对高效的信道调制技术,因此在自适应信道调制技术中得到了较多应用。
本次课程设计主要运用MATLAB软件对M =16 进制正交幅度调制系统进行了仿真,从理论上验证16进制正交幅度调制系统工作原理,为实际应用和科学合理地设计正交幅度调制系统,提供了便捷、高效、直观的重要方法。
实验及仿真的结果证明,多进制正交幅度调制解调易于实现,且性能良好,是未来通信技术的主要研究方向之一,并有广阔的应用前景。
关键词:正交幅度调制系统;MATLAB;仿真目录1引言 (1)1.1课程设计的目的 (1)1.2课程设计的基本任务和要求 (1)1.3仿真平台Matlab (1)2 QAM系统的介绍 (2)2.1正交幅度调制技术 (2)2.2QAM调制解调原理 (5)2.3QAM的误码率性能 (7)3 多进制正交幅度(M-QAM)调制及相干解调原理框图 (9)4 基于MATLAB的多进制正交幅度(M-QAM)调制及相干解调设计与仿真 (10)4.1系统设计 (10)4.2随机信号的生成 (10)4.3星座图映射 (11)4.4波形成形(平方根升余弦滤波器) (13)4.5调制 (14)4.6加入高斯白噪声之后解调 (15)5 仿真结果及分析 (20)6 总结与体会 (23)6.1总结 (23)6.2心得体会 (24)【参考文献】 (25)附录 (26)1引言本次课程设计主要运用MATLAB软件进行程序编写。
实现模拟基带信号经QAM调制与相干解调的传输过程,通过分析比较调制解调输出波形以及功率谱特征,理解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语言等计算机编程语言的方法,工作量大,效率低,仿真程序的可读性、可靠性、可移植性无法达到现代大中型系统的要求。
基于MATLAB的眼图仿真《通信原理》
基于MATLAB的眼图仿真——及其与通信实验箱之结果的比较摘要通信实验往往可以从硬件和软件两方面着手设计,并加以横向比较,从而达到更深刻地理解和领会通信理论原理的目的。
本设计选取眼图为研究对象。
可靠性是通信系统的重要指标之一,而眼图是定性衡量传输系统可靠性能——码间串扰大小及受信道噪声的影响等——的方法,简单直观;除了用通信实验箱实现眼图的观察外,软件仿真具有前者所不具备的优点,本设计以MATLAB为主要工具实现了眼图的仿真模拟。
硬件方面使用北京掌宇金仪科教仪器设备有限公司生产的TIMS-301 F系列实验系统,只需较少的模块就能完成眼图的实现,缺点是灵活性不够;MATLAB由初始的矩阵实验室发展成一款具有广泛用途的科学实验软件,在通信系统仿真方面是有效而便捷的。
MATLAB本身内置功能强大的函数库和讲解详细的帮助文档,前者使得眼图的仿真更加高效。
眼图仿真考虑了以下几方面因素的影响:调制数字信号的方式、传输系统(滤波)、信道噪声及其大小等等;给出了MATLAB语言编程和Simulink动态建模两种眼图的实现方式,通过仿真有效的验证了眼图判断噪声大小、系统性能的有效性,并尝试了通过眼图调整通信系统的抗干扰能力。
关键字:通信系统,眼图,仿真,MATLABSimulation of Eye Diagram Based on Matlab——& Comparison with the rusult of TIMSAbstractExperiment in communication system can often be coducted on hardware as well as by sofeware, and by drawing comparison with each other, the principles of the theories in communication system could be understood more deeply and properly . The Eye Diagram was chosed to be studied in this design. The reliability is one of the most important indexes in evaluating the performance of a communication system. Eye Diagram is such a tool to observe the performance of communication systems. By using an Eye Diagram, the magnitude of the noise and the Intersymbole Interference (ISI) could be diagnosed by and large.Two methods were employed to achieve the Eye Diagram. One was the TIMS-301F teaching & experimental system, which is simple but inflexible; the other was using the language of MATLAB which contains programming by matlab and establishing drammic models of communication system in Simulink. Comparison was drawn between the two.Many factors were considered in the simulation of Eye Diagram, such as the way which a digital signal was modulated before transmiting, the transmit system, noise of the channel, the filter and so on. Some phenomenons can be observed and some principles be tested, beside, it also tries to improve/adjust the communication system with the help of the Eye Diagram.Key Words: Communication System, Eye Diagram, Simulation, MATLAB目录1 绪论 (4)1.1引言 (4)1.2通信系统及其性能指标 (5)1.3码间干扰及无失真传输 (7)1.4眼图及其模型 (8)2 眼图的硬件实现 (10)2.1TIMS系统简介 (10)2.2眼图的观察及结果 (11)3 眼图的MATLAB仿真 (15)3.1MATLAB简介 (15)3.2眼图的仿真及结果 (17)4 两种结果的比较及结论 (35)5 附录 (36)致谢 (38)参考文献 (39)1 绪论1.1引言21世纪将是一个信息高速膨胀的信息社会,社会生产力水平的大力发展要求社会成员间的合作更加紧密和高效,通信系统的设计与优化因此显得越来越重要;通常,通信系统的性能指标涉及有效性、可靠性、适应性、标准性等等,但从研究消息传输角度考虑,通信的可靠性和有效性是主要的矛盾所在,可靠性主要指消息的“质量“问题(;对于数字通信系统,具体来说,就是传输速率和差错率,差错率就是从可靠性的角度具体化的一个概念。
QAM和星座图
正交调制读书报告NJUer摘要:正交振幅调制QAM(Quadrature Amplitude Modulation)就是一种频谱利用率很高的调制方式,其在中、大容量数字微波通信系统、有线电视网络高速数据传输、卫星通信系统等领域得到了广泛应用,本文探讨了正交振幅调制技术的相关原理,并从星座图的角度认识这种调制方式的实现和相关应用。
关键词:正交幅度调制QAM、星座图一、正交幅度调制QAM是一种振幅和相位联合调制,也即其已调信号的振幅和相位均随数字基带信号变化而变化。
采用M(M>2)进制的正交振幅调制,可记为MQAM。
M越大,频带利用率就越高。
在移动通信中,随着微蜂窝的出现,使得信道传输特性发生了很大变化。
过去在传统蜂窝系统中不能应用的正交振幅调制也引起人们的重视。
QAM数字调制器作为DVB系统的前端设备,接收来自编码器、复用器、视频服务器等设备的TS流,进行RS编码、卷积编码和QAM数字调制,输出的射频信号可以直接在有线电视网上传送,同时也可根据需要选择中频输出。
它以其灵活的配置和优越的性能指标,广泛的应用于数字有线电视传输领域和数字MMDS系统。
为改善数字调制的不足之处,如:频谱利用率低、抗多径抗衰弱能力差、功率谱衰减慢、带外辐射严重等,人们采取了如下的几种方式,如提高功率利用率以增强抗噪声性能;适应各种随参信道以增强抗多径抗衰落能力等。
另外,在恒参信道中,正交振幅调制(QAM)方式具有高的频谱利用率,因此正交振幅调制(QAM)在卫星通信和有线电视网络高速数据传输等领域得到广泛应用。
二、QAM调制的原理和星座图2.1、数据经过信道编码之后,被映射到星座图上,图1就是QAM调制器的基本原理框图。
一个信号有三个特性随时间变化:幅度、相位或频率。
然而,相位和频率仅仅是从不同的角度去观察或测量同一信号的变化。
人们可以同时进行幅度和相位的调制,也可以分开进行调制,但是这既难于产生更难于检测。
但是在特制的系统中信号可以分解为一组相对独立的分量:同相(I )和正交(Q )分量。
基于星座图聚类分析的qam调制识别设计
摘要随着现代通信技术的发展,数字调制变得复杂多样,因此调制识别已成为智能通信的关键技术之一,在军用及民用领域中均有着重要的应用和研究价值。
星座图不仅是数字调制重要的分析工具,也能表现出数字调制尤其是QAM调制的信号特征。
聚类分析则是人工智能领域核心技术之一。
本文提出了一种具有实用价值的基于星座图特征和聚类分析的QAM调制识别方法,并用这种方法对其他调制方式进行了分析。
首先对涉及到的理论和算法进行研究,包括以QAM为主的数字调制原理及特点、恢复星座图相关技术、聚类分析相关技术等。
然后搭建硬件平台采集数据,并利用MATLAB软件分析数据,对各个环节进行了仿真验证,并在对多种算法进行分析、比较的基础上,提出了具体的调制识别方法。
最后进行综合测试,正确识别率达到设计要求,具有全盲识别、不受载波初相影响、可实现性好、扩展简单等优点,证实了本方法的可行性。
在研究过程中进行了创新,首先针对以往算法的不足,提出了一种改进的基于包络平方谱线的符号率估计算法,使用双峰值替代单峰值,并使用了均值和方差,减小了符号率估计误差和估计值波动。
其次针对误判问题,提出了一种新的隶属度函数,加入了信噪比因子,减少了在低于解调信噪比环境下的识别误判,提升了该信噪比下的正确识别率。
最后,进一步使用星座图点半径波动的均值和方差作为识别特征,识别π/4DQPSK、8PSK、16APSK及32APSK调制方式,扩大了调制识别范围,表明良好的扩展性。
关键词:数字调制识别,星座图,聚类,QAMABSTRACTModulation recognition has become one of the key technologies of intelligent communications, in both military and civilian fields has important value of applications and research. Constellation is not only an important analytical tool can also show a modulated feature especially QAM signal. The cluster analysis is one of the core technologies of artificial intelligence.In this paper, a practical QAM modulation recognition method based on constellation features and clustering analysis is proposed, and used the method to analyzed other modulations.The first step of work is to research relevant theory and algorithm. And then builds the hardware platform to collect the data, analyzes the data with MATLAB software, carries on the simulation verification to each module. Based on the analysis and comparison of algorithms, a specific modulation recognition method is proposed. Finally, a comprehensive test is carried out. The correct recognition rate meets the design requirements. The method has the advantages of full blind identification, unaffected by the initial phase of the carrier, good realizability and simple expansibility. It proves the feasibility of the method.The design provided an improved symbol rate estimation algorithm which based on the spectrum of envelope square, it used bimodal to instead of single peak, also used mean and variance, which can reduce the symbol rate estimation error and the estimated value fluctuations. Also provided a new membership function, joined the SNR factor for reducing identification miscarriage of justice. Finally, radius fluctuant average and variance of the constellation points are used as recognition features to identify the π / 4DQPSK, 8PSK, 16APSK and 32APSK modulations, which broadens the modulation recognition range and shows good scalability.KEY WORDS:Digital modulation recognition, Constellation Shape, Clustering, QAM目录摘要 (I)ABSTRACT ............................................................................................................... I II 目录.. (V)第1章绪论 (1)1.1本课题研究背景及意义 (1)1.2调制识别国内外研究现状 (1)1.3本课题工作及章节内容 (3)第2章数字调制识别理论基础 (5)2.1数字调制基本概念 (5)2.2调制识别基本概念 (6)2.3 QAM介绍 (9)2.3.1 QAM的调制原理 (9)2.3.2 QAM的解调原理 (9)2.3.3 QAM的特点 (10)2.4载频估计基础 (11)2.4.1载频估计作用 (11)2.4.2载频估计算法 (12)2.5下变频及低通滤波基础 (13)2.5.1数字下变频介绍 (13)2.5.2低通滤波器对比 (14)2.6符号率估计基础 (16)2.6.1符号率估计作用 (16)2.6.2符号率估计算法 (18)2.7位定时误差估计基础 (19)2.7.1位定时误差估计作用 (19)2.7.2位定时误差估计算法 (20)2.8聚类分析基础 (21)2.8.1聚类分析作用 (21)2.8.2聚类分析算法 (22)2.9隶属度函数基础 (23)2.9.1隶属度函数概念 (23)2.9.2隶属度函数设计 (23)第3章基于星座图聚类的调制识别过程 (25)3.1识别流程 (25)3.2检测基本参数 (26)3.2.1检测载频及带宽 (26)3.2.2检测信噪比 (27)3.3估计载波频率 (28)3.4下变频及低通滤波 (29)3.5估计符号速率 (30)3.6估计位定时误差 (33)3.7聚类分析及收敛 (34)3.8隶属度计算及判决 (35)第4章可扩展性及仿真分析 (39)4.1扩展应用 (39)4.2仿真平台 (42)4.3仿真与结果分析 (44)第5章总结与展望 (49)5.1论文总结 (49)5.2未来研究展望 (50)参考文献 (53)致谢 (59)第1章绪论1.1本课题研究背景及意义通信可分为协作通信和非协作通信两种,协作通信是有握手和协议的通信,而非协作通信则是盲通信,面临着先验信息未知的状况。
基于MATLAB的QAM 眼图和星座图
南昌大学信息工程学院《随机信号分析》课程作业题目:QAM调制信号的眼图及星座图仿真指导老师:虞贵财作者:毕圣昭日期:2011-12-05QAM调制信号的眼图及星座图仿真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通信系统的工具箱里有着使用方便、界面美观的星座图仪。
基于MATLAB的16QAM通信系统仿真毕业设计说明书
毕业设计说明书基于MATLAB的16QAM通信系统仿真摘 要要随着现在的通信技术的飞速发展,特别是移动通信技术,因频谱资源的限制, 传统的通信系统容量开始不能满足目前用户需求,因此通信技术专家越来越关注频带利用率的问题。
如何提高频谱利用率以及高功率谱密度是我们追求的目标。
而正交振幅调制(Quadrature Amplitude Modulation ,QAM )是一种振幅和相位联合键控,由于高频谱利用率和高功率谱密度等优点,它已成为了大容量数字微波、宽带无线接入和无线视频通信的一种重要技术方案。
的一种重要技术方案。
本论文先介绍了16进制的正交振幅调制信号(16QAM )的调制解调原理,再利用MA TLAB 平台构建完整的16QAM 通信系统,实现16QAM 的调制解调系统的仿真,以及分析该系统性能。
以此证明16QAM 调制技术相对其他调制方式的优点。
调制技术相对其他调制方式的优点。
关键词:调制解调;正交振幅调制;MA TLAB 仿真仿真ABSTRACTWith the rapid development of modern communication technology, especially mobilecommunications technology, the capacity of traditional communication systems can not meet the requirements of the current user. And because of the limited spectrum resource, the problem of bandwidth efficiency is growing concerned of experts in the field of communications. So finding the way that how to improve the spectrum efficiency and high power spectral density is our goal. Quadrature amplitude modulation (QAM) with its high spectral efficiency and high power spectral density and other advantages, becomes importantto those communication application that include the large-capacity digital microwavetechnology solutions, broadband wireless access and wireless video communications, and soon.This article describes the principle of modulation and demodulation of 16QAM, thenbuilds a complete communication system of 16QAM based on MATLAB, which is to realizethe simulation of 16QAM modem system and to analyse the performance of the system.It canprove that 16QAM modulation technology is more superior than the other.Key words:modem system; qam;matlab目 录录1 1 绪论绪论................................................................... 1 1.1 1.1 课题研究的意义课题研究的意义................................................... 1 1.2 1.2 国内外研究状况国内外研究状况.................................................. 1 1.3 1.3 研究内容与章节安排研究内容与章节安排............................................... 2 2 2 课题理论基础课题理论基础........................................................... 3 2.1 2.1 调制解调的定义调制解调的定义................................................... 3 2.2 2.2 正交振幅调制正交振幅调制..................................................... 4 2.2.1 QAM 简介 ................................................... 4 2.2.2 16QAM 调制解调原理 .. (6)3 3 基于基于MATLAB 的16QAM 通信系统仿真........................................ 9 3.1 MATLAB 简介 (9)3.1.1 MATLAB 介绍 ................................................ 9 3.1.2 MATLAB 语言特点 ............................................ 9 3.2 16QAM 调制解调仿真程序流程框图 .................................. 10 3.3 3.3 调制仿真模块调制仿真模块.................................................... 11 3.3.1 3.3.1 信号源信号源.................................................... 11 3.3.2 3.3.2 串串/并变换................................................. 11 3.3.3 2-4电平转换 . (11)3.3.4 3.3.4 成形滤波器成形滤波器................................................ 12 3.3.5 3.3.5 调制调制...................................................... 14 3.3.6 3.3.6 画星座图画星座图.................................................. 15 3.4 3.4 已调信号的噪声叠加已调信号的噪声叠加 ............................................. 16 3.5 3.5 解调仿真模块解调仿真模块.................................................... 16 3.5.1 3.5.1 低通滤波器低通滤波器................................................ 16 3.5.2 4-2电平转换 .............................................. 16 3.5.3 3.5.3 并并/串变换................................................ 17 3.5.4 3.5.4 解调解调...................................................... 17 3.6 3.6 仿真结果仿真结果........................................................ 18 4 16QAM 通信系统的性能分析 . (21)4.1 16QAM 抗噪声性能 ................................................ 21 4.2 16QAM 频带利用率 ................................................ 22 4.3 16QAM 信号在AWGN 信道下的性能 ................................... 22 4.4. 16QAM 和16PSK 的性能比较 ....................................... 23 5 5 总结与展望总结与展望............................................................ 25 5.1 5.1 总结总结............................................................ 25 5.2 5.2 未来展望未来展望........................................................ 26 参考文献 ................................................................. 27 致 谢谢 ................................................................... 29 附 录:主程序录:主程序 .. (30)1 1 绪论绪论1.1 1.1 课题研究的意义课题研究的意义随着现代的通信技术的飞速发展,特别是移动通信技术,因为频谱资源的限制, 传统的通信系统的容量开始不能满足目前用户的需求,因此通信技术专家越来越关注频带利用率的问题。
介绍QAM 星座图的测量
介绍QAM 星座图的测量大多数在HFC 网络上所提供的数字服务信号传播,是使用一种同时传送两个数据串流(data stream)的调制系统,每一个承载其独自的信息,通常称这些串流(stream)为”I”和”Q”,九十度相位差振幅调制(Quadrature Amplitude Modulation,QAM)是一个将此两个串流调制至一个射频(RF)载波的方法。
在”I”和”Q”信号传送的值只有预先定义的几个值代表广泛不同的状态,一个调制的协议(Protocol)针对每个调制形式规定允许的状态数量,例如在16 QAM 的”I”和”Q” 信号每个只可有4 个状态;在64 QAM 时每个可有8 个状态。
Constellation 星座图与Boxes 方框I 和Q 串流可描绘为九十度相位差形成的格子可提供代表I 乘Q 数的可能状态,此格子通常称为星座图(Constellation)亦可想象为方框的数组。
每个方框代表个别I 和Q” 的”符号状态”,理想或正常的符号状态位置是在其方框的中央,相邻方框之间的分界线称为”判断门坎”。
测量BER 和MERBit Error Ratio (BER) 误码率在通讯工业使用两种简单的测量来叙述数据传输的品质,此两种测量噪声的影响与其它在传送码上的扰乱。
BER 测量符号被推挤进入相邻符号范围的机率,因而导致那些符号被误解。
BER 被叙述为大量传送码的错误码比率以10 的几次方来表示,例如测量得3E-7 表示在一千万次传送码有3 次被误解,此比率是采用少数的实际传送码来实际分析并统计而推估的值,越低的BER 代表越好的效能表现。
尽管较差的BER 表示信号品质较差,但BER 不只是测量纯粹QAM 信号本身的情况,因为BER 测量侦测并统计每个被误解的码,他是一个灵敏的指标可指出问题是由瞬间的或突然发生的噪声干扰。
Pre 和Post-FEC 测量QAM 通讯系统包含修补方法可修正一些经由传送而损坏的码,”Forward Error c orrection”(FEC)数据包含在QAM 传送的数据内,它的信息提供QAM 接收器用来修复被误解的码,因为Pre 和Post-FEC数据质量可能相差极大,BER 测量通常会指示出未修正(Pre-FEC)的数据质量或已修正(Post-FEC)的数据质量来区分哪个数据已被FEC 修正过。
(完整)基于MATLAB下的16QAM仿真
1。
课程设计目的随着现代通信技术的发展,特别是移动通信技术高速发展,频带利用率问题越来越被人们关注.在频谱资源非常有限的今天,传统通信系统的容量已经不能满足当前用户的要求.正交幅度调制QAM(Quadrature Amplitude Modulation)以其高频谱利用率、高功率谱密度等优势,成为宽带无线接入和无线视频通信的重要技术方案.首先介绍了QAM调制解调原理,提出了一种基于MATLAB的16QAM系统调制解调方案,包括串并转换,2—4电平转换,抽样判决,4—2电平转换和并串转换子系统的设计,对16QAM的星座图和调制解调进行了仿真,并对系统性能进行了分析,进而证明16QAM调制技术的优越性。
2.课程设计要求(1)设计一个16QAM调制与解调系统。
(2)设计程序时必须使得程序尽可能的简单。
(3)利用MATLAB进行程序编写并对系统进行仿真分析。
3。
相关知识随着现代通信技术的发展,特别是移动通信技术高速发展,新的需求层出不穷,促使新的业务不断产生,因而导致频率资源越来越紧张.在有限的带宽里要传输大量的多媒体数据,频谱利用率成为当前至关重要的课题,由于具有高频谱利用率、高功率谱密度等优势,16QAM技术被广泛应用于高速数据传输系统.在很多宽带应用领域,比如数字电视广播,Internet宽带接入,QAM 系统都得到了广泛的应用。
QAM也可用于数字调制。
数字QAM有4QAM、8QAM、16QAM、32QAM等调制方式。
其中,16QAM和32QAM广泛用于数字有线电视系统。
当今国际市场上出现了采用16QAM 调制技术的卫通调制解调器,如美国COMTECH EF DATA公司新推出的CDM—600。
该卫通调制解调器支持速率高达20Mbps[1]。
无线通信技术的迅猛发展对数据传输速率、传输效率和频带利用率提出了更高的要求.选择高效可行调制解调手段,对提高信号的有效性和可靠性起着至关重要的作用。
由于QAM已经成为宽带无线接入和无线视频通信的重要技术方案。
正交幅度调制(QAM)及解调Matlab仿真分解
正交幅度调制(QAM)及解调Matlab仿真实验目的:1. 掌握QAM及解调原理与特性;2. 了解星座图的原理及用途。
实验内容:1. 编写MATLAB程序仿真QAM及相干解调;NRZ码上网关系;2. 观察I、Q两路基带信号的特征及与输入3. 观察I、Q调制过程中信号的变化;4. 观察星座图在不同噪声环境下的变化;5. 分析仿真中观察的数据,撰写实验报告。
仿真代码:fun ctio n project(N,p)%N为待仿真序列的长度%p为产生1的概率%======================%首先产生随机二进制序列N=input('输入二进制序列的长度:N=');p=i nput('输入产生1的概率:');source=ra ndsrc(1,N,[1,0;p,1-p]); figure(1);stem(source);axis([1 N -1 2]);%对产生的二进制序列进行QAM调制[source1,source2]=Qam_modulation( source);%=============================== %画出星座图figure(2);plot_astrology(source1,source2); %==============================%两路信号进行插值(8倍过采样)sig_ in sert1= in sert_value(source1,8);sig_ in sert2=insert_value(source2,8); %================================%画出两路信号的波形图figure(3);plot_2way(sig_ in sert1,sig_i nsert2,le ngth(sig_ in sert1),0.5); title('两路信号波形');%================================%通过低通滤波器[sig_rcos1,sig_rcos2]=rise_cos(sig_ in sert1,sig_ insert2,0.25,2); %================================%画出两路信号信号波形图figure(4);plot_2way(sig_rcos2,sig_rcos2,le ngth(sig_rcos1)/4,0.5);title('通过低通滤波器后两路信号波形图')hold on stem_2way(sig_i nsert1,sig_i nsert2,3,0.25,2,le ngth(sig_rcos1)/4);%================================%将基带信号调制到高频上[t,sig_modulate]=modulate_to_high(sig_rcos1,sig_rcos2,0.25,2.5);figure(5);plot(t(1:500),sig_modulate(1:500));title('载波调制信号图');%================================%将滤波后的信号加入高斯噪声sn r=10;[x1,x2]=ge nerate_ no ise(sig_rcos1,sig_rcos2,s nr); sig_ no ise1=x1';sig_ no ise2=x2';figure(6);plot_2way(sig_ no ise1,sig_ no ise2,le ngth(sig_ no ise1)/4,0.5); title('加入高斯白噪声后的两路信号波形’);%================================ %经过匹配滤波器[sig_match1,sig_match2]=rise_cos(sig_ no ise1,sig_ no ise2,0.25,2); figure(7);plot_2way(sig_match1,sig_match2,le ngth(sig_match1)/4,0.5);title('经过匹配滤波器后’);%================================%采样[x1,x2]=pick_sig(sig_match1,sig_match2,8);sig_pick1=x1;sig_pick2=x2;%画出星座图figure(8)plot_astrology(sig_pick1,sig_pick2); %================================%解调sig nal=demodulate_sig(sig_pick1,sig_pick2);r=sig nal;%画出解调后的信号figure(9);stem(r);axis([1 N -1 2]);demodulate_sigfunction y=demodulate_sig(x1,x2)%解调xx1(fi nd(x1>=2))=3;xx1(fi nd((x1<2)&(x1>=0)))=1;xx1(fi nd((x1>=-2 )&(x1<0)))=-1;xx1(fi nd(x1<-2))=-3;xx2(fi nd(x2>=2))=3;xx2(fi nd((x2<2)&( x2>=0)))=1;xx2(fi nd((x2>=-2)&(x2<0)))=-1;xx2(fi nd(x2<-2))=-3;temp1=zeros(1,le ngth(xx1)*2);temp1(fi nd(xx 仁=-1)*2)=1;temp1(fi nd(xx 仁=1)*2-1)=1;temp1(fi nd(xx 仁=1)*2)=1;temp1(fi nd(xx 仁=3)*2-1)=1;temp2=zeros(1,le ngth(xx2)*2);temp2(fi nd(xx2==-1)*2)=1;temp2(fi nd(xx2==1)*2-1)=1;temp2(fi nd(xx2==1)*2)=1;temp2(fi nd(xx2==3)*2-1)=1;n=len gth(temp1);for i=1:2:2* n-1y(i)=temp1((i+1)/2); y(i+1)=temp2((i+1)/2);endgenerate_noisefunction [y1,y2]=ge nerate_ no ise(x1,x2,s nr)sn r1=s nr+10*log10(4);ss=var(x1+i*x2,1);y=awg n( [x1+j*x2],s nr1+10*log10(ss/10),'measured'); y1=real(y); y2=imag(y);insert_value function y=in sert_value(x,ratio)%对两路信号进行插值y=zeros(1,ratio*le ngth(x));a=1:ratio:le ngth(y);y(a)=x;modulate_to_highfunction [t,y]=modulate_to_high(x1,x2,f,hf)yo仁zeros(1,le ngth(x1)*hf/f*10);yo2=zeros(1,le ngth(x1)*hf/f*10);n=1:le ngth(yo1);yo1( n)=x1(floor(( n-1)/(hf/f*1O))+1);yo2( n)=x1(floor(( n-1)/(hf/f*1O))+1);t=(1:le ngth(yo1))/hf*f/10;y=yo1.*cos(2*pi*hf*t)-yo2.*si n(2*pi*hf*t);pick_sigfunction [y1,y2]=pick_sig(x1,x2,ratio)%采样y1=x1(ratio*3*2+1:ratio:(le ngth(x1)-ratio*3*2)); y2=x2(ratio*3*2+1:ratio:(length(x2)-ratio*3*2));plot_2wayfun ctio n plot_2way(x1,x2,le n,t)%绘制正交信号图subplot(2,1,2);plot((1:le n)*t,x2(1:le n));axis([0 len*t -4 4]);hold on;plot((1:le n)*t,x2(1:le n),'.','Color','red');hold off;xlabel('虚部信号');subplot(2,1,1);plot((1:le n)*t,x1(1:le n));axis([0 len*t -4 4]);hold onplot((1:le n)*t,x1(1:le n),'.','Color','red');xlabel('实部信号');hold offplot_astrologyfunction plot_astrology(a,b)%画出星座图subplot(1,1,1);plot(a,b,'+');axis([-5 5 -5 5]);lin e([-5,5],[0,0],'L in eWidth',3,'Color','red'); lin e([0,0],[-5,5],'L in eWidth',3,'Color','red'); title('QAM 星座图');Qam_modulationfunction [yy1, yy2]=Qam_modulati on(x) N=le ngth(x);a=1:2:N;y1=x (a);y2=x(a+1);a=1:2:N/2;temp11=y1(a); temp12=y1(a+1);y1仁temp11*2+temp12;temp2 仁y2( a);temp22=y2(a+1); y22=temp21*2+temp22;yy1(fi nd(y11==0))=-3;yy1(fi nd(y11==1))=-1;yy1(fi nd(y11==3))=1;yy1(fi nd(y11==2))=3;yy2(fi nd(y22==0))=-3;yy2(fi nd(y22==1))=-1;yy2(fi nd(y22==3))=1;yy2(fi nd(y22==2))=3;endrise_cosfun ctio n [y1,y2]=rise_cos(x1,x2,fd,fs)%升余弦滤波[yf,tf]=rcosi ne(fd,fs,'fir/sqrt');[yo1,to1]=rcosflt(x1,fd,fs,'filter/Fs',yf);[yo2,to2]=rcosflt(x2,fd,fs,'filter/Fs',yf); y1=yo1; y2=yo2;stem_2wayfun ctio n stem_2way(x1,x2,delay,fd,fs,le n)subplot(2,1,1)hold onstem(((1:le n)+fs/fd*3)/fs,x1(1:le n)); subplot(2,1,2) hold onstem(((1:le n)+fs/fd*3)/fs,x2(1:le n));实验结果:>> project输入二进制序列的长度:N=200输入产生1的概率:0.89QAM星座图0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 两路信号波形实部信号4 ■« 2• • rti A 1 1 1 -2k * ■ • ・ -4i i i i a i ii i 0 20 40 60 80100120 140 160 180 200虚部信号 通过低通滤波器后两路信号波形图实部信号4加入高斯白噪声后的两路信号波形虚部信号经过匹配滤波器后4QAM星座图2-1 20 40 60 80 100 120 140 160 180 200 1.510.5-0.5。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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星座图(左图为无噪声情况,右图为有噪声情况)。