从信道矩阵的SVD分解可以看出,信道矩阵H的秩等于SVD分解中对角矩阵中的对角元素λi中非0元素个数。
前面我们已经提到每个数据流在映射到天线时是乘以一个向量,也就是说发射端发射了一个t维向量,而经过信道以后,接收端接收到了一个r维向量。因为U、V是酉阵,所以它们各自的行向量或者列向量构成其对应维数的向量空间的基,那么其他任何一个同维数(同一空间)的向量都可以由它们线性表示出来。
例如,发射端发射的xjWj可以表示成
若Wj=1,那么有,则经过信道后,接收端接收到
自然地,若发射端发射了数据流为
接收端收到的信号为
理想情况下,只要xj对应的向量组[(αj1λ1)U1+(αj2λ2)U2+…]是无关向量组,就可以还原xj了。注意到,若信道矩阵的秩为L≤min{t,r},即当i>L时λi=0,那么向量组[(αj1λ1)U1+(αj2λ2)U2+…]实际形如[(αj1λ1)U1+(αj2λ2)U2+…+(αjLλL)UL]。也就是说,所有xj对应的向量是向量组{U1,…,UL}生成的空间里的向量,显然这个空间里最多能找到L个无关向量。因此,该信道最多能分离L个数据流xj。
如果发射端把数据x1携带在向量Vj上,且j>min{r,t}或者不幸对应的λj=0,j≤min{r,t},此时会有接收信号
H(x1Vj)=0
这样的话,接收端能得知x1是多少吗?如果发射端把数据L=[x1,x2,…,xL],用预编码矩阵W=[Vj,Vj+1,…,Vj+L-1]进行预编码后发射,其中Vj,…,Vj+L-1对应的λj,…,λj+L-1都等于0,则会有
HWL=0理论上,接收端什么都解不出来。可以看到,即使H的秩为L,预编码矩阵W也是列满秩的,有时也不能支持L层数据流的传输,需要选择合适的预编码W才行。(www.daowen.com)
如何确定预编码W呢?MIMO系统里,一种较简单的预编码方法就是把要传输的数据流携带在相互正交的向量上发射出去,我们把这样的发射系统称为正交系统。这样做的好处是,接收端处理比较简单,因为信道(矩阵)作为线性映射会把发射端正交向量变成接收端正交向量,从而从接收端来看数据流也是被携带在相互正交的向量上。
我们先看例子:假设信道的秩为L,把k≤L层数据流[x1,…,xk]T分别携带在信道矩阵H=U∑VH中V的列向量V1,…,Vk上,则发射出去的是
x1V1+…+xkVk
我们把用信道(右)奇异向量(如Vi)携带数据的系统称为奇异向量系统。发射端信号经过信道,接收端收到的信号是
λ1x1U1+…+λkxkUk+N其中,N为噪声,那么,解调xi很简单,不用管其他xj,就像SIMO系统里发射了xi,到接收天线经过的信道衰落为λiUi一样,在没有额外干扰时用MRC就是不错的接收方法。以解x1为例,应用MRC,有
注意到,其他xi(i≠1)的项都被变成0了,是不是很简单?就像并行独立的k个SISO信道一样,xi相互之间没什么牵连。从这里,我们还可以清晰看到,如果信道矩阵有L个非0奇异值,那么确实可以并行传输L个数据;并且如果发射端知道信道矩阵H,我们也看到了采用怎么样的预编码实际能完成L流数据传输,比如采用L个非0奇异值对应的(右)奇异向量。
对于一般的正交系统Q,发射端发射Qx,接收端收到HQx,应用MRC合并得
x'=(HQ)HHQx=[λ1'x1,…,λk'xk]T
也就是说,一般正交系统Q也是平行信道,但不一定有λi'=λi。甚至如上面讨论,有可能某些λi'=0,那么xi就白传了,解不出来。
实际系统中,发射端可能并不知道信道H是什么样子,也就不知道V是什么样子。没关系,随便确定一个正交系统,即随便给定k个相互正交向量就好,但是有可能不巧的是,你给定的正交向量中,有些携带信号经过信道后可能会被变成0,那这些向量上携带的数据就遭殃了。这个问题,可能需要接收端反馈或其他手段来解决,这些内容以后再讲。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。