基于SVD的大规模MIMO预编码

目录

一介绍

二. 系统模型

三. 信道模型

四. SVD预编码设计

4.1 模拟域编码

4.2 数字预编码设计

五. 总结


写在前面:本文适合已经对SVD信道矩阵分解有一定了解的同学,希望进一步深入将SVD应用于大规模多用户MIMO系统的预编码设计。

可参照:

超详细解释奇异值分解(SVD)【附例题和分析】_svd 发现矩阵左零空间-CSDN博客

一.介绍

SVD全称 singular value decomposition,翻译为奇异值分解。基于奇异值分解的预编码算法,可以提高多用户毫米波大规模MIMO系统的频谱效率。可以将该预编码分成两步:

(1)模拟域预编码,目的:最大化等效信道矩阵增益;

(2)数字域预编码,目的:抑制用户间的干扰;

几个专有名词的解释:

毫米波:频段在30~300GHz。

优势:毫米波频率更高,波长更短,可使得天线尺寸更小,可在有限空间内部署更多的天线;

缺点:由于信号的波长较短,会导致路径损耗较大;

Massive MIMO:Massive Multi-input multi-output,大规模多输入多输出,为系统提供更多的空间增益

频谱效率:

系统传输的有效信息速率R除以信道带宽B,即单位带宽传输频道上每秒可传输的比特数,代表了系统对频谱资源的利用效率。单位是bit/s/Hz。

二. 系统模型

先上图:

左边基站,N_t根发射天线, N_{RF}个射频链路,N_s个数据流。根据毫米波MIMO系统的特征,数据流少于射频链路数,射频链路数少于发射天线数,也就是:

N_s\leq N_{RF}\leq N_t

K个单天线用户,合并到一起也可以看成多天线的用户。

信号s首先经过数字域预编码,也就是基带数字预编码器。接着经过模拟域预编码,也就是射频链路,最后发送端的发送信号为:

x=V_{RF}V_{BB}s

基带:base band 简称BB

射频:radio frequency 简称RF

 理解如下:

如果未加特殊表示,讨论中的向量均为列向量。因为发射端有N_t,相当于每个天线发送一个数据,所以发射信号x为N_t维的列向量。

射频预编码使用模拟移相器实现的,只改变相位,不改变大小,所以V_{RF}中每个元素的模长为1。另外,由于发射机总功率的限制,这两个预编码满足:

||V_{RF}V_{BB}||=N_s

用户k希望收到的消息为s_k,其他的消息均可视为干扰,经过信道后,信号为:

 后面n_k为高斯白噪声。因为预编码之前有很多的数据流,只有一个数据流是用户k想要的,所以会出现干扰的情况。

利用有效信息 除以 干扰+噪声,可得到信干噪比(SINR)为:

 其中N_s代表数据流的个数,h_k为第k个用户与基站之间的信道矩阵(实际上为向量),\delta^2为高斯白噪声的方差。

累加所有K个用户的SINR,即可得到该系统的总频谱效率为:

其中E代表求均值。

接收信号,信干噪比,频谱效率,这三个参数的计算在通信领域是必须要会的。

三. 信道模型

此部分主要说明信道矩阵里面的元素究竟怎么取值。此处信道矩阵h_k为一个1\times N_t的行向量(接收天线数为1,发射天线为N_t)。

最常用Saleh-Valenzuela信道模型,如下:

 理解成常数的部分

N_t:发射天线数

N_{cl}:族群数目

N_{ray}:每个族中的路径数

\alpha_{il}:第i个族中第l条路径的复合增益,看成复高斯分布

理解成 行向量的部分:

a_k(\phi_{k,il},\theta_{k,il}):用户k接收端的阵列响应向量

a_t(\phi_{t,il},\theta_{t,il}):基站发射端的阵列响应向量

括号里面的元素就是与方位角相关的,可以理解成具体天线应该怎么摆放。

四. SVD预编码设计

本节分析涉及到数学中的优化问题,我就省去了,重点研究SVD预编码是如何起作用的。

4.1 模拟域编码

不考虑用户间的干扰,该编码的目的是希望信道矩阵乘以预编码矩阵的F范数值最大(也就是我们通常所说的等效信道最大化),如下:

借助SVD分解理论,可化简如下:

 我将分步骤详细解释,每个地方的等号是怎么得到的。

第一个等号怎么来的:

 第二个等号怎么来的:

  第三个等号怎么来的:

  第四个等号怎么来的:

后续利用数学工具进行优化求最大值即可,当然不要忘记前面谈到过V_{RF}中每个元素的模长为1,这个限制条件也要加进去(在优化中表现为求最小欧式距离),然后将非凸优化转化为凸优化即可,此处纯数学最优分析,暂时省去。

只要求出能让该值最大时,V_{RF}的取值即为该处的预编码方案。

4.2 数字预编码设计

此处预编码的目的为消除用户间的干扰,与块对角化(BD)结合SVD进行举例。

用BD预编码设计数字域预编码,首先构建第k个用户外的其他所有用户的信道矩阵\bar{H_k},如下:

相等于构建了K-1个信道矩阵。

 对\bar{H_k}进行SVD分解,如下:

\tilde{V_k}: \bar{H_k}的非零奇异值对应的右奇异向量构成的矩阵;

\bar{V_k}\bar{H_k}零奇异值对应的右奇异值构成的矩阵;

我们希望干扰信号落在对应零空间上,这样就产生不了干扰,所以更加关心\tilde{V_k}

当然如果需要进一步抑制同一用户不同数据之间的干扰,需要对\bar{H_k}\bar{V_k}进一步SVD分解,如下:

利用N_u代表每个用户接收的数据流数,最终该数字域预编码为:

到此,完整结束。

五. 总结

本算法分成两个阶段:

  1. 通过提取信道的右奇异矩阵设计模拟域预编码,避免了复杂的迭代;
  2. 基于等效信道,设计数字域预编码,消除用户间的干扰(SVD预编码的主要目的); 
  • 11
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唠嗑!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值