欢迎光临散文网 会员登陆 & 注册

WIFI标准中的 Beamforming matrix的压缩回传原理

2022-10-12 09:40 作者:乐吧的数学  | 我要投稿

WIFI 协议中的 beamforming,需要回传 beamforming matrix,实际上就是回传信道系数矩阵 SVD 分解后的 V,当然,传的是 V 中 一部分而不是全部,后面我们再做详细解释。
这个回传,有一种 compressed (压缩) 的方式,就是对 回传的向量做压缩,减少回传的数据量。
(录制的视频:https://www.bilibili.com/video/BV1xP411777k/


WIFI 协议中的公式看起来很复杂,下面这个公式,是回传后,接收方重建 beamforming matrix 的公式:

V%20%3D%0A%5Cleft%20%5B%20%20%0A%0A%5Cprod_%7Bi%3D1%7D%5E%7Bmin(N_c%2CN_r%20-1)%7D%0A%20%20%20%20%20%5Cleft%20%5B%0A%20%20%20%20%20%20%20%20%20%20D_i(1_%7Bi-1%7D%20%20e%5E%7Bj%5Cphi_%7Bi%2Ci%7D%7D...e%5E%7Bj%5Cphi_%7BN_r-1%2Ci%7D%7D)%20%5Cprod_%7Bl%3Di%2B1%7D%5E%7BN_r%7D%20G_%7Bli%7D%5ET%20%20%EF%BC%88%5Cpsi_%7Bli%7D)%0A%20%20%20%20%20%20%5Cright%20%5D%0A%0A%0A%5Cright%20%5D%0A%5Ctilde%20I_%7BN_r%20%5Ctimes%20Nc%7D


这个公式看起来很复杂,我们今天来分解一下看看。

我们以 beamforming matrix 是一个 4x2 的矩阵为例:

V%20%3D%20%5Cbegin%7Bbmatrix%7D%0A%20%20%20%20%20%20%20%20%20v_%7B11%7D%20%20%26%20%20%20v_%7B12%7D%20%5C%5C%0A%20%20%20%20%20%20%20%20%20v_%7B21%7D%20%20%26%20%20%20v_%7B22%7D%20%5C%5C%0A%20%20%20%20%20%20%20%20%20v_%7B31%7D%20%20%26%20%20%20v_%7B32%7D%20%5C%5C%0A%20%20%20%20v_%7B41%7D%20%20%26%20%20%20v_%7B42%7D%0A%20%20%20%20%20%20%20%5Cend%7Bbmatrix%7D


我们知道, SVD 分解后得到的 V 矩阵,其列向量是相互正交的,且都是单位向量,即其模长为 1.

上面的 V 可以理解为是 三维空间中的两个正交向量,但是,不在坐标轴上。我们可以通过旋转,让其与两个坐标轴重合。V 矩阵一般是一个复数矩阵,我们要使用的旋转的方法,是基于实数矩阵的,所以,要先把 V 矩阵变成实数矩阵,然后再旋转。



1) 对每一列做一个相位调整,使得每一列的最后一个元素是实数。这个调整的相位,不用回传,因为相当于在发射方,对每个发射天线做统一的相位调整,不影响正确接收。
2) 对第一列的前三行的元素,计算出其相位(记为 %5Cphi_%7B11%7D%2C%20%5Cphi_%7B21%7D%2C%5Cphi_%7B31%7D%20) 然后,对两列的前三行,分别做对应相位的调整,结果是第一列的前三个元素也变成实数了.  这个计算的过程,相当于乘以了如下的矩阵的共轭版本,  这个矩阵就是公式中的 D_1   
%20%20%20D_1%3D%5Cbegin%7Bbmatrix%7D%0A%20%20%20e%5E%7Bj%5Cphi_%7B11%7D%7D%20%26%200%20%26%200%20%26%200%20%5C%5C%0A%20%20%200%20%26%20%20e%5E%7Bj%5Cphi_%7B21%7D%7D%20%26%200%20%26%200%20%5C%5C%0A%20%20%200%20%26%200%20%26%20e%5E%7Bj%5Cphi_%7B31%7D%7D%20%26%200%20%5C%5C%0A%20%20%200%20%26%200%20%26%200%20%26%201%0A%20%20%20%5Cend%7Bbmatrix%7D   


3) 计算旋转的角度(记为 %5Cpsi_%7B21%7D),把第一列第二行的元素变成 0
   乘以这个矩阵,下面这个矩阵就是公式中的 G_%7B21%7D   


%20%20%20G_%7B21%7D%20%3D%0A%20%20%20%5Cbegin%7Bbmatrix%7D%0A%20%20%20cos(%5Cpsi_%7B21%7D)%20%26%20%20sin(%5Cpsi_%7B21%7D)%20%26%200%20%26%200%20%5C%5C%0A%20%20%20-sin(%5Cpsi_%7B21%7D)%20%26%20cos(%5Cpsi_%7B21%7D)%20%26%200%20%26%200%20%5C%5C%0A%20%20%200%20%26%200%26%201%20%26%200%20%5C%5C%0A%20%20%200%20%26%200%20%26%200%20%26%201%0A%20%20%20%5Cend%7Bbmatrix%7D   



4) 计算旋转的角度(记为 %5Cpsi_%7B31%7D),把第一列第三行的元素变成 0
   乘以这个矩阵,下面这个矩阵就是公式中的 G_%7B31%7D   
%20%20%20G_%7B31%7D%20%3D%0A%20%20%20%5Cbegin%7Bbmatrix%7D%0A%20%20%20cos(%5Cpsi_%7B31%7D)%20%26%20%200%20%26%20sin(%5Cpsi_%7B31%7D)%20%20%26%200%20%5C%5C%0A%20%20%200%20%26%201%26%200%20%26%200%20%5C%5C%0A%20%20%20-sin(%5Cpsi_%7B31%7D)%20%26%200%20%26%20cos(%5Cpsi_%7B31%7D)%20%26%200%20%5C%5C%0A%20%20%200%20%26%200%20%26%200%20%26%201%0A%20%20%20%5Cend%7Bbmatrix%7D

5) 计算旋转的角度(记为 %5Cpsi_%7B41%7D),把第一列第四行的元素变成 0
   乘以这个矩阵,下面这个矩阵就是公式中的 G_%7B41%7D   
   %20%20%20G_%7B41%7D%20%3D%0A%20%20%20%5Cbegin%7Bbmatrix%7D%0A%20%20%20cos(%5Cpsi_%7B41%7D)%20%26%20%200%20%26%200%20%26%20sin(%5Cpsi_%7B41%7D)%20%20%5C%5C%0A%20%20%200%20%26%201%26%200%20%26%200%20%5C%5C%0A%20%20%20%20%20%200%20%26%200%26%201%20%26%200%20%5C%5C%0A%20%20%20-sin(%5Cpsi_%7B41%7D)%20%26%200%20%26%200%20%26%20cos(%5Cpsi_%7B41%7D)%20%20%5C%5C%0A%20%20%20%5Cend%7Bbmatrix%7D


6) 至此,第一列中,只有第一行的元素不为 0 ,应该是 1;第二列中的第一行的元素应该是 0 (因为正交的原因,在那个坐标轴的上的投影为 0 ). 第二列的第四行还是实数,但是,第二行和第三行的元素,还不能确保一定是实数。
7) 对第二列的第二行和第三行计算对应的相位(记为 %5Cphi_%7B22%7D%2C%20%5Cphi_%7B32%7D,然后对两列的第二行和第三行做相位调整,因为第一列的第二行和第三行都是 0, 因此,调整后,第二列的第二行和第三行也是 实数。
   这个计算的过程,相当于乘以了如下的矩阵的共轭版本,  这个矩阵就是公式中的 D_2   
%20%20%20D_2%3D%5Cbegin%7Bbmatrix%7D%0A%20%20%201%20%26%200%20%26%200%20%26%200%20%5C%5C%0A%20%20%200%20%26%20%5Cphi_%7B22%7D%20%26%200%20%26%200%20%5C%5C%0A%20%20%200%20%26%20%200%20%26%20%20%5Cphi_%7B32%7D%20%26%200%20%20%5C%5C%0A%20%20%200%20%26%200%20%26%200%20%26%201%20%20%0A%20%20%20%5Cend%7Bbmatrix%7D   


8) 计算旋转的角度(记为 %5Cpsi_%7B32%7D),把第二列第三行的元素变成 0
   乘以这个矩阵,下面这个矩阵就是公式中的 G_%7B32%7D   
%20%20%20G_%7B32%7D%20%3D%0A%20%20%20%5Cbegin%7Bbmatrix%7D%0A%20%20%201%20%26%200%26%200%20%26%200%20%5C%5C%0A%20%20%200%20%26%20cos(%5Cpsi_%7B32%7D)%20%26%20%20sin(%5Cpsi_%7B32%7D)%20%20%26%200%5C%5C%0A%20%20%200%20%26%20-sin(%5Cpsi_%7B32%7D)%20%26%20cos(%5Cpsi_%7B32%7D)%20%26%200%20%5C%5C%20%20%0A%20%20%20%200%20%26%200%20%26%200%20%26%201%0A%20%20%20%5Cend%7Bbmatrix%7D


9) 计算旋转的角度(记为 %5Cpsi_%7B42%7D),把第二列第四行的元素变成 0
   乘以这个矩阵,下面这个矩阵就是公式中的 G_%7B42%7D

   
%20%20%20G_%7B42%7D%20%3D%0A%20%20%20%5Cbegin%7Bbmatrix%7D%0A%20%20%201%20%26%200%26%200%20%26%200%20%5C%5C%0A%20%20%200%20%26%20cos(%5Cpsi_%7B42%7D)%20%26%200%20%26%20%20sin(%5Cpsi_%7B42%7D)%20%5C%5C%0A%20%20%200%20%26%200%20%26%201%20%26%200%20%20%5C%5C%0A%20%20%20%20%20%200%20%26%20-sin(%5Cpsi_%7B42%7D)%20%26%200%20%26%20cos(%5Cpsi_%7B42%7D)%0A%20%20%20%5Cend%7Bbmatrix%7D


10) 至此,第二列的第三行和第四行也是 0, 且第二行元素不为 0,应该是 1.

%5Ctilde%20I_%7BN_r%20%5Ctimes%20Nc%7D%20%3D%20%5Cbegin%7Bbmatrix%7D%0A%20%20%20%20%201%20%20%26%20%20%200%20%5C%5C%0A%20%20%20%20%200%20%20%26%20%20%201%20%5C%5C%0A%20%20%20%200%20%20%26%20%200%20%5C%5C%0A0%20%20%26%20%20%200%0A%20%20%20%5Cend%7Bbmatrix%7D


最后,接收方可以根据这 %5Cphi_%7B11%7D%2C%20%5Cphi_%7B21%7D%2C%5Cphi_%7B31%7D%2C%20%5Cpsi_%7B21%7D%2C%5Cpsi_%7B31%7D%2C%5Cpsi_%7B41%7D  和 %5Cphi_%7B22%7D%2C%20%5Cphi_%7B32%7D%2C%20%20%20%5Cpsi_%7B32%7D%2C%20%5Cpsi_%7B42%7D 相位,重建 beamforming matrix  V:

V%20%3D%20D_1%20G_%7B21%7D%5ET%20G_%7B31%7D%5ET%20G_%7B41%7D%5ET%20%20D_2%20%20G_%7B32%7D%5ET%20G_%7B42%7D%5ET%0A%5Cbegin%7Bbmatrix%7D%0A%20%20%20%20%201%20%20%26%20%20%200%20%5C%5C%0A%20%20%20%20%200%20%20%26%20%20%201%20%5C%5C%0A%20%20%20%200%20%20%26%20%200%20%5C%5C%0A0%20%20%26%20%20%200%0A%20%20%20%5Cend%7Bbmatrix%7D


其中 T 表示转置,其实就是相位的反方向旋转,例如:

G_%7B41%7D%20%3D%0A%20%20%20%5Cbegin%7Bbmatrix%7D%0A%20%20%20cos(%5Cpsi_%7B41%7D)%20%26%20%200%20%26%200%20%26%20sin(%5Cpsi_%7B41%7D)%20%20%5C%5C%0A%20%20%200%20%26%201%26%200%20%26%200%20%5C%5C%0A%20%20%20%20%20%200%20%26%200%26%201%20%26%200%20%5C%5C%0A%20%20%20-sin(%5Cpsi_%7B41%7D)%20%26%200%20%26%200%20%26%20cos(%5Cpsi_%7B41%7D)%20%20%5C%5C%0A%20%20%20%5Cend%7Bbmatrix%7D


一个向量左乘这个矩阵,就相当于对这个向量顺时针旋转 %20%5Cpsi_%7B41%7D 角度。
如果要顺时针旋转 %20-%5Cpsi_%7B41%7D 角度,也就是逆时针旋转%5Cpsi_%7B41%7D 角度,把这个代入上面的矩阵中:

%5Cbegin%7Bbmatrix%7D%0A%20%20%20cos(-%5Cpsi_%7B41%7D)%20%26%20%200%20%26%200%20%26%20sin(-%5Cpsi_%7B41%7D)%20%20%5C%5C%0A%20%20%200%20%26%201%26%200%20%26%200%20%5C%5C%0A%20%20%20%20%20%200%20%26%200%26%201%20%26%200%20%5C%5C%0A%20%20%20-sin(-%5Cpsi_%7B41%7D)%20%26%200%20%26%200%20%26%20cos(-%5Cpsi_%7B41%7D)%20%20%5C%5C%0A%20%20%20%5Cend%7Bbmatrix%7D%0A%3D%0A%5Cbegin%7Bbmatrix%7D%0Acos(%5Cpsi_%7B41%7D)%20%26%20%200%20%26%200%20%26%20-sin(%5Cpsi_%7B41%7D)%20%20%5C%5C%0A0%20%26%201%26%200%20%26%200%20%5C%5C%0A0%20%26%200%26%201%20%26%200%20%5C%5Csin(%5Cpsi_%7B41%7D)%20%26%200%20%26%200%20%26%20cos(%5Cpsi_%7B41%7D)%20%20%5C%5C%0A%5Cend%7Bbmatrix%7D%0A%3D%20G_%7B41%7D%5ET%0A
则逆时针旋转$ \psi_{41}$ 角度,就是对向量左乘 $G_{41}^T$.

**附录**:

旋转角度的计算:

%5Cbegin%7Bbmatrix%7D%0Av_1%20%26%20%5C%5C%0Av_2%20%26%20%5C%5C%0Av_3%20%26%20%5C%5C%0Av_4%0A%5Cend%7Bbmatrix%7D


v_2 这个坐标轴的坐标变成 0 ,也就是把这个向量旋转到垂直于 “不包括这个 v_2  坐标轴的超平面 ”

%5Cpsi_%7B21%7D%20%3D%20arctan(%5Cfrac%7Bv_2%7D%7Bv_1%7D)

WIFI标准中的 Beamforming matrix的压缩回传原理的评论 (共 条)

分享到微博请遵守国家法律