基于MATLAB的MIMO通信系统仿真.doc
- 文档编号:7407896
- 上传时间:2023-05-11
- 格式:DOC
- 页数:21
- 大小:656KB
基于MATLAB的MIMO通信系统仿真.doc
《基于MATLAB的MIMO通信系统仿真.doc》由会员分享,可在线阅读,更多相关《基于MATLAB的MIMO通信系统仿真.doc(21页珍藏版)》请在冰点文库上搜索。
北京邮电大学
基于Matlab的MIMO通信系统仿真
班 级:
姓 名:
学 号:
日 期:
第21页
目录
一、概述 3
(1)课设目的 3
(2)数字通信系统概述 3
二、基本原理 3
(1)MIMO系统理论 3
(2)MIMO系统模型 4
(3)分集与复用 4
三、仿真设计 7
(1)流程图 7
(2)主要模块 8
(3)主要参数 11
四、程序块设计 11
(1)结构性和关键语句 11
信源产生 11
信道编码 11
调制 11
MIMO信道模型 12
(2)状态检验和性能测试 13
信源产生 13
调制 14
MIMO信道模型仿真 17
五、不同仿真条件下测试误码性能 18
六、仿真结果与分析 19
七、重点研究问题 19
八、结论(心得体会) 20
九、参考文献 20
一、概述
(1)课设目的
本课程设计的目的是了解移动通信关键技术、了解数字通信系统仿真流程,学会用Matlab实现基本的信道编译码、调制解调等通信模块。
学习并实现MIMO空时处理技术,通过本次实践学习和掌握性能分析的思路和方法。
(2)数字通信系统概述
信道中传输的是数字信号的通信方式称为数字通信,它包括将基带数字信号直接送往信道传输的数字基带传输和经载波调制后在送往信道传输的数字载波传输。
对应的通信系统称为数字通信系统。
具体的通信流程如上图所示。
数字通信具有如下特点:
抗特点干扰能力强,无噪声积累;保密性能好;便于组成现代化数字通信网,便于实现多媒体通信和占用信道频带宽。
二、基本原理
(1)MIMO系统理论:
MIMO(Multiple-InputMultiple-Out-put)表示多输入多输出。
MIMO的优点是能够增加无线范围并提高性能。
MIMO允许多个天线同时发送和接收多个空间流。
它允许天线同时传送和接收。
利用MIMO技术可以提高信道的容量,同时也可以提高信道的可靠性,降低误码率。
前者是利用MIMO信道提供的空间复用增益,后者是利用MIMO信道提供的空间分集增益。
核心思想:
时间上空时信号处理和空间上分集相结合。
时间上空时:
通过在发送端采用空时码实现,如空时分组、空时格码,分层空时码。
空间上分集:
通过增加空间上天线分布实现。
可以把原来对用户来说是有害的无电波多径传播转变为对用户有利。
(2)MIMO系统模型:
代表发送天线,代表接收天线。
信道矩阵:
接收矢量:
,即接收信号为信道衰落系数发射信号+接收端噪声
从上图可以看到,MIMO模型中有一个空时编码器,有多根天线,其系统模型和上述MIMO系统理论一致。
发送天线的数目要大于接收天线,因为一般来说,移动终端所支持的天线数目总是比基站端要少。
(3)分集与复用:
根据各根天线上发送信息的差别,MIMO可以分为发射分集技术和空间复用技术。
l发射分集:
在不同的天线上发射包含同样信息的信号(信号的具体形式不一定完全相同),达到空间分集的效果,起到抗衰落的作用
典型代表:
空时块码(STBC)
l空间复用:
在不同的天线上发射不同的信息,获得空间复用增益,从而大大提高系统的容量和频谱利用率
典型代表:
分层空时码
空时块码(STBC)
Alamouti提出了采用两个发射天线和一个接收天线的系统可以得到采用一个发射天线两个接收天线系统同样的分集增益。
将每个输入字符映射为一个矩阵,矩阵的每行对应在个不同的时间间隔里不同天线上所发送的符号。
在此例中,信源发送的二进制信息比特首先进行星座映射。
假设采用4进制的调制星座,有。
将从信源来的二进制信息比特,每2比特分为一组(此例中是x1和x2),对连续的两组比特进行星座映射,得到两个调制符号x1,x2。
把这两个符号送入编码器,并按照如下方式编码:
在第一个发送时刻,符号在天线1上发送出去,符号在天线2上发送出去。
第二个时刻,符号在天线1上发送出去,符号在天线2上发送出去。
可以看出,两幅发送天线上发送信号批次存在着一定的关系,因此这种空时码是基于发送分集的。
两幅发送天线上发送的信号满足正交特性。
考虑两个发送天线,一个接收天线的情况:
假设接收端可以完全准确地估计出信道的衰落系数和,在接收端采用最大似然估计,从星座中找出一对符号,该符号即最终接收端认为发送端发送的符号。
在程序中,其判决式为:
其中,是根据信道衰落系数和接收信号进行合并得到的信号。
考虑多接收天线的情况:
多天线系统中,发送端的编码与传输方案和单接收天线系统一样。
只是在接收端的处理变得复杂,需要对不同接收天线上接收到的信号进行合并处理。
多接收天线下的判决度量可以通过把各副接收天线上的接受信号得到的判决度量线性合并得到。
判决式如下:
分层空时码(BLAST)
空时编码利用多天线组成的天线阵同时发送和接收。
在发送端,将数据流分离成多个支流,对每个支流进行空时处理和信号设计(空时编码),然后通过不同天线同时发送;在接收端,利用天线阵接收,并经过空时处理和空时码解码,还原成发送数据流。
串并变换
信道编码器1
信道编码器2
空时编码
调制器1
调制器2
天线1
天线n
图1分层空时码的发射端系统模型
在接收端,用多个天线分集接收,信道参数通过信道估计获得,由线性判决反馈均衡器实现分层判决反馈干扰抵消,然后进行分层空时译码,单个信道译码器完成信道译码,分层空时码接收端系统框图如下图所示:
信道估计
线性判决反馈均衡器
空时译码
信道译码
天线1
天线2
图2分层空时码的接收端系统模型
最后的系统结构图:
三、仿真设计
(1)流程图
利用ML准则进行判决
解调,进行维特比译码
结束
(2)主要模块
Ø信源产生
要求:
产生独立等概二进制信源
Matlab函数:
randsrc()
Ø信道编码
利用卷积码来进行信道编码
根据3GPPTS36.2125.1.3.1的规定,可选取如上所示的卷积码来进行信道编码。
卷积码
卷积码与分组码不同,其编码器具有记忆性,即编码器的当前输出不仅与当前输入有关,还跟以前时刻的输入有关。
速率R=k/n、存储器阶数为m的卷积编码器可用k个输入、n个输出、输入存储器阶数为m的线性序贯电路实现,即输入在进入编码器后仍会多存储m个时间单元。
通常,n和k都是比较小的整数,k 当k=1时,信息序列无需分组,处理连续进行。 值得注意的是,卷积码不像分组码,较大的最小距离和低错误概率不是通过增加k和n实现的,而是通过增加存储器阶数m实现的。 卷积码的编码分为两类: 前馈和反馈。 卷积码的译码可以分成两大类: 代数译码的门限译码、概率译码的序列译码与维特比译码。 在该数字通信系统中,我们采用的是维特比译码。 (1)最大似然译码: 如果所有码字都是等概率发送,则最佳的译码方法是: 收到序列r后,译码器对所有个码字计算条件概率。 若某一个似然函数取最大值,则译码器认为码字就是最可能发送的码字这种译码方案称为最大似然译码,它的译码错误概率最小,但复杂性却随码长呈指数增长。 在维特比译码中,硬判决时,信道可假设为较理想的二进制对称BSC信道,此时最大似然准则又可等效于最小汉明距离准则;而软判决则常用最大似然准则。 在本题中,我们采用的是硬判决。 (2)译码算法: 它主要由路径度量的“加比选”运算、度量的更新、路径的更新、最大似然路径的回溯等几个过程组成。 它不是在网格图上依次比较所有的路径,而是接收一段,计算比较一段,保留最有可能的路径,从而使整个码序列是一个最大似然序列。 Viterbi译码算法的步骤可以简述如下: ① 从某一时间单位j=m开始,对进入每一状态的所有长为j段分支的部分路径,计算部分路径度量。 对每一状态,挑选并存贮一条有最大度量的部分路径及其部分度量值,称此部分路径为幸存路径。 ② j增加1,把此时刻进入每一状态的所有分支度量,和同这些分支相连的前一时刻的幸存路径的度量相加,得到了此时刻进入每一状态的幸存路径,加以存储并删去其它所有路径,因此幸存路径延长了一个分支。 ③ 若j 卷积码的距离特性决定了它的纠错性能,而卷积码的性能取决于所采用的译码方法及码的距离特性。 Ø调制 调制模块基本要求: QPSK 在数字信号的调制方式,QPSK四相移键控是目前最常用的一种卫星数字信号调制方式,它具有较高的频谱利用率、较强的抗干扰性、在电路上实现也较为简单。 QPSK信号的正弦载波有4个可能的离散相位状态,每个载波相位携带2个二进制信号。 QPSK利用载波的四种不同相位来表征数字信息。 因此,对于输入的二进制数字序列应该进行分组,将每两个比特编为一组;然后用四种不同的载波相位去表征它们。 例如,若输入二进制数字信息序列为10110100,则可将它们分成10,11,01,00,然后用四种不同的相位来分别表示它们。 QPSK是在M=4时的调相技术,它规定了四种载波相位,分别为45°,135°,225°,315°,调制器输入的数据是二进制数字序列,为了能和四进制的载波相位配合起来,则需要把二进制数据变换为四进制数据,这就是说需要把二进制数字序列中每两个比特分成一组,共有四种组合,即00,01,10,11,其中每一组称为双比特码元。 每一个双比特码元是由两位二进制信息比特组成,它们分别代表四进制四个符号中的一个符号。 QPSK中每次调制可传输2个信息比特,这些信息比特是通过载波的四种相位来传递的。 解调器根据星座图及接收到的载波信号的相位来判断发送端发送的信息比特。 下图为QPSK系统调制图。 ØAWGN信道 加性高斯白噪声AWGN(AdditiveWhiteGaussianNoise)是最基本的噪声与干扰模型。 加性噪声: 叠加在信号上的一种噪声,通常记为n(t),而且无论有无信号,噪声n(t)都是始终存在的。 因此通常称它为加性噪声或者加性干扰。 白噪声: 噪声的功率谱密度在所有的频率上均为一常数,则称这样的噪声为白噪声。 如果白噪声取值的概率分布服从高斯分布,则称这样的噪声为高斯白噪声。 Matlab实现: randn() ØMIMO原理 在基本原理中已经介绍过 (3)主要参数 四、程序块设计 (1)结构性和关键语句 Ø信源产生 因为由randsrc()产生的信源序列是+1和-1的序列,而进行卷积码编码时输入编码器的序列必须是单极性不归零序列,所以要将序列中的-1修改为0. Ø信道编码 根据图可得,有6个寄存器,1个输入和2个输出。 将编码器的3个冲激响应写成二进制序列,最后转化成八进制,最后得到的结果为133,171,165,为八进制的表示形式。 其中卷积码的解码深度设为8 Ø调制 在进行编写的过程中,最初没有想到调用Matlab已经封装好了的QPSK的调制函数而是自己编写了一个函数,先进行了仿真。 先进行了符号映射。 加入噪声,因为输入的是复信息,所以加入的噪声为复噪声 误码率和误比特率的公式 ØMIMO信道模型仿真 AWGN信道 因为采用QPSK调制产生的信号是复信号,所以在信号上叠加的高斯白噪声也应该是复噪声。 在实际中,是将从信源来的二进制信息比特,每2比特分为一组(此例中是x1和x2),对连续的两组比特进行星座映射,得到两个调制符号x1,x2。 把这两个符号送入编码器,并按照如下方式编码 在这里,我并没有采用将从信源传来的信息进行分组的方式,而是假设x1和x2这两路信息都是相同的,即均是QPSK_SO。 这样,相当于简化了两发两收的模型。 这样,在最大似然估计的条件下,得到的接收信号可以表示为 瑞利信道 在实现对瑞利信道的仿真时,因为这时候对原理有了更深刻的了解。 所以就放弃了上述的假设,而是将经过Qpsk调制的消息序列进行了分组。 实现了发送两列不同的信号x1和x2的要求 两根接收天线上接收到的信号为 根据最大似然译码准则 则其译码可以表示为如下 最后的接收输入是与QPSK星座图上的四个星座点进行比较的,判决的过程就是判决离哪个星座点更近。 进行QPSK解调的时候,解调输入为output。 (2)状态检验和性能测试 Ø信源产生 截取了随机产生的+1,-1序列的一部分,根据代码,将其中的-1全部替换成了0 (由于信源是随机产生的,在不同时刻运行程序得到的序列不同) 信道编码 结果符合题目中给出的卷积码编码器的形式 通过卷积信道编码,输入5000个信源序列,最后输出为15000个输出 Ø调制 由图可见QPSK仿真误码率曲线和理论误码率曲线重合在一起,QPSK仿真误比特率曲线和理论误比特率曲线也重合在一起,误码率约是误比特率的两倍,说明实验方法是正确可行的。 QPSK信号的误码率: QPSK信号的误比特率: 最终在实现MIMO模型的时候,采用的是matlab自身封装好的函数 结果如下所示 对应的调制方式如下图所示。 但是在《通信原理》的学习中,我们知道该QPSK调制方式错到相邻符号的概率较高。 ØMIMO信道模型仿真 AWGN信道 左边为加上高斯白噪声的信号,右边为天线上接收到的信号 瑞利信道 左图为两根天线上接收到的信号。 上图为判决的结果,可以看出判决的结果证是四个星座点对应的坐标 五、不同仿真条件下测试误码性能 六、仿真结果与分析 由上图可以看出,随着信噪比的增大,误码率逐渐降低。 假定每一根发射天线到接收天线的衰落是独立的,并且接收及完全知道信道系数。 从上述误码率性能曲线仿真结果可以看出,随着接收天线数的增加,BER性能得到了很好的改善。 采用信道编码的方式也能够改善BER性能。 相对于瑞利信道,加性高斯白噪声信道的BER较小。 且随着接收天线数的增加,空时编码的分集增益就越高,从而性能越好。 七、重点研究的问题 (1)信源产生 根据老师的要求,用randsrc函数产生信源,但是randsrc函数产生的信源是等概分布的+1和-1序列,而卷积编码器的输入应该是01序列,所以在进入编码器之前应该将其中的-1变成0,引入了一个for循环。 在查阅资料后发现,其实直接设定randsrc(1,N)>.5就可以直接生成01序列。 (2)QPSK调制 在进行仿真时,最初并不知道Matlab自带的QPSK调制的函数,所以在QPSK调制和解调的时候也花费了很多的时间。 在自己编写的过程中,我采用的如下图所示的星座图 这样的情况下,错到相邻符号的概率比较小,但是在实际调用程序的时候发现,实际上是采用星座点在坐标轴上的调制方法。 (3)MIMO信道模型仿真 因为是多天线发多天线收系统,所以要知道h信道矩阵的形式。 对于不同的信道,h的形式是不相同的。 在实现加性高斯白噪声信道是,认为h的值均为1,而对于瑞利信道,认为信道矩阵是随机产生的参数值。 由于考虑到噪声的影响,所以发送信号在通过信道之后,要叠加上噪声。 因为通过QPSK调制后的信号时复信号,所以添加的噪声也为复噪声。 (4)输出统计 Eb/N0: Eb指的是平均比特能量。 Es/N0: Es指的是平均符号能量 N0是指加性噪声的单边功率谱密度 对于误比特率的计算,可以直接调用matlab的自带函数biterr。 八、结论(心得体会) 通过两个星期的课程设计,我初步了解了基于MATLAB的MIMO通信系统仿真。 两个星期的课程设计过得很快。 对于MIMO通信系统,最初我们只是在《移动通信》课上有所了解,但对于它的整个实现流程实际上是陌生的。 在课设开始初期,我也面临无从下手的困境,毫无头绪。 后来我根据老师给出的基本流程图,一步步拆解,从最初产生信源,到最终完成两发两收,在这个过程中,我对基于MATLAB的MIMO通信系统仿真有了比较深刻的认识。 MIMO的优点是能够增加无线范围并提高性能。 MIMO允许多个天线同时发送和接收多个空间流。 它允许天线同时传送和接收。 利用MIMO技术可以提高信道的容量,同时也可以提高信道的可靠性,降低误码率。 前者是利用MIMO信道提供的空间复用增益,后者是利用MIMO信道提供的空间分集增益。 但是,后来深入了解了我才知道,MIMO不能够克服频率选择性深衰落。 所以出现了OFDM和MIMO结合在一起的技术。 整个课程设计实际上是贯穿了我们所学的专业知识。 其中用到了卷积码的编码与译码,是《信息处理与编码》的知识,对于QPSK的调制,则是《通信原理》的知识,而整个两发两收模型的实现,更是用到了上述专业课的思想和方法,可见,要实现一个简单的通信系统都需要这么多门课程的交叉,更不用说进行更进一步的科学研究了。 目前,4G技术已经逐渐普及,未来是必要出现更先进的通信技术,但是无论科技如何发展,后来的技术都是对先前技术的改进和突破。 只有学好现有的技术,才能够发现其中的缺陷和弊端,才能够找准改进的方向。 通过此次课程设计,我对数字通信系统有了更进一步的认识,对Matlab强大的仿真能力有了深刻的体会。 只有静下心来,潜心研究,认真做事,才能达到最后的目标。 九、参考文献 [1]周炯磐,庞沁华,续大我,吴伟陵,杨鸿文,《通信原理》,北京邮电大学出版社 [2]林云,何丰,《MIMO技术原理及应用》,人民邮电出版社 [3]3GPPTS36.212V9.2.0(2010-06)http: //www.3gpp.org [4] [5]ClaudeOestges,BrunoClerckx,《MIMO无线通信》,机械工业出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MATLAB MIMO 通信 系统 仿真