基于MATLAB的多进制数字调制信号的矢量星座图分析

1 前言

       通信即传输信息,进行信息的时空转移。通信系统的作用就是将信息从信源发送到一个或多个目的地。实现通信的方式和手段很多,如手势、语言、旌旗、烽火台和击鼓传令,以及现代社会的电报、电话、广播、电视、遥控、遥测、因特网和计算机通信等,这些都是消息传递的方式和信息交流的手段。伴随着人类的文 明和科学技术的发展,电信技术也是以一日千里的速度飞速发展,如今, 在自然科学 领域涉及“通信”这一术语时,一般指 “电通信”。现代通信系统要求通信距离远、 通信容量大、传输质量好。改革开放以来,我国的通信建设有了迅速的发展,但与一些发达国家相比还是比较落后。随着时代的发展,用户不再满足于听到声音,而且还要看到图像,通信终端也不局限于单一的电话机,而且还有传真机和计算机等数据终端。现有的传输媒介电缆,微波中继和卫星通信等将更多地采用数字传输。传递信息所需的一切技术设备的总和称为通信系统。由于电子技术的快速发展,以及用户对信息传输要求的不断提高,通信技术从原来的模拟通信发展到数字通信;从主要以话音通信为主体的有线通信发展到现今的有线、无线并举的多种业务并重的综合业务通信。多进制数字调制现代通信的重要方法,它与模拟调制相比有许多优点。数字调制具有更好的抗干扰性能,更强的抗信道损耗,以及更好的安全性;数字传输系统中可以使用差错控制技术,支持复杂信号条件和处理技术,如信源编码加密技术以及均衡等。常用的数字调制技术有2ASK、4ASK、2PSK、QPSK、8PSK、2FSK、4FSK等,频带利用率从lbit/s/Hz~3bit/s/Hz。总之,数字通信所能够达到的传输效率远远高于模拟通信,调制技术的种类也远远多于模拟通信,大大提高了用户根据实际应用需要选择系统配置的灵活性。多进制数字调制作为信息传输的基础理论,在电信技术发展过程中起着十分重要的作用,对其的理解显得尤为重要。在数字通信领域中,经常将数字信号在复平面上表示,以直观的表示信号以及信号之间的关系,这种图示就是星座图。本文基于对2ASK、4ASK、2PSK、QPSK的信号相位的逻辑关系的分析,通过MATLAB程序做出了相应的矢量星座图。

2 设计原理

       数字IQ调制凭借高数据速率以及易于实现等优势,广泛应用于无线通信系统。与传统的模拟调制不同,数字调制采用了新颖的IQ调制架构,以0、1比特流为调制信号。简单地讲,数字调制的过程就是将原始数据比特流按照一定的规则映射至IQ坐标系的过程。映射完成后将得到数字I和Q信号,再分别由DAC转换为模拟I和Q信号,最后经IQ调制器上变频至射频频段。

       数字IQ调制完成了符号到矢量坐标系的映射,映射点一般称为星座点,具有实部和虚部。从矢量角度讲,实部与虚部是正交的关系,通常称实部为In-phase分量,则虚部为Quadrature分量 。这就是IQ的由来,该矢量坐标系也可以称为IQ坐标系。

       在IQ坐标系中,任何一点都确定了一个矢量,可以写为(I+jQ)的形式,数字调制完成后便可以得到相应的I和Q波形,因此数字调制又称为矢量调制。

       由于实际要传输的信号(基带信号)所占据的频带通常是低频开始的,而实际通信信道往往都是带通的,要在这种情况下进行通信,就必须对包含信息的信号进行调制,实现基带信号频谱的搬移,以适合实际信道的传输。即用基带信号对载波信号的某些参量进行控制,使载波的这些参量随基带信号的变化而变化。因为正弦信号的特殊优点(如:形式简单,便于产生和接受等),在大多数数字通信系统中,我们都选用正弦信号作为载波。显然,我们可以利用正弦信号的幅度,频率,相位来携带原始数字基带信号,相对应的分别称为调幅,调频,调相三种基本形式。当然,我们也可以利用其中二种方式的结合来实现数字信号的传输,如调幅-调相等,从而达到某些更加好的特性。

      一般而言,一个已调信号可以表示为:

SNt=Amgtcosfnt+φk           O≤t    (1)

N=1,2……N0

m=1,2……m0

n=1,2……n0

k=1,2……k0

       上式中,gt正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消 是低通脉冲波形,此处,我们为简单处理,假设gt=1,0 ;N0=m0×n0×k0 才能实现N0这个信号的传输。当然,我们也不可能同时使用载波信号的幅度、频率和相位三者来同时携带调制信号,这样的话,接收端的解调过程将是非常复杂的。其中最简单的三种方式是:

  1. fn正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消 φk 为常数,即m0=N0,n0=1,k0=1 时,为幅度调制(ASK)。
  2. Am φk 为常数,即m0=1,n0=N0,k0=1 时,为频率调制(FSK)。
  3. Amfn 为常数,即m0=1,n0=1,k0=N0 时,为相位调制(PSK)。

我们把(1)式展开,可得:

sNt=Amgtcosφkcosfnt-Amgtsinφk )sin2πfnt    (2)

根据空间理论,我们可以选择以下的一组基向量:

                 [2εggtcosfnt- 2εg gtsin⁡(2πfnt)]             (3)

其中εg 是低通脉冲信号的能量,调制后的信号可以用信号空间中的向量

[εg2Amcosφk- εg2 Amsinφk                (4)

来表示。当在二维坐标上将上面的向量端点画出来时,我们称之为星座图,又叫矢量图。星座图能建立起信源信息与基带信号的关系对于判断调制方式的误码率等有很直观的效用。

       由此我们也可以看出,由于频率调制时,其频率分量始终随着基带信号的变化而变化,故而其基向量也是不停地变化,而且,此时在信号空间中的分量也为一个确定的量。所以,对于频率调制,我们一般都不讨论其星座图的。

3 设计平台简介

MATLAB 是美国 MathWorks 公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括 MATLAB 和Simulink 两大部分。

MATLAB 是英文 Matrix Laboratory矩阵实验室)的缩写,是一种用于算法开发、数据可视化、数据分析及数值计算的高级技术计算机语言和交互式环境。MATLABMathematica和         Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。矩阵计算是MATLAB 的灵魂,其创始人的设计哲学就是---“万物皆矩阵”,矩阵在 MATLAB 中无处不在。MATLAB 的应用范围非常广,主要的包括信号和图像处理、通信、控制系统设计、测试和测量、财务建模和分析,以及计算生物学等众多领域。如果再加上附加的工具箱,可以说能解决绝大部分工程与科学研究问题。

MATLAB 语言是一种基于矩阵和数组的高级语言它具有流程控制语句、函数、数据结构、输入输出,并且具有面向对象的程序设计特性。用 MATLAB 编写程序就像在便签上列公式和求解一样简单。

MATLAB工作环境集成了许多工具和程序,用户工作环境中提供的功能完成它们的工作。MATLAB工作环境给用户提供了管理工作空间内存放变量和输入输出数据的功能,并给用户提供了不同的工具用以开发、管理、调试文件和MATLAB应用程序程序。

MATLAB数学函数库是数学算法的一个巨大集合。该函数库既包括了诸如求和、余弦、复数运算之类的简单函数;也包含了矩阵、转置、特征值、贝赛尔函数、快速傅里叶变换等复杂函数。

MATLAB应用程序接口(API)是一个MATLAB语言通C和Fortran等其它高级语言进行交互的库。包括从MATLAB调用其它程序(动态链接),把MATLAB作为计算引擎来调用,还包括写MATLAB数据文件。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对CFORTRANC++JAVA的支持。

4 功能实现

4.1系统设计思路

1)创建信号[0:M],此信号表示调制器的所有可能输入;

2)使用适当的调制函数来调制信号。如果需要,控制输出的幅度(scale)。分析信号的相位编码的逻辑关系。结果是信号星座图所有点的集合;

3)将信号映射到复数域上,并将结果由实数域转到复数域上;

4)对调制结果应用plot,scatterplot函数来得到相应的矢量星座图;

系统仿真框图如图 4.1 所示。

基于MATLAB的多进制数字调制信号的矢量星座图分析_第1张图片

图4.1 程序流程图

4.2 2ASK的程序分析

4.2.1 2ASK的相位逻辑关系分析

       ASK(Amplitude Shift Keying)称为幅移键控,通常指二进制幅移键控2ASK,载波幅度是随着调制信号而变化的。其最简单的形式是,载波在二进制调制信号控制下通断, 这种方式还可称作通-断键控或开关键控(OOK) 。

       ASK只对载波作幅度调制,因此符号映射至IQ坐标系后只有 I 分量,而且只有两个状态——幅度A1和A2,如图2所示。一个bit就可以表征两个状态,“0”对应A1,“1”对应A2。即一个状态只包含1 bit信息,故符号速率与比特率相同。

       二进制振幅键控就是用代表二进制数字信号的基带矩形脉冲去键控一个连续的载波。有载波输出时表示发送"1",无载波输出时表示发送"0"。根据线性调制原理,一个2ASK信号可以表示成一个单极性不归零序列和一个正弦载波相乘,即2ASK信号的一般表达式为S2Ask=StcoswCt 。其中St=nangt-nTban=0,1 。由此可得2ASK信号时间波形如图4.2所示。

基于MATLAB的多进制数字调制信号的矢量星座图分析_第2张图片

图4.2 2ASK信号时间波形

所以2ASK信号的相位编码的逻辑关系如表4.1所示:

表4.1 2ASK信号相位逻辑关系

数字码元

0

1

相位

复数

0

1

4.2.2 2ASK的矢量星座图

       创建初始信号m2ASK=[1 0 1 0 0 1 0 1],按照表4.1"0"映射成复数"0""1"映射成复数"1",后使用complex函数将结果转化为复数域,然后用plot,scatterplot函数画出其矢量星座图,如图4.34.4所示:

基于MATLAB的多进制数字调制信号的矢量星座图分析_第3张图片

图4.3 2ASK信号矢量图

基于MATLAB的多进制数字调制信号的矢量星座图分析_第4张图片

图4.4 2ASK信号星座图

4.3 4ASK的程序分析

4.3.1 4ASK的相位逻辑关系分析

       多进制数字幅度调制(4ASK)又称为四电平调制,它是二进制数字幅度调制方式的推广。四进制幅度调制信号的载波振幅有四种取值,在一个码元期间内,发送其中的一种幅度的载波信号。MASK已调信号的表示式为sMASk=stcoswCt ,其中st=-∞angt-nTban=0,1,2⋯⋯M-1 ;s(t)这里为进制数字基带信号式中,g(t)是高度为1、宽度为的门函数;an 有4种取值0,1,2,3,出现的概率分别为PO,P1,P2,P3,且.PO+P1+P2+P3=1。由此可得4ASK信号时间波形如图4.5所示。

基于MATLAB的多进制数字调制信号的矢量星座图分析_第5张图片

图4.5 4ASK信号时间波形

所以4ASK信号的相位编码的逻辑关系如表4.2所示:

表4.2 4ASK信号相位逻辑关系

数字码元

00

01

10

11

相位

复数

0

1/3

2/3

1

4.3.2 4ASK的矢量星座图

创建初始信号m4ASK=[1 0 2 2 3 0 3 1],按照表4.2"00"映射成复数"0""01"映射成复数"1/3", "10"映射成复数"2/3", "11"映射成复数"1",后使用complex函数将结果转化为复数域,然后用plot,scatterplot函数画出其矢量星座图,如图4.6、图4.7所示。

基于MATLAB的多进制数字调制信号的矢量星座图分析_第6张图片

图4.6 4ASK信号矢量图

基于MATLAB的多进制数字调制信号的矢量星座图分析_第7张图片

图4.7 4ASK信号星座图

4.4 2PSK的程序分析

4.4.1 2PSK的相位逻辑分析

        PSK(Phase Shift Keying)称为相移键控,是非常主流的数字调制方式,一种用载波相位表示输入信号信息的调制技术。移相键控分为绝对移相和相对移相两种。以未调载波的相位作为基准的相位调制叫作绝对移相。以二进制调相为例,取码元为“1”时,调制后载波与未调载波同相;取码元为“0”时,调制后载波与未调载波反相;“1”和“0”时调制后载波相位差180°。常用的PSK包括BPSK、QPSK、OQPSK、8PSK等。PSK调制是将符号直接映射到IQ坐标系上的

       2PSK用二进制基带信号对载波进行二相调制。即二进制符号"0"对应于波"0"相位,符号"1"对应于载波"1"相位的一种相移键控技术。其以载波的不同相位直接表示相应数字信息的绝对移相,利用载波的相位变化来传递数字信息,而振幅和频率保持不变。这种以载波的不同相位直接去表示相应二进制信号的调制方式,称为二进制绝对相移方式。2PSK信号的时域表达式为:s2pSk=ⅆtcoswCt正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消 t=nangt-nTb an=+1,-1 由此可得2PSK信号时间波形如图4.8所示

基于MATLAB的多进制数字调制信号的矢量星座图分析_第8张图片

图4.8 2PSK信号时间波形

所以2PSK信号的相位编码的逻辑关系如表4.3所示:

表4.3 2PSK信号相位逻辑关系

数字码元

0

1

相位

180°

复数

1

-1

4.4.2 2PSK的矢量星座图

       创建初始信号m2PSK=[1 0 1 0 0 1 0 1],按照表4.3"0"映射成复数"1""1"映射成复数"-1",后使用complex函数将结果转化为复数域,然后用plot,scatterplot函数画出其矢量星座图,如图4.9、图4.10所示。

基于MATLAB的多进制数字调制信号的矢量星座图分析_第9张图片

图4.9 2PSK信号矢量图

基于MATLAB的多进制数字调制信号的矢量星座图分析_第10张图片

图4.10 2PSK信号矢量图

4.5 QPSK的程序分析

4.5.1 QPSK的相位逻辑关系分析

       正交相移键控(Quadrature Phase Shift Keying,QPSK)是一种数字调制方式。它分为绝对相移和相对相移两种。QPSK信号的正弦载波有4个可能的离散相位状态,每个载波相位携带2个二进制符号,其信号表示式为:Sit=AcosW0t+θi, 在0到Ts 之间,i=1,2,3,4中取值。以A方式的QPSK为准,其中它规定了四种载波相位,分别为0°,90°,180°,270°,调制器输入的数据是二进制数字序列,为了能和四进制的载波相位配合起来,则需要把二进制数据变换为四进制数据,这就是说需要把二进制数字序列中每两个比特分成一组,共有四种组合,即00,01,10,11,其中每一组称为双比特码元。每一个双比特码元是由两位二进制信息比特组成,它们分别代表四进制四个符号中的一个符号。QPSK中每次调制可传输2个信息比特,这些信息比特是通过载波的四种相位来传递的。解调器根据星座图及接收到的载波信号的相位来判断发送端发送的信息比特。所以QPSK信号的相位编码的逻辑关系如表4.4所示:

表4.4 QPSK信号相位逻辑关系

数字码元

00

01

10

11

相位

90°

180°

270°

复数

0

j

-1

-j

4.5.2 QPSK的矢量星座图

      创建初始信号mQPSK=[1 0 2 3 0 1 2 3 0 1],按照表4.4"00"映射成复数"0""01"映射成复数"j", "10"映射成复数"-1", "11"映射成复数"-j",后使用complex函数将结果转化为复数域,然后用plot,scatterplot函数画出其矢量星座图,如图4.11、4.12所示。

基于MATLAB的多进制数字调制信号的矢量星座图分析_第11张图片

图4.11 QPSK信号矢量图

基于MATLAB的多进制数字调制信号的矢量星座图分析_第12张图片

图4.12 QPSK信号星座图

5 系统相关函数

(1) complex函数

ask4 = complex(ask4,0);

complex函数:创建复数。

主要语法:

z = complex(x,y) 函数创建复数z,输入的x,y必须同为变量或维数相同、相同数据类型的向量、矩阵或者多维数组。输出的结果跟输入的维数相同,返回值为a+b*i;

y=complex(x) 返回结果为实部为x,所有虚部为0的复数,等价于y=complex(x,0)。

(2) axis函数

scatterplot(ook); axis([-1.2,1.2,-1.2,1.2]);%画星座图

axis主要是用来对坐标轴进行一定的缩放操作。

主要语法:

axis( [xmin xmax ymin ymax] )设置当前坐标轴 x轴 和 y轴的限制范围。

axis( [xmin xmax ymin ymax zmin zmax cmin cmax] ) 设置 x,y,z轴的限制范围和色差范围。

v = axis 返回一个行向量,记录了坐标范围。

axis auto 解除限制,恢复到默认状态。

(3) rectangle函数

rectangle('Position',[-1, -1, 2, 2],'Curvature',[1, 1]);

rectangle函数功能:创建二维矩形对象。

主要语法:

rectangle('Position',pos) 在二维坐标中创建一个矩形。将 pos 指定为 [x y w h] 形式的四元素向量(以数据单位表示)。x 和 y 元素确定位置,w 和 h 元素确定大小。函数在当前坐标区中绘制图形,而不清除坐标区中的现有内容。rectangle('Position',pos,'Curvature',cue) 为矩形的边添加曲率。要沿水平边和垂直边使用不同的曲率,请将 cur 指定为 [horizontal vertical] 形式的二元素向量。要沿所有边使用相同的曲率,请将 cur 指定为一个标量值。请将值指定为 0(无曲率)和 1(最大曲率)之间的值。使用 [1 1] 创建一个椭圆形或圆形。

rectangle(___,Name,Value) 使用一个或多个名称-值对组参数指定矩形的属性。例如,'FaceColor','red' 指定红色填充颜色。可以使用上述语法中的任意输入参数组合指定矩形的属性。

rectangle(ax,___) 将在由 ax 指定的坐标区中,而不是在当前坐标区 (gca) 中创建矩形。选项 ax 可以位于前面的语法中的任何输入参数组合之前。

r = rectangle(___) 返回矩形对象。在创建矩形后,可以使用 r 修改其属性。有关属性列表,参考Rectangle属性 。可以使用任意上述语法返回一个输出参数。

6 结论

       利用MATLAB仿真通信系统,具有广泛的适应性和极高的灵活性。在硬件实验中改变系统参数也许意味着重做硬件,而在软件中只需对特定参数进行相应设置 ,节省了时间和费用。实践证明,MATLAB可以进行多进制数字通信系统的有效仿真,能帮助我们更好地学习该课程,提高学习兴趣。在此利用MATLAB对多进制数字调制进行了可视化仿真,得到了相应信号的矢量星座图并进行了分析,仿真结果与理论结果一致。程序中的二进制码元也可以通过输入产生,只需稍稍修改程序即可。通过改变某些参数,可以扩展到更高的进制,如十六进制,因此所编写的程序具有通用性。

代码下载地址:

基于MATLAB的多进制数字调制信号的矢量星座图分析-网络基础文档类资源-CSDN下载

你可能感兴趣的:(网络,服务器,数据库)