基于MATLAB的MIMO通信系统仿真_第1页
基于MATLAB的MIMO通信系统仿真_第2页
基于MATLAB的MIMO通信系统仿真_第3页
基于MATLAB的MIMO通信系统仿真_第4页
基于MATLAB的MIMO通信系统仿真_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、北京邮电大学基于Matlab的MIMO通信系统仿真级:_名:_号:日期:第2页目录一、 概述.3(1).课设目的.3(2).数字通信系统概述 .3二、 根本原理 .错误!.未定义书签。(1). MIMO系统理论错误!.未定义书签。(2)MIMO系统模型.4(3).分集与复用错误!.未定义书签。三、.仿真设计.7(1).流程图.7(2)主要模块.8(3)主要参数.11四、.程序块设计11(1)结构性和关键语句 .11信源产生.11信道编码.11调制.11MIMO信道模型.12(2)状态检验和性能测试 .13信源产生.13调制.14MIMO信道模型仿真 .17五、 不同仿真条件下测试误码性能 .1

2、8六、 仿真结果与分析 .19七、 重点研究问题.19八、 结论(心得体会) .20第3页九、 参考文献.20概述(1)课设目的本课程设计的目的是了解移动通信关键技术、了解数字通信系统仿真流程, 学会用 Matlab 实现根本的信道编译码、调制解调等通信模块。学习并实现MIMO空时处理技术,通过本次实践学习和掌握性能分析的思路和方法。(2)数字通信系统概述信道中传输的是数字信号的通信方式称为数字通信,它包括将基带数字信号直 接送往信道传输的数字基带传输和经载波调制后在送往信道传输的数字载波传 输。对应的通信系统称为数字通信系统。具体的通信流程如上图所示。数字通信 具有如下特点:抗特点干扰能力强

3、,无噪声积累;保密性能好;便丁组成现代化数 字通信网,便丁实现多媒体通信和占用信道频带宽。二、根本原理(1)MIMO 系统理论:MIMO (Multiple-Input Multiple-Out-put )表示多输入多输出。MIMO 的优点是能够增加无线范围并提高性能。MIMO 允许多个天线同时发送和接收多个空间流。它允许天线同时传送和接收。利用MIMO 技术可以提高信道的容量,同时也可以提高信道的可靠性,降低误码率。前者是利用 MIMO 信道提供的空间复用增益,后者是利用 MIMO 信道提供 的空间分集增益。核心思想:时间上空时信号处理和空间上分集相结合。时间上空时:通过在发送端采用空时码实

4、现,如空时分组、空时格码,分 层空时码。空间上分集:通过增加空间上天线分布实现。可以把原来对用户来说是有 害的无电波多径传播转变第4页为对用户有利。(2)MIMO 系统模型:*T代表发送天线,nR代表接收天线。信道矩阵:hlh2山hinTIg般IIIh2nH =,1III卜b-I-hnRi九日2山hnRnT接收欠量:y = Hx +n,即接收信号为信道衰落系数乂发射信号+接收端噪声从上图可以看到, MIMO 莫型中有一个空时编码器,有多根天线,其系统模型 和上述 MIMC统理论一致。发送天线的数目要大丁接收天线, 因为一般来说,移 动终端所支持的天线数目总是比基站端要少。(3)分集与复用:根据

5、各根天线上发送信息的差异,MIMW 以分为发射分集技术和空间复用 技术。第5页发射分集:在不同的天线上发射包含同样信息的信号信号的具体形式 不一定完全相同,到达空间分集的效果,起到抗衰落的作用典型代表:空时块码STBC空间复用:在不同的天线上发射不同的信息,获得空间复用增益,从而大大提高系统的容量和频谱利用率典型代表:分层空时码Alamouti 提出了采用两个发射天线和一个接收天线的系统可以得到采用一 个发射天线两个接收天线系统同样的分集增益。将每 k 个输入字符映射为一个时间间隔里不同天线上所发送的符号 o在此例中,信源发送的二进制信息比特首先进行星座映射。假设采用4 进制 的调制星座,有m

6、=log2M =2。将从信源来的二进制信息比特,每 2 比特分为一 组此例中是 x1 和x2,对连续的两组比特进行星座映射,得到两个调制符号 xi,x2。把这两个符号送入编码器,并按照如下方式编码:Xi-X2展xi J在第一个发送时刻,符号*在天线 1 上发送出去,符号 x2在天线 2 上发送出去。第二个时刻,符号-x2在天线 1 上发送出去,符号 xi在天线 2 上发送出去。可以看出,两幅发送天线上发送信号批次存在着一定的关系,因此这种空时码是 基丁发送分集的。两幅发送天线上发送的信号满足正交特性。考虑两个发送天线,一个接收天线的情况:假设接收端可以完全准确地估计出信道的衰落系数 n 和 h

7、2,在接收端采用最空时块码STBCAlamouti发送分集空时编码方案nTXp矩阵,矩阵的每行对应在 p 个不同的第6页大似然估计,从星座中找出一对符号.x;, x2It,该符号即最终接收端认为发送端发送的符号在程序中,其判决式为:X = argmin hi2h2T ) x;十d八xi,xiJ2x2= arg min h;+|h22T *22d21 x2, x2其中x;,x2是根据信道衰落系数和接收信号进行合并得到的信号。考虑多接收天线的情况:多天线系统中,发送端的编码与传输方案和单接收天线系统一样。只是在接收端 的处理变得复杂,需要对不同接收天线上接收到的信号进行合并处理。多接收天 线下的判

8、决度量可以通过把各副接收天线上的接受信号得到的判决度量线性合并 得到。判决式如下:rx1=argmin f( hhj,2)1 x;+d2、xi,xi.x2=argmin 也(h十hj,22 I A)Tx22d2.上分层空时码BLAST空时编码利用多天线组成的天线阵同时发送和接收 离成多个支流,对每个支流进行空时处理和信号设计在发送端,将数据流分空时编码,然后通过不同天线同时发送;在接收端,利用天线阵接收,并经过空时处理和空时码解码,还 原成发送数据流。大线1天线n图 1 分层空时码的发射端系统模型在接收端,用多个天线分集接收,信道参数通过信道估计获得,由线性判决第7页第8页反应均衡器实现分层判

9、决反应干扰抵消,然后进行分层空时译码,单个信道译码 器完成信道译码,分层空时码接收端系统框图如下列图所示:大线1大线2图 2 分层空时码的接收端系统模型信道译码最后的系统结构图:三、仿真设计(1)流程图第9页(2)主要模块信源产生要求:产生独立等概二进制信源Matlab 函数:randsrc()信道编码利用卷积码来进行信道编码第10页b) Rate 1/3 convolutional coder根据 3GPP TS36.212 5.1.3.1 的规定,可选取如上所示的卷积码来进行信道 编码。卷积码卷积码与分组码不同,其编码器具有记忆性,即编码器的当前输出不仅与当 前输入有关,还跟以前时刻的输入

10、有关。速率 R=k/n、存储器阶数为 m 的卷积编 码器可用 k 个输入、n 个输出、输入存储器阶数为 m 的线性序贯电路实现,即输 入在进入编码器后仍会多存储 m 个时间单元。通常,n 和 k 都是比拟小的整数, kn,信息序歹0被分成长度为 k 的分组,码字被分成长度为 n 的分组。当 k = 1 时, 信息序列无需分组,处理连续进行。值得注意的是,卷积码不像分组码,较大的 最小距离和低错误概率不是通过增加 k 和 n 实现的,而是通过增加存储器阶数 m 实现的。卷积码的编码分为两类:前馈和反应。卷积码的译码可以分成两大类:代数译码的门限译码、概率译码的序列译码 与维特比译码。在该数字通信

11、系统中,我们采用的是维特比译码。(1) 最大似然译码:如果所有码字都是等概率发送,那么最正确的译码方法是:收到序列 r 后,译码器 对所有 2k个码字计算条件概率 p(r |c)i =1,2,2k。假设某一个似然函数 p(r|Cj)取 最大值,那么译码器认为码字 q 就是最可能发送的码字这种译码方案称为最大似然 译码,它的译码错误概率最小,但复杂性却随码长呈指数增长。在维特比译码中,硬判决时,信道可假设为较理想的二进制对称 BSCB 道, 此时最大似然准那么乂可等效丁最小汉明距离准那么; 而软判决那么常用最大似然准那么。 在此题中,我们采用的是硬判决。(2) 译码算法:它主要由路径度量的“加比

12、选运算、度量的更新、路径的更新、最大似然 路径的回溯等几个过程组成。它不是在网格图上依次比拟所有的路径,而是接收一 段,计算比拟一段,保存最有可能的路径,从而使整个码序列是一个最大似然序列。 Viterbi 译码算法的步骤可以简述如下:1从某一时间单位 j=m 开始,对进入每一状态的所有长为 j 段分支的局部路 径,计算局部路径度量。对每一状态,挑选并存贮一条有最大度量的局部路径及其 局部度量值,称此局部路径为幸存路径。2j 增加 1,把此时刻进入每一状态的所有分支度量,和同这些分支相连的 前一时刻.Inputif1rIFwb y迓yOutput 0*GD= &57(octal)Out

13、put 1Gi=663 (octal) Output 2Gj = 711 (octal)第11页的幸存路径的度量相加,得到了此时刻进入每一状态的幸存路径,加以 存储并删去其它所有路径,因此幸存路径延长了一个分支。3假设 jL+m,那么重复以上各步,否那么停止,译码器得到了有最大路径度量的 路径。卷积码的距离特性决定了它的纠错性能, 而卷积码的性能取决丁所采用的译 码方法及码的距离特性。调制调制模块根本要求:QPSK在数字信号的调制方式,QPSKH 相移键控是目前最常用的一种卫星数字信号调制方式,它具有较高的频谱利用率、较强的抗干扰性、在电路上实现也 较为简单。QPSK 言号的正弦载波有 4 个

14、可能的离散相位状态,每个载波相位携带2个二进制信号。QPSKFU 用载波的四种不同相位来表征数字信息。因此,对丁 输入的二进制数字序列应该进行分组,将每两个比特编为一组;然后用四种 不同的载波相位去表征它们。例如,假设输入二进制数字信息序列为10110100,那么可将它们分成 10,11,01,00 ,然后用四种不同的相位来分别表示它们。QPSK 是在 M=4 时的调相技术,它规定了四种载波相位,分别为 450, 135 , 225 ,315 ,调制器输入的数据是二进制数字序列,为了能和四 进制的载波相位配合起来,那么需要把二进制数据变换为四进制数据,这就是 说需要把二进制数字序列中每两个比特

15、分成一组,共有四种组合,即 00, 01,10, 11,其中每一组称为双比特码元。每一个双比特码元是由两位二进制信 息比特组成,它们分别代表四进制四个符号中的一个符号。QPS每次调制可传输 2 个信息比特,这些信息比特是通过载波的四种相位来传递的。解调 器根据星座图及接收到的载波信号的相位来判断发送端发送的信息比特。下列图为 QPSKC 统调制图。第12页输入串/并变换AWG俺道加性高斯白噪声 AWGN(Additive White Gaussian Noise)是最根本的噪声与干扰模型。加性噪声: 叠加在信号上的一种噪声, 通常记为 n(t),而且无论有无信号, 噪声 n(t)都是始终存在的

16、。因此通常称它为加性噪声或者加性干扰。白噪声:噪声的功率谱密度在所有的频率上均为一常数,那么称这样的噪声 为白噪声。如果白噪声取值的概率分布服从高斯分布,那么称这样的噪声为高 斯白噪声。Matlab 实现:randn()MIMOM理在根本原理中已经介绍过(3)主要参数Re_A = 2-%接收天线数目H=5000:%构成星本数据SNR_dB = 1:1:40:%初始化信噪比%卷程码的解码深度tblen - 8;QPSK_dir_nwi = 4:四、程序块设计(1)结构性和关键语句输出信源产生S_0 = randsrc (1, N);黑信源产生for = 1 :size(S_O, 2) ;| Ks

17、ize (S_0j 2)回$_。的列数,size (S_0, 1)返回行Atif S_O(Li) = -1:S_0 (L i) = Q;endend因为由 randsrc()产生的信源序列是+1 和-1 的序歹 0,而进行卷积码编码时输 入编码器的序列必须是单极性不归零序列,所以要将序列中的-1 修改为 0.信道编码Trellis = poly2trellis(7, 133, 171, 165);S_C = convene Irellis):根据图可得,有 6 个存放器,1 个输入和 2 个输出。将编码器的 3 个冲激响应写成二进制序列,最后转化成八进制,最后得到的结 果为 133,171,

18、165,为八进制的表示形式。其中卷积码的解码深度设为 8%卷积码的解码深度tblsi = 8:调制在进行编写的过程中,最初没有想到调用Matlab 已经封装好了的 QPSK 勺调制函数而是自己编写了一个函数,先进行了仿真。SNR_DE=O:1:12.suiiiF 1000000:data= randsrc * simij 270 1 Jal, blind(data1:, 1) Oldacta(:2)=0);messagel-i;a2,b2 =find(data(:, DOdatafij 2)=1);message(a2)=-l+i:a3fb3=fuid(data(!fl)ldata(:j 2)

19、=0):message t.a3) -1-j:b4=find(data1:, 1) = lldata(:42)=11:messagea4)=1+:scatterplot(message)titleCB点信号的星座图)先进行了符号映射。Eb_NO_id=l: length.1signa)noisel=sigm.a (Fb_NO_id)*randrLr1Tsum):noise2=sigiiia (Eb_NO_id) *randnr1, swn);receive=iaessage+noi5el+rt0ise2* j;参加噪声,因为输入的是复信息,所以参加的噪声为复噪声第12页第14页x1=argmi

20、n(加1Lu,Pe=l*(l-l/2*erfc(sqrt (10. (SNR_DB/10)/2). 2;Pbit=l/2*erfc(sqrt(10, (SNR_DB/10)/2);误码率和误比特率的公式MIMO言道模型仿真AWG俺道Whit eNoise = sg (lj i). * (.r audit (QPSK_SO_z, QPSK_SO_y). +j*randn(QPSK_SO_KjQPSK_SO_y);因为采用 QPS 朋制产生的信号是复信号,所以在信号上叠加的高斯白噪 声也应该是复噪声。在实际中,是将从信源来的二进制信息比特,每 2 比特分为一组(此例中 是 x1 和 x2),对连续

21、的两组比特进行星座映射,得到两个调制符号 x1,x2。 把这两个符号送入编码器,并按照如下方式编码的一玉x=在这里,我并没有采用将从信源传来的信息进行分组的方式,而是假设 x1 和 x2 这两路信息都是相同的,即均是 QPSK_SO 这样,相当丁简化了两发两收 的模型。这样,在最大似然估计的条件下,得到的接收信号可以表示为Receive_Signal = S_Re-ccnj (S_Re) + S_Re+conj (S_Re) : *信号接收瑞利信道在实现对瑞利信道的仿真时,因为这时候对原理有了更深刻的了解。所以就放弃了上述的假设,而是将经过 Qpsk 调制的消息序列进行了分组。实现了 发送两列

22、不同的彳号 x1 和 x2 的要求code=reshape (QPSK_S2J3750, 2);Xl=code;X2= -conj (cade (2) conj (code :, 1J);两根接收天线上接收到的信号为Kl=sun(H.出L l)+U*i:ancirL U bU, 1) J ;R2=LUL(H. *S2J2)/sq_2+Eg (1, i) *(randn13750j 1 )+1 i*randn(3750, 1):根据最大似然译码准那么hj,2第15页I |22I,、X2=argmin | ( hi + hj,2)1x十d.支沔L一I那么其译码可以表示为如下tnpl=Rlk*con

23、j (H(;j 1) )+conj (R2). *H*.:f2):Z1=Z1, tmpl:tinp2=Rl. *conj tH (:j 2) )-conjR21. *H:, 1):22=112, Xi2;for m=l:4dJL1: j n t sum t Zl.f2) -T (m1j * 2 ;d2 (:, n)=abs (sum (Z2f2)-T(n)* 2 : ilJ=mintdlj , 2);out put 1=1 , i11;clear 0 + -1.0000 + .0.0000 + L.,-0.0000 - L.*1-0000 + 5-0.0000 - 1.0000 + 0.-0.

24、0000 - 1.+,=0.0000 - L.*1,0000 +-0.0000 - L.-1-0000 +LOOOO + 0.*1.0000 + *1,0000 + .0.0000 + LnonD + n 对应的调制方式如下列图所示。但是在?通信原理?的学习中,我们知道该 调制方式错到相邻符号的概率较高。QPSK 信号的误码率:采用的是 matlab 自身封装好的函数QPSK第21页(a)载波相位为。片小萼的QPSK星座MIMO言道模型仿真AWG俺道121.0003 + 0.0002i2.OOO5十0.0003:0.9998 - 0.0005i1.9995 - O.OOlli1.0011 -

25、0.001U2,0023 - 0.002111.0008 + 0-0014i2.0016 + 04K)29i0.9996 + 0,0015!1.9992 + 0,0029:0.9985 - 0.0008;1J971 - 0.0016;-0.0012 - 1.0Q03i0.0024 - 2.0006!0,0021 - LOOlOi0,0043 - 2,0020)左边为加上高斯白噪声的信号,右边为天线上接收到的信号瑞利信道-0+2598 - 0.9457i -0.4872 + 0.0004i0.1665 - 0.7163J -0.2873 + 0 D891i0,0001 + 0.7009i0.99

26、37 + 0,5127i0+5745 - 1.0186?0.3053 - 0.&486I1.8728 + 0.6868?-0J288 - 0-1346i0,3344 + 0.16231心2876 - 0,2528i-0,2638 - O.538OJ1.0909 - 0.972110.0001- 0.952410.9978 - O.S425i左图为两根天线上接收到的信号。OJOOOO- -QQOQO-UULMOO十g -Logo十LOOOQ+o. ci oooo十ilgoro -.|三oooo十J -uooo十JUODO十o. i.oooo +上图为判决的结果,可以看出判决的结果证是四个

27、星座点对应的坐标第22页五、不同仿真条件下测试误码性能第23页仿真结果与分析由上图可以看出,随着信噪比的增大,误码率逐渐降低。假定每一根发射天线到接收天线的衰落是独立的,并且接收及完全知道信 道系数。从上述误码率性能曲线仿真结果可以看出,随着接收天线数的增 加,BER 性能得到了很好的改善。米用信道编码的方式也能够改善BER 性能。相对丁瑞利信道,加性高斯白噪声信道的BER小。且随着接收天线数的增加,空时编码的分集增益就越高,从而性能越好。重点研究的问题(1)信源产生根据老师的要求,用 randsrc 函数产生信源,但是 randsrc 函数产生的信源 是等概分布的+1 和-1 序列,而卷积编

28、码器的输入应该是 01 序列,所以在进入编码 器之前应该将其中的-1 变成 0,引入了一个 for 循环。在查阅资料后发现,其实直 接设定randsrc(1,N) .5就可以直接生成 01 序歹 0。(2)QPS斓制在进行仿真时,最初并不知道 Matlab 自带的 QPS 粮制的函数,所以在 QPSK 调制和解调的时候也花费了很多的时间 o在自己编写的过程中,我采用的如下列图所示的星座图六、七、12T2R有值道编码2TWE无信道编码曰一2T2R瑞利信道SMR dB(b)载波相位为容军手和孕的QPSK星座这样的情况下,错到相邻符号的概率比拟小,但是在实际调用程序的时候 发现,实际上是采用星座点在坐标轴上的调制方法。(3)MIMO(言道模型仿真因为是多天线发多天线收系统,所以要知道 h 信道矩阵的形式。对丁不 同的信道,h 的形式是不相同的。在实现加性高斯白噪声信道是,认为 h 的值 均为 1,而对丁瑞利信道,认为信道矩阵是随机产生的参数值。由丁考虑到噪声的影响,所以发送信号在通过信道之后,要叠加上噪声。因为通过 QPSKS 制后的信号时复信号,所以添加的噪声也为复噪声。(4)输出统计Eb/N0: Eb 指的是平均比特能量。Es/N0: Es 指的是平均符- 号能量N0 是指加性噪声的单边功率谱密度对丁误比特率的计算,可以直接调用 matlab 的自带函数 bi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论