16QAM调制解调技术分析仿真
- 格式:doc
- 大小:17.50 KB
- 文档页数:4
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系统的仿真实现。
姓名:NikeyMATLAB环境下环境下环境下环境下16QAM调制及解调仿真调制及解调仿真调制及解调仿真调制及解调仿真程序说明程序说明程序说明程序说明一、正交调制及相干解调原理框图正交调制原理框图相干解调原理框图二、MQAM调制介绍及本仿真程序的几点说明 MQAM可以用正交调制的方法产生,本仿真中取M=16,即幅度和相位相结合的16个信号点的调制。
为了观察信道噪声对该调制方式的影响,我们在已调信号中又加入了不同强度的高斯白噪声,并统计其译码误码率。
为了简化程序和得到可靠的误码率,我们在解调时并未从已调信号中恢复载波,而是直接产生与调制时一模一样的载波来进行信号解调。
三、仿真结果图附源程序代码:main_plot.m clear;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_dBy_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(Nif 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.m function [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分量并/串转换,最终恢复成码元序列xn nn=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; yn(I1=ones(size(I1;I2=find(yn>=1.5 & yn<2.5; yn(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创作者:别如克*姓名: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创作者:别如克*。
姓名: NikeyMATLAB环境下16QAM调制及解调仿真程序说明一、正交调制及相干解调原理框图基带信号x串并转换In电平映射成形滤波Xcoswt载波发生器已调信号 y+90度相移Qn-sinwt已调信号yEPF电平映射成形滤波X正交调制原理框图InX LPF抽样判决coswt并恢复信号 x串载波恢复时钟恢复转换90度相移-sinwtQnX LPF抽样判决相干解调原理框图二、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)),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);I1=find(yn>=0.5 & yn<1.5); I2=find(yn>=1.5 & yn<2.5);yn(I0)=zeros(size(I0)); yn(I1)=ones(size(I1)); yn(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;。
目录一、设计思路及设计方案 (2)1)16QAM调制原理 (2)2)设计思路 (2)3)设计方案 (2)二、总体电路组成与分析 (3)1)总体电路图 (3)2)总体电路分析 (3)三、子电路系统分析 (4)1)串并变换子系统 (4)3)四电平判决子系统 (8)4)4-2变换子系统 (10)5)串并转换子系统 (13)四、仿真波形 (15)1)调制部分 (15)2).解调部分 (18)3).星座图: (22)五、设计总结 (22)六、参考文献 (23)一、设计思路及设计方案1)16QAM调制原理在16QAM中,数据信号由相互正交的两个载波合成。
16QAM是一种矢量调制,将输入比特先映射(一般采用格雷码)到一个复平面(星座)上,形成复数调制符号,然后将符号的I、Q分量(对应复平面的实部和虚部,也就是水平和垂直方向)采用幅度调制,分别对应调制在相互正交(时域正交)的两个载波(coswt 和sinwt)上,然后两路正交信号相加得到调制信号。
2)设计思路16-QAM信号,每个样点表示一种矢量状态,16-QAM有16态,每4位二进制数规定了16态中的一态,16-QAM中规定了16种载波和相位的组合,16-QAM的每个符号和周期传送4比特。
16进制的正交振幅调制是一种振幅相位联合键控信号。
16QAM的产生有2种方法:(1)正交调幅法,它是有2路正交的四电平振幅键控信号叠加而成;(2)复合相移法:它是用2路独立的四相位移相键控信号叠加而成。
这里采用正交调幅法。
3)设计方案首先,伪随机码发生器产生速率为Rb的二进制序列,此二进制码流经串一并变换器将分成两个速率为Rb/2的两电平序列,2一4电平变换器将每个速率为Rb/2的两电平序列变成速率为Rb/4,4电平信号,然后分别与两个正交的载波相乘,相加后即产生QAM信号。
QAM信号的解调器同样可以采用正交的相干解调方法。
同相I路和正交Q路的4电平基带信号用判决器判决后,分别恢复出速率等于Rb/2的二进制序列,最后经并一串变换器将两路二进制序列合成一个速率为Rb的二进制序列。
实验一 16QAM调制与解调仿真一、实验目的(1)掌握16QAM调制与解调原理。
(2)掌握Matlab/Simulink仿真软件使用方法。
(3)设计16QAM调制与解调仿真电路,观察同相支路、正交支路波形及16QAM星座图。
二、实验环境与仪器Windows98/2000/XP、Matlab(R2010a)/Simulink三、实验内容1、熟悉地掌握了MATLAB软件在通信系统设计与仿真的基本步骤与方法。
2、搭建16QAM调制解调仿真系统;3、运行仿真系统,得出各模块部分的波形及并进行分析。
四、实验原理1、16QAM调制原理16QAM是用两路独立的正交4ASK信号叠加而成,4ASK是用多电平信号去键控载波而得到的信号。
它是2ASK体制的推广,和2ASK相比,这种体制的优点在于信息传输速率高。
正交幅度调制是利用多进制振幅键控(MASK)和正交载波调制相结合产生的。
16进制的正交振幅调制是一种振幅相位联合键控信号。
16QAM的产生有2种方法:(1)正交调幅法,它是有2路正交的四电平振幅键控信号叠加而成;(2)复合相移法:它是用2路独立的四相位移相键控信号叠加而成。
这里采用正交调幅法。
16QAM正交调制的原理如下图1.1所示。
图1.1 16QAM调制器组成框图图中串/并变换器将速率为Rb的二进制码元序列分为两路,速率为Rb/2。
2-4电平变换为Rb/2的二进制码元序列变成速率为RS=Rb/log216的4个电平信号,4电平信号与正交载波相乘,完成正交调制,两路信号叠加后产生16QAM信号。
在两路速率为Rb/2的二进制码元序列中,经2-4电平变换器输出为4电平信号,即M=16。
经4电平正交幅度调制和叠加后,输出16个信号状态,即16QAM RS=Rb/log216=Rb/4,本实验采用便是这种方式。
2、QAM解调原理16QAM信号采取正交相干解调的方法解调,解调器首先对收到的16QAM信号进行正交相干解调,一路与cosωct相乘,一路与sinωc t相乘。
目录摘要 (3)Abstract (4)1.1 选题背景及研究的意义 (5)1.2 论文内容及安排 (5)第二章正交振幅调制理论研究 (6)2.1 QAM调制原理 (6)2.2 QAM解调原理 (8)2.3 本章小结 (10)第三章 16QAM调制解调系统的实现与仿真 (11)3.1 16QAM调制模块模型建立 (11)3.1.1信号源 (11)3.1.2 串/并转换 (11)3.1.3 2/4转换 (13)3.1.4 其他模块 (14)3.1.5 调制实现 (15)3.2 16QAM解调模块模型建立 (17)3.2.1 相干解调 (17)3.2.2 4/2转换 (18)3.2.3 并/串转换 (19)3.2.4 其他模块 (20)3.2.5 解调实现 (21)3.3 16QAM系统Simulink模型建立 (22)3.4 本章小结 (23)第四章 16QAM抗噪声性能分析 (24)4.1 16QAM错误概率计算 (24)4.2 16QAM抗噪声性能仿真 (24)4.3 本章小结 (26)第五章总结与展望 (27)致谢 (28)参考文献 (29)摘要QAM(Quadrature Amplitude Modulation)调制是一种具有高频谱利用率且能够灵活地根据传输环境与传输信源的不同自适应地调整其调制速率的调制技术,因此可以缓和目前通信传输技术中频带紧张状况以及多速率综合业务传输。
目前QAM调制技术在移动通信领域,数字电视广播,因特网宽带接入以及一些专门的军事无线通信领域得到了广泛地应用。
本文首先阐述了QAM调制解调技术的基本原理及QAM信号产生和解调所需的关键步骤,然后利用Simulink仿真平台对16QAM调制与解调系统进行建模仿真并且在加入高斯白噪声信道的情况下得到了调制端与解调端的波形图,星座图与误码率,最后绘制出该仿真系统的误码率曲线。
关键词:16QAM 调制与解调高斯白噪声星座图误码率AbstractQAM is a modulation technique of high spectral efficiency, the modulation rate of QAM can be adjusted adaptively according to the environment and the type of source. Because of these advantages, the current severe situation of band can be eased. Now, QAM technique applies in the field, such as mobile communications, digital television broadcasting, Internet as well as some specialized military fields of wireless communications.The theory and model of QAM modulation and demodulation are analyzed first in this paper. And then design 16QAM modulation and demodulation system by using Simulink. In the case of adding Gaussian white noise channel, the waveform diagram, constellation diagram and BER can be obtained. Finally, by drawing out the BER curves of the simulation system the correctness of the design results can be concluded.Keywords: 16QAM Modulation and Demodulation Gaussian white noise Constellation diagram BER第一章绪论1.1 选题背景及研究的意义在当代社会中信息交换日益频繁,随着通信技术和计算机技术的发展及它们的密切结合,通信能克服对空间和时间的限制,大量的、远距离的信息传递和存取已成为可能。
通信原理课程设计报告书课题名称 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 信号相位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)8/5π8/3π8/π8/7π8/9π8/11π8/13π令 X k = A k cos θk , Y k = -A k sin θk 则式(2—1)变为00()cos sin k k k s t X t Y t ωω=+ (2—3)k X 和k Y 也是可以取多个离散的变量。
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系统的设计和仿真实现,旨在探究在多输入多输出和正交频分复用技术的基础上,如何提高系统的性能和可靠性。
16QAM和16PSK信号的MATLAB仿真及性能对比于丹,李亚儒一.16QAM信号M进制正交幅度调制信号(MPSK)是由两个正交载波的多电平振幅键控信号叠加而成的,它与MPSK信号的不同之处在于两个支路的多电平幅度序列是相互独立的。
发送机原理图:接收机原理图:16QAM信号的仿真过程:1.产生一个随机的二进制的比特流。
利用randint函数产生代表原始信号的二进制比特序列,此处比特流的长度设为100000,并画出前50个比特的信号图:2.将二进制比特流转换成对应的十六进制信号MATLAB 中的16QAM调制器要求输入的信号为0-15这16个值,因此需要将原始的二进制比特流每4个比特转换为相应的16个值,这一步中用到的函数主要包括reshape和bi2de。
3.用16QAM调制器对信号进行调制并画出信号的星座图利用modem.qammod函数生成16QAM调制器,并对上一步生成的信号进行调制。
4.在16QAM信号中加入高斯白噪声信号通过awgn信道之后相当于在信号上加入了高斯白噪声,这一步假设Eb/No=15db。
5.画出通过信道之后接收信号的星座图利用scatterplot函数画出信号的星座图。
6.生成信号眼图利用eyediagram函数画出经过信道之后接收信号的眼图。
7.16QAM信号的解调利用demodulate和modem.qamdemod函数生成解调器,对接收到的信号进行解调,并将16进制信号转化成二进制比特流信息。
8.计算误码率将最终得到的比特流信息和原始发送的比特流信息进行对比,最终计算出误码率。
相应的MATLAB程序代码如下M=16;k=log2(M);n=100000; %比特序列长度samp=1; %过采样率x=randint(n,1); %生成随机二进制比特流stem(x(1:50),'filled'); %画出相应的二进制比特流信号title('二进制随机比特流');xlabel('比特序列');ylabel('信号幅度');x4=reshape(x,k,length(x)/k); %将原始的二进制比特序列每4个一组分组,并排列成k行length(x)/k列的矩阵xsym=bi2de(x4,'left-msb'); %将矩阵转化为相应的16进制信号序列figure;stem(xsym(1:50)); %画出相应的16进制信号序列title('16进制随机信号');xlabel('信号序列');ylabel('信号幅度');y=modulate(modem.qammod(M),xsym); %用16QAM调制器对信号进行调制scatterplot(y); %画出16QAM信号的星座图text(real(y)+0.1,imag(y),dec2bin(xsym));axis([-5 5 -5 5]);EbNo=15; %假设Eb/No=15db;snr=EbNo+10*log10(k)-10*log10(nsamp); %信噪比yn=awgn(y,snr,'measured'); %加入高斯白噪声h=scatterplot(yn,nsamp,0,'b.'); %经过信道后接收到的含白噪声的信号星座图hold on;scatterplot(y,1,0,'k+',h); %加入不含白噪声的信号星座图title('接收信号星座图');legend('含噪声接收信号','不含噪声信号');axis([-5 5 -5 5]);hold off;eyediagram(yn,2); %眼图yd=demodulate(modem.qamdemod(M),yn); %此时解调出来的是16进制信号z=de2bi(yd,'left-msb'); %转化为对应的二进制比特流z=reshape(z.',numel(z),1);[number_of_errors,bit_error_rate] = biterr(x,z) %计算误码率程序运行结果如下:number_of_errors =bit_error_rate =图1-1图1-2图1-3图1-4图1-5二.16PSK信号多进制相位键控MPSK是利用载波的相位变化来传递信息的调制方式。
16QAM调制解调技术分析仿真
作者:范小烨
来源:《物联网技术》2014年第08期
摘要:根据QAM调制解调的基本原理,以Matlab为开发平台,设计了16QAM数字调制解调系统并进行仿真分析,并在信噪比变化条件下,得到了不同进制QAM系统的误码率。
仿真结果表明,QAM调制相对PSK调制具有较好的性能。
关键词:正交幅度调制;仿真;Matlab
中图分类号:TN92 文献标识码:A 文章编号:2095-1302(2014)08-0047-02
0 引言
在通信信息高度发达的今天,频带资源显得十分有限。
经过几代通信人的努力,研究得到了利用率比较高的数字调制方式-QAM(Quadrature Amplitude)。
时至今日QAM已经成为研究设计数字通信系统的主要内容之一。
近年来在QAM的研究方面取得了里程碑式的成果,上海506研究所和天津通广集团下属的一个通信机部门[1]、曾长华等(南京邮电大学)提出一种算法,是基于软件无线电的QAM调制[2]以及西安电子科技大学ISN国家重点实验室的侯立正、李维英等的16QAM调制系统主要部分的底层设计等,都是这方面研究成果的体现。
1 16 QAM工作原理
1.1 QAM调制解调的原理
正交振幅调制时域表达式如下:
由公式(1)可知,调制信号由两个分别被一组离散的振幅{Am},{Bm}调制的载波构成,且这两个载波相位相差90°。
(Tb是码元宽度,m=1,2…M),其中振幅{Am},{Bm}可以表示成:
1.2 QAM调制性能
在评价QAM的性能时我们通常使用的几个参数有:峰值——均值比γ,星座点间最小欧几里德距离dmin和最小相位偏移θmin。
在不同的数字传输系统应用中,其参数要求不尽相同。
1.3 16 QAM调制解调原理
如前所述,当进制数M>4 时,正交幅度调制信号的时域表达式为:
2 16 QAM系统结构
2.1 16 QAM的结构
上文提到,在实际的工程应用中,一般通过正交调幅法或复合相移法生成I(t)、Q (t)。
其中前者是用两路相位相差90°的四电平振幅键控信号叠加产生,后者是用两路四相移相键控信号叠加而成。
用正交振幅调制方法产生16 QAM 信号的调制器和解调器原理方框图[2]如图1所示。
由16 QAM系统结果图可以得到调制系统的具体工作流程,以四个二进制代码abcd为例说明:ac 经串/ 并变换器转换为上支路信号,bd 转换为下支路信号,转换后的信号码速率都为Rb/2(Rb为原始信号串/ 并变换之前的码速率)。
转换之后两路二电平信号通过2-4 电平转换器变为四电平信号。
此时,I(t)和Q(t)都是四进制格雷码,码速率变为Rb/4。
经过乘法器调制之后输出四进制双极性振幅调制信号I(t)cosωct 、Q(t)sinωct 。
MQAM 的功率谱密度曲线除了载频两边的第一个零点频率分别为fc±Rb/lbM之外与
2PSK、4PSK 类似。
(fc 为载波频率)如果二进制信号中“1”和“0”出现的次数相等时,MQAM 调制后的信号频谱中无离散谱。
2.2 数字QAM解调系统结构
解调器的载波和符号定时同步含不含有反馈控制信号是数字解调与模拟解调最大的区别。
在数字部分完成载波同步和符号定时同步。
在调制系统中,模数转换器(ADC)的任务就是划分数字与模拟部分的边界。
相比于模拟QAM解调系统,数字QAM解调系系统构造结构简单,易于在工程中实现且成本花费少等优点。
更重要的是,模拟系统作为应用在中高频的信号频率阶段的电路系统,存在相位失真,非线性失真等使系统优化变得极为困难的问题。
综合考虑之后,现阶段的工程应用较多的是数字QAM解调系统。
数字QAM解调系统的结构如图2所示。
从图2中可以看出,数字QAM解调系统主要有以下几个部分:
(1)下变频模块
接收端接收的调制信号经高频头被还原称为基带信号。
(2)AGC控制
根据信号实际情况调节输出的幅度,使得幅度一直不超出模数转换器件的参考范围。
与此同时使得峰峰值更接近参考电位。
(3)A/D 采样
通过采样,量化等处理将模拟信号变为数字信号。
一般情况下模数变换的位置代表了系统数字化程度的高低,模数转换离高频头越近,系统的数字化程度越高。
(4)符号定时恢复
模数采样后的信号会因为噪声、信道带宽和器件不稳定等一系列干扰因素而产生较大的误差。
在数字接收机中为了提高控制精度,采用稳定的信号源进行不同步采样,完全由数字电路而不是模拟系统中的返回控制值实现符号定时的恢复,大大提高了信号精度。
(5)载波恢复模块
出现下变频后的“基带信号”中心频率偏离零点的问题主要是因为以下两点:一是收端和发端的本振时钟不完全同步;二是信道的快速变化特性所致。
不仅如此,信号的相位在传输中也会受到一定程度的影响。
所以,载波回复模块的功能就是把伪基带信号搬移至基带的同时跟踪该基带信号的相位。
(6)均衡模块
引起信号的幅度畸变的原因有:无线信道的瑞利衰落、多径延迟以及有线信道的多次反射等。
在数字QAM调制解调系统中的均衡模块主要利用盲均衡和自适应均衡的技术相结合的方法解决上述问题。
(7)信道前端纠错模块(FEC)
信道编码的采用是为了提高信号传输时抗干扰的能力,在解调系统中接入前端纠错模块用来进行信道解码。
3 16 QAM调制及解调的仿真分析
使用MATLAB 软件作为工具进行计算机模拟,使用一些典型的参数,目的是为了在实现调制解调的同时使系统不用过分复杂。
通过运行.m 文件[4]实现16QAM信号的调制与解调。
是由Matlab 的随机函数产生的0、1 序列作为软件中输入的信源。
3.1 Matlab仿真
用Matlab作为仿真工具编程仿真有关QAM误码率性能指标的对比分析。
采用加性高斯白噪声(AWGN)的信道,分别得到16QAM调制和QPSK 调制的误码率。
图3所示是运行程序所得到的误码率,即信噪比曲线图。
3.2 仿真波形分析
16QAM在不同信噪比情况下的误码律绘制曲线可以看出,在进制数都为16 的情况下,即信息传输速率相同的情况下,相同信噪比下QAM 信号的误码率要小于PSK 信号,即QAM 的抗噪声性能要优于PSK。
4 结语
通过基本原理与仿真分析可以看出,QAM作为一种广泛被中、大容量数字微波通信系统、有线电视网络数据传输、卫星通信系统等领域使用的调制解调技术,拥有非常良好的发展前景。
参考文献
[1]杨明华. 基于FPGA的16QAM调制解调系统的研究[D]. 大连:大连海事大学, 2010.
[2]曾长华,杨震,郑清. 一种新的基于软件无线电的QAM调制信号的同步算法[J]. 电讯技术, 2006(4):45-49.
[3]李白萍.现代通信理论[M].西安:西安电子科技大学出版社,2006.
[4]井敏英,杨俊海,王玉珏.QAM 调制解调技术分析仿真[J].科技广场,2009(11):86-88.
[5]张辉,曹丽娜.现代通信原理与技术[M].西安:西安电子科技大学出版社,2008.
[6]樊昌信,曹丽娜. 通信原理[M].北京:国防工业出版社, 1012.。