完整版16QAM调制与解调的MATLAB实现及调制性能分析.docx

上传人:b****3 文档编号:5340505 上传时间:2022-12-15 格式:DOCX 页数:14 大小:131.55KB
下载 相关 举报
完整版16QAM调制与解调的MATLAB实现及调制性能分析.docx_第1页
第1页 / 共14页
完整版16QAM调制与解调的MATLAB实现及调制性能分析.docx_第2页
第2页 / 共14页
完整版16QAM调制与解调的MATLAB实现及调制性能分析.docx_第3页
第3页 / 共14页
完整版16QAM调制与解调的MATLAB实现及调制性能分析.docx_第4页
第4页 / 共14页
完整版16QAM调制与解调的MATLAB实现及调制性能分析.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

完整版16QAM调制与解调的MATLAB实现及调制性能分析.docx

《完整版16QAM调制与解调的MATLAB实现及调制性能分析.docx》由会员分享,可在线阅读,更多相关《完整版16QAM调制与解调的MATLAB实现及调制性能分析.docx(14页珍藏版)》请在冰豆网上搜索。

完整版16QAM调制与解调的MATLAB实现及调制性能分析.docx

完整版16QAM调制与解调的MATLAB实现及调制性能分析

 

通信原理课程设计报告书

课题名称

16QAM调制与解调

的MATLAB实现及调制性能分析

姓名

学号

学院

通信与电子工程学院

专业

通信工程

指导教师

李梦醒

2012年01月01日

一、设计任务及要求:

设计任务:

利用MATLAB设计一个16QAM调制与解调系统,并对其进行性能分析。

要求:

1.设计一个16QAM调制与解调系统。

2.设计程序时必须使得程序尽可能的简单。

3.利用MATLAB进行程序编写并对系统进行仿真分析。

 

指导教师签名:

20年月日

二、指导教师评语:

 

指导教师签名:

2010年月日

三、成绩

 

验收盖章

2010年月日

 

16QAM调制与解调的MATLAB实现及调制性能分析

1设计目的

(1)掌握16QAM调制与解调的原理。

(2)掌握星座图的原理并能熟悉星座图的应用。

(3)熟悉并掌握MATLAB的使用方法。

(4)通过对16QAM调制性能的分析了解16QAM调制相对于其它调制方式的优缺点。

2设计原理

正交振幅调制(QuadratureAmplitudeModulation,QAM)是一种振幅和相位联合键控。

虽然MPSK和MDPSK等相移键控的带宽和功率方面都具有优势,即带宽占用小和比特噪声比要求低。

但是由图1可见,在MPSK体制中,随着

 

图18PSK信号相位

M的增大,相邻相位的距离逐渐减小,使噪声容限随之减小,误码率难于保证。

为了改善在M大时的噪声容限,发展出了QAM体制。

在QAM体制中,信号的振幅和相位作为两个独立的参量同时受到调制。

这种信号的一个码元可以表示为

(2—1)

式中:

k=整数;

分别可以取多个离散值。

式(2—1)可以展开为

(2—2)

令Xk=Akcosk,Yk=-Aksink

则式(2—1)变为

(2—3)

也是可以取多个离散的变量。

从式(2—3)看出,

可以看作是两个正交的振幅键控信号之和。

在式(2—1)中,若k值仅可以取/4和-/4,Ak值仅可以取+A和-A,则此QAM信号就成为QPSK信号,如图2所示:

图24QAM信号矢量图

所以,QPSK信号就是一种最简单的QAM信号。

有代表性的QAM信号是16进制的,记为16QAM,它的矢量图示于下图中:

图316QAM信号矢量图

图中用黑点表示每个码元的位置,并且示出它是由两个正交矢量合成的。

类似地,有64QAM和256QAM等QAM信号,如图4、图5所示。

它们总称为MQAM

调制。

由于从其矢量图看像是星座,故又称星座调制。

16QAM信号的产生方法主要有两种。

第一种是正交调幅法,即用两路独立的正交4ASK信号叠加,形成16QAM信号,如图6所示。

第二种方法是复合相

图6正交调幅法

移法,它用两路独立的QPSK信号叠加,形成16QAM信号,如图7所示。

图中

图7复合相移法

虚线大圆上的4个大黑点表示一个QPSK信号矢量的位置。

在这4个位置上可以叠加上第二个QPSK矢量,后者的位置用虚线小圆上的4个小黑点表示。

3设计过程

3.1设计思路

由设计原理中可知MQAM调制又称为星座调制,故我们在设计16QAM调制系统时就可以星座图来进行编程。

下面我们就借用如图8所示的星座图设计一个16QAM调制系统。

图816QAM星座

在图中共有16个点,每个点用4个比特表示,代表调制以后的一个矢量位置(这个点拥有唯一的振幅与相位)。

因此我们可以把横轴看作是实轴,纵轴看作虚轴。

由于每个点与跟它相邻的四个点是等距,且设为2,则每个点都可用一个虚数进行表示。

例如点0000可用-1-j表示,这个虚数的模就是相当于16QAM信号的振幅,相角就相当于16QAM信号的相位。

所以16QAM的调制过程就可以用如下语句进行描述:

ifA(1,b:

c)==[0000]

B(k)=-1-1i;

elseifA(1,b:

c)==[0001]

B(k)=-3-1i;

elseifA(1,b:

c)==[0010]

B(k)=-1-3i;

elseifA(1,b:

c)==[0011]

B(k)=-3-3i;

elseifA(1,b:

c)==[0100]

B(k)=1-1i;

elseifA(1,b:

c)==[0101]

B(k)=1-3i;

elseifA(1,b:

c)==[0110]

B(k)=3-1i;

elseifA(1,b:

c)==[0111]

B(k)=3-3i;

elseifA(1,b:

c)==[1000]

B(k)=-1+1i;

elseifA(1,b:

c)==[1001]

B(k)=-1+3i;

elseifA(1,b:

c)==[1010]

B(k)=-3+1i;

elseifA(1,b:

c)==[1011]

B(k)=-3+3i;

elseifA(1,b:

c)==[1100]

B(k)=1+1i;

elseifA(1,b:

c)==[1101]

B(k)=3+1i;

elseifA(1,b:

c)==[1110]

B(k)=1+3i;

elseifA(1,b:

c)==[1111]

B(k)=3+3i;

end

当调制以后的信号经过信道加噪以后,我们必须对其进行解调。

由于加噪了的缘故,调制以后的信号不再是原来的信号,而应该有不同。

因此在解调时不能简单的将上述过程逆转,即不能由-1-j就判断为0000。

而应该对虚数的实部和虚部设定一个范围后再进行判断。

这个范围边界的选取原理我们可以借用量化的概念,取相邻虚数的实部的平均数和虚部的平均数。

以下为16QAM解调过程的程序语句:

if(real(D(n))<-2)&&(imag(D(n))<-2)

C(1,d:

e)=[0011];

elseif(real(D(n))<-2)&&(imag(D(n))<0)

C(1,d:

e)=[0001];

elseif(real(D(n))<-2)&&(imag(D(n))<2)

C(1,d:

e)=[1010];

elseif(real(D(n))<-2)&&(imag(D(n))>=2)

C(1,d:

e)=[1011];

elseif(real(D(n))<0)&&(imag(D(n))<-2)

C(1,d:

e)=[0010];

elseif(real(D(n))<0)&&(imag(D(n))<0)

C(1,d:

e)=[0000];

elseif(real(D(n))<0)&&(imag(D(n))<2)

C(1,d:

e)=[1000];

elseif(real(D(n))<0)&&(imag(D(n))>=2)

C(1,d:

e)=[1001];

elseif(real(D(n))<2)&&(imag(D(n))<-2)

C(1,d:

e)=[0101];

elseif(real(D(n))<2)&&(imag(D(n))<0)

C(1,d:

e)=[0100];

elseif(real(D(n))<2)&&(imag(D(n))<2)

C(1,d:

e)=[1100];

elseif(real(D(n))<2)&&(imag(D(n))>=2)

C(1,d:

e)=[1110];

elseif(real(D(n))>=2)&&(imag(D(n))<-2)

C(1,d:

e)=[0111];

elseif(real(D(n))>=2)&&(imag(D(n))<0)

C(1,d:

e)=[0110];

elseif(real(D(n))>=2)&&(imag(D(n))<2)

C(1,d:

e)=[1101];

elseif(real(D(n))>=2)&&(imag(D(n))>=2)

C(1,d:

e)=[1111];

end

3.2设计总程序

clearall;

closeall;

N=40000;

K=4*N;%信息长度

L=7*N;

W=7*N/4;

E=randsrc(1,K,[0,1]);%信源´

B=zeros(1,W);%16QAM调制后的信号

C=zeros(1,L);%16QAM解调后的信号

num=zeros(20,1);%误比特数

ber=zeros(20,1);%误比特率

forSNR=1:

1:

20

%汉明编码

A=encode(E,7,4,'hamming/binary');

%16QAM调制过程

fork=1:

W

b=4*k-3;

c=4*k;

ifA(1,b:

c)==[0000]

B(k)=-1-1i;

elseifA(1,b:

c)==[0001]

B(k)=-3-1i;

elseifA(1,b:

c)==[0010]

B(k)=-1-3i;

elseifA(1,b:

c)==[0011]

B(k)=-3-3i;

elseifA(1,b:

c)==[0100]

B(k)=1-1i;

elseifA(1,b:

c)==[0101]

B(k)=1-3i;

elseifA(1,b:

c)==[0110]

B(k)=3-1i;

elseifA(1,b:

c)==[0111]

B(k)=3-3i;

elseifA(1,b:

c)==[1000]

B(k)=-1+1i;

elseifA(1,b:

c)==[1001]

B(k)=-1+3i;

elseifA(1,b:

c)==[1010]

B(k)=-3+1i;

elseifA(1,b:

c)==[1011]

B(k)=-3+3i;

elseifA(1,b:

c)==[1100]

B(k)=1+1i;

elseifA(1,b:

c)==[1101]

B(k)=3+1i;

elseifA(1,b:

c)==[1110]

B(k)=1+3i;

elseifA(1,b:

c)==[1111]

B(k)=3+3i;

end

end

%信道加噪

D=awgn(B,SNR);

%16QAM解调过程

forn=1:

W

d=4*n-3;

e=4*n;

if(real(D(n))<-2)&&(imag(D(n))<-2)

C(1,d:

e)=[0011];

elseif(real(D(n))<-2)&&(imag(D(n))<0)

C(1,d:

e)=[0001];

elseif(real(D(n))<-2)&&(imag(D(n))<2)

C(1,d:

e)=[1010];

elseif(real(D(n))<-2)&&(imag(D(n))>=2)

C(1,d:

e)=[1011];

elseif(real(D(n))<0)&&(imag(D(n))<-2)

C(1,d:

e)=[0010];

elseif(real(D(n))<0)&&(imag(D(n))<0)

C(1,d:

e)=[0000];

elseif(real(D(n))<0)&&(imag(D(n))<2)

C(1,d:

e)=[1000];

elseif(real(D(n))<0)&&(imag(D(n))>=2)

C(1,d:

e)=[1001];

elseif(real(D(n))<2)&&(imag(D(n))<-2)

C(1,d:

e)=[0101];

elseif(real(D(n))<2)&&(imag(D(n))<0)

C(1,d:

e)=[0100];

elseif(real(D(n))<2)&&(imag(D(n))<2)

C(1,d:

e)=[1100];

elseif(real(D(n))<2)&&(imag(D(n))>=2)

C(1,d:

e)=[1110];

elseif(real(D(n))>=2)&&(imag(D(n))<-2)

C(1,d:

e)=[0111];

elseif(real(D(n))>=2)&&(imag(D(n))<0)

C(1,d:

e)=[0110];

elseif(real(D(n))>=2)&&(imag(D(n))<2)

C(1,d:

e)=[1101];

elseif(real(D(n))>=2)&&(imag(D(n))>=2)

C(1,d:

e)=[1111];

end

end

%汉明译码

F=decode(C,7,4,'hamming/binary');

%求误比特率

[num(SNR,1),ber(SNR,1)]=biterr(F,E);

end

%误比特数图

plot(num);

figure

%误比特率图

plot(ber);

3.3系统仿真结果图

图9不同SNR下的误比特率

4系统性能分析

图10三种调制方式在AWGN信道中的误码性能比较

分析:

将QPSK,BPSK,16QAM,FSK四种调制方式,包括理论值与实际值,放在同一个图下,对他们进行对比,可以很清晰地发现,QPSK在信噪比较小时,仿真值和理论值就有了偏离,且两者数值都比较大,当信噪比越来越大时,仿真值成直线几乎没变化,而实际值的Pe值逐渐变小,这种调制方式不是很可取;16QAM的性能跟QPSK相比,在低信噪比时,Pe值较大(还要大于QPSK的),随着信噪比逐渐增大,16QAM的Pe值逐渐减小,且理论值与实际值比较契合,在大信噪比情况下,误码性能略逊与QPSK的;FSK的理论值和实际值在各种信噪比下都比较契合,两者几乎没有大的差距,无论是在低,高信噪比下,性能都要比QPSK的优越一些;BPSK性能最优!

理论值与实际值契合得比较理想,而在低,高信噪比情况下,Pe值都是最低的,且随着信噪比逐渐增大,Pe实际值迅速减小,实现起来性能十分优越。

因此在选择对误码性能要求较高的系统时,BPSK可作为首选,FSK次之,QPSK和16QAM再考虑实际情况选择,而在其他状态时,也可优先选择BPSK。

5主要仪器与设备

装有MATLAB的PC机一台。

6设计体会

课程设计做完了,总结一下,我想我还是收获了不少。

从一开始选题时的不自信(怕自己做不出)到最后我比较圆满的完成这次课程设计,正好应征了一句老话:

“功夫不负有心人”。

选完题后,我并不知道该如何动手,所以我只有看书。

通过看书,我掌握了16QAM调制与解调的原理并决定从星座图开始入手。

从而最终将系统程序编写出来。

除了掌握了课本上的知识外,通过这次课程设计我更加熟练了MATLAB的使用方法。

从以前一看到MATLAB就郁闷到现在渐渐地喜欢上MATLAB编写程序,我知道了学习的乐趣。

“功夫不负有心人”,即使你遇到了世上再难的事情,只要你有心,你就都会迎刃而解。

参考文献

[1]樊昌信,曹丽娜.通信原理.北京:

国防工业出版社,1980:

238-241.

[2]别志松,别红霞.系统与通信系统仿真.北京:

北京邮电大学出版社,2010.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1