QPSK 16QAM 64QAM matlab仿真
- 格式:pdf
- 大小:680.20 KB
- 文档页数:13
QPSK和16QAM调制下MIMO-OFDM系统Matlab仿真实现一、引言MIMO-OFDM系统是一种融合了多输入多输出(MIMO)和正交频分复用(OFDM)技术的无线通信系统,能够显著提高数据传输速率和系统可靠性。
在MIMO-OFDM系统中,调制方式的选择对系统性能具有重要的影响。
QPSK和16QAM是两种常用的调制方式,它们在MIMO-OFDM系统中的应用对系统的性能和效率有着明显的影响。
本文将针对QPSK和16QAM调制下的MIMO-OFDM系统进行Matlab仿真实现,以研究两种调制方式对系统性能的影响。
二、MIMO-OFDM系统基本原理MIMO-OFDM系统由MIMO技术和OFDM技术组成。
MIMO技术利用多个天线发射和接收信号,通过空间分集和空间复用的方式提高系统的性能和可靠性。
而OFDM技术将带宽分成多个子载波,并采用正交调制方式传输数据,能够有效克服多径干扰和频率选择性衰落,提高系统的抗干扰能力和频谱利用率。
MIMO-OFDM系统将MIMO技术和OFDM技术结合,充分发挥两者的优势,实现了高速率和高可靠性的无线通信。
1. Matlab仿真环境搭建需要在Matlab环境中搭建MIMO-OFDM系统的仿真环境。
在Matlab中,可以使用Communications Toolbox和Wireless Communications Toolbox工具箱来搭建MIMO-OFDM系统的仿真环境。
通过这些工具箱,可以方便地构建MIMO通道模型、OFDM调制器和解调器等系统组件,并进行参数设置和仿真运行。
2. QPSK调制方式在QPSK调制方式下,将复数信号映射到星座图上,每个符号点代表两个比特。
QPSK调制方式可以实现较高的传输速率和频谱利用率,适用于高速率和大容量的无线通信场景。
在MIMO-OFDM系统中,QPSK调制方式通常用于传输速率要求较高的场景,例如视频传输和高速数据传输等。
2. MIMO-OFDM系统仿真实现与QPSK调制方式类似,利用Matlab中的Wireless Communications Toolbox,可以进行16QAM调制下MIMO-OFDM系统的仿真实现。
Matlab环境下16-QAM仿真1.原理框图2.matlab程序:clear all;nsymbol=100000;%每种信噪比下的发送符号数M=16;%16-QAMgraycode=[0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10];%格雷码编码规则EsN0=5:20;%信噪比的范围snr1=10.^(EsN0/10);%将dB值转化成线性值msg=randint(1,nsymbol,M);%由0-15的整数值组成的均匀随机数msg1=graycode(msg+1);%将随机数映射成格雷码msgmod=qammod(msg1,M);%16-QAM调制spow=norm(msgmod).^2/nsymbol;%求出每个符号的平均功率for indx=1:length(EsN0)sigma=sqrt(spow/(2*snr1(indx))) ;%根据符号功率求出噪声功率rx=msgmod+sigma*(randn(1,length(msgmod))+j*randn(1,length(msgmod)));%混入高斯加性白噪声y=qamdemod(rx,M);%16-QAM的解调decmsg=graycode(y+1);%格雷码的逆映射[err,ber(indx)]=biterr(msg,decmsg,log2(M));%求误比特率[err,ser(indx)]=symerr(msg,decmsg);%求误符号率Endp4=2*(1-1/sqrt(M)*qfunc(sqrt(3*snr1/(M-1))));ser1=1-(1-p4).^2;%理论误符号率ber1=1/log2(M)*ser1;%理论误比特率semilogy(EsN0,ber,'o',EsN0,ser,'*',EsN0,ser1,EsN0,ber1,'-k.');title('16-QAM载波调制信号在AWGN信道下的性能');xlabel('Es/N0');ylabel('误比特率和误符号率');legend('误比特率','误符号率','理论误符号率','理论误比特率');scatterplot(msgmod);%画出调制之后的星座图title('16-QAM调制之后的星座图');xlabel('同相分量');ylabel('正交分量');scatterplot(rx);%画出混入高斯加性白噪声后的星座图title('16-QAM信号经过AWGN信道之后的星座图');xlabel('同相分量');ylabel('正交分量');程序说明:先将均匀随机数映射成格雷码,再用qammod函数实现16-QAM调制,已调信号由分别表示幅度和相位的两部分数据构成。
创作编号:BG7531400019813488897SX创作者:别如克*姓名:NikeyMATLAB环境下16QAM调制及解调仿真程序说明一、正交调制及相干解调原理框图正交调制原理框图相干解调原理框图二、MQAM调制介绍及本仿真程序的几点说明MQAM可以用正交调制的方法产生,本仿真中取M=16,即幅度和相位相结合的16个信号点的调制。
为了观察信道噪声对该调制方式的影响,我们在已调信号中又加入了不同强度的高斯白噪声,并统计其译码误码率。
为了简化程序和得到可靠的误码率,我们在解调时并未从已调信号中恢复载波,而是直接产生与调制时一模一样的载波来进行信号解调。
三、仿真结果图附源程序代码:main_plot.mclear;clc;echo off;close all;N=10000; %设定码元数量fb=1; %基带信号频率fs=32; %抽样频率fc=4; %载波频率,为便于观察已调信号,我们把载波频率设的较低Kbase=2; % Kbase=1,不经基带成形滤波,直接调制;% Kbase=2,基带经成形滤波器滤波后,再进行调制info=random_binary(N); %产生二进制信号序列[y,I,Q]=qam(info,Kbase,fs,fb,fc); %对基带信号进行16QAM调制y1=y; y2=y; %备份信号,供后续仿真用T=length(info)/fb; m=fs/fb; nn=length(info);dt=1/fs; t=0:dt:T-dt;subplot(211);%便于观察,这里显示的已调信号及其频谱均为无噪声干扰的理想情况%由于测试信号码元数量为10000个,在这里我们只显示其总数的1/10plot(t(1:1000),y(1:1000),t(1:1000),I(1:1000),t(1:1000),Q(1:1000),[0 35],[0 0],'b:');title('已调信号(In:red,Qn:green)');%傅里叶变换,求出已调信号的频谱n=length(y); y=fft(y)/n; y=abs(y(1:fix(n/2)))*2;q=find(y<1e-04); y(q)=1e-04; y=20*log10(y);f1=m/n; f=0:f1:(length(y)-1)*f1;subplot(223);plot(f,y,'r');grid on;title('已调信号频谱'); xlabel('f/fb');%画出16QAM调制方式对应的星座图subplot(224);constel(y1,fs,fb,fc); title('星座图');SNR_in_dB=8:2:24; %AWGN信道信噪比for j=1:length(SNR_in_dB)y_add_noise=awgn(y2,SNR_in_dB(j)); %加入不同强度的高斯白噪声y_output=qamdet(y_add_noise,fs,fb,fc); %对已调信号进行解调numoferr=0;for i=1:Nif (y_output(i)~=info(i)),创作编号:BG7531400019813488897SX创作者:别如克*numoferr=numoferr+1;end;end;Pe(j)=numoferr/N; %统计误码率end;figure;semilogy(SNR_in_dB,Pe,'red*-');grid on;xlabel('SNR in dB');ylabel('Pe');title('16QAM调制在不同信道噪声强度下的误码率');random_binary.m%产生二进制信源随机序列function [info]=random_binary(N)if nargin == 0, %如果没有输入参数,则指定信息序列为10000个码元N=10000;end;for i=1:N,temp=rand;if (temp<0.5),info(i)=0; % 1/2的概率输出为0elseinfo(i)=1; % 1/2的概率输出为1endend;qam.mfunction [y,I,Q]=qam(x,Kbase,fs,fb,fc);%T=length(x)/fb; m=fs/fb; nn=length(x);dt=1/fs; t=0:dt:T-dt;%串/并变换分离出I分量、Q分量,然后再分别进行电平映射I=x(1:2:nn-1); [I,In]=two2four(I,4*m);Q=x(2:2:nn); [Q,Qn]=two2four(Q,4*m);if Kbase==2; %基带成形滤波I=bshape(I,fs,fb/4); Q=bshape(Q,fs,fb/4);end;y=I.*cos(2*pi*fc*t)-Q.*sin(2*pi*fc*t); %调制qamdet.m%QAM信号解调function [xn,x]=qamdet(y,fs,fb,fc);dt=1/fs; t=0:dt:(length(y)-1)*dt;I=y.*cos(2*pi*fc*t);Q=-y.*sin(2*pi*fc*t);[b,a]=butter(2,2*fb/fs); %设计巴特沃斯滤波器I=filtfilt(b,a,I);Q=filtfilt(b,a,Q);m=4*fs/fb; N=length(y)/m; n=(.6:1:N)*m; n=fix(n);In=I(n); Qn=Q(n); xn=four2two([In Qn]);%I分量Q分量并/串转换,最终恢复成码元序列xnnn=length(xn); xn=[xn(1:nn/2);xn(nn/2+1:nn)];xn=xn(:); xn=xn';bshape.m%基带升余弦成形滤波器function y=bshape(x,fs,fb,N,alfa,delay);%设置默认参数if nargin<6; delay=8; end;if nargin<5; alfa=0.5; end;if nargin<4; N=16; end;b=firrcos(N,fb,2*alfa*fb,fs);y=filter(b,1,x);two2four.m创作编号:BG7531400019813488897SX创作者:别如克*%二进制转换成四进制function [y,yn]=two2four(x,m);T=[0 1;3 2]; n=length(x); ii=1;for i=1:2:n-1;xi=x(i:i+1)+1;yn(ii)=T(xi(1),xi(2));ii=ii+1;end;yn=yn-1.5; y=yn;for i=1:m-1;y=[y;yn];end;y=y(:)'; %映射电平分别为-1.5;0.5;0.5;1.5four2two.m%四进制转换成二进制function xn=four2two(yn);y=yn; ymin=min(y); ymax=max(y); ymax=max([ymax abs(ymin)]);ymin=-abs(ymax); yn=(y-ymin)*3/(ymax-ymin);%设置门限电平,判决I0=find(yn< 0.5); yn(I0)=zeros(size(I0));I1=find(yn>=0.5 & yn<1.5); y n(I1)=ones(size(I1));I2=find(yn>=1.5 & yn<2.5); y n(I2)=ones(size(I2))*2;I3=find(yn>=2.5); yn(I3)=ones(size(I3))*3;%一位四进制码元转换为两位二进制码元T=[0 0;0 1;1 1;1 0]; n=length(yn);for i=1:n;xn(i,:)=T(yn(i)+1,:);end;xn=xn'; xn=xn(:); xn=xn';constel.m%画出星座图function c=constel(x,fs,fb,fc);N=length(x); m=2*fs/fb; n=fs/fc;i1=m-n; i=1; ph0=(i1-1)*2*pi/n;while i <= N/m;xi=x(i1:i1+n-1);y=2*fft(xi)/n; c(i)=y(2);i=i+1; i1=i1+m;end;%如果无输出,则作图if nargout<1;cmax=max(abs(c));ph=(0:5:360)*pi/180;plot(1.414*cos(ph),1.414*sin(ph),'c');hold on;for i=1:length(c);ph=ph0-angle(c(i));a=abs(c(i))/cmax*1.414;plot(a*cos(ph),a*sin(ph),'r*');end;plot([-1.5 1.5],[0 0],'k:',[0 0],[-1.5 1.5],'k:');hold off; axis equal; axis([-1.5 1.5 -1.5 1.5]);end;创作编号:BG7531400019813488897SX创作者:别如克*。
1. 介绍QPSK信号QPSK (Quadrature Phase Shift Keying) 是一种数字调制技术,常用于无线通信和数字通信系统中。
它是通过改变相位来传输数字信息的一种调制方式,相较于单相位调制方式,QPSK可以提高信号传输效率和频谱利用率。
2. QPSK信号的生成原理QPSK信号的产生可以通过正交调制的方式完成,即将数据流分为两个独立的流并分别与正弦和余弦信号相乘,经过合并后即可生成QPSK信号。
具体过程如下:(1) 将二进制数据流分为实部和虚部,分别代表I信号和Q信号;(2) 分别对I信号和Q信号进行调制,得到两路调制信号;(3) 将两路调制信号通过信号合并器得到QPSK信号。
3. QPSK信号的Matlab仿真代码在Matlab中,可以通过编程实现QPSK信号的生成和仿真。
以下是一个简单的QPSK信号Matlab仿真代码示例:```Matlab设置QPSK调制参数M = 4; 调制阶数msg = randi([0 M-1],10000,1); 随机生成10000个0到M-1的整数,模拟二进制信息流txSig = qammod(msg,M); QAM调制绘制星座图scatterplot(txSig) 绘制QPSK星座图添加高斯噪声rxSig = awgn(txSig, 10); 添加信道噪声,信噪比为10dB解调rxMsg = qamdemod(rxSig,M); QPSK解调[numErrors,ber] = biterr(msg,rxMsg); 计算比特错误率disp(['比特错误率为:',num2str(ber)])```4. QPSK信号仿真结果分析通过上述Matlab代码,我们可以得到QPSK信号的仿真结果。
通过绘制星座图可以直观地观察到QPSK信号在复平面上的分布情况。
随后,我们可以添加高斯噪声,模拟信道中的干扰,然后进行解调并计算比特错误率。
5. 结论通过以上QPSK信号的Matlab仿真代码,我们可以成功生成和仿真QPSK信号,并得到比特错误率等性能指标。
QPSK和16QAM调制下MIMO-OFDM系统Matlab仿真实现QPSK和16QAM调制是一种常见的调制方式,而MIMO-OFDM系统是一种利用多输入多输出技术和正交频分复用技术的无线通信系统。
本文将介绍如何使用Matlab对MIMO-OFDM系统进行仿真实现,并分别使用QPSK和16QAM调制方式进行实验。
我们将讨论MIMO-OFDM系统的基本原理和结构,然后介绍Matlab的仿真实现方法,最后进行仿真实验并分析实验结果。
1. MIMO-OFDM系统的基本原理和结构MIMO-OFDM系统是一种结合了多输入多输出(MIMO)技术和正交频分复用(OFDM)技术的无线通信系统。
MIMO技术利用多个天线进行信号传输和接收,可以显著提高系统的传输速率和抗干扰性能。
而OFDM技术将高速数据流分割成多个低速子流,并利用正交频分复用技术进行传输,可以有效克服多径传输引起的频率选择性衰落和提高频谱利用率。
MIMO-OFDM系统的结构包括多个发射天线和多个接收天线,发射端和接收端分别进行信号处理和数据传输。
在发射端,将输入数据流进行调制、符号映射,并进行空间信号处理和频谱分配;在接收端,对接收的信号进行解调、解映射、信道均衡和解调制处理。
整个系统利用MIMO技术和OFDM技术的优势,可以实现高速和高质量的无线通信传输。
2. Matlab的仿真实现方法在Matlab中,可以利用通信工具箱和信号处理工具箱进行MIMO-OFDM系统的仿真实现。
需要定义系统的参数,包括天线数、子载波数、信道模型、调制方式等;然后生成输入数据流,并进行调制和符号映射;接着进行信道编码和传输;最后进行解码和译码,并进行结果分析。
对于QPSK调制方式,可以使用comm.QPSKModulator和comm.QPSKDemodulator进行调制和解调,并使用comm.ErrorRate进行误码率计算;对于16QAM调制方式,可以使用comm.RectangularQAMModulator和comm.RectangularQAMDemodulator进行调制和解调,并进行相应的误码率计算。
% 16QAM 系统仿真function [ ber_AWGN,ber_Ray] = M16QAM()EbN0dB=1:3:30;EbN0dB1=1:10;N=4*100000;for ii=1:length(EbN0dB)sigma2(ii)=2.5/(2*4*(10^(EbN0dB(ii)/10)));sigma21(ii)=2.5/(2*4*(10^(EbN0dB1(ii)/10)));bits=randint(1,N);%调制s=M16QAM_modulate(bits,length(bits(:)));% Rayleign信道干扰noise=sqrt(sigma2(ii))*( randn(1,N/4)+ 1i*randn(1,N/4) );h= sqrt(0.5)*(randn(1,N/4) + 1i*randn(1,N/4) );receiver=s.*h+noise; %Rayleign 衰减信道% 高斯信道干扰noise1=sqrt(sigma21(ii))*( randn(1,N/4)+ 1i*randn(1,N/4) );receiver1=s+noise1; %高斯信道% 信道均衡receiver = receiver./h;%解调并计算误码率Rayleign信道demodata = M16QAM_demodulate( receiver,length(receiver(:)) );errCount=sum(abs(bits-demodata));ber_Ray(ii)=errCount/N;%解调并计算误码率高斯信道demodata = M16QAM_demodulate( receiver1,length(receiver1(:)) );errCount=sum(abs(bits-demodata));ber_AWGN(ii)=errCount/N;endend% 16QAM 调制function [ s ] = M16QAM_modulate( bits,N)ii=0;for i=1:4:Nii=ii+1;if bits(i)==0&&bits(i+1)==0&&bits(i+2)==0&&bits(i+3)==0s(ii)=sqrt(2)/2*exp(1i*pi/4);elseif bits(i)==1&&bits(i+1)==0&&bits(i+2)==0&&bits(i+3)==0s(ii)=sqrt(2)/2*exp(1i*3*pi/4);elseif bits(i)==1&&bits(i+1)==0&&bits(i+2)==1&&bits(i+3)==0s(ii)=sqrt(2)/2*exp(1i*5*pi/4);elseif bits(i)==0&&bits(i+1)==0&&bits(i+2)==1&&bits(i+3)==0s(ii)=sqrt(2)/2*exp(1i*7*pi/4);elseif bits(i)==0&&bits(i+1)==1&&bits(i+2)==0&&bits(i+3)==0s(ii)=sqrt(10)/2*exp(1i*atan(1/3));elseif bits(i)==0&&bits(i+1)==0&&bits(i+2)==0&&bits(i+3)==1s(ii)=sqrt(10)/2*exp(1i*atan(3));elseif bits(i)==1&&bits(i+1)==0&&bits(i+2)==0&&bits(i+3)==1s(ii)=sqrt(10)/2*exp(1i*(atan(1/3)+pi/2));elseif bits(i)==1&&bits(i+1)==1&&bits(i+2)==0&&bits(i+3)==0s(ii)=sqrt(10)/2*exp(1i*(pi-atan(1/3)));elseif bits(i)==1&&bits(i+1)==1&&bits(i+2)==1&&bits(i+3)==0s(ii)=sqrt(10)/2*exp(1i*(atan(1/3)+pi));elseif bits(i)==1&&bits(i+1)==0&&bits(i+2)==1&&bits(i+3)==1s(ii)=sqrt(10)/2*exp(1i*(3*pi/2-atan(1/3)));elseif bits(i)==0&&bits(i+1)==0&&bits(i+2)==1&&bits(i+3)==1s(ii)=sqrt(10)/2*exp(1i*(atan(1/3)+3*pi/2));elseif bits(i)==0&&bits(i+1)==1&&bits(i+2)==1&&bits(i+3)==0s(ii)=sqrt(10)/2*exp(1i*(2*pi-atan(1/3)));elseif bits(i)==0&&bits(i+1)==1&&bits(i+2)==0&&bits(i+3)==1s(ii)=sqrt(2)*3/2*exp(1i*pi/4);elseif bits(i)==1&&bits(i+1)==1&&bits(i+2)==0&&bits(i+3)==1s(ii)=sqrt(2)*3/2*exp(1i*3*pi/4);elseif bits(i)==1&&bits(i+1)==1&&bits(i+2)==1&&bits(i+3)==1s(ii)=sqrt(2)*3/2*exp(1i*5*pi/4);elseif bits(i)==0&&bits(i+1)==1&&bits(i+2)==1&&bits(i+3)==1s(ii)=sqrt(2)*3/2*exp(1i*7*pi/4);endendend% 16 QAM 解调function [ demodata ] = M16QAM_demodulate( receiver ,N)A=[0 1 0 1; -1 0 0 1;-1 0 -1 0;0 1 -1 0;1 inf 0 1;0 1 1 inf;-1 0 1 inf;-inf -1 0 1;-inf -1 -1 0;-1 0 -inf -1;0 1 -inf -1;1 inf -1 0;1 inf 1 inf;-inf -1 1 inf;-inf -1 -inf -1;1 inf -inf -1];for k=1:Nif (real(receiver(k))>=A(1,1))&&(real(receiver(k))<A(1,2))&&...(imag(receiver(k))>=A(1,3))&&(imag(receiver(k))<A(1,4)) demodata(k*4-3)=0;demodata(k*4-2)=0;demodata(k*4-1)=0;demodata(k*4)=0;elseif (real(receiver(k))>=A(2,1))&&(real(receiver(k))<A(2,2))...&&(imag(receiver(k))>=A(2,3))&&(imag(receiver(k))<A(2,4)) demodata(k*4-3)=1;demodata(k*4-1)=0;demodata(k*4)=0;elseif (real(receiver(k))>=A(3,1))&&(real(receiver(k))<A(3,2))...&&(imag(receiver(k))>=A(3,3))&&(imag(receiver(k))<A(3,4)) demodata(k*4-3)=1;demodata(k*4-2)=0;demodata(k*4-1)=1;demodata(k*4)=0;elseif (real(receiver(k))>=A(4,1))&&(real(receiver(k))<A(4,2))...&&(imag(receiver(k))>=A(4,3))&&(imag(receiver(k))<A(4,4)) demodata(k*4-3)=0;demodata(k*4-2)=0;demodata(k*4-1)=1;demodata(k*4)=0;elseif (real(receiver(k))>=A(5,1))&&(real(receiver(k))<A(5,2))...&&(imag(receiver(k))>=A(5,3))&&(imag(receiver(k))<A(5,4)) demodata(k*4-3)=0;demodata(k*4-2)=1;demodata(k*4-1)=0;demodata(k*4)=0;elseif (real(receiver(k))>=A(6,1))&&(real(receiver(k))<A(6,2))...&&(imag(receiver(k))>=A(6,3))&&(imag(receiver(k))<A(6,4)) demodata(k*4-3)=0;demodata(k*4-2)=0;demodata(k*4-1)=0;demodata(k*4)=1;elseif (real(receiver(k))>=A(7,1))&&(real(receiver(k))<A(7,2))...&&(imag(receiver(k))>=A(7,3))&&(imag(receiver(k))<A(7,4)) demodata(k*4-3)=1;demodata(k*4-2)=0;demodata(k*4-1)=0;demodata(k*4)=1;elseif (real(receiver(k))>=A(8,1))&&(real(receiver(k))<A(8,2))...&&(imag(receiver(k))>=A(8,3))&&(imag(receiver(k))<A(8,4)) demodata(k*4-3)=1;demodata(k*4-2)=1;demodata(k*4-1)=0;demodata(k*4)=0;elseif (real(receiver(k))>=A(9,1))&&(real(receiver(k))<A(9,2))...&&(imag(receiver(k))>=A(9,3))&&(imag(receiver(k))<A(9,4)) demodata(k*4-3)=1;demodata(k*4-2)=1;demodata(k*4)=0;elseif (real(receiver(k))>=A(10,1))&&(real(receiver(k))<A(10,2))...&&(imag(receiver(k))>=A(10,3))&&(imag(receiver(k))<A(10,4)) demodata(k*4-3)=1;demodata(k*4-2)=0;demodata(k*4-1)=1;demodata(k*4)=1;elseif (real(receiver(k))>=A(11,1))&&(real(receiver(k))<A(11,2))...&&(imag(receiver(k))>=A(11,3))&&(imag(receiver(k))<A(11,4)) demodata(k*4-3)=0;demodata(k*4-2)=0;demodata(k*4-1)=1;demodata(k*4)=1;elseif (real(receiver(k))>=A(12,1))&&(real(receiver(k))<A(12,2))...&&(imag(receiver(k))>=A(12,3))&&(imag(receiver(k))<A(12,4)) demodata(k*4-3)=0;demodata(k*4-2)=1;demodata(k*4-1)=1;demodata(k*4)=0;elseif (real(receiver(k))>=A(13,1))&&(real(receiver(k))<A(13,2))...&&(imag(receiver(k))>=A(13,3))&&(imag(receiver(k))<A(13,4)) demodata(k*4-3)=0;demodata(k*4-2)=1;demodata(k*4-1)=0;demodata(k*4)=1;elseif (real(receiver(k))>=A(14,1))&&(real(receiver(k))<A(14,2))...&&(imag(receiver(k))>=A(14,3))&&(imag(receiver(k))<A(14,4)) demodata(k*4-3)=1;demodata(k*4-2)=1;demodata(k*4-1)=0;demodata(k*4)=1;elseif (real(receiver(k))>=A(15,1))&&(real(receiver(k))<A(15,2))...&&(imag(receiver(k))>=A(15,3))&&(imag(receiver(k))<A(15,4)) demodata(k*4-3)=1;demodata(k*4-2)=1;demodata(k*4-1)=1;demodata(k*4)=1;elseif (real(receiver(k))>=A(16,1))&&(real(receiver(k))<A(16,2))...&&(imag(receiver(k))>=A(16,3))&&(imag(receiver(k))<A(16,4)) demodata(k*4-3)=0;demodata(k*4-2)=1;demodata(k*4-1)=1;demodata(k*4)=1;end endend。
QPSK和16QAM调制下MIMO-OFDM系统Matlab仿真实现引言在现代通信系统中,多输入多输出正交频分复用(MIMO-OFDM)系统被广泛应用于提高通信系统的容量和可靠性。
MIMO-OFDM系统结合了MIMO技术和OFDM技术,能够有效地减少多径衰落的影响,提高频谱利用率和抗干扰能力。
在MIMO-OFDM系统中,调制方式的选择对系统性能有着重要的影响。
本文将通过Matlab仿真实现QPSK和16QAM调制下MIMO-OFDM 系统的性能分析。
一、QPSK和16QAM调制QPSK(Quadrature Phase Shift Keying)是一种数字调制方式,将输入比特流分成实部和虚部两部分,每部分采用二进制编码,然后通过两个正交的载波进行调制,可以传输两位比特;16QAM(Quadrature Amplitude Modulation)是一种数字调制方式,将输入比特流分成实部和虚部两部分,每部分采用四进制编码,然后通过四个正交的载波进行调制,可以传输四位比特。
QPSK和16QAM调制方式在多噪声信道中具有较好的性能,因此在通信系统中得到了广泛的应用。
二、MIMO-OFDM系统MIMO-OFDM系统是一种多天线、多载波的通信系统,在信道内引入了正交频分复用技术,能够抵消多径传输引起的码间干扰和符号间干扰。
MIMO-OFDM系统能够将频谱分成若干个独立的子信道,并在每个子信道上采用独立的OFDM调制,从而提高了系统的可靠性和容量。
MIMO-OFDM系统中,接收端有多个天线,可以采用空间多样性技术来提高信号的抗干扰能力和容量。
三、Matlab仿真实现在Matlab中,可以使用通信工具箱来实现QPSK和16QAM调制下MIMO-OFDM系统的仿真。
首先需要构建MIMO-OFDM系统的基本参数,包括载波数、子载波数、天线数、载波间隔、符号时间等。
然后生成QPSK和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 课题研究的意义课题研究的意义随着现代的通信技术的飞速发展,特别是移动通信技术,因为频谱资源的限制, 传统的通信系统的容量开始不能满足目前用户的需求,因此通信技术专家越来越关注频带利用率的问题。
%%16QAM%%等效基带调制clc;clear all;close all;%%关闭所有窗口,比如之前画的图nsymbol = 10000;%%每种信噪比下符号数的发送符号数,10^6个数errornumber = zeros(1,10);errorratio = zeros(1,10);data = randi([0,1],1,4*nsymbol);%%产生1行,4*nsymbol列均匀分布的随机数data_mod1 = zeros(1,nsymbol);%%各参量初始化data_mod2 = zeros(1,nsymbol);data_demod1 = zeros(1,nsymbol);data_demod2 = zeros(1,nsymbol);data_demod3 = zeros(1,nsymbol);data_demod4 = zeros(1,nsymbol);s_receive1 = zeros(1,nsymbol);s_receive2 = zeros(1,nsymbol);for i = 1:nsymbol %%格雷码调制到星座图的映射if data(4*i-3)==0 && data(4*i-2)==0data_mod1(i) = 3;if data(4*i-1)==0 && data(4*i)==0data_mod2(i) = 3;elseif data(4*i-1)==0 && data(4*i)==1data_mod2(i) = 1;elseif data(4*i-1)==1 && data(4*i)==1data_mod2(i) = -1;elseif data(4*i-1)==1 && data(4*i)==0data_mod2(i) = -3;endelseif data(4*i-3)==0 && data(4*i-2)==1data_mod1(i) = 1;if data(4*i-1)==0 && data(4*i)==0data_mod2(i) = 3;elseif data(4*i-1)==0 && data(4*i)==1data_mod2(i) = 1;elseif data(4*i-1)==1 && data(4*i)==1data_mod2(i) = -1;elseif data(4*i-1)==1 && data(4*i)==0data_mod2(i) = -3;endelseif data(4*i-3)==1 && data(4*i-2)==1data_mod1(i) = -1;if data(4*i-1)==0 && data(4*i)==0data_mod2(i) = 3;elseif data(4*i-1)==0 && data(4*i)==1data_mod2(i) = 1;elseif data(4*i-1)==1 && data(4*i)==1data_mod2(i) = -1;elseif data(4*i-1)==1 && data(4*i)==0data_mod2(i) = -3;endelseif data(4*i-3)==1 && data(4*i-2)==0data_mod1(i) = -3;if data(4*i-1)==0 && data(4*i)==0data_mod2(i) = 3;elseif data(4*i-1)==0 && data(4*i)==1data_mod2(i) = 1;elseif data(4*i-1)==1 && data(4*i)==1data_mod2(i) = -1;elseif data(4*i-1)==1 && data(4*i)==0data_mod2(i) = -3;endendendSNR_dB = 1:10;%%%信噪比dB形式SNR = 10.^(SNR_dB/10);%%信噪比转化为线性值for loop= 1:10sigma = sqrt(5/SNR(loop));s_receive1 = data_mod1 + sigma * randn(1,length(data_mod1));s_receive2 = data_mod2 + sigma * randn(1,length(data_mod2));%%??for k = 1:nsymbolif s_receive1(k)>2data_demod1(k) = 0;data_demod2(k) = 0;if s_receive2(k)>2data_demod3(k) = 0;data_demod4(k) = 0;elseif s_receive2(k)>0 && s_receive2(k)<2data_demod3(k) = 0;data_demod4(k) = 1;elseif s_receive2(k)>-2 && s_receive2(k)<0data_demod3(k) = 1;data_demod4(k) = 1;elseif s_receive2(k)<-2data_demod3(k) = 1;endelseif s_receive1(k)>0 && s_receive1(k)<2 data_demod1(k) = 0;data_demod2(k) = 1;if s_receive2(k)>2data_demod3(k) = 0;data_demod4(k) = 0;elseif s_receive2(k)>0 && s_receive2(k)<2 data_demod3(k) = 0;data_demod4(k) = 1;elseif s_receive2(k)>-2 &&s_receive2(k)<0 data_demod3(k) = 1;data_demod4(k) = 1;elseif s_receive2(k)<-2data_demod3(k) = 1;data_demod4(k) = 0;endelseif s_receive1(k)<0 && s_receive1(k)>-2 data_demod1(k) = 1;data_demod2(k) = 1;if s_receive2(k)>2data_demod3(k) = 0;data_demod4(k) = 0;elseif s_receive2(k)>0 && s_receive2(k)<2 data_demod3(k) = 0;data_demod4(k) = 1;elseif s_receive2(k)>-2 && s_receive2(k)<0 data_demod3(k) = 1;data_demod4(k) = 1;elseif s_receive2(k)<-2data_demod3(k) = 1;data_demod4(k) = 0;endelseif s_receive1(k)<-2data_demod1(k) = 1;data_demod2(k) = 0;if s_receive2(k)>2data_demod3(k) = 0;data_demod4(k) = 0;elseif s_receive2(k)>0 && s_receive2(k)<2 data_demod3(k) = 0;data_demod4(k) = 1;elseif s_receive2(k)>-2 && s_receive2(k)<0data_demod4(k) = 1;elseif s_receive2(k)<-2data_demod3(k) = 1;data_demod4(k) = 0;endendif (data_demod1(k) ~= data(k*4-3)) || (data_demod2(k) ~= data(k*4-2))||(data_demod3(k) ~= data(k*4-1)) || (data_demod4(k) ~= data(k*4))errornumber(loop) = errornumber(loop) + 1;endenderrorratio(loop) = errornumber(loop)/nsymbol;endt = 0.75*erfc(sqrt(3*SNR/30));ser_theory = 1-(1-t).^2;%理论误码率,注意Q函数和误差函数的对应关系semilogy(SNR_dB,errorratio,'-k*',SNR_dB,ser_theory,'-ro');title('16QAM信号在AWGN信道下的性能(格雷码)');xlabel('信噪比/dB');ylabel('误码率');legend('误码率','理论误码率');grid on;%%坐标线。
通信原理课程设计报告书课题名称 16QAM 调制与解调的MATLAB 实现及调制性能分析姓 名学 号 学 院 通信与电子工程学院专 业 通信工程 指导教师李梦醒2012年 01 月 01日※※※※※※※※※ ※※ ※※ ※※2009级通信工程专业通信原理课程设计16QAM 调制与解调的MATLAB 实现及调制性能分析1 设计目的(1) 掌握16QAM 调制与解调的原理。
(2) 掌握星座图的原理并能熟悉星座图的应用。
(3) 熟悉并掌握MATLAB 的使用方法。
(4) 通过对16QAM 调制性能的分析了解16QAM 调制相对于其它调制方式的优缺点。
2 设计原理正交振幅调制(Quadrature Amplitude Modulation ,QAM )是一种振幅和相位联合键控。
虽然MPSK 和MDPSK 等相移键控的带宽和功率方面都具有优势,即带宽占用小和比特噪声比要求低。
但是由图1可见,在MPSK 体制中,随着8/15π图 1 8PSK 信号相位8/5π8/3π8/π8/7π8/9π8/11π8/13πM 的增大,相邻相位的距离逐渐减小,使噪声容限随之减小,误码率难于保证。
为了改善在M 大时的噪声容限,发展出了QAM 体制.在QAM 体制中,信号的振幅和相位作为两个独立的参量同时受到调制。
这种信号的一个码元可以表示为0()cos() (1)k k k s t A t kT t k T ωθ=+<≤+ (2—1)式中:k=整数;k A 和k θ分别可以取多个离散值。
式(2-1)可以展开为00()cos cos sin sin k k k k k s t A t A t θωθω=- (2—2)令 X k = A k cosq k , Y k = —A k sinq k 则式(2—1)变为00()cos sin k k k s t X t Y t ωω=+ (2-3)k X 和k Y 也是可以取多个离散的变量.从式(2—3)看出,()k s t 可以看作是两个正交的振幅键控信号之和。
QPSK和16QAM调制下MIMO-OFDM系统Matlab仿真实现1. 引言1.1 背景介绍MIMO(Multiple Input Multiple Output)技术和OFDM (Orthogonal Frequency Division Multiplexing)技术是目前无线通信领域中常用的关键技术。
MIMO技术通过在传输端和接收端利用多个天线进行数据传输,从而提高系统的传输效率和抗干扰性能。
而OFDM技术则利用频谱分割和并行传输的方式,提高信道传输效率和抗多径干扰的能力。
本文将结合QPSK(Quadrature Phase Shift Keying)调制和16QAM(Quadrature Amplitude Modulation)调制两种常见调制方式,设计并实现MIMO-OFDM系统。
QPSK调制使用4个相位点来表示传输信号,适用于简单的调制场景;而16QAM调制则利用16个不同的信号点表示传输信号,可以提高传输速率和频谱利用效率。
通过Matlab仿真实现这两种调制方式下的MIMO-OFDM系统,并进行性能分析和实验结果展示,旨在探究不同调制方式对系统性能的影响,为未来的无线通信系统设计提供参考和借鉴。
1.2 研究意义研究QPSK和16QAM调制下MIMO-OFDM系统的意义在于探索该组合对系统性能的影响,进一步优化系统设计和参数配置。
通过比较不同调制方式下MIMO-OFDM系统的性能表现,可以为实际通信系统的部署提供重要参考依据。
研究还有助于深化对多址接入、信道编解码等关键技术的理解,并为提高系统的可靠性、稳定性和数据传输速率提供技术支持。
探究QPSK和16QAM调制下MIMO-OFDM系统的研究意义重大,不仅可以促进通信技术的进步,还可以为实际应用中的无线通信系统提供更加稳定和高效的解决方案。
1.3 研究目的研究目的:通过对QPSK和16QAM调制下MIMO-OFDM系统的设计和仿真实现,旨在探究在多输入多输出和正交频分复用技术的基础上,如何提高系统的性能和可靠性。
(完整版)MATLAB环境下16QAM调制及解调仿真程序说明姓名:NikeyMATLAB环境下16QAM调制及解调仿真程序说明一、正交调制及相干解调原理框图正交调制原理框图相干解调原理框图二、MQAM调制介绍及本仿真程序的几点说明MQAM可以用正交调制的方法产生,本仿真中取M=16,即幅度和相位相结合的16个信号点的调制。
为了观察信道噪声对该调制方式的影响,我们在已调信号中又加入了不同强度的高斯白噪声,并统计其译码误码率。
为了简化程序和得到可靠的误码率,我们在解调时并未从已调信号中恢复载波,而是直接产生与调制时一模一样的载波来进行信号解调。
三、仿真结果图附源程序代码:main_plot.mclear;clc;echo off;close all;N=10000; %设定码元数量fb=1; %基带信号频率fs=32; %抽样频率fc=4; %载波频率,为便于观察已调信号,我们把载波频率设的较低Kbase=2; % Kbase=1,不经基带成形滤波,直接调制;% Kbase=2,基带经成形滤波器滤波后,再进行调制info=random_binary(N); %产生二进制信号序列[y,I,Q]=qam(info,Kbase,fs,fb,fc); %对基带信号进行16QAM调制y1=y; y2=y; %备份信号,供后续仿真用T=length(info)/fb; m=fs/fb; nn=length(info);dt=1/fs; t=0:dt:T-dt;subplot(211);%便于观察,这里显示的已调信号及其频谱均为无噪声干扰的理想情况%由于测试信号码元数量为10000个,在这里我们只显示其总数的1/10plot(t(1:1000),y(1:1000),t(1:1000),I(1:1000),t(1:1000),Q(1:100 0),[0 35],[0 0],'b:');title('已调信号(In:red,Qn:green)');%傅里叶变换,求出已调信号的频谱n=length(y); y=fft(y)/n; y=abs(y(1:fix(n/2)))*2;q=find(y<1e-04); y(q)=1e-04; y=20*log10(y);f1=m/n; f=0:f1:(length(y)-1)*f1;subplot(223);plot(f,y,'r');grid on;title('已调信号频谱'); xlabel('f/fb');%画出16QAM调制方式对应的星座图subplot(224);constel(y1,fs,fb,fc); title('星座图');SNR_in_dB=8:2:24; %AWGN信道信噪比for j=1:length(SNR_in_dB)y_add_noise=awgn(y2,SNR_in_dB(j)); %加入不同强度的高斯白噪声y_output=qamdet(y_add_noise,fs,fb,fc); %对已调信号进行解调numoferr=0;for i=1:Nif (y_output(i)~=info(i)),numoferr=numoferr+1;end;end;Pe(j)=numoferr/N; %统计误码率end;figure;semilogy(SNR_in_dB,Pe,'red*-');grid on;xlabel('SNR in dB');ylabel('Pe');title('16QAM调制在不同信道噪声强度下的误码率');random_binary.m%产生二进制信源随机序列function [info]=random_binary(N)if nargin == 0, %如果没有输入参数,则指定信息序列为10000个码元N=10000;end;for i=1:N,temp=rand;if (temp<0.5),info(i)=0; % 1/2的概率输出为0elseinfo(i)=1; % 1/2的概率输出为1endend;qam.mfunction [y,I,Q]=qam(x,Kbase,fs,fb,fc);%T=length(x)/fb; m=fs/fb; nn=length(x);dt=1/fs; t=0:dt:T-dt;%串/并变换分离出I分量、Q分量,然后再分别进行电平映射I=x(1:2:nn-1); [I,In]=two2four(I,4*m);Q=x(2:2:nn); [Q,Qn]=two2four(Q,4*m);if Kbase==2; %基带成形滤波I=bshape(I,fs,fb/4); Q=bshape(Q,fs,fb/4);end;y=I.*cos(2*pi*fc*t)-Q.*sin(2*pi*fc*t); %调制qamdet.m%QAM信号解调function [xn,x]=qamdet(y,fs,fb,fc);dt=1/fs; t=0:dt:(length(y)-1)*dt;I=y.*cos(2*pi*fc*t);Q=-y.*sin(2*pi*fc*t);[b,a]=butter(2,2*fb/fs); %设计巴特沃斯滤波器I=filtfilt(b,a,I);Q=filtfilt(b,a,Q);m=4*fs/fb; N=length(y)/m; n=(.6:1:N)*m; n=fix(n);In=I(n); Qn=Q(n); xn=four2two([In Qn]);%I分量Q分量并/串转换,最终恢复成码元序列xnnn=length(xn); xn=[xn(1:nn/2);xn(nn/2+1:nn)];xn=xn(:); xn=xn';bshape.m%基带升余弦成形滤波器function y=bshape(x,fs,fb,N,alfa,delay);%设置默认参数if nargin<6; delay=8; end;if nargin<5; alfa=0.5; end;if nargin<4; N=16; end;b=firrcos(N,fb,2*alfa*fb,fs);y=filter(b,1,x);two2four.m%二进制转换成四进制function [y,yn]=two2four(x,m);T=[0 1;3 2]; n=length(x); ii=1;for i=1:2:n-1;xi=x(i:i+1)+1;yn(ii)=T(xi(1),xi(2));ii=ii+1;end;yn=yn-1.5; y=yn;for i=1:m-1;y=[y;yn];end;y=y(:)'; %映射电平分别为-1.5;0.5;0.5;1.5four2two.m%四进制转换成二进制function xn=four2two(yn);y=yn; ymin=min(y); ymax=max(y); ymax=max([ymax abs(ymin)]); ymin=-abs(ymax); yn=(y-ymin)*3/(ymax-ymin);%设置门限电平,判决I0=find(yn< 0.5); yn(I0)=zeros(size(I0));I1=find(yn>=0.5 & yn<1.5); y n(I1)=ones(size(I1));I2=find(yn>=1.5 & yn<2.5); y n(I2)=ones(size(I2))*2;I3=find(yn>=2.5); yn(I3)=ones(size(I3))*3; %一位四进制码元转换为两位二进制码元T=[0 0;0 1;1 1;1 0]; n=length(yn);for i=1:n;xn(i,:)=T(yn(i)+1,:);end;xn=xn'; xn=xn(:); xn=xn';constel.m%画出星座图function c=constel(x,fs,fb,fc);N=length(x); m=2*fs/fb; n=fs/fc;i1=m-n; i=1; ph0=(i1-1)*2*pi/n;while i <= N/m;xi=x(i1:i1+n-1);y=2*fft(xi)/n; c(i)=y(2);i=i+1; i1=i1+m;end;%如果无输出,则作图if nargout<1;cmax=max(abs(c));ph=(0:5:360)*pi/180;plot(1.414*cos(ph),1.414*sin(ph),'c');hold on;for i=1:length(c);ph=ph0-angle(c(i));a=abs(c(i))/cmax*1.414;plot(a*cos(ph),a*sin(ph),'r*');end;plot([-1.5 1.5],[0 0],'k:',[0 0],[-1.5 1.5],'k:');hold off; axis equal; axis([-1.5 1.5 -1.5 1.5]); end;。
QPSK和16QAM调制下MIMO-OFDM系统Matlab仿真实现一、引言在通信系统中,多输入多输出(MIMO)技术和正交频分复用(OFDM)技术是两种重要的通信技术,它们分别能够提高系统的数据传输速率和信号的可靠性。
而QPSK和16QAM调制则是常用于数字通信系统的调制方式,在实际应用中具有重要的意义。
本文将结合MIMO-OFDM系统和QPSK、16QAM调制,使用Matlab进行仿真实现,展示其在数字通信系统中的应用。
二、MIMO-OFDM系统MIMO-OFDM系统是将MIMO技术与OFDM技术相结合的一种通信系统。
MIMO技术是指通过多个天线实现在同一频段上传输多个并行数据流的技术,可以提高系统的数据传输速率和信号的可靠性。
而OFDM技术是一种多载波调制技术,可以将一个高速数据流分成多个低速数据流,并通过并行传输提高系统的频谱利用率和抗多径干扰能力。
在MIMO-OFDM系统中,传输信号首先通过MIMO编码器进行编码,然后经过OFDM调制器进行调制。
接收端通过OFDM解调器和MIMO解码器对接收信号进行解调和解码,从而实现数据的传输。
三、QPSK调制QPSK(Quadrature Phase Shift Keying)调制是一种常用的数字调制方式,它将信号分成实部和虚部进行调制,每个符号携带两个比特信息。
QPSK调制器通过将输入的二进制比特流分成两路,分别作为实部和虚部信号进行调制,形成QPSK调制信号。
QPSK调制的信号点分布在复平面上的四个正交位置,分别代表00、01、10、11四种符号的调制。
它的优点是可以在相同的带宽和功率条件下实现比BPSK调制更高的数据传输速率,且具有抗噪性能好的特点。
五、MIMO-OFDM系统Matlab仿真实现为了验证MIMO-OFDM系统在QPSK和16QAM调制下的性能,我们使用Matlab进行仿真实现。
首先我们建立了一个具有多个发送天线和多个接收天线的MIMO信道模型,并在此基础上构建了一个MIMO-OFDM系统。
OFDM 系统16QAM 和QPSK 调制仿真分析摘要:以研究ofdm系统中使用的最佳数字调制方式为目的,分析了ofdm系统的原理、信号处理流程,以及一般使用的数字调制方式,利用matlab对系统进行了仿真,对比了系统分别采用16qam 和qpsk进行调制时的误码率,根据仿真曲线分析了二者的性能,得出系统在设定参数下特定信噪比时使用qpsk调制比16qam调制误码率更低。
关键词:ofdm;仿真;16qam;qpsk中图分类号:tp311 文献标识码:a 文章编号:1009-3044(2013)15-3606-04ofdm(正交频分复用)技术是一种多载波调制方式,它最开始出现于20世纪50年代中期,不久被正式应用于军事通信系统。
但是其发展受到了制约,因为传统的模拟技术不能有效地进行正交载波调制,而实现子载波的正交调制是ofdm的核心。
后来由于ifft、fft快速发展并且被提出用于实现调制解调,加上大规模集成电路的飞速发展使得fft技术变得可行,ofdm的核心问题得到解决,从而得到很好的发展。
目前,ofdm技术的主要应用有:非对称的数字用户环路(adsl)、数字音频广播(dab)、数字视频广播(dvb)、高清晰度电视(hdtv)等。
而4g通信系统对高数据速率的要求也使得ofdm成为其关键技术之一,研究其性能变得意义重大。
对于ofdm使用的数字调制方式,常用的有mpsk(m常取4、8)、 16qam、64qam,不同的调制方式在效率和误码率上都有差异,该文分别采用16qam与qpsk对ofdm系统进行仿真,并分析仿真结果。
1 ofdm原理与16qam、qpsk调制1.1 ofdm技术原理传统多载波调制技术是ofdm技术的前提和基础,ofdm是将高速串行的数据流转换成低速并行的子数据流,然后调制到相互正交的子信道上。
一个ofdm符号包含多个经qpsk调制或16qam调制的子载波。
如果一个ofdm系统有n个正交子载波,其基带子载波可以表示为:[φk(t)=ejt2πfk],f k为第k个子载波的频率调制n个并行数据后的ofdm符号可表示为[s(t)=1nk=0n-1xkφk(t),0<t<nt]式中,xk为第k个子载波上调制的复信号,t为系统采样间隔,在无过采样的情况下t=1/b,b为系统带宽,nt为ofdm符号长度。
QPSK和16QAM调制下MIMO-OFDM系统Matlab仿真实现随着通信技术的不断发展,多天线系统(MIMO)和正交频分复用(OFDM)技术已经成为无线通信领域的重要技术之一。
MIMO-OFDM系统有效地克服了多径衰落和频谱效率低的问题,能够提高系统的传输速率和抗干扰能力。
调制方式的选择对系统性能也有着重要的影响,而QPSK和16QAM是常用的调制方式之一。
本文将通过Matlab仿真实现,探究在QPSK和16QAM调制下MIMO-OFDM系统的性能表现。
1. MIMO-OFDM系统原理简介MIMO技术是利用多个天线在同一频率、同一时间间隔内传输数据,通过空间分集技术提高通信可靠性和增加传输速率。
OFDM技术将传输信号分成多个子载波进行并行传输,通过正交性降低了子载波之间的干扰,提高了系统的抗干扰能力和频谱利用率。
MIMO-OFDM系统将两种技术相结合,充分发挥它们各自的优势,是目前通信系统中主流的技术之一。
2. QPSK和16QAM调制方式介绍QPSK(Quadrature Phase Shift Keying)是一种常用的调制方式,它将数据流分为两路,每一路分别代表了正弦信号和余弦信号的相位变化。
这样就可以在每个信号周期内传输2个bit的信息,提高了频谱效率。
在QPSK调制下,每个符号对应4种相位状态,因此可以传输更多的信息。
3. Matlab仿真实现为了实现QPSK和16QAM调制下的MIMO-OFDM系统,首先需要搭建整个系统的框架,包括MIMO信道模型、OFDM调制器、QPSK/16QAM调制器和解调器等模块。
在Matlab中,可以使用通信工具箱中的现成函数和工具来简化系统的搭建和仿真过程。
定义MIMO系统的参数,包括发射天线数、接收天线数、子载波数等。
然后,生成QPSK或16QAM调制的数据流,并调用相应的调制器进行调制处理。
接着,将调制后的信号送入OFDM调制器进行频谱调整和子载波调制。
QPSK和16QAM调制下MIMO-OFDM系统Matlab仿真实现【摘要】本文主要针对QPSK和16QAM调制下MIMO-OFDM系统的Matlab仿真实现进行了研究。
首先介绍了研究背景、研究目的和研究方法。
然后详细描述了系统模型搭建过程,包括QPSK和16QAM调制的实现方法以及MIMO-OFDM系统的仿真过程。
接着对系统性能进行了评估,并在结论部分进行了实验结果分析和总结,同时展望了未来的研究方向。
通过本研究,可以更好地理解和应用QPSK和16QAM调制在MIMO-OFDM系统中的特性,为相关领域的研究和应用提供参考和借鉴。
【关键词】关键词:QPSK, 16QAM, MIMO-OFDM, Matlab仿真, 系统模型, 调制实现, 性能评估, 实验结果分析, 结论总结, 展望未来1. 引言1.1 研究背景在无线通信领域,多输入多输出正交频分复用(MIMO-OFDM)系统是一种被广泛应用的技术,能够有效提高系统的传输效率和容量。
MIMO技术利用多个天线进行数据传输和接收,通过空间复用技术来增加系统的吞吐量。
而OFDM技术则能够有效抵抗多径效应和频率选择性衰落,提高系统的抗干扰性和频谱利用率。
在MIMO-OFDM系统中,调制方式对系统性能有着重要影响。
QPSK和16QAM是两种常用的调制方式,它们在系统的传输效率和抗干扰性能方面有着不同的特点。
对于MIMO-OFDM系统的研究和仿真工作,需要深入探讨这两种调制方式在系统中的应用及其性能表现。
本文旨在通过Matlab仿真实现QPSK和16QAM调制下的MIMO-OFDM系统,探讨不同调制方式在系统中的性能表现,为进一步优化系统设计和改进通信技术提供参考。
通过本研究,我们期望能够深入了解MIMO-OFDM系统的特性,为未来无线通信技术的发展做出贡献。
1.2 研究目的研究目的是通过Matlab仿真实现QPSK和16QAM调制下的MIMO-OFDM系统,探究其在无线通信中的性能表现。
4.3 数字信号的载波调制4.3.1 正交相移键控(QPSK)QPSK的调制原理是将接收信号乘以同频正弦波就可以解调出相移信息,而其本身是与频率波无关的直流信号。
QPSK的Q表示正交,即载波有同相和正交两种。
这种调制方式能让同一个载波传输2bit的信息,让载波频带利用率提高了一倍。
QPSK是在M=4时,它的载波有四种相位,分别为45°,135°,225°,315°。
QPSK调制采用的是正交调幅方式,即:两路正交边带信号。
如图13所示。
图13 QPSK信号产生原理图QPSK是一种恒包络调制,其信号的平均功率是不变的,不会随着幅度衰减而受到影响。
因其抗干扰能力强,所以多被用于卫星数字电视信号的传输。
4.3.2 正交振幅键控(QAM)它是把2ASK和2PSK两种调制结合起来的调制技术,使得带宽得到双倍扩展。
QAM调制技术用两路独立的基带信号对频率相同、相位正交的两个载波进行抑制载波双边带调幅,并将已调信号加在一起进行传输。
nQAM代表n个状态的正交调幅,一般有二进制(4QAM)、四进制(16QAM)、八进制(64QAM)。
我们需要得到多进制的QAM信号,需将二进制信号转换为m电平的多进制信号,然后进行正交调制,最后相加输出。
如图14所示。
输入2/m电平变化器)(tx串/并变换2/m电平变化器)(ty2/π载波发生器)(tSQAMtcωcostcωsinAB11•••01•••图14 QAM信号产生原理图QAM信号用正交相干解调方法进行解调,通过解调器将QAM信号进行正交相干解调后,用低通滤波器LPF滤除乘法器产生的高频分量,输出抽样判决后可恢复出的两路独立电平信号,最后将多电平码元与二进制码元间的关系进行2/m转换,将电平信号转换为二进制信号,经并/串变换后恢复出原二进制基带信号。
4.3.3 多电平残留边带调制(VSB)VSB是一种幅度调制,它在双边带调制的基础上,通过设计适当的输出滤波器,使信号一个边带的频谱成分原则上保留,另一个边带频谱成分只保留小部分。
qpsk信号matlab仿真程序QPSK信号MATLAB仿真程序—理论与应用导言:随着无线通信技术的迅猛发展,QPSK(Quadrature Phase Shift Keying)信号成为了目前广泛应用于通信领域的一种调制方式。
本文将详细介绍如何使用MATLAB进行QPSK信号的仿真程序设计,并从理论与应用两个方面进行解析,以帮助读者深入理解并灵活应用该仿真程序。
1. 什么是QPSK信号?QPSK信号是一种基于相位调制的数字调制技术,其特点是将数字信号分成4个不同的相位状态进行传输和接收。
其中,每个相位状态代表2个比特的信息,即每个相位状态可以传输2个比特的信息,因此QPSK又被称为4相位调制。
QPSK信号可以通过泰勒展开可以分解成I(In-phase)分量和Q(Quadrature)分量。
2. MATLAB中的QPSK信号仿真程序设计步骤:(1)生成随机比特流。
在MATLAB中,可以使用randi函数生成一串随机的比特流,作为模拟发送端的输入信号。
(2)将比特流转换成QPSK符号。
将生成的比特流进行分组,每两个比特为一组,将每组比特映射到对应的QPSK符号。
一般而言,00表示的是第一象限的点,01表示的是第二象限的点,11表示的是第三象限的点,10表示的是第四象限的点。
(3)通过QPSK符号产生QPSK信号。
通过对每个QPSK符号进行相位调制,可以得到QPSK信号。
(4)添加高斯噪声。
为了模拟仿真实际通信环境,我们需要向信号中添加高斯噪声。
可以使用randn函数生成指定均值和标准差的高斯噪声信号,并将其与QPSK信号相加。
(5)解调QPSK信号。
在接收端,需要进行相位解调操作,从而恢复原始的比特流。
通过解调操作,将接收到的QPSK信号恢复为I和Q两个分量。
(6)计算误码率。
通过比较原始比特流和解调后的比特流,可以统计出误码率,从而评估通信系统的性能。
3. QPSK信号仿真程序的理论分析:对于QPSK信号,可以利用复数域的理论进行分析。
计算机工程应用技术本栏目责任编辑:梁书QPSK 和16QAM 调制下MIMO-OFDM 系统Matlab 仿真实现谭清元,潘学文*(湖南科技学院电子与信息工程学院,湖南永州425199)摘要:本文首先分析了MIMO-OFDM 技术的特点,构建了MIMO-OFDM 系统总体框图。
使用MATLAB 对MIMO-OFDM 系统进行建模仿真,在低信噪比条件下,采用QPSK 和16QAM 两种调制方式,对比系统的SNR 与误比特率等技术参数。
仿真结果表明:QPSK 调制的性能优于16QAM 调制,MIMO-OFDM 技术能够在带宽不变的情况下保障多个天线信号的可靠传输。
关键词:信道容量;MIMO-OFDM ;MATLAB ;误码率中图分类号:TN911-4;G434文献标识码:A文章编号:1009-3044(2019)34-0237-02开放科学(资源服务)标识码(OSID):Realization of Matlab Simulation of MIMO-OFDM System Based on QPSK and 16QAM ModulationTAN Qing-yuan ,PAN Xue-wen(School of Electronics and Information Engineering ,Hunan University of Science and Engineering ,Yongzhou 425199,China)Abstract:This paper first analyzes the characteristics of MIMO-OFDM technology and constructs a general block diagram of MIMO-OFDM system.The MIMO-OFDM system is modeled and simulated using MATLAB.Under the condition of low SNR,QPSK and 16QAM are used to compare the SNR and bit error rate of the system.The simulation results show that the performance of QPSK modula⁃tion is better than 16QAM modulation,and MIMO-OFDM technology can guarantee the reliable transmission of multiple antenna sig⁃nals with the same bandwidth.Key words:channel capacity;MIMO-OFDM;MATLAB;bit error rate1概述多输入多输出(Multiple-Input Multiple-Output ,MIMO)技术是通过多个天线进行信息的传送,能够在较少频带使用的情况下提高信道容量。
西安邮电学院 通信与信息工程学院 科研训练报告 专业班级: 通工1113班 学生姓名: 杨佳磊 学号(班内序号): 03111050(06号) 2014 年 4 月 10 日——————————————————————————装订线————————————————————————————————报告份数: 实验总成绩:LTE系统中调制技术研究摘要本文主要做了LTE中调制与解调技术的相关仿真,其中包括QPSK、16QAM、64QAM调制与解调制的matlab实现,其中包含了一些老前辈的经验以及在这基础之上我的一些相关创新,希望通过本次研究能够加深对LTE相关技术的深一步的了解,当然其中也有很多问题需要自己去解决,比如星座图的分析、比特数据的映射问题、解调制等等,这些问题及解决办法在文档中都会有所体现。
一、引言为了更好的进行大学实习教育的体制改革,更好的迎合当代企业对于毕业生的要求,实现大学与企业的更好的衔接。
让学生了解LTE当代的发展前景以及其中的一些关键技术,更好的让学生将所学知识应用到实际工作当中去,利用仿真工具对所遇到的问题进行深一步的研究并能够发现问题,自主的解决一些问题,因此进行这种开放性的实习是必要的。
特别是在这个信息膨胀的时代里,学会利用一些检索工具最快的发现与找到所需资料也显得尤为重要。
二、原理内容及研究现状在LTE中,调制和解调的方式包括QPSK、16QAM、64QAM,具体使用哪种调制方式,要看UE的能力和信道状况(UE即用户设备),一般来说根据具体的物理信道,在3GPP36.211,36.212标准中,PDCCH的调试方式是bpsk,qpsk,PDSCH是qpsk,16QAM,64QAM,剩下的广播信道等的调试方式为低阶的。
现阶段上述三种技术都已经很成熟,在这里我只做相关知识原理的一些阐述。
1.QPSK1)QPSK调制QPSK的产生方法有两种:第一种是用相乘电路,如下图1-1所示,图中输入信号A(t)是二进制双极性不归零码元,它被“串/并变换”电路变成两路码元a和b。
变成并行码元a和b后,其每个码元a和b。
变成并行码元a和b后,其每个码元的持续时间是输入码元的2倍。
这两路并行码元序列分别用以和两路正交载波相乘。
之后这两路信号在经过相加电路相加之后得到输出矢量s(t)。
这里主要进行的是单极性码元变换成双极性码元。
QPSK信号的解调原理框图如图所示,第一种,正交振幅法:用两路独立的正交的4ASK信号叠加,就可形成,因4ASK有四个振幅值和相位值,两路相乘即可得到所要的16QAM信号。
复合相移法图 1-5第二种,复合相移法,用两路独立的QPSK信号叠加,形成16QAM信号,其形成过程可用下图1-5说明2)QAM解调QAM的解调框图:中大量的采用这种调制方式不仅提高了频谱利用率而且能够更加高效快速的传递信息。
三、仿真及分析1.QPSK仿真与分析QPSK通过改变已调信号的相位信息进行对数字信号的调制。
设置不同的初相位来区别不同的数字码符,而其解调过程需要通过相位信息进行。
首先产生一系列随机的01码序列,之后每两个码字分为一组进行判别、映射画出星座图,使序列通过高斯噪声在进行解调制,画出星座图,从中观察信噪比对于码元传输的影响。
以下是QPSK的仿真和主要程序段(见附录)。
映射之后的星座图过噪声之后的星座图误码率和误比特率曲线图在途中可以看出来信噪比对于误码率的影响,信噪比越高误码率越低,因此在噪声很大的信道中适当的提高信噪比可以有效的提高通信的质量。
另外从QPSK的星座图可以看出其噪声容限值也很大,因此在解调制过程中其信息的错误率也会很低,但是其频谱的利用率却相对不高。
所以现阶段普遍偏好与QAM调制,更好的利用频谱资源,提高频谱利用率,下面开始对QAM调制进行简要的分析与仿真。
2.QAM仿真与分析一个正交幅度调制的信号采用两个正交载波,每一个载波被一个独立的信息比特序列所调制。
而其幅度可以看作是一系列电平集合,这些电平通过将比特序列映射为信号振幅获得,而我所做的仿真中采用了3个电平,并且映射的时候没有采用函数库里自带的modulate和demodulate函数进行调制与解调。
首先将产生的一系列01比特流进行进制的划分,其划分根据log2M其中M是调制的数,如16、64、128等等。
这里再将分好组的比特数据进行坐标映射,画出星座图。
在解调的过程中采用区域判别的方法,首先进行判决门限的划定,之后进行比较画出星座图。
这种方法只做了16QAM,64QAM与此相同就不做陈述,对64QAM采用内部函数的调用方式。
下面对16和64QAM的调制与解调和信噪比对误码率的影响进行分析。
16QAM星座图 16QAM加噪后的星座图16QAM误码率曲线图64QAM映射星座图 64QAM加噪后的星座图64QAM误码率曲线图图上可以看出来,64QAM调制出来的星座点更多因此其信息的容量更多,在带宽资源一样的情况之下其容纳的信息量将会更多,其传输的信息比特速率会更高,但是其代价是可以容易看到的,其解调的错误率会更高而且设备的复杂度也会相应的更加的高。
因此16和64QAM还有QPSK在实际的应用中需要根据具体的情况而定,根据我个人的理解,我们传输中当只有语音业务的时候我们可以采用最传统的调制与解调就可以满足,但是现今社会数据量的迅速膨胀,人们对多媒体以及数据业务的需求很高,因此采用更高的QAM调制技术是必要的,而且随着用户的数量日益增加,对于频谱资源极其有限的今天,跟好的利用频谱,提高频谱利用率是所用的商家都在考虑的一个难题,因此在LTE中广泛的应用QAM调制就是这个原因。
四、结论通过本次的科研训练,我更加熟练的能够操作matlab,并且通过两个星期来对于LTE中调制与解调的研究中发现了QPSK、QAM调制的优点,并且通过仿真的观察更加直观的理解书本上的一些相关知识。
在这两个星期中首先是加深了对一些知识的了解,并且学会如何去搜索资源,利用网络以及书籍来学到相关知识。
当然在与同学的讨论中也发现了自己的许多不足之处。
希望在今后的学习工作中能够虚心学习,踏实创新。
五、致谢在这里还要感谢姜静、畅智贤两位老师这两周来的悉心指导还有院里领导给我们提供这个环境和这个机会,还要感谢许多书籍的作者,给我很多启迪与鼓舞。
六、参考文献1 MA TLAB通信仿真与应用刘敏魏玲国防工业出版社2樊昌信,曹丽娜.通信原理.第六版[M].北京:国防工业出版社,2008.4-5.3 (美)S. Lin and D. J. Costello 著. 晏坚,何元智,潘亚汉等译. 差错控制编码.4 张忠培,史治平,王传丹编著. 现代编码理论与应用. 北京:人民邮电出版社.20075 蔡涛等译.无线通信原理与应用[M].北京:电子工业出版社,1999:174-179.6 仇佩亮.《信息论与编码》高等教育出版社.7 徐文燕.通信原理[M].北京:北京邮电学院出版社,20088 王新梅,肖国镇.纠错码原理与方法[M].西安:西安电子科技大学出版社,2001.9 Matlab通信仿真及应用实例详解邓华人民邮电出版社10 Bertsekas D,Gallager R.Data Network.Prentice Hall,NJ,USA,199211 Kleinrock L. Quenuing System Theory. Chichester: John Wiley & Sons,197512 Kleinrock munication Nets: Stochastic Message Flow and Delay.Dover,A.196413 Garey M R ,Johnson D S Witesnhausen H S. the Complexity of the Generalized Lloyd-Max problemS14 J un Tan. Gordon L. Stüber. New SISO decoding algo2 rithms[J ] . IEEE Trans. Commun , 2003 , 51 (6) : 845~84815 孟夏, 申敏, 王飞.TD-SCDMA中(2,1,9)卷积编码及其VITERBI译码算法的S IMULINK S-FUNCTION实现[J].通信技术,2008,41(8):26-30.16 Viterbi A J.Error bounds for convolutional codes and an asymptotically optimum decoding algorithm[J].IEEE rm Theory,1967,IT-IS(2):260-26917 王新梅,肖国镇.纠错码一原理与方法.西安,西安电子科技大学出版社,2001, 4.18 邓华.Matlab通信仿真及应用[M].北京:人民邮电出版社,200019H Jin, A Khandekar, R McEliece. “Irregular repeat-accumulate codes”. Proc. 2ndInt. Symp. Turbo Codes and Related Topics, 2000 - .20 S. Benedetto, D. Divsalar, G. Montorsi, and F. Pollara. “A Soft-Input Soft-Output APP Module for Iterative Decoding of Concat enated Codes”. IEEE附录:主要程序代码1.QPSK星座图映射程序段:sum=1000000;data= randsrc(sum,2,[0 1]); %generate a 1000000*2 random matrix, using [0 1][a1,b1]=find(data(:,1)==0&data(:,2)==0); %returns the row and column indices of the evaluated expression which are TRUE.message(a1)=-1-j; % map [ 1 1] to 225¡ã[a2,b2]=find(data(:,1)==0&data(:,2)==1);message(a2)=-1+j; % map [ 0 1] to 135¡ã[a3,b3]=find(data(:,1)==1&data(:,2)==0);message(a3)=1-j; % map [ 1 0] to 275¡ã[a4,b4]=find(data(:,1)==1&data(:,2)==1);message(a4)=1+j;% map [ 0 0] to 45¡ãscatterplot(message)title('映射后的信号的星座图')解调制后过噪声后的星座图:for Eb_NO_id=1:length(sigma)noise1=sigma(Eb_NO_id)*randn(1,sum);noise2=sigma(Eb_NO_id)*randn(1,sum);receive=message+noise1+noise2*j; %previously unconsidered: how to add gaussian noise to the original signal%receive=message;resum=0;total=0;m1=find(angle(receive)<=pi/2&angle(receive)>0); %demodulate the [ 1 1] patternremessage(1,m1)=1+j;redata(m1,1)=1;redata(m1,2)=1;m2= find( angle(receive)>pi/2&angle(receive)<=pi); %demodulate the [ 0 1] patternremessage(1,m2)=-1+j;redata(m2,1)=0;redata(m2,2)=1;m3=find( angle(receive)>-pi&angle(receive)<=-pi/2); %demodulate the [ 0 0] patternremessage(1,m3)=-1-j;redata(m3,1)=0;redata(m3,2)=0;m4=find( angle(receive)>-pi/2&angle(receive)<=0); %demodulate the [ 1 0] patternremessage(1,m4)=1-j;redata(m4,1)=1;redata(m4,2)=0;[resum,ratio1]=symerr(data,redata); % 'symerr' Compute number of symbol errors and symbol error rate pbit(Eb_NO_id)=resum/(sum*2); %1000000 symbols -->2000000 bits QPSK: 2bits per symbol [total,ratio2]=symerr(message,remessage); %Compute number of symbol errors and symbol error rate pe(Eb_NO_id)=total/sum; % Calculated according to the definitionendscatterplot(receive)title('¹加噪声的星座图')2.16QAM和64QAMM=16或者64;k=log2(M);n=120000; %比特序列长度samp=1; %过采样率x=randint(n,1); %生成随机二进制比特流stem(x(1:50),'filled'); %画出相应的二进制比特流信号title('二进制随机比特流');xlabel('比特序列');ylabel('信号幅度');x4=reshape(x,k,length(x)/k); %将原始的二进制比特序列每四个一组分组,并排列成k行length(x)/k 列的矩阵xsym=bi2de(x4.','left-msb'); %将矩阵转化为相应的16进制信号序列figure;stem(xsym(1:50)); %画出相应的16进制信号序列title('64进制随机信号');xlabel('信号序列');ylabel('信号幅度');y=modulate(modem.qammod(M),xsym); %用16QAM调制器对信号进行scatterplot(y); %画出16QAM信号的星座图text(real(y),imag(y),dec2bin(xsym));axis([-5 5 -5 5]);EbNo=-5:1:20;for n=1:length(EbNo);snr(n)=EbNo(n)+10*log10(k)-10*log10(samp); %信噪比yn=awgn(y,snr(n),'measured'); %加入高斯白噪声yd=demodulate(modem.qamdemod(M),yn); %此时解调出来的是16进制信号z=de2bi(yd,'left-msb'); %转化为对应的二进制比特流z=reshape(z.',numel(z),1');[number_of_errors(n),bit_error_rate(n)]=biterr(x,z)theoryPe(n)=(1/k)*3/2*erfc(sqrt(k*0.1*(10.^(EbNo(n)/10))));endsemilogy(EbNo,bit_error_rate,'b-',EbNo,theoryPe,'r*');legend('64QAM实际误码率','64QAM理论误码率');xlabel('EbNo/dB');ylabel('误比特率');h=scatterplot(yn(1:1*5e3),samp,0,'g.'); %经过信道后接收到的含白噪声的信号星座图hold on;scatterplot(y(1:1*5e3),1,0,'k+',h); %加入不含白噪声的信号星座图title('接收信号星座图');legend('含噪声接收信号','不含噪声信号');axis([-8 8 -8 8]);hold off指导教师评语:实 验 成 绩:指导(辅导)教师 :—————————————————————————装订 线————————————————————————————————。