分集DavidTse在其大作《FundamentalofWirelessCommunication》中指出,改进通信系统可靠性的最重要手段是分集(Diversity)。所谓分集,是指将一个发射信号的多个副本通过在时间、频率或者空间上不完全相关的信道传输,并在接收端合并以获得更高的传输质量的方法。分集之所以能够获得更高的传输质量,从根本上说是因为信道的深衰落是通信系统误码率的最大瓶颈。对于无分集系统,它的接收端信噪比取决于单条路径的信道衰落值,而分集系统的接收端信噪比取决于多个副本经历的相互独立的信道衰落的平均值。由于从统计上看平均值的方差比样本的方差要小的多,因此分集系统的接收端信噪比的波动要比无分集系统小。波动小意味着尽管瞬时值是大信噪比的概率降低了,但是瞬时值是小信噪比的概率也降低了。由于通信系统的误码率主要取决于接收端的信噪比,如瑞利衰落下是近似倒数的关系,因此可以看出小瞬时信噪比情况下带来的信噪比损失无法补偿大瞬时信噪比情况下带来的信噪比增益,因此分集带来的接收信噪比波动减少对通信系统的误码率性能是有益的。无线信道在时间、频率和空间上表现出选择性,为分集技术提供了绝佳的客观条件。时间/频率分集:由于时间域和频率域具有一定的互易性,因此二者的分集原理是比较相似的。简单的分集即是使得信号的两个不同副本之间的间隔大于信道的相干时间或者相干频率,从而通过相互独立的信道传输同一信号,ARQ技术就是基于这个原理。另一类分集技术是通过打乱信号在空间传播时的结构获得的,如纠错编码、交织技术和OFDM技术,它使得信道对发射数据包的局部的破坏被打散到整个数据包中,增强了数据包的抗击打能力。空间分集:空间分集的条件是在发射机和接收机之间具有多条相对独立的传输路径,这就需要利用信道的空间选择性。信道空间选择性使得距离大于相干距离的两根天线之间将经历不同的衰落,这就促使我们产生了在发射端或者接收端放置多根天线以获得空间分集的想法。对于工作在富散射环境的发射机和接收机,如果在发射端和接收端分别配置多根天线,并且天线之间的距离相对较大(大于半波长),那么每对收发天线之间将分别建立一条单发单收的信道,并且各个信道之间是相互独立的,这就组成了一个多天线系统,它可以很好地实现空间分集。3.MIMO技术简单的多天线系统是只在发射端或者接收端放置多根天线,组成MISO或者SIMO系统,从而可以有效地获得空间分集增益以及阵列增益。空间分集增益:可以利用SIMO或者MISO系统中获得空间分集增益。在SIMO系统中,相距较远的接收天线收到统一信号的独立衰落副本后将之合并,根据分集原理可知,这可以提高系统的可靠性,这就是接收分集。常用的接收分集技术包括最大比合并,等增益合并、IRC(对抗非高斯白噪声)等。在MISO系统中可以使用发射分集技术。要在发射端提取分集效果,需要对发射信号进行适当的设计,空时编码可以很好地实现发射分集。常用的空时编码方法包括空时块码、空时格码等等。阵列增益:阵列增益是指源于发射端或者接收端或者两端的天线的相干合并效应而带来的信噪比在接收端的增加。例如,对于一个SIMO系统,到达接收天线的信号具有不同的幅度和相位,如果接收端能够将这些信号相干地合并起来,信号就能够得到增强,最大比合并就是这种相干合并的具体实现。需要指出的是,接收端平均信噪比的增长与接收天线的数目是成比例的。在发射端带有多天线的系统中,获得阵列增益需要发射端获得信道信息。如果在发射端和接收端同时放置多根天线,那么该系统不仅可以通过分集提高可靠性,还可以提高信息传输速率,这就是空间多路复用。空间多路复用:如果各个发射和接收天线之间的衰落是独立的,就可以再收发端构建多个并行的空间子信道,每个子信道发射不同的数据流,就可以提高数据传输速率。典型的空间复用系统是著名的BLAST系统。需要指出的是,由于特定MIMO系统的空间自由度是有限的,因此不可能同时获得最大的空间分集增益和最大的空间复用增益,这两种增益之间存在着互换的关系,本质上是通信系统的可靠性和有效性之间的矛盾。MIMO信道容量的Matlab仿真程序%%SimulationofCapacityofMIMOchannel%Author:alpswy%Email:alpswy@gmail.com%ReviseHistory:%2009-08-22Created%%ParametersfornormalsimulationChanType='Rayleigh';%AWGN,Rayleigh,CorrRayleigh,RiceLOOP=10000;%numberofchanneltapsamplesconst=1/sqrt(2);%constantnumberNT=4;%numberofreceiveantennasNR=4;%numberoftransmitantennasSNRdB=10;%SNRindBSNRdec=10^(0.1*SNRdB);%SNRindecibel%%ParametersfordisplayingnumGroup=100;%variableusedtocountsamplesRange_MIN=0;%minimumvalueoffigureRange_MAX=6;%maximumvalueoffigure%%Parametersforsimulationofcorrelationofchannelrho_t=0;rho_r=0;%%ParametersforsimulationofRicechannelK=1;%RicefactorD=sqrt(K);switchChanTypecase'AWGN'H=ones(NR,NT);C=log2(det(eye(NR)+SNRdec/NT*H*H'));C_1=[C,C];plot(C_1,0:1);axis([Range_MIN,Range_MAX,0,1]);case'Rayleigh'C=zeros(1,LOOP);C_2=zeros(1,numGroup);foridx_LOOP=1:LOOPH=const*(randn(NR,NT)+1j*randn(NR,NT));C(idx_LOOP)=log2(det(eye(NR)+SNRdec/NT*H*H'));endC_min=min(C);C_max=max(C);C_1=hist(C,numGroup);C_2(1)=C_1(1);foridx=2:numGroupC_2(idx)=C_2(idx-1)+C_1(idx);endC_2=C_2/LOOP;Range_MIN=C_min;Range_MAX=C_max;X_axe=Range_MIN+[0:(numGroup-1)]/numGroup*(Range_MAX-Range_MIN);plot(X_axe,C_2);case'CorrRayleigh'C=zeros(1,LOOP);C_2=zeros(1,numGroup);R_tx=[1,rho_t;rho_t,1];%for2*2onlyR_rx=[1,rho_r;rho_r,1];foridx_LOOP=1:LOOPH=const*(randn(NR,NT)+1j*randn(NR,NT));H_Corr=R_rx*H*R_tx;C(idx_LOOP)=log2(det(eye(NR)+SNRdec/NT*H_Corr*H_Corr'));endC_min=min(C);C_max=max(C);C_1=hist(C,numGroup);C_2(1)=C_1(1);foridx=2:numGroupC_2(idx)=C_2(idx-1)+C_1(idx);endC_2=C_2/LOOP;Range_MIN=C_min;Range_MAX=C_max;X_axe=Range_MIN+[0:(numGroup-1)]/numGroup*(Range_MAX-Range_MIN);plot(X_axe,C_2);case'Rice'C=zeros(1,LOOP);C_2=zeros(1,numGroup);foridx_LOOP=1:LOOPH=const*(randn(NR,NT)+1j*randn(NR,NT))+D*ones(NR,NT);C(idx_LOOP)=log2(det(eye(NR)+SNRdec/NT*H*H'));endC_min=min(C);C_max=max(C);C_1=hist(C,numGroup);C_2(1)=C_1(1);foridx=2:numGroupC_2(idx)=C_2(idx-1)+C_1(idx);endC_2=C_2/LOOP;Range_MIN=C_min;Range_MAX=C_max;X_axe=Range_MIN+[0:(numGroup-1)]/numGroup*(Range_MAX-Range_MIN);plot(X_axe,C_2);otherwisedisp('OtherChannelTypeisstillunderconstruction.OnlyAWGNandRayleighfadingisavailable.')keyboardend