深度通信网络专栏:基于GAN生成对抗网络的毫米波信道估计

2024-01-30 09:59

本文主要是介绍深度通信网络专栏:基于GAN生成对抗网络的毫米波信道估计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文地址:Generative Adversarial Estimation of Channel Covariance in Vehicular Millimeter Wave Systems

文章目录

  • 前言
  • 文章中心思想
  • 系统模型
    • 信道模型
    • 网络相关
    • 稀疏变换
  • 网络模型
    • 具体网络设计:
      • 生成器
      • 判别器
  • 仿真结果

前言


深度通信网络专栏: 快速上手: 2018-2019年最新深度学习用于无线通信(物理层)的论文整理,附论文核心思想总结与代码分析。一点拙见,如有偏颇,望不吝赐教,顺颂时祺。

文章中心思想


这篇文章一脉相承自 Deep Learning Coordinated Beamforming for Highly-Mobile Millimeter Wave Systems,不同点在于前者同时做了信道估计和波束成形,而这篇文章只聚焦于信道估计。这两篇都提出,只需要一个Omni-received signal即可估计出信道,这样大大降低了训练时长。 但也因此, 导致能给到神经网络的信息微乎其微,维度很低。 然而作者联想到了GAN从低维数据恢复出高维数据的能力,并以此提出了本文的信道估计方法。即将需要估计的信道信息看做一张2D图片,从而通过GAN的方法来处理。 这个方法,显然在通信的许多问题中,会有其应用的前景。

系统模型


在这里插入图片描述
本文考虑的场景比较神奇, 是多个基站同时为一个高速运动的用户进行服务。 这与他们的前作Deep Learning Coordinated Beamforming for Highly-Mobile Millimeter Wave Systems是相同的。 可想而知,应该是提出的算法比较有局限性,因此选用了一种能将其优势体现的淋漓尽致的场景。因此,本文要考虑的是通过上行信道传输的pilot,来估计信道信息。作者假定了User端(发送端)天线数为1, 而接收端为多天线并进行了波束成形。

信道模型

首先, 作者使用了如下的宽带MISO信道模型:

h d , n = M ρ ∑ ℓ = 1 L g n , ℓ p ( d T s − τ n , ℓ ) a ( θ n , ℓ ) \boldsymbol{h}_{d, n}=\sqrt{\frac{M}{\rho}} \sum_{\ell=1}^{L} g_{n, \ell} p\left(d T_{s}-\tau_{n, \ell}\right) \mathbf{a}\left(\theta_{n, \ell}\right) hd,n=ρM =1Lgn,p(dTsτn,)a(θn,)

一个经典的毫米波信道模型。具体可参考Frequency selective hybrid precoding for limited feedback millimeter wave systems。
显然,其频域信道可表示为:
h k , n = ∑ d = 0 D − 1 h d , n e − j 2 π k K d , \mathbf{h}_{k, n}=\sum_{d=0}^{D-1} \boldsymbol{h}_{d, n} e^{-j \frac{2 \pi k}{K} d}, hk,n=d=0D1hd,nejK2πkd
基于此, 上行中BS接收到的信号可以表示为:
y k , n = w n T h k , n s k + v k y_{k, n}=\mathbf{w}_{n}^{T} \mathbf{h}_{k, n} s_{k}+v_{k} yk,n=wnThk,nsk+vk

在本文行文中,下标 n n n表示第 n n n个基站。 w n \mathbf{w}_{n} wn是波束成形向量, v k v_{k} vk是高斯噪声。

网络相关

另外一个重要的假设是作者认为所有基站之间是可以协作的,也引出了本文网络的目标:

  • 通过所有基站上收到的pilot, 估计信道。因此,输入向量可写为 y = [ y 1 , 1 , ⋯   , y K , 1 , y 1 , 2 , ⋯   , y K , 2 , ⋯   , y K , N ] T \mathbf{y}=\left[y_{1,1}, \cdots, y_{K, 1}, y_{1,2}, \cdots, y_{K, 2}, \cdots, y_{K, N}\right]^{T} y=[y1,1,,yK,1,y1,2,,yK,2,,yK,N]T
    也就是所有基站所有子载波上的一个pilot的结合。
    如同在Deep Learning Coordinated Beamforming for Highly-Mobile Millimeter Wave Systems提出的一样,这篇文章沿用了 **Omni-antenna patterns:

In [1], the authors showed that when the uplink training pilots are received simultaneously by multiple distributed basestations using omni or quasi-omni antenna patterns, these omni-received signals draw a rich multipath signature for the user location and its interaction with the surrounding environment.

简单概述下,这个omni-antenna pattern事实上就是,将接收波束成形向量( receive beamformer or combiner) 置为:
w n = [ 1 , 0 , … , 0 ] , ∀ n \mathbf{w}_{n}=[1,0, \dots, 0], \forall n wn=[1,0,,0],n
作者认为有两个重要优点:

  • 不需要设计接受波束成形向量了,很方便。
  • 这个omni-antenna pattern事实上包含了信道各个方向的信息,而不像传统的特定接收波束成形向量往往对准的是一个方向。也因此,作者认为每个子载波只需要一个omni-received signal就足够估计信道了。如果这一结果成立,显然是信道估计的重大突破。

稀疏变换

作者很快指出,想只用这么点数据估计信道实在太难。 因此他进行了一些转换。首先,他将目标改为,估计信道的协方差矩阵。 即:
R h n = E [ h k , n h k , n H ] \mathbf{R}_{\mathbf{h}_{n}}=\mathbb{E}\left[\mathbf{h}_{k, n} \mathbf{h}_{k, n}^{H}\right] Rhn=E[hk,nhk,nH]
然后,利用毫米波信道稀疏的特性,将其进行稀疏分解,即
h d , n = U B S g d , n \boldsymbol{h}_{d, n}=\mathbf{U}_{\mathrm{BS}} \boldsymbol{g}_{d, n} hd,n=UBSgd,n
U B S \mathbf{U}_{\mathrm{BS}} UBS 是DFT矩阵。 由于空间中路径数十分有限,因此 g d , n \boldsymbol{g}_{d, n} gd,n中绝大部分元素都为0。(这一部分看不懂的同学可以查阅下作者给出的引文《An Overview of Signal Processing Techniques for Millimeter Wave MIMO Systems》)。
总之,作者将本文的目标改为稀疏矩阵 R g n \mathbf{R}_{\mathrm{g}_{n}} Rgn (文中称为 虚拟信道协方差
R h n = U B S R g n U B S H \mathbf{R}_{\mathbf{h}_{n}}=\mathbf{U}_{\mathrm{BS}} \mathbf{R}_{\mathrm{g}_{n}} \mathbf{U}_{\mathrm{BS}}^{H} Rhn=UBSRgnUBSH
由于篇幅原因,这里的一些推导建议大家查看原文,但是对于大致理解这篇文章来说,只需要知道作者将一个信道估计的问题,转变为估计一个稀疏矩阵,以此来降低GAN的难度。正如作者原文所说:

it is much easier to learn the mapping from the omni-received uplink signature y to the virtual channel covariance matrices as compared to the original channel covariance matrix.

网络模型

在这里插入图片描述
如图,作者使用了经典的GAN网络模型, 上方为生成器,下方为判别器。生成器的任务是:

  • 通过导频序列,生成 R g n \mathbf{R}_{\mathrm{g}_{n}} Rgn。 可以理解为导频通过神经网络,输出了信道预测值。
    本文和其他许多基于深度学习的信道估计文章不同, 其他文章往往以准确信道信息为标签,并计算网络输出值与真实值的MSE作为loss,不断训练网络缩小loss, 而本文则是通过GAN的方式来完成训练:
    min ⁡ G max ⁡ D L ( G , D ) = E R ε n [ log ⁡ D ( R g n ∣ y ) ] + E z [ log ⁡ ( 1 − D ( G ( z ∣ y ) ) ) ] \begin{aligned} \min _{G} \max _{D} L(G, D) =\mathbb{E}_{\mathbf{R}_{\mathbf{\varepsilon}_{n}}}\left[\log D\left(\mathbf{R}_{\mathbf{g}_{n}} | \mathbf{y}\right)\right] +\mathbb{E}_{\mathbf{z}}[\log (1-D(G(\mathbf{z} | \mathbf{y})))] \end{aligned} GminDmaxL(G,D)=ERεn[logD(Rgny)]+Ez[log(1D(G(zy)))]
    这是GAN的经典公式: 先固定生成器G, 训练最优的判别器D来区分真实样本和生成样本。 在这里,分别代表了 真实信道信息和估计(生成)的信道信息。 然后,固定判别器D, 训练生成器,使得估计的信道信息尽可能贴近于真实信道信息。 来回迭代,直至收敛。
    GAN相关的推导可以参考这里。 G ( z ∣ y ) ) G(\mathbf{z} | \mathbf{y})) G(zy))表示在接收的导频序列为 y \mathbf{y} y的情况下,通过噪声 z \mathbf{z} z生成(估计)的 R g n \mathbf{R}_{\mathbf{g}_{n}} Rgn, 也可以表示为 R ^ g n = G ( z , y ) \hat{\mathbf{R}}_{\mathbf{g}_{n}}=G(\mathbf{z}, \mathbf{y}) R^gn=G(z,y)

作者指出,由于所需要估计的信道信息的维度远大于输入的训练序列维度。 因此,普通的DNN网络很难胜任 (可以解释为什么作者没有沿用以MSE为loss反向传播训练一个网络)。 而GAN,从低精度图片恢复出高分辨率的图片启发了作者,让他想到使用GAN,从低维度的接收信号去恢复信道信息。

具体网络设计:


生成器

生成器的具体结构展示在上图的上半部分。 在传统的GAN中, 生成器往往接收一组随机数(如:高斯噪声),通过训练生成想要的图片类型。 但这里我们还需要考虑的是必须要给网络训练信息。因此,作者采用的思路是产生一个 100 × 1 100\times1 100×1的服从标准高斯分布的 z \mathbf{z} z噪声向量。 然后将 z \mathbf{z} z与导频序列 y \mathbf{y} y拼接后,通过三层反卷积神经网络(参考),最后得到一个 2 × 32 × 32 2\times32\times32 2×32×32 (假设天线数为32))的实数矩阵,其中第一维的 2 2 2代表实部和虚部。 由于作者没有给出具体的代码,文章中也没有过多介绍,只能依靠给出的图片复现。

判别器

判别器的过程则是生成器的反向。 重点在于经过两层卷积网络后, 作者将导频序列与输出结果拼接, 再通过最后一层神经网络,然后输出0或1. 这个拼接的网络又被称为conditioned CNN layer。 个人认为这一步是必不可少的。 我们的目标是根据导频序列估计出信道,那么判别器的目标就是 输入信道,判别他是不是由这串导频序列得到的

仿真结果


由于是信道估计问题,所以仿真也很好做,即:
N M S E = ∥ R ^ g n − R g n ∥ F 2 ∥ R g n ∥ F 2 \mathrm{NMSE}=\frac{\left\|\hat{\mathbf{R}}_{\mathrm{g}_{\mathrm{n}}}-\mathbf{R}_{\mathrm{g}_{\mathrm{n}}}\right\|_{\mathrm{F}}^{2}}{\left\|\mathbf{R}_{\mathrm{g}_{\mathrm{n}}}\right\|_{\mathrm{F}}^{2}} NMSE=RgnF2R^gnRgnF2
通过归一化的偏差来衡量信道估计的准确度。
在这里插入图片描述
由于这个信道估计的方法过于特殊,加上非常另类的系统模型,作者直接没有给出任何对比算法。所有的仿真结果可以说是在自娱自乐,不太具有意义。 加上仿真代码并未给出, 这个方法的实用价值确实有待商榷。
但无论如何,这为深度通信网络打开了另一种思路,即结合当今深度学习中炙手可热的GAN网络

这篇关于深度通信网络专栏:基于GAN生成对抗网络的毫米波信道估计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/659883

相关文章

MybatisGenerator文件生成不出对应文件的问题

《MybatisGenerator文件生成不出对应文件的问题》本文介绍了使用MybatisGenerator生成文件时遇到的问题及解决方法,主要步骤包括检查目标表是否存在、是否能连接到数据库、配置生成... 目录MyBATisGenerator 文件生成不出对应文件先在项目结构里引入“targetProje

Python使用qrcode库实现生成二维码的操作指南

《Python使用qrcode库实现生成二维码的操作指南》二维码是一种广泛使用的二维条码,因其高效的数据存储能力和易于扫描的特点,广泛应用于支付、身份验证、营销推广等领域,Pythonqrcode库是... 目录一、安装 python qrcode 库二、基本使用方法1. 生成简单二维码2. 生成带 Log

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram

SpringBoot生成和操作PDF的代码详解

《SpringBoot生成和操作PDF的代码详解》本文主要介绍了在SpringBoot项目下,通过代码和操作步骤,详细的介绍了如何操作PDF,希望可以帮助到准备通过JAVA操作PDF的你,项目框架用的... 目录本文简介PDF文件简介代码实现PDF操作基于PDF模板生成,并下载完全基于代码生成,并保存合并P

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

详解Java中如何使用JFreeChart生成甘特图

《详解Java中如何使用JFreeChart生成甘特图》甘特图是一种流行的项目管理工具,用于显示项目的进度和任务分配,在Java开发中,JFreeChart是一个强大的开源图表库,能够生成各种类型的图... 目录引言一、JFreeChart简介二、准备工作三、创建甘特图1. 定义数据集2. 创建甘特图3.

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文