基于MATLAB的16QAM通信系统仿真毕业设计说明书
基于MATLAB的16QAM通信系统仿真毕业设计说明书

毕业设计说明书基于MATLAB的16QAM通信系统仿真摘要随着现在的通信技术的飞速发展,特别是移动通信技术,因频谱资源的限制,传统的通信系统容量开始不能满足目前用户需求,因此通信技术专家越来越关注频带利用率的问题。
如何提高频谱利用率以及高功率谱密度是我们追求的目标。
而正交振幅调制(Quadrature Amplitude Modulation,QAM)是一种振幅和相位联合键控,由于高频谱利用率和高功率谱密度等优点,它已成为了大容量数字微波、宽带无线接入和无线视频通信的一种重要技术方案。
本论文先介绍了16进制的正交振幅调制信号(16QAM)的调制解调原理,再利用MATLAB平台构建完整的16QAM通信系统,实现16QAM的调制解调系统的仿真,以及分析该系统性能。
以此证明16QAM调制技术相对其他调制方式的优点。
关键词:调制解调;正交振幅调制;MATLAB仿真ABSTRACTWith the rapid development of modern communication technology, especially mobile communications 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 important to those communication application that include the large-capacity digital microwave technology solutions, broadband wireless access and wireless video communications, and so on.This article describes the principle of modulation and demodulation of 16QAM, then builds a complete communication system of 16QAM based on MATLAB, which is to realize the simulation of 16QAM modem system and to analyse the performance of the system.It can prove that 16QAM modulation technology is more superior than the other.Key words:modem system; qam;matlab目录1 绪论 (1)1.1 课题研究的意义 (1)1.2 国内外研究状况 (1)1.3 研究内容与章节安排 (2)2 课题理论基础 (3)2.1 调制解调的定义 (3)2.2 正交振幅调制 (4)2.2.1 QAM简介 (4)2.2.2 16QAM调制解调原理 (6)3 基于MATLAB的16QAM通信系统仿真 (9)3.1 MATLAB简介 (9)3.1.1 MATLAB介绍 (9)3.1.2 MATLAB语言特点 (9)3.2 16QAM调制解调仿真程序流程框图 (10)3.3 调制仿真模块 (11)3.3.1 信号源 (11)3.3.2 串/并变换 (11)3.3.3 2-4电平转换 (11)3.3.4 成形滤波器 (12)3.3.5 调制 (14)3.3.6 画星座图 (15)3.4 已调信号的噪声叠加 (16)3.5 解调仿真模块 (16)3.5.1 低通滤波器 (16)3.5.2 4-2电平转换 (16)3.5.3 并/串变换 (17)3.5.4 解调 (17)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 总结与展望 (25)5.1 总结 (25)5.2 未来展望 (26)参考文献 (27)致谢 (29)附录:主程序 (30)1 绪论1.1 课题研究的意义随着现代的通信技术的飞速发展,特别是移动通信技术,因为频谱资源的限制,传统的通信系统的容量开始不能满足目前用户的需求,因此通信技术专家越来越关注频带利用率的问题。
MATLAB环境下16QAM调制及解调仿真程序说明(精)

姓名: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;。
基于Matlab的16QAM通信系统的设计与仿真.

淮海工学院课程设计报告书课程名称:通信系统的计算机仿真设计题目:16QAM通信系统性能分析与MATLAB仿真系(院):电子工程学院学期:2013-2014-2专业班级:姓名:学号:基于Matlab的16QAM通信系统的设计与仿真1绪论1.1 研究背景与研究意义应用MATLAB的编程方法和功能模块可以搭建各种仿真系统,还可以应用丰富的时间域、频率域、相位域的仿真测量仪器。
许多新一代通信系统的系统级仿真程序出现在MATLAB软件的演示实例中,这使得学习的效率大为提高,对技术与系统的理解已经从概念深入到电路方案和选取层面。
Simulink是Mathworks公司推出的基于Matlab平台的著名仿真环境。
Simulink作为一种专业和功能强大且操作简单的仿真工具,目前已被越来越多的工程技术人员所青睐,它搭建积木式的建模仿真方式既简单又直观,而且已经在各个领域得到了广泛的应用。
QAM(Quadrature Amplitude Modulation):正交振幅调制。
正交振幅调制,这是近年来被国际上移动通信技术专家十分重视的一种信号调制方式。
QAM是数字信号的一种调制方式,在调制过程中,同时以载波信号的幅度和相位来代表不同的数字比特编码,把多进制与正交载波技术结合起来,进一步提高频带利用率。
正交调幅是一种将两种调幅信号汇合到一个信道的方法,因此会双倍扩展有效带宽。
正交调幅被用于脉冲调幅,特别是在无线网络应用。
1.2 课程设计的目的和任务随着现代通信技术的发展,特别是移动通信技术高速发展,频带利用率问题越来越被人们关注。
在频谱资源非常有限的今天,传统通信系统的容量已经不能满足当前用户的要求。
正交幅度调制QAM(Quadrature Amplitude Modulation)以其高频谱利用率、高功率谱密度等优势,成为宽带无线接入和无线视频通信的重要技术方案。
首先介绍了QAM调制解调原理,提出了一种基于MATLAB的16QAM 系统调制解调方案,包括串并转换,2-4电平转换,抽样判决,4-2电平转换和并串转换子系统的设计,对16QAM的星座图和调制解调进行了仿真,并对系统性能进行了分析,进而证明16QAM调制技术的优越性。
Matlab环境中16-QAM的性能仿真

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调制,已调信号由分别表示幅度和相位的两部分数据构成。
MATLAB环境下16QAM调制及解调仿真程序说明

创作编号: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创作者:别如克*。
MATLAB环境下16QAM调制与解调仿真程序说明

姓名: 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;。
用matlab实现16PSK通信课程设计.(DOC)

目录1 课程设计目的 (1)2 课程设计要求 (1)3 相关知识 (1)4 课程设计分析 (4)5 仿真 (7)6结果分析 (12)7 参考文献 (14)16PSK系统设计1.课程设计目的(1)根据题目,查阅有关资料,掌握16进制相移键控的基本原理。
(2)学习MATLAB软件,掌握MATLAB中元器件使用及参数的设置。
(3)锻炼我们分析问题和解决问题的能力同时对我们进行良好的独立工作习惯和科学素质的培养为今后参加科学工作打下良好的基础2.课程设计要求(1)掌握相移键控的相关知识、概念清晰。
(2)掌握MATLAB使用方法,利用软件绘制图像。
(3)程序设计合理、能够正确运行。
3.相关知识3.1数字通信系统简介通信系统是为了有效可靠的传输信息,信息由信源发出,以语言、图像数据为媒体,通过电(光)信号将信息传输,由信宿接收。
通信系统又可分为数字通信与模拟通信。
实现数字通信,必须使发送端发出的模拟信号变为数字信号,这个过程称为“模数变换”。
模拟信号数字化最基本的方法有三个过程,第一步是“抽样”,就是对连续的模拟信号进行离散化处理,通常是以相等的时间间隔来抽取模拟信号的样值。
第二步是“量化”,将模拟信号样值变换到最接近的数字值。
因抽样后的样值在时间上虽是离散的,但在幅度上仍是连续的,量化过程就是把幅度上连续的抽样也变为离散的。
第三步是“编码”,就是把量化后的样值信号用一组二进制数字代码来表示,最终完成模拟信号的数字化。
数字信号送入数字网进行传输。
接收端则是一个还原过程,把收到的数字信号变为模拟信号,即“数据摸变换”,从而再现声音或图像。
数字通信系统模型图为:信源→信源编码→信道编码→调制→信道→解调→信道解码→信源解码→信宿↑噪声3.2 MATLAB 简介3.2.1 基本功能MATLAB是很实用的数学软件它在数学类科技应用软件中在数值运算方面首屈一指。
MATLAB可以进行运算、绘制函数和数据、实现算法、创建用户界面、连接接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、金融建模设计与分析等领域。
基于某Matlab地16QAM通信系统地设计与仿真.doc

淮海工学院课程设计报告书课程名称:通信系统的计算机仿真设计题目: 16QAM通信系统性能分析与MATLAB仿真系(院):电子工程学院学期: 2013-2014-2专业班级:姓名:学号:基于Matlab的16QAM通信系统的设计与仿真1.1 研究背景与研究意义应用MATLAB的编程方法和功能模块可以搭建各种仿真系统,还可以应用丰富的时间域、频率域、相位域的仿真测量仪器。
许多新一代通信系统的系统级仿真程序出现在MATLAB软件的演示实例中,这使得学习的效率大为提高,对技术与系统的理解已经从概念深入到电路方案和选取层面。
Simulink是Mathworks公司推出的基于Matlab平台的著名仿真环境。
Simulink作为一种专业和功能强大且操作简单的仿真工具,目前已被越来越多的工程技术人员所青睐,它搭建积木式的建模仿真方式既简单又直观,而且已经在各个领域得到了广泛的应用。
QAM(Quadrature Amplitude Modulation):正交振幅调制。
正交振幅调制,这是近年来被国际上移动通信技术专家十分重视的一种信号调制方式。
QAM是数字信号的一种调制方式,在调制过程中,同时以载波信号的幅度和相位来代表不同的数字比特编码,把多进制与正交载波技术结合起来,进一步提高频带利用率。
正交调幅是一种将两种调幅信号汇合到一个信道的方法,因此会双倍扩展有效带宽。
正交调幅被用于脉冲调幅,特别是在无线网络应用。
1.2 课程设计的目的和任务随着现代通信技术的发展,特别是移动通信技术高速发展,频带利用率问题越来越被人们关注。
在频谱资源非常有限的今天,传统通信系统的容量已经不能满足当前用户的要求。
正交幅度调制QAM(Quadrature Amplitude Modulation)以其高频谱利用率、高功率谱密度等优势,成为宽带无线接入和无线视频通信的重要技术方案。
首先介绍了QAM调制解调原理,提出了一种基于MATLAB的16QAM系统调制解调方案,包括串并转换,2-4电平转换,抽样判决,4-2电平转换和并串转换子系统的设计,对16QAM的星座图和调制解调进行了仿真,并对系统性能进行了分析,进而证明16QAM 调制技术的优越性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于MATLAB的16QAM通信系统仿真院、部:电气与信息工程学院学生姓名:指导教师:职称专业:班级:通信1001班完成时间:2014-5-20摘要随着现在的通信技术的飞速发展,特别是移动通信技术,因频谱资源的限制,传统的通信系统容量开始不能满足目前用户需求,因此通信技术专家越来越关注频带利用率的问题。
如何提高频谱利用率以及高功率谱密度是我们追求的目标。
而正交振幅调制(Quadrature Amplitude Modulation,QAM)是一种振幅和相位联合键控,由于高频谱利用率和高功率谱密度等优点,它已成为了大容量数字微波、宽带无线接入和无线视频通信的一种重要技术方案。
本论文先介绍了16进制的正交振幅调制信号(16QAM)的调制解调原理,再利用MATLAB平台构建完整的16QAM通信系统,实现16QAM的调制解调系统的仿真,以及分析该系统性能。
以此证明16QAM调制技术相对其他调制方式的优点。
关键词:调制解调;正交振幅调制;MATLAB仿真ABSTRACTWith the rapid development of modern communication technology, especially mobile communications 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 important to those communication application that include the large-capacity digital microwave technology solutions, broadband wireless access and wireless video communications, and so on.This article describes the principle of modulation and demodulation of 16QAM, then builds a complete communication system of 16QAM based on MATLAB, which is to realize the simulation of 16QAM modem system and to analyse the performance of the system.It can prove that 16QAM modulation technology is more superior than the other.Key words:modem system; qam;matlab目录1 绪论 (1)1.1 课题研究的意义 (1)1.2 国内外研究状况 (1)1.3 研究内容与章节安排 (2)2 课题理论基础 (3)2.1 调制解调的定义 (3)2.2 正交振幅调制 (4)2.2.1 QAM简介 (4)2.2.2 16QAM调制解调原理 (6)3 基于MATLAB的16QAM通信系统仿真 (9)3.1 MATLAB简介 (9)3.1.1 MATLAB介绍 (9)3.1.2 MATLAB语言特点 (9)3.2 16QAM调制解调仿真程序流程框图 (10)3.3 调制仿真模块 (11)3.3.1 信号源 (11)3.3.2 串/并变换 (11)3.3.3 2-4电平转换 (11)3.3.4 成形滤波器 (12)3.3.5 调制 (14)3.3.6 画星座图 (15)3.4 已调信号的噪声叠加 (16)3.5 解调仿真模块 (16)3.5.1 低通滤波器 (16)3.5.2 4-2电平转换 (16)3.5.3 并/串变换 (17)3.5.4 解调 (17)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 总结与展望 (25)5.1 总结 (25)5.2 未来展望 (26)参考文献 (27)致谢 (29)附录:主程序 (30)1 绪论1.1 课题研究的意义随着现代的通信技术的飞速发展,特别是移动通信技术,因为频谱资源的限制,传统的通信系统的容量开始不能满足目前用户的需求,因此通信技术专家越来越关注频带利用率的问题。
如何提高频谱利用率以及高功率谱密度是我们追求的目标。
QAM调制技术由于高频谱利用率和高功率谱密度等优点,广泛的应用在大容量数字微波、宽带无线接入和无线视频通信中。
MATLAB是矩阵实验室(MATrix LABoratory)的缩写,是一款由The MathWorks公司推出的,并由MATLAB和Simulink两大部分组成的数学软件。
通过MATLAB进行仿真设计,可以降低设计的成本,提高设计的效率[1]。
本论文在分析正交幅度调制原理的基础上,以16进制的QAM信号为例,实现了基于MATLAB的16QAM信号的通信系统仿真,这为16QAM信号的调制解调系统的性能分析与研究提供了基础。
1.2 国内外研究状况由于对频谱利用率的日益关注,频谱利用率高的16QAM调制技术成为了通信各个方面专家研究的热点。
国外,最先在1983年,Nossek等人设计和实现了一个140Mb/sde 16QAM的数字无线电系统,实现了3.5bit/s/Hz的频谱效率[2]。
而后有Nakhjiri等人研究了在瑞利衰落信道下16QAM的相干检测[3]。
国内,2003年常力等人在MATLAB上对16QAM通信系统进行了仿真,并重点介绍了其中关键的定时同步和载波恢复部分。
再有2010年杨辉媛等人研究了QAM的性能。
采用正交振幅调制,信道带宽至少应该等于码元数率,为了便于定时恢复基带信号,还需要额外的带宽,一般要增加15%左右。
相对于其他调制技术,QAM的编码拥有能充分利用带宽、抗噪能力强等优势[4]。
根据星座图的特点,刘继红等人在基于16QAM相干光纤通信的系统中研究了星座图的优化与选择。
通过比较Square与Star两种16QAM调制格式星座图的特点,证明Square 16QAM具有调制简单的特点而被广泛采用,但对相位噪声敏感,而Star 16-QAM星座图中两圈上的星点的相位分布是均匀的[5]。
近期对16QAM调制系统的研究倾向于卫星通信。
因为相对于传统的QPSK调制方式,频谱利用率高的QAM更加满足卫星通信对于数据高速传输的需求。
王坦等人通过使用Simulink这一工具,搭建了16QAM信号的基带传输模型,并且通过观察仿真出来的信号频谱图、眼图、星座图以及传输误比特率等,更深一步研究了16QAM的基带传输的特性,并指出16QAM调制技术应用于卫星通信中的优点以及不足之处[6]。
刘光谱等人也进一步研究了MATLAB应用在通信理论上的优势特点,他们通过利用MATLAB友好的用户界面以及直观的图形方式等特点,来了解MATLAB中各种复杂的计算过程,这其中包括了调制解调和信道编码[7]。
综合以上国内外研究状况,可以看到越来越多的人关注正交振幅调制技术,而且这一技术逐渐深入移动通信各个行业。
而且其中的频谱利用率高这一优点,成为了关注的焦点。
本文是利用MATLAB进行16QAM信号的通信系统仿真,并分析该调制技术的星座图和系统性能,以此证明16QAM调制技术的优势特点。
1.3 研究内容与章节安排正交振幅调制因具有较高的频带利用率因而广泛的受到了使用,本课题以16QAM为例,首先理解16QAM调制与解调的基本原理,然后借助MATLAB平台,对16QAM的通信系统进行仿真,最后分析该通信系统的性能。
本论文的第1章为绪论,主要介绍了本课题研究的意义,国内外的研究现状,以及研究的主要内容和章节安排。
第2章介绍了这个课题的一些理论基础,如以16QAM为例,说明了它的调制解调的基本原理。
第3章以MATLAB为平台,进行16QAM的调制解调系统的仿真,并对仿真的结果进行了分析。
第4章对16QAM系统进行性能分析并且通过与其他调制方式比较,说明其优越性。
第5章是对该课题研究内容做了简要的总结分析。
2 课题理论基础2.1 调制解调的定义所谓调制,便是用调制信号(基带信号)去调控载波参数的经过,因而让载波的参数根据调制信号的规律而变化着;从频域的角度来看,便是让基带信号的频谱搬移到更高的载波频率附近的过程[8]。
通过调制,可以降低传输的损耗,以实现远距离通信的目的。
从广大意义上来看,调制分成基带调制和载波调制(也叫帯通调制)。
帯通调制即使用调制信号去调控载波参数的过程,以致载波的某一个或者某几个参数根据调制信号的变化而变化;其中的调制信号意思是表示来自信号源的消息信号(基带信号),而载波是表示没有受到调制的周期性振荡信号[9]。
调制的目的主要有如下三点:第一,将基带信号转换成能够在信道中传输的已调信号(如可以有效传输、配置信道、缩短天线的尺寸);第二,能够实现信道多路复用的功能,以便于提高信道的频带利用率;第三,改善通信系统的抗噪声性能(与制式相关)。
根据不同种类的调制信号、载波和调制器等,调制的分类也有所不同。
例如,根据载波可以分为连续波调制和脉冲调制;按照已调信号的频谱结构能够分成线性调制以及非线性调制;根据调制信号之间的差异能够将调制分成模拟调制和数字调制等。
其中最常用的也是最关键的模拟调制技术是以正弦波为载波的幅度调制与角度调制;幅度调制的意思是表示高频率载波的幅度按照基带信号幅度的瞬时值的变换方式而改变的调制方式,其包括有调幅(AM)、双边带(DSB)、单边带(SSB)以及残留边带(VSB);而角度调制表示高频率的载波的频率或者相位根据基带信号的规则变化而改变的一种调制方法,这其中包括了频率调制(FM)和相位调制(PM)等[9]。