Deep Learning for Massive MIMO CSI Feedback阅读笔记

2023-10-27

Abstract

在频分双工模式下,the downlink CSI应通过反馈链路发送到基站,以便实现MIMO的潜在增益。使用DL来开发 CsiNet,一种新的CSI感知和反馈机制。它学习从样本中如何有效地使用信道结构。CsiNet学习从CSI到接近最佳数量地表示(码字)的转换,以及从码字到CSI的逆变换。CsiNet能够保持有效的波束形成增益。

1 Introduction

MIMO中,基站侧配备的成百上千根天线,实现大吞吐量的信息传输,主要是通过BS端的CSI获得的。在FDD的MIMO系统中,训练期间,用户端(UE)获得下行链路的CSI,并通过反馈链路返回BS。通过采用适量量化或者基于码本的方法来减少反馈开销。然而这些方法产生的反馈量需要与发射天线的数量成线性比例,在MIMO系统中不被允许。

简单的使用稀疏先验,但是信道矩阵不是完美的,而是近似稀疏的。此外信道矩阵中大多数相邻元素之间的变化是细微的。这些属性使其先验建模

CSM方法固有的三个核心问题:首先,严重依赖于信道在某些基上的稀疏性假设。然而,通道在任何基上都不是完全稀疏的,甚至可能没有可解释的结构。其次,CS使用随机投影,没有充分利用信道结构。第三,现有CS信号重建算法通常是迭代的,重建速度较慢。本研究中,使用深度学习来解决上述问题。CsiNet具有以下特性。

  • Encoder: 不使用随机投影,而是通过训练数据学习原始通道矩阵的变换,以压缩表示(码字)。该算法不依赖于人工关于信道分布的先验知识,而是直接从训练数据学习如何有效的使用信道结构。
  • Decoder: CsiNet学习从码字到原始信道的逆变换。逆变换是非迭代的,比迭代算法快多个数量级。

CsiNet与DL中的AE密切相关。最近有人提出几种DL结构来从CS测量矩阵中重建自然图像。

虽然DL在自然图像中表现出较好的重建能力,但是在无线信道的重建中尚不清楚。我们提出CsiNet,在极低的压缩率下重建也能保留足够的内容,从而实现有效的波束形成增益。

2 System model and CSI Feedback

考虑一个简单的单个小区(single-cell)下行链路大规模MIMO系统,在基站端有 N t > > 1 N_t>>1 Nt>>1个发射天线,在用户端有单个接收天线。该系统在 N ~ c \tilde N_c N~c子载波(subcarrier)上的OFDM系统中运行。在第 n n n个子载波处接收的信号提供如下:

y n =   h   ~ n H v n x n + z n y_n=\tilde {\textbf{ h }}^H_n \textbf{v}_nx_n+z_n yn= h ~nHvnxn+zn

其中, h ~ n H ∈ C N t × 1 \tilde{\textbf{h}}^H_n \in C^{N_t\times 1} h~nHCNt×1, 第n个子载波的信道向量、 v n ∈ C N t × 1 \textbf{v}_n\in C^{N_t \times 1} vnCNt×1 代表预编码向量, x n ∈ C x_n\in C xnC代表数据承载符号, z n ∈ C z_n\in C znC代表加性噪声。

H ~ = [ h ~ 1 , . . . , h ~ N ~ c , ] H ∈ C N ~ c × N t \tilde {\textbf H} =[\tilde{\textbf h}_1,...,\tilde{\textbf h}_{\tilde N_c}, ]^H\in C^{\tilde N_c\times N_t} H~=[h~1,...,h~N~c,]HCN~c×Nt为空间频域中叠加的CSI。一旦收到 H ~ \tilde H H~反馈,BS端可以设计预编码向量 v n , n = 1 , . . . , N ~ c {\textbf v_n, n=1,...,\tilde N_c} vn,n=1,...,N~c。在FDD系统中,用户端通过反馈链路将 H ~ \tilde H H~送回到基站端。反馈的总参数为 N t N ~ c N_t\tilde N_c NtN~c,这是不被允许的。虽然下行链路的信道估计具有挑战,但超出了本文范围。

为了减少反馈开销,我们提议使用2D离散傅里叶变换(DFT)在角延迟域中稀疏化 H ~ \tilde {\textbf H} H~,如下所示:

H = F d H ~ F a H \textbf H = \textbf F_d\tilde {\textbf H}\textbf F^H_a H=FdH~FaH

F d \textbf F_d Fd F a \textbf F_a Fa分别是大小 N ~ c × N ~ c \tilde N_c \times \tilde N_c N~c×N~c N t × N t N_t\times N_t Nt×Nt的DFT矩阵,下图描绘了COST2100 [1] 信道模型的绝对值 H \textbf H H的实现。

在这里插入图片描述

在室内环境中,使用具有半波长间距的均匀线阵(ULA)执行参数化。 H \textbf H H大部分中的一小部分包含非零元素,其余接近于零。在角延迟域,只有前 N c N_c Nc行包含值,因为多径到达之间的时间延迟在有限的时间段内。因此我们保留 H \textbf H H的前 N c N_c Nc行,移除剩余行。继续使用 H \textbf H H表示截断后的 N c × N t N_c\times N_t Nc×Nt矩阵。反馈的全部参数减小到 2 N c N t 2N_cN_t 2NcNt,在大规模MIMO中仍然是一个很大的数字。

编码器将信道矩阵(channel matrix)变换为一个M维向量(码字) M < N M<N M<N。数据压缩率为 γ = M / N \gamma = M/N γ=M/N

s = f e n ( H ) \textbf s=f_{en}(\textbf H) s=fen(H)

另外设计解码器将码字变换为原始的信道

H = f d e ( s ) \textbf H=f_{de}(\textbf s) H=fde(s)

一旦用户端获得了信道矩阵 H ~ \tilde {\textbf H} H~,就进行2D-DFT获取截断矩阵 H \textbf H H,然后使用编码器生成码字 s \textbf s s;然后 s \textbf s s被反馈送入基站端,使用解码器获得 H \textbf H H,通过逆 D F T DFT DFT变换得到空间频域的最终信道矩阵。

3 CsiNet

编码器输入, H \textbf H H包括实部和虚部两部分;第一层是卷积层,然后通过两层 3 × 3 3\times3 3×3的卷积核提取特征图,然后reshape成一个向量,然后通过全连接层生成 s s s,这是一个大小为 M M M的实值向量。前两层模拟压缩感知的投影并作为编码器。与CS中的随机投影不同,CsiNet尝试将提取的特征映射为码字。

一旦获得码字 s \textbf s s,我们就使用几个层作为解码器将其映射回信道矩阵 H \textbf H H。第一个层是一个全连接层,将 s \textbf s s作为输入,输出两个大小为 N c × N T N_c\times N_T Nc×NT的矩阵,作为 H \textbf H H的实部和虚部的初始估计,初始估计值被送入几个’RefineNet units’,不断地进行细化重建。每个RefineNet单元有四个层。在RefineNet单元中,第一层是输入层。其余3层都使用3×3个内核。第二层和第三层分别生成8个和16个特征图,最后一层生成H的最终重建。使用零填充保证输出尺寸都为 N c × N t N_c\times N_t Nc×Nt。ReLU激活函数,同时每一层都引入BN。

RefineNet的目的是细化,而不是降维,所以不使用池化层,同时输出大小等于输入的矩阵大小。第二,受ResNet启发,增加跨越连接。

两个RefineNet单元已经有良好的性能,进一步添加单元不会显著提高重建质量,但是会增加计算复杂度。信道矩阵被输入到最终卷积层,并使用sigmoid函数将值缩放到 [ 0 , 1 ] [0,1] [0,1]范围内。CsiNet可以通过增加特征映射数量来扩展以处理涉及UE处多个天线的情况。

重建后的信道矩阵表示为

H ^ i = f ( H i ; Θ ) ≜ f d e ( f e n ( H i ; Θ e n ) ; Θ d e ) \hat {\textbf H}_i=f(\textbf H_i;\Theta)\triangleq f_{de}(f_{en}(\textbf H_i; \Theta_{en});\Theta_{de}) H^i=f(Hi;Θ)fde(fen(Hi;Θen);Θde)

CsiNet的输入输出矩阵都被归一化到了 [ 0 , 1 ] [0,1] [0,1]区间,与自编码器一样,CsiNet是一种无监督学习机制。参数通过ADAM进行更新,损失函数为均方误差(MSE),表示为

L ( Θ ) = 1 T ∑ i = 1 T ∣ ∣ f ( s i ; Θ ) − H i ∣ ∣ 2 2 L(\Theta)=\frac 1 T\sum ^T_{i=1}||f(\textbf s_i;\Theta)-\textbf H_i||^2_2 L(Θ)=T1i=1Tf(si;Θ)Hi22

∣ ∣ ⋅ ∣ ∣ 2 ||\cdot||_2 2是欧几里得范数, T T T是训练集样本总数。

4 Experiments

为了生成训练和测试样本,我们通过COST 2100信道模型[16]创建了两种类型的信道矩阵:1)5.3 GHz频段的室内微微蜂窝场景,以及2)300 MHz频段的室外农村场景。所有参数均遵循[16]中的默认设置。对于室内和室外场景,BS分别位于长度为20和400m的正方形区域的中心,而ue则随机定位在每个样本的正方形区域中。

我们在基站端使用 N t = 32 N_t=32 Nt=32的ULA天线,和 N ~ c \tilde N_c N~c子载波。当将信道矩阵转换为角延迟域时,我们保留信道矩阵的前32行。 H \textbf H H的大小是 32 × 32 32\times32 32×32,训练集、验证集和测试集分别包括100000,30000,20000个样本。epoch,learning rate,batch size分别设置为1000,0.001,200。

将CsiNet分别和SOTA的三种算法比较。

H ^ \hat {\textbf H} H^和原始 H \textbf H H的差异由归一化MSE进行量化,表述为

N M S E = E { ∣ ∣ H − H ^ ∣ ∣ 2 2 / ∣ ∣ H ∣ ∣ 2 2 } NMSE = E\{||\textbf H-\hat {\textbf H}||^2_2/||\textbf H||^2_2\} NMSE=E{HH^22/H22}

反馈CSI用作波束形成向量。令 h ~ ^ n \hat{\tilde{\textbf h}}_n h~^n为第n个子载波的重构信道向量。如果 v n = h ~ ^ n / ∣ ∣ h ~ ^ n ∣ ∣ 2 \textbf v_n=\hat {\tilde {\textbf h}}_n/||\hat {\tilde {\textbf h}}_n||_2 vn=h~^n/h~^n2被用作波束形成向量,则在UE端实现等效信道 h ~ ^ n H h ~ n / ∣ ∣ h ~ ^ n ∣ ∣ 2 \hat{\tilde {\textbf h}}_n^H\tilde{\textbf h}_n /||\hat {\tilde {\textbf h}}_n||_2 h~^nHh~n/h~^n2

为了测量波束形成向量的质量,我们还考虑余弦相似性。

ρ = E { 1 N ~ c ∑ n = 1 N ~ ∣ h ~ ^ n H h ~ n ∣ ∣ ∣ h ~ ^ n ∣ ∣ 2 ∣ ∣ h ~ n ∣ ∣ 2 } \rho = E\{\frac 1 {\tilde N_c} \sum^{\tilde N}_{n=1}\frac {|\hat{\tilde {\textbf h}}^H_n \tilde{\textbf h}_n|}{||\hat{\tilde {\textbf h}}_n||_2||\tilde {\textbf h}_n||_2}\} ρ=E{N~c1n=1N~h~^n2h~n2h~^nHh~n}

在评估NMSE和 ρ \rho ρ时,恢复了CsiNet的输出到恢复其原始级别。

在这里插入图片描述

在这里插入图片描述

4 Conclusion

References

[1] Liu L, Oestges C, Poutanen J, et al. The COST 2100 MIMO channel model[J]. IEEE Wireless Communications, 2012, 19(6): 92-99.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Deep Learning for Massive MIMO CSI Feedback阅读笔记 的相关文章

随机推荐

  • 无向图的遍历_大鲨说算法与数据结构图(一)

    图系列 一 1 相关概念 应用 图应用很广泛比如社交网络 地图导航 游戏开发等 有向图 入度 出度 比如上面的有环3节点入度是2出度是1 无向图 其实类似每一条边有2条入度和出度的有向图 有权图 边可以拥有权值 连通图 如果无向图中任意2个
  • Java 8 之函数式接口史上最全详解

    转自 Java 8 之函数式接口史上最全详解 函数式接口简介 函数式接口 指只有一个抽象方法的接口 函数式接口 可以被隐式转换为Lambda表达式 函数式接口 可以用 FunctionalInterface注解标识 此注解非必须使用 常用函
  • 电子设计之硬件开发流程和前辈的指导

    硬件开发流程 图1 硬件开发流程 图2 硬件开发流程简图 开发流程经验 图2 硬件开发流程框图2 基本思想是使每一步流程具有严密的逻辑 每一步流程可操作 每一步流程的输入 操作及输出受控 1 硬
  • Groovy List 常用操作

    1 集合克隆 def list1 a b c def list2 list1 clone 2 list遍历 a 使用each进行遍历 def list 1 2 3 list each println Item it it是是与当前元素对应的
  • SQL中的in、not in语句遇到null时的坑点

    背景介绍 前两天做问题排查的时候 写了一条sql 但是并没有如期地查到数据 确实是有数据的 SQL如下 SELECT tar FROM tb account relation tar WHERE tar customer id NOT IN
  • 清华攒局8个ChatGPT狼人杀,心机伪装都在这一局里,清华:我没教过

    克雷西 发自 凹非寺量子位 公众号 QbitAI 除了玩电子游戏 人类的 社交神器 狼人杀也被AI给学会了 8个ChatGPT 坐 在一起 生动地扮演出了五种角色 和真人如出一辙 这个最新的人类社会模拟实验 由清华和中关村实验室共同完成 从
  • 光线追踪技术 清华大学 pdf_作为游戏界最新的图像渲染技术,光线追踪的好处以及它面临的困境...

    说起今年最受关注的显卡 那么无疑是AMD即将发布的Big Navi显卡以及NVIDIA的RTX30系列 RTX30系列GPU是7nm工艺的安培GPU 它将是12nm图灵GPU的继任者 除了升级图形架构之外 RTX光线追踪技术也会继续升级 光
  • Guid(全局唯一标识符)工具类

    public class Guid 使用场景 public String app type APP ID public String app key APP SECRET public String app sign public Guid
  • 【笔试强训选择题】Day31.习题(错题)解析

    作者简介 大家好 我是未央 博客首页 未央 303 系列专栏 笔试强训选择题 每日一句 人的一生 可以有所作为的时机只有一次 那就是现在 文章目录 前言 一 Day31习题 错题 解析 1 2 3 4 5 6 7 8 9 10 总结 前言
  • 密码学基础--仿射密码

    在仿射密码中 加密函数定义为 e x ax b mod26 a bZ 因为这样的函数被称为仿射函数 所以这样的密码体制也称为仿射密码 可以看出 当a 1时 其对应的正是移位密码 为了能对密文进行解密 必须保证所选用的仿射函数是一个单射函数
  • 系统程序员成长计划

    这本书对于我现在帮助很大 1 其中对于calback函数写通用list的例子 对我启发很大 2014 3 4
  • CiteSpace关键词聚类图谱含义详细解析

    CiteSpace关键词聚类图谱含义详细解析 回顾上一次推文 CiteSpace关键词共现图谱含义详细解析 其中有一句 当你人工已经可以很容易的进行归纳后 就不需要再利用CiteSpace聚类功能啦 我们来看一下上次推文做出来的关键词共现图
  • Linux解决No such file or dirctory方法

    Linux解决No such file or dirctory方法 安装前准备 安装搜狗拼音 安装谷歌拼音 安装问题 最近开始学习Linux 首先会遇到无法编辑中文文字的问题 因此我们需要安装一个可以打字的中文输入法 安装前准备 在 Lin
  • 2023/1/8 考试总结

    时间安排 8 30 8 50 T3是某道题的改版 T2一眼莫二离 T1没思路 8 50 9 30 T1推了推发现L的情况等价于每两条相邻的边不能都不选 写个最小点覆盖集就新了 回忆了一会怎么输出方案 9 30 10 20 T的情况等价于每个
  • 如何给css文件加注释,css样式表怎么添加注释

    在css样式表中 可以使用 符号来添加注释 只需要使用 和 将需要注释的内容包裹即可 语法 注释内容 style标签中css代码 在某些旧版浏览器中还可以使用 来添加注释 本教程操作环境 windows7系统 CSS3 HTML5版 Del
  • 交叉编译Openwrt的UCI库移植到OK3568板卡上

    在使用OK3568嵌入式板卡上需要保存一些软件的配置信息 这些信息可以采用几种方式来实现 第一种移植sqlite数据库 在数据库中建立配置项表来进行保存 第二种使用toml格式的配置文件 需要移植相应的解析库 第三种自己创建一个JSON可是
  • (Pytorch)BatchNorm中的track_running_stats参数

    torch nn BatchNorm2d 类 torch nn BatchNorm2d num features eps 1e 05 momentum 0 1 affine True track running stats True dev
  • Qt 在VS下使用添加新类后报错LNK2019无法解析的外部符号解决办法

    使用向导添加新类编译报错 mainwindow obj 1 error LNK2019 无法解析的外部符号 public thiscall Dialog1 Dialog1 class QWidget 0Dialog1 QAE PAVQWid
  • mysql导出为access_mysql导出到access数据库文件

    一 运行环境的配置 JDK的配置 从java sun com 网站上下载JDK 注意是要Linux平台的 这里我下的是jdk 6u20 linux i586 bin 不是RPM的包 在终端用root身份操作 将jdk 6u20 linux
  • Deep Learning for Massive MIMO CSI Feedback阅读笔记

    Abstract 在频分双工模式下 the downlink CSI应通过反馈链路发送到基站 以便实现MIMO的潜在增益 使用DL来开发 CsiNet 一种新的CSI感知和反馈机制 它学习从样本中如何有效地使用信道结构 CsiNet学习从C