An Introduction on Deep Learning for the Physical Layer

An Introduction on Deep Learning for the Physical Layer

代码实现:https://github.com/shengjian3476077/DLforPhy

一、文章的主要工作

1、将通信系统设计视为端到端的重构任务,使用自编码器(autoencoder)实现端到端的通信系统,并在单个过程中共同优化发送器和接收器组件。
2、将上述系统扩展到多发射机和多接受机网络,
3、提出radio transformer networks(RTN),作为将专家领域知识纳入机器学习(ML)模型的手段。
4、使用CNN对IQ采样数据进行调制类型分类

二、自编码器

这里写图片描述
  图中,虚线蓝色框内就是一个自编码器模型,它由编码器(Encoder)和解码器(Decoder)两部分组成,本质上都是对输入信号做某种变换。编码器将输入信号 x x x变换成编码信号 y y y,而解码器将编码 y y y转换成输出信号 x ~ \widetilde{x} x ,即 y = f ( x ) \mathrm{y}=f(x) y=f(x) x ~ = g ( y ) = g ( f ( x ) ) \widetilde{x}=g(\mathrm{y})=g(f(x)) x =g(y)=g(f(x))。而自编码器的目的是,让输出 x ~ \widetilde{x} x 尽可能复现输入 x x x,即tries to copy its input to its output。但是,这样问题就来了——如果 f f f g g g都是恒等映射,那不就恒有 x ~ = x \widetilde{x}=x x =x了么?因此,我们经常对中间信号 y \mathrm{y} y(也叫作“编码”)做一定的约束,这样,系统往往能学出很有趣的编码变换 f f f和编码 y \mathrm{y} y。对于自编码器,我们往往并不关系输出什么(反正只是复现输入),我们真正关心的是中间层的编码,或者说是从输入到编码的映射。可以这么想,在我们强迫编码 y y y和输入 x x x不同的情况下,系统还能够去复原原始信号 x x x,那么说明编码 y \mathrm{y} y已经承载了原始数据的所有信息,但以一种不同的形式!这就是特征提取啊,而且是自动学出来的!实际上,自动学习原始数据的特征表达也是神经网络和深度学习的核心目的之一。而自编码器的这种在深度学习中略显鸡肋的功能却在通信系统中占据了得天独厚的优势,我们可以把我们的通信系统的发射端看成Encoder,将接收端看成Decoder,而在信道中传输的便是经由Encoder学习到的 f f f映射后得到的编码信号 y \mathrm{y} y

三、autoencoder实现单发射端、单接收端通讯系统

1、信道模型


  发射端通过n个离散的信道发送M个可能的信息之一 s ∈ M = { 1 , 2 , … , M } \mathcal{s}\in\mathcal{M}=\{1,2,…,M\} sM={ 1,2,,M}给接收端。可以认为,发射端即将转换 f : M → R n f:\mathcal{M}\to\mathbb{R}^n f:MRn应用到消息 s \mathcal{s} s以生成发送信号 x = f ( s ) ∈ R n \mathrm{x}=f(s)\in\mathbb{R}^n x=f(s)Rn。通常,发射端的硬件会对 x \mathrm{x} x加以限制,例如,能量限制 ∥ x ∥ 2 2 ≤ n \lVert\mathrm{x}\rVert^2_2\le n x22n、幅度限制 ∣ x i ∣ ≤ 1 \lvert x_i\rvert\le1 xi1 ∀ i \forall i i或者是平均功率限制 E [ ∣ x i ∣ 2 ] ≤ 1 E[\vert x_i\vert^2]\le 1 E[xi2]1 ∀ i \forall i i。该系统的通信速率为 R = k / n R=k/n R=k/n[bit/channel use],其中 k = log ⁡ 2 ( M ) k=\log_2(M) k=log2(M)。在接下来的论文中,符号 ( n , k ) (n,k) (n,k)表示通讯系统发送 M = 2 k M=2^k M=2k信息(例如:k比特)通过 n n n个信道。我们将信道看做是一个条件概率函数 p ( y ∣ x ) \mathrm{p}(\mathrm{y|x}) p(y∣x),其中 y ∈ R n \mathrm{y}\in\mathbb{R}^n yRn为接受信号,而后通过转换 g : R n → M g:\mathbb{R}^n\to\mathcal{M} g:RnM产生传输信号 s s s的估计 s ^ \hat s s^
  通常,自编码器的目标是在某个中间层找到其输入的低维表示,从而允许以最小误差重建输出。在我们的例子中,autoencoder的目的是不同的。换句话说,通常大多数自编码器是从输入数据中去除冗余的,但这种自编码器(“信道自编码器”)通常是增加冗余的,目的是学习一个对信道扰动具有鲁棒性的中间表示。
  首先,我们需要寻找的自编码器能够学习一种 s \mathrm{s} s的表示 x \mathrm{x} x(用 x \mathrm{x} x来表示 s \mathrm{s} s);其次,这样的一种表示( x \mathrm{x} x)需要在信道损伤(例如:噪声、衰落、失真)的情况下,从 x \mathrm{x} x y \mathrm{y} y的映射是鲁棒的。这样,传输的消息可以以小的错误概率被恢复。
  下图显示了这种自编码器的一个例子。

  发射机由一个具有全连接的前馈NN组成,后面是一个规范化层,确保 x \mathrm{x}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值