MIMO信道容量计算

实验一: MIMO 信道容量计算实验学时:3实验类型:(演示、验证、综合、设计、丁研究)实验要求:(V必修、选修)一、 实验目的通过本实验的学习,理解和掌握信道容量的概念和物理意义;了解多天线系 统信道容量的计算方法;采用计算机编程实现经典的注水算法二、 实验内容MIMO 信道容量;注水算法原理; 采用计算机编程实现注水算法三、 实验组织运行要求以学生自主训练为主的开放模式组织教学四、 实验条件( 1 )微机( 2) MATLAB 编程工具五、 实验原理、方法和手段MIMO (MIMO, Multiple Input Multiple Output)技术利用多根天线实现多发多收,充分利用了空间资源,在有限的频谱资源上可以实现高速率和大容量,已成为4G通信系统以及未来无线通信系统的关键技术之一图 1 平坦衰弱 MIMO 信道模型1.MIMO 信道模型MIMO 指多输入多输出系统,当发送信号所占用的带宽足够小的时候,信道 可以被认为是平坦的,即不考虑频率选择性衰落平坦衰弱的 MIMO 信道可以用一个n xn的复数矩阵H描述:RT「h11h21h12h22hnR1hnR2h 11nTh2 nT■hWT」其中n为发送端天线数,n为接收端天线数,H的元素h表示从第i根发射天T R j ,i线到第 j 根接收天线之间的空间信道衰落系数。
窄带MIMO信道模型(如图1所示)可以描述为:y = Hx + n其中,x为发送信号;y为接收信号;n为加性高斯白噪声2.MIMO 信道容量假设 n 服从均值为 0,协方差为单位阵的复高斯分布根据信道容量C = max{I(X;Y)}的定义,可以证明当p(x)服从高斯分布时,达到MIMO信道p(X)容量令x的协方差矩阵为R,则MIMO信道容量可表示为:x3)C(R U logdet G + HR H h )x x其中上标‘H'表示复共轭,I为单位阵,det表示取行列式C(R )表示单位带 x宽下的 MIMO 信道传输速率,单位为 Nat/sec发射机的传输功率可以表示为:P = E [x|I2}=E ^Tr Ckxh )}=Tr (E ^xxh })= Tr (R )x其中,IX表示向量的模,Tr表示取矩阵的迹,E表示求期望假设发射机的最大传输功率为 P ,则功率约束下的 MIMO 信道容量计算问题可T以描述为:max log det \I + HR H hxR*0s.t Tr(R )< P .xT即在功率约束下找到x的最佳分布使得信道容量最大此处R > 0表示R为半X X正定矩阵3.奇异值分解及问题转化将信道矩阵进行奇异值分解,即H可分解为H二UDVh,其中U和V为酉矩阵满足UUH 二 I; UHU 二 I; VHV 二 I; VVH 二 I,D为nR X nT的矩形对角矩阵。
利用恒等式det(I + AB)= det(I+BA)和酉矩阵性质UhU二I,得到det G + UDV h R VDh Uh ) =det G + U h UDV h R VDh ) =det G + DV h R VDh ) =det G + Dh DV h R V )X5)利用恒等式Tr(AB)= Tr(BA)和酉矩阵性质VhV二I,得到Tr(R )= Tr(VVhR )= Tr(VhR V)X X X定义A全DhD,利用(5)和(6),问题(4)可写为:max log det G + AV h R V )VVH RxV>0s.t. Tr(VhR V)< P .xT经过变量替换,令X全VhR V,问题(7) (i.e.,⑷)等价为Xmax log det(I + AX) sTTr(X)< P .T根据Hadamard不等式(参考《信息论基础》Thomas M. Cover,定理16.8.2),问题(8)的最优解X必为对角阵因此问题(8)可简化为max工 log |1 + Z{ as.t 工 x < P .iTi=19)其中,r为H (或者A)的秩,1x和一分别为X和A的对角元素 iai4.注水(water-filling)算法 求解问题(9)对问题(9)使用拉格朗日乘子法,可知最优解必须满足(1 )x = max —-a ,0 , i = 1,2...ri IV i 丿£ X = PiTi=1 1其中卩为拉格朗日乘子。
为求得X,需先确定1,它满足iv£ max - -a ,0 = P (10)IV i 丿 丁i=1注意左边为1的递增函数,因此满足(10)的1唯一VV1找到满足(10)的-的方法可形象地称为注水(warter-filling)o这是因为,V我们可以将a看做是第i片区域的水平线,然后对整个区域注水,使其具有深度i1/ v,如图1所示所需总水量为£ max £,1/ v -a },不断注水,直至总水量ii=1为P,第i个区域的水位深度即为最优的x*Ti图2注水算法图示每片区域的高度为Q注水总量为P,对整个区域iT注水使其高度达到1/ V*每片区域上水的高度(阴影部分所示)即为最优的x*i六、实验数据及具体步骤1) 随机产生H,每个信道系数服从均值为0方差为1的高斯分布(对Rayliegh分布)2) 奇异值分解H二UDVH (利用matlab SVD函数)3) 计算 A= DHD4) 注水法求解问题(9)5) 计算R二VXVh,根据(3)计算容量(或者根据问题(9)的最优值确定最大容量)x七、实验程序和结果一、有一并联高斯加性信道,各子信道的方差为 d12=0.1,d22=0.2,d32=0.3,d42=0.4,d52=0.5, d62=0.6,d72=0.7,d82=0.8,d92=0.9,d102=1.0。
1、若输入的信号总功率 P=5程序L=input('子信道数目L='); %输入子信道数目d=input('各子信道噪声方差d='); %输入各信道的噪声方差P=input('输入信号总功率P='); %输入信号总功率D=sum(d); %各子信道的方差和Pav=(P+D)*1.0/L; %求平均输出频率i=1;p=ones(1,L); %功率初始值boolean=1;c=0; %关闭的信道数量while(boolean)while(i<=L)if(Pav c表示单位带宽下的 MIMO信道传输速率,单位为Nat/secendC(y)=real(sum(c))/1000;pt(y)=PTdb;endswitch countcase 1plot(pt,C,'r-*');hold on;case 2plot(pt,C,'y-p');hold on;case 3plot(pt,C,'g-s');hold on;endendlegend('nt=nr=2','nt=nr=4','nt=nr=8'); title('MIMO 信道容量与功率关系图');xlabel('功率 /dB');ylabel(容量 /Nat/sec');grid on;输出MIMO信道容量与功率关系團1 I I I ■I I I: : : —+— nt=rir=2I I I: : : nt=nr=4: : ; ―B—毗=訂「=80006 4 310 15 20 25 30功率用日八、实验心得在本次的实验中,我了解了注水法的思想,并且学会了如何使用注水法来求解MIMO的 信道容量和子信道的分配功率注水法的思想:我们可以将ai看做是第i片区域的水平线, 然后对整个区域注水,使其具有深度1/v。 所需总水量为£ max {),1/ v -a },不断注水,ii=1直至总水量为PT第i个区域的水位深度即为最优的xi在解决书上的问题时,我们要考 虑到每次平均功率都要重算,并且要知道如何找到该关闭的子信道实验题目时我们要注意 一些数据的初始值不能少。