5Gmm波技术

混合波束成形|基础:深入浅出5G,毫米波,大规模MIMO与波束赋形

在进入5G热门研究技术:混合波束赋形的介绍之前, 笔者想先以这篇文章深入浅出的介绍5G,大规模MIMO以及波束赋形等概念的直观理解。旨在用最浅显的语言,尽可能让零基础的读者也能轻易的掌握其本质,从而为后续对最新混合波束赋形算法的讨论打下坚实的基础。

前言

混合波束赋形专栏| 对5G热门研究技术:混合波束成形算法的讨论与经典论文的推敲,一点拙见,如有偏颇,望不吝赐教,盼即赐复。

5G与毫米波

相比于4G, 5G对通信质量提出了更高的要求: 更快的速率,更低的延时和更高的效率。 虽然看上去5G的发展包含了许多新技术的诞生,然而本质上,所有的增益都来源于毫米波的使用

通信中大名鼎鼎的奈奎斯特第一准则告诉我们, 通信速率和带宽是正比关系(奈奎斯特第一准则)。随着时代的飞速发展,人们的通信需求与日俱增,由于4G所使用的主要是6GHz以下频段,带宽已经是捉襟见肘。要想加快通信速率,解决带宽的短缺,最直截了当的办法就是向更高的频段开拓,于是毫米波的使用应运而生。

众所周知, 电磁波的频率和波长符合以下公式:

     f
    
    
     =
    
    
     
      c
     
     
      λ
     
    
    
     ,
        
    
     c
    
    
     =
    
    
     3
    
    
     ×
    
    
     1
    
    
     
      0
     
     
      8
     
    
    
     m
    
    
     /
    
    
     s
    
    
     .
    
   
   
     f = \frac{c}{\lambda}, \;\;c = 3 \times10^8m/s. 
   
  
 </span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.88888em; vertical-align: -0.19444em;"></span><span class="mord mathdefault" style="margin-right: 0.10764em;">f</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 1.79356em; vertical-align: -0.686em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 1.10756em;"><span class="" style="top: -2.314em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathdefault">λ</span></span></span><span class="" style="top: -3.23em;"><span class="pstrut" style="height: 3em;"></span><span class="frac-line" style="border-bottom-width: 0.04em;"></span></span><span class="" style="top: -3.677em;"><span class="pstrut" style="height: 3em;"></span><span class="mord"><span class="mord mathdefault">c</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height: 0.686em;"><span class=""></span></span></span></span></span><span class="mclose nulldelimiter"></span></span><span class="mpunct">,</span><span class="mspace" style="margin-right: 0.166667em;"></span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mord mathdefault">c</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 0.72777em; vertical-align: -0.08333em;"></span><span class="mord">3</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 1.11411em; vertical-align: -0.25em;"></span><span class="mord">1</span><span class="mord"><span class="mord">0</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.864108em;"><span class="" style="top: -3.113em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">8</span></span></span></span></span></span></span></span><span class="mord mathdefault">m</span><span class="mord">/</span><span class="mord mathdefault">s</span><span class="mord">.</span></span></span></span></span></span><br> 也就是说成反比关系,这也意味着<strong>波长越短,频率越高</strong>。<br> <img src="https://img-blog.csdnimg.cn/20190504095218589.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zOTI3NDY1OQ==,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br> 显然,根据此公式可以得出上图中的不同频段。 而毫米波,顾名思义指的就是波长为1mm - 10mm之间的电磁波,其频率也是介于30-300GHz间 (关于毫米波频段的具体范围还有待讨论,但和我们要讲的内容无关)。</p> 

通过使用毫米波(更短的波长),通信的载波频率被大幅提升,因此可以获得远超现有4G LTE频段数十倍以上的广阔频段,也是5G增益的根本由来。

毫米波与Massive MIMO

然而另一方面,毫米波也有其明显的缺点。 根据通信中的弗里斯传输公式
在这里插入图片描述
(Gt, Gr, Pt, Pr分别代表发送,接受的天线增益,功率。)可以看到,接收功率与波长成正比。而毫米波更短的波长,也意味着更高的传输损耗(接收功率变小)。不止如此,毫米波的穿透等能力也大大降低,甚至连雨天的水滴都能对传输造成干扰。这一方面的传输损耗介绍在众多论文中比比皆是,这里不再给出详细介绍。我们只需要记得是,相比现在4G LTE的传输载波,毫米波的使用虽然带来了更广阔的带宽,却也饱受传输损耗之苦,如何解决在不大幅提升发送功率的前提下增大接收信噪比,就成了当务之急。

人们常说,上帝给你关上一扇门的时候,往往为你打开了一扇窗。 对于毫米波而言,Massive MIMO就是这扇窗。有人说, 毫米波与大规模天线阵列 (massive MIMO)是天作之合。

MIMO

在讲massive MIMO之前,首先要说的是经典的MIMO (multi-input-multi-output, 多输入多输出),其最早由马可尼在1908年提出。即通过在发送和接收端都使用多根天线来发送/接收,获取分集增益,实现空间复用,从而获得更高的传输速率。(特例的,比如基站端使用多天线而用户端受制于硬件约束使用单天线的系统被称为MISO (multi-input-single-output))
在这里插入图片描述
MIMO对传输的增益个人认为非常容易理解。 两个人办公(

    1
   
   
    ×
   
   
    1
   
  
  
   1\times1
  
 
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.72777em; vertical-align: -0.08333em;"></span><span class="mord">1</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 0.64444em; vertical-align: 0em;"></span><span class="mord">1</span></span></span></span></span>的普通通信系统)的速度肯定是比不上四个人办公(<span class="katex--inline"><span class="katex"><span class="katex-mathml">

 
  
   
    2
   
   
    ×
   
   
    2
   
  
  
   2\times 2
  
 
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.72777em; vertical-align: -0.08333em;"></span><span class="mord">2</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 0.64444em; vertical-align: 0em;"></span><span class="mord">2</span></span></span></span></span>的MIMO系统)的效率的。虽然这四个人可能由于配合原因(不同天线间数据流信息的相互干扰)有所损失,但稍加训练(发送预处理和接收均衡)想碾压两个人还是没有压力的。而正如我们一直熟知的那样,<strong>人多力量大</strong>,天线越多(比如<span class="katex--inline"><span class="katex"><span class="katex-mathml">

 
  
   
    100
   
   
    ×
   
   
    100
   
  
  
   100\times 100
  
 
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.72777em; vertical-align: -0.08333em;"></span><span class="mord">1</span><span class="mord">0</span><span class="mord">0</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 0.64444em; vertical-align: 0em;"></span><span class="mord">1</span><span class="mord">0</span><span class="mord">0</span></span></span></span></span>的大规模MIMO),增益也会越大。这就是Massive MIMO提出的初衷。</p> 

言归正传,为什么说毫米波和Massive MIMO是天作之合呢?我们要考虑到实现MIMO的一些物理限制, 比如 天线阵列的排布间隔。 为了能让接收端分辨出是来自不同天线的信息,天线是不能靠的太近的。 (最极端的情况想象一下,所有天线全部重合在一起,那对接收端来说就是由一根天线发出的信息,无法分辨,不能获得MIMO的自由度增益。)考虑到远距离传输的情况,如果你只间隔了很小距离的话,对接收端看来你和重合了也没啥区别。在David Tse所著的无线通信基础一书中提到,对于一维均匀排布的天线阵列来说(如下图),天线间隔应当满足:

     L
    
    
     ≥
    
    
     0.5
    
    
     λ
    
   
   
     L \ge 0.5\lambda
   
  
 </span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.8193em; vertical-align: -0.13597em;"></span><span class="mord mathdefault">L</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">≥</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 0.69444em; vertical-align: 0em;"></span><span class="mord">0</span><span class="mord">.</span><span class="mord">5</span><span class="mord mathdefault">λ</span></span></span></span></span></span><br> <img src="https://img-blog.csdnimg.cn/20190504103406982.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zOTI3NDY1OQ==,size_16,color_FFFFFF,t_70" alt="在这里插入图片描述"><br> 对于二维甚至三维排列的天线阵列而言该推导可能稍有变动(笔者没有深入研究),但无疑问的是,<strong>天线间隔是与波长正相关的</strong>。这里以一维的天线阵列为例,即<span class="katex--inline"><span class="katex"><span class="katex-mathml">

 
  
   
    L
   
   
    =
   
   
    0.5
   
   
    λ
   
  
  
   L=0.5\lambda
  
 
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.68333em; vertical-align: 0em;"></span><span class="mord mathdefault">L</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 0.69444em; vertical-align: 0em;"></span><span class="mord">0</span><span class="mord">.</span><span class="mord">5</span><span class="mord mathdefault">λ</span></span></span></span></span> (理论最小的天线间隔,再小就无法得到全部的增益)。假如我们要使用101根天线来做massive MIMO, 那么总的天线阵列的长度应该为<span class="katex--inline"><span class="katex"><span class="katex-mathml">

 
  
   
    100
   
   
    ×
   
   
    L
   
   
    =
   
   
    50
   
   
    λ
   
  
  
   100\times L=50\lambda
  
 
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.72777em; vertical-align: -0.08333em;"></span><span class="mord">1</span><span class="mord">0</span><span class="mord">0</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 0.68333em; vertical-align: 0em;"></span><span class="mord mathdefault">L</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 0.69444em; vertical-align: 0em;"></span><span class="mord">5</span><span class="mord">0</span><span class="mord mathdefault">λ</span></span></span></span></span>, 以我们现在常用的2.4GHz为例,<span class="katex--inline"><span class="katex"><span class="katex-mathml">

 
  
   
    λ
   
   
    =
   
   
    c
   
   
    /
   
   
    f
   
   
    =
   
   
    0.125
   
   
    米
   
  
  
   \lambda = {c}/{f}=0.125米
  
 
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.69444em; vertical-align: 0em;"></span><span class="mord mathdefault">λ</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 1em; vertical-align: -0.25em;"></span><span class="mord"><span class="mord mathdefault">c</span></span><span class="mord">/</span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.10764em;">f</span></span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 0.64444em; vertical-align: 0em;"></span><span class="mord">0</span><span class="mord">.</span><span class="mord">1</span><span class="mord">2</span><span class="mord">5</span><span class="mord cjk_fallback">米</span></span></span></span></span>,那么也就说总长度会达到6.25米。 这个长度显然无法做到手机之中,即使是基站端使用也是倍感压力。</p> 

此时毫米波波长短的优势就再次体现了出来,如果波长是毫米级别的,那么即使是几百数量级的天线阵列,总长度也不到1米。换句话说,相同大小的空间内,传统LTE系统可能只能放置1根天线,而毫米波系统可以集成数十根。

波束赋形(波束成形, beamforming)

伴随着Massive MIMO的介绍,另一个重要的议题不可避免:波束赋形。这个概念几乎紧随MIMO的出现而提出,却也因为massive MIMO在5G中扮演着更加举足轻重的角色。 这个专栏所要讨论的所有混合波束成形算法,也是其在5G硬件限制下的一种特殊实现方案。 这里要强推笔者很早前看过的一篇科普,其深入浅出之文风堪称吾辈楷模,举重若轻,远胜众搬弄公式不知所云的文章。尽管前人珠玉在前,为保证行文之完整,笔者也在此写下自己的理解。

首先,我们要明确波束成形的必要性,而这直接源自MIMO系统的两个问题:

  • 一般的天线发送信号,没有指定的角度,而是以一种比较无脑的方式,几乎是360度往空间各个方向发送信号。干扰了别人要接收的信号不说,哪怕从一个自私的角度出发,也浪费了大量的发送功率。就好像以前自习课你和同桌聊天,非要喊得全班都听见,既让自己消耗了更多的卡路里,也吵到其他人学习。

  • 前面说到,MIMO的增益本质上就是人多力量大,然而人与人之间的配合不默契会导致一定的损耗,难以达到

          1
         
         
          +
         
         
          1
         
         
          =
         
         
          2
         
        
        
         1 + 1 =2
        
       
      </span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.72777em; vertical-align: -0.08333em;"></span><span class="mord">1</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">+</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 0.64444em; vertical-align: 0em;"></span><span class="mord">1</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 0.64444em; vertical-align: 0em;"></span><span class="mord">2</span></span></span></span></span>的效果。比如空间中其实有多条独立的路径可以到达接收端,明明大家可以各走一条,但如果挤在一起,反而会互相造成干扰。</p> </li></ul> 
    

在这里插入图片描述
盗用下前辈的这张图,上图就是不经处理的MIMO,效率感人。下图则是我们期望的结果,按部就班。 而要想达到这样的效果,就需要这一节的主角出场:波束赋形。

一句话来说的话就是:
一根天线是360度地发送信号,但一列天线不是。

我们初中高中的时候学过波的干涉与衍射,不同相位的波在叠加之后,在某些方向上增强,在某些方向上减弱。 电磁波亦如是。波束成形的根本就在于,改变每根发送天线信号的幅度与相位,使得最后一列天线的叠加效果,在空间上看就是对准了个别方向的波束。即能量集中于少数几个方向,而在绝大部分空间中都是0,如同手电筒对准了一般。 这也就是波束成形一名的由来。

具体的实现如下图:

在这里插入图片描述
即每根天线的传输信号,会根据一些先验信息(如信道信息等),进行幅度和相位的调整,从而使得最后形成的发送信号对准某个角度。

波束成形的数学建模

近十几年有无数波束成形算法的研究文章。对于波束成形的研究,笔者认为尽管上述的物理背景介绍以及极其深入浅出,仍不足以直观地想象其算法原理。因此在这一节,笔者给出了自己觉得最为简洁的波束成形数学建模。

由于笔者此时的条件限制,只能盗了一张网上的简单图片示意,日后有机会再完善:
在这里插入图片描述
我们将发送信号表示为一个

     N
    
    
     s
    
   
   
    ×
   
   
    1
   
  
  
   N_s \times 1
  
 
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.83333em; vertical-align: -0.15em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.10903em;">N</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.151392em;"><span class="" style="top: -2.55em; margin-left: -0.10903em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathdefault mtight">s</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 0.64444em; vertical-align: 0em;"></span><span class="mord">1</span></span></span></span></span>的向量<span class="katex--inline"><span class="katex"><span class="katex-mathml">

 
  
   
    s
   
  
  
   \mathbf{s}
  
 
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.44444em; vertical-align: 0em;"></span><span class="mord"><span class="mord mathbf">s</span></span></span></span></span></span>,代表<span class="katex--inline"><span class="katex"><span class="katex-mathml">

 
  
   
    
     N
    
    
     s
    
   
   
    ×
   
   
    1
   
  
  
   N_s \times 1
  
 
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.83333em; vertical-align: -0.15em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.10903em;">N</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.151392em;"><span class="" style="top: -2.55em; margin-left: -0.10903em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathdefault mtight">s</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 0.64444em; vertical-align: 0em;"></span><span class="mord">1</span></span></span></span></span>路数据,图中的数据处理过程就是我们所说的波束成形。事实上,其可以被写为一个<span class="katex--inline"><span class="katex"><span class="katex-mathml">

 
  
   
    
     N
    
    
     t
    
   
   
    ×
   
   
    
     N
    
    
     s
    
   
  
  
   N_t \times N_s
  
 
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.83333em; vertical-align: -0.15em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.10903em;">N</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.280556em;"><span class="" style="top: -2.55em; margin-left: -0.10903em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathdefault mtight">t</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 0.83333em; vertical-align: -0.15em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.10903em;">N</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.151392em;"><span class="" style="top: -2.55em; margin-left: -0.10903em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathdefault mtight">s</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span></span></span>的矩阵<span class="katex--inline"><span class="katex"><span class="katex-mathml">

 
  
   
    V
   
  
  
   \mathbf{V}
  
 
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.68611em; vertical-align: 0em;"></span><span class="mord"><span class="mord mathbf" style="margin-right: 0.01597em;">V</span></span></span></span></span></span>,使得处理得到发送天线上对应的发送数据, <span class="katex--inline"><span class="katex"><span class="katex-mathml">

 
  
   
    
     N
    
    
     t
    
   
   
    ×
   
   
    1
   
  
  
   N_t \times 1
  
 
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.83333em; vertical-align: -0.15em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.10903em;">N</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.280556em;"><span class="" style="top: -2.55em; margin-left: -0.10903em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathdefault mtight">t</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 0.64444em; vertical-align: 0em;"></span><span class="mord">1</span></span></span></span></span>的发送向量<span class="katex--inline"><span class="katex"><span class="katex-mathml">

 
  
   
    x
   
  
  
   \mathbf{x}
  
 
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.44444em; vertical-align: 0em;"></span><span class="mord"><span class="mord mathbf">x</span></span></span></span></span></span> (<span class="katex--inline"><span class="katex"><span class="katex-mathml">

 
  
   
    x
   
   
    =
   
   
    V
   
   
    s
   
  
  
   \mathbf{x}=\mathbf{V}\mathbf{s}
  
 
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.44444em; vertical-align: 0em;"></span><span class="mord"><span class="mord mathbf">x</span></span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 0.68611em; vertical-align: 0em;"></span><span class="mord"><span class="mord mathbf" style="margin-right: 0.01597em;">V</span></span><span class="mord"><span class="mord mathbf">s</span></span></span></span></span></span>)。<span class="katex--inline"><span class="katex"><span class="katex-mathml">

 
  
   
    x
   
  
  
   \mathbf{x}
  
 
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.44444em; vertical-align: 0em;"></span><span class="mord"><span class="mord mathbf">x</span></span></span></span></span></span>的每个元素对应于<span class="katex--inline"><span class="katex"><span class="katex-mathml">

 
  
   
    
     N
    
    
     t
    
   
  
  
   N_t
  
 
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.83333em; vertical-align: -0.15em;"></span><span class="mord"><span class="mord mathdefault" style="margin-right: 0.10903em;">N</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height: 0.280556em;"><span class="" style="top: -2.55em; margin-left: -0.10903em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathdefault mtight">t</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height: 0.15em;"><span class=""></span></span></span></span></span></span></span></span></span></span>根发送天线上要传输的信号。 在上述的分析中我们说到,<strong>波束成形实际上就是把原始的发送信号改变其幅度相位再进行叠加,从而得到想要的天线发送信号。而改变幅度和相位,数学上就可以简单的表示为与一个复数相乘。而叠加的过程,则可以简洁的使用矩阵乘法来表示。</strong></p> 

类似地,最后经过接收波束成形的信号可以最终表示为:

     r
    
    
     =
    
    
     
      W
     
     
      H
     
    
    
     H
    
    
     V
    
    
     s
    
    
     .
    
   
   
    \mathbf{r} = \mathbf{W}^H\mathbf{H}\mathbf{V}\mathbf{s}.
   
  
 </span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.44444em; vertical-align: 0em;"></span><span class="mord"><span class="mord mathbf">r</span></span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 0.891331em; vertical-align: 0em;"></span><span class="mord"><span class="mord"><span class="mord mathbf" style="margin-right: 0.01597em;">W</span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.891331em;"><span class="" style="top: -3.113em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathdefault mtight" style="margin-right: 0.08125em;">H</span></span></span></span></span></span></span></span><span class="mord"><span class="mord mathbf">H</span></span><span class="mord"><span class="mord mathbf" style="margin-right: 0.01597em;">V</span></span><span class="mord"><span class="mord mathbf">s</span></span><span class="mord">.</span></span></span></span></span></span><br> 其中<span class="katex--inline"><span class="katex"><span class="katex-mathml">

 
  
   
    W
   
  
  
   \mathbf{W}
  
 
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.68611em; vertical-align: 0em;"></span><span class="mord"><span class="mord mathbf" style="margin-right: 0.01597em;">W</span></span></span></span></span></span>就是接收端的波束成形矩阵。<br> 这时候最重要的问题来了:<br> <strong>如何设计<span class="katex--inline"><span class="katex"><span class="katex-mathml">
 
  
   
    
     W
    
   
   
    \mathbf{W}
   
  
 </span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.68611em; vertical-align: 0em;"></span><span class="mord"><span class="mord mathbf" style="margin-right: 0.01597em;">W</span></span></span></span></span></span>和<span class="katex--inline"><span class="katex"><span class="katex-mathml">
 
  
   
    
     V
    
   
   
    \mathbf{V}
   
  
 </span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.68611em; vertical-align: 0em;"></span><span class="mord"><span class="mord mathbf" style="margin-right: 0.01597em;">V</span></span></span></span></span></span>, 使得我们最后天线传输的是对准某个角度的波束?</strong><br> 显然,上述问题有一定难度,但许多文章确实从这个具有鲜明物理对应意义的角度入手的。然而,<strong>如果我们暂且抛下物理概念,用一个数学的角度来思考呢?</strong></p> 

既然我们有了接收信号

    r
   
  
  
   \mathbf{r}
  
 
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.44444em; vertical-align: 0em;"></span><span class="mord"><span class="mord mathbf">r</span></span></span></span></span></span>的表达式,不妨以著名的最小均方误差准则(MMSE)为例,我们希望发送信号和接收信号的差距尽可能小,显然这样接收的效果是很好的,也能有效降低误码率。那么我们就有了以下优化问题<br> <span class="katex--display"><span class="katex-display"><span class="katex"><span class="katex-mathml">
 
  
   
    
     
      m
     
     
      i
     
     
      n
     
        
    
     E
    
    
     {
    
    
     ∣
    
    
     ∣
    
    
     
      W
     
     
      H
     
    
    
     H
    
    
     V
    
    
     s
    
    
     −
    
    
     s
    
    
     ∣
    
    
     
      ∣
     
     
      2
     
    
    
     }
    
    
    
     s
    
    
     .
    
    
     t
    
    
     .
            
    
     ∣
    
    
     ∣
    
    
     V
    
    
     ∣
    
    
     
      ∣
     
     
      2
     
    
    
     ≤
    
    
     P
    
   
   
    \mathrm{min}\;\; E\{||\mathbf{W}^H\mathbf{H}\mathbf{V}\mathbf{s} - \mathbf{s}||^2\} \\ s.t. \;\;\;\;||\mathbf{V}||^2\le P
   
  
 </span><span class="katex-html"><span class="base"><span class="strut" style="height: 1.14133em; vertical-align: -0.25em;"></span><span class="mord"><span class="mord mathrm">m</span><span class="mord mathrm">i</span><span class="mord mathrm">n</span></span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mord mathdefault" style="margin-right: 0.05764em;">E</span><span class="mopen">{<!-- --></span><span class="mord">∣</span><span class="mord">∣</span><span class="mord"><span class="mord"><span class="mord mathbf" style="margin-right: 0.01597em;">W</span></span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.891331em;"><span class="" style="top: -3.113em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathdefault mtight" style="margin-right: 0.08125em;">H</span></span></span></span></span></span></span></span><span class="mord"><span class="mord mathbf">H</span></span><span class="mord"><span class="mord mathbf" style="margin-right: 0.01597em;">V</span></span><span class="mord"><span class="mord mathbf">s</span></span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">−</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 1.11411em; vertical-align: -0.25em;"></span><span class="mord"><span class="mord mathbf">s</span></span><span class="mord">∣</span><span class="mord"><span class="mord">∣</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.864108em;"><span class="" style="top: -3.113em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mclose">}</span></span><span class="mspace newline"></span><span class="base"><span class="strut" style="height: 1.11411em; vertical-align: -0.25em;"></span><span class="mord mathdefault">s</span><span class="mord">.</span><span class="mord mathdefault">t</span><span class="mord">.</span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mord">∣</span><span class="mord">∣</span><span class="mord"><span class="mord mathbf" style="margin-right: 0.01597em;">V</span></span><span class="mord">∣</span><span class="mord"><span class="mord">∣</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height: 0.864108em;"><span class="" style="top: -3.113em; margin-right: 0.05em;"><span class="pstrut" style="height: 2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mspace" style="margin-right: 0.277778em;"></span><span class="mrel">≤</span><span class="mspace" style="margin-right: 0.277778em;"></span></span><span class="base"><span class="strut" style="height: 0.68333em; vertical-align: 0em;"></span><span class="mord mathdefault" style="margin-right: 0.13889em;">P</span></span></span></span></span></span><br> 这就变成了一类经典的优化问题,有无数的数学方法等着你去用来解出W和V。<strong>需要注意的是,这样解出的结果的<span class="katex--inline"><span class="katex"><span class="katex-mathml">
 
  
   
    
     V
    
   
   
    \mathbf{V}
   
  
 </span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.68611em; vertical-align: 0em;"></span><span class="mord"><span class="mord mathbf" style="margin-right: 0.01597em;">V</span></span></span></span></span></span>,其实恰恰就是我们想要寻找的实现对准方向波束的波束成形矩阵。</strong> 如何论证呢?注意到,我们的<span class="katex--inline"><span class="katex"><span class="katex-mathml">

 
  
   
    V
   
  
  
   \mathbf{V}
  
 
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.68611em; vertical-align: 0em;"></span><span class="mord"><span class="mord mathbf" style="margin-right: 0.01597em;">V</span></span></span></span></span></span>带有功率约束,也就是说,如果最后形成的波束没有对准最好的那个方向(比如发散在各个方向),那么必定存在更好的波束成形矩阵,使得波束对准最好的方向,也因此在该方向上有着更高的能量,从而也有更好的性能,获得更低的误码率。而这与我们解出的最小MSE的前提不符。因此,最小的MSE的解其实就对应了最好的那个波束成形矩阵。 <strong>注意这里只用了最简单的窄带信道模型进行了简单的讨论,在更复杂的情况下,其实并没有那么简单。</strong><br> 这里我们只举了MSE作为例子,还有许多,比如以速率,信噪比等为系统指标来设计波束成形矩阵,都是非常常见的。还有一点必须要说的是,<strong>其实我们更重视的是结果,而不是过程。</strong> 用户并不在意你是通过什么样的波束传过来的,他们更关心的是速率,误码率这些真正切实的体验。因此,以最后的性能指标为优化目标进行数学建模来解决波束成形矩阵,是最直观明了的。</p> 

5G: 混合波束赋形的机遇与挑战

最后,终于要引出本专栏的核心内容,也宣告着本文的临近尾声。在上述的讨论中,笔者简单说明了大规模MIMO和波束赋形的重要性。 然而有一点需要强调:
**MIMO是5G前就提出的,波束成形也是。**那么5G的技术突破在哪里呢?

笔者认为:
4G是从

     1
    
    
     ×
    
    
     1
    
   
   
    1\times1
   
  
 </span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.72777em; vertical-align: -0.08333em;"></span><span class="mord">1</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 0.64444em; vertical-align: 0em;"></span><span class="mord">1</span></span></span></span></span>到<span class="katex--inline"><span class="katex"><span class="katex-mathml">
 
  
   
    
     2
    
    
     ×
    
    
     2
    
   
   
    2\times2
   
  
 </span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.72777em; vertical-align: -0.08333em;"></span><span class="mord">2</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 0.64444em; vertical-align: 0em;"></span><span class="mord">2</span></span></span></span></span>, 而5G是从<span class="katex--inline"><span class="katex"><span class="katex-mathml">
 
  
   
    
     2
    
    
     ×
    
    
     2
    
   
   
    2\times2
   
  
 </span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.72777em; vertical-align: -0.08333em;"></span><span class="mord">2</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 0.64444em; vertical-align: 0em;"></span><span class="mord">2</span></span></span></span></span>到<span class="katex--inline"><span class="katex"><span class="katex-mathml">
 
  
   
    
     100
    
    
     ×
    
    
     100
    
   
   
    100\times100
   
  
 </span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.72777em; vertical-align: -0.08333em;"></span><span class="mord">1</span><span class="mord">0</span><span class="mord">0</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 0.64444em; vertical-align: 0em;"></span><span class="mord">1</span><span class="mord">0</span><span class="mord">0</span></span></span></span></span>.</strong> 虽然创新性也许没有前者那么颠覆性,但同样不可忽略。因为<span class="katex--inline"><span class="katex"><span class="katex-mathml">

 
  
   
    2
   
   
    ×
   
   
    2
   
  
  
   2\times2
  
 
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.72777em; vertical-align: -0.08333em;"></span><span class="mord">2</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 0.64444em; vertical-align: 0em;"></span><span class="mord">2</span></span></span></span></span>到<span class="katex--inline"><span class="katex"><span class="katex-mathml">

 
  
   
    100
   
   
    ×
   
   
    100
   
  
  
   100\times100
  
 
</span><span class="katex-html"><span class="base"><span class="strut" style="height: 0.72777em; vertical-align: -0.08333em;"></span><span class="mord">1</span><span class="mord">0</span><span class="mord">0</span><span class="mspace" style="margin-right: 0.222222em;"></span><span class="mbin">×</span><span class="mspace" style="margin-right: 0.222222em;"></span></span><span class="base"><span class="strut" style="height: 0.64444em; vertical-align: 0em;"></span><span class="mord">1</span><span class="mord">0</span><span class="mord">0</span></span></span></span></span>,并不是一个straightforward的过程。<br> 在4G系统中,由于天线数很少,往往使用的是数字波束成形(digital beamforming), 这个过程的优势是可以任意地调节信号的幅度和相位,趋近无限精度,而且在OFDM系统中可以对不同子载波做不同的波束成形。 <strong>然而,这也意味着每个天线需要配置一套独立的射频链路,其中包括造价昂贵的数模/模数转换器等,也带来了高额的能量和硬件开支,随天线数正比增长。</strong> 这一问题极大地限制了Massive MIMO的使用,于是,<a href="https://arxiv.org/abs/1305.2460">这篇文章</a>中提出,使用混合波束成形来降低系统开支。</p> 

这一结构的核心用一句话概括:
将原本的数字波束成形分割成两部分,一部分由低维的数字波束成形实现,另一部分由高维的模拟波束成形实现,从而大大降低了射频链路数目的需求。

这一句话可能很多人无法直接看懂,但是本专栏的后续文章中会进行极为深入的讨论,在这里先做一个抛砖引玉的效果。总而言之:
由于硬件的约束,绝大部分5G前的波束成形算法无法照搬到混合波束成形结构下,因此,新的混合波束成形算法急需提出。

至此,本文结束,而本专栏的主旨内容由此拉开帷幕,欢迎关注后续。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
语音降噪技术的发展历程可以大致分为以下几个阶段: 1. 传统信号处理方法:最早的语音降噪技术采用传统的信号处理方法,如滤、谱减法等。这些方法主要是基于频域分析,可以去除一些简单的噪声,但是对于复杂的噪声和语音信号的失真效果并不好。 2. 基于统计模型的方法:随着计算能力的提高,人们开始尝试使用更加复杂的统计模型来处理语音信号。这些模型包括高斯混合模型(GMM)、隐马尔可夫模型(HMM)等。这些方法可以更好地处理复杂的噪声和语音信号,但是需要大量的计算资源和时间。 3. 深度学习方法:近年来,深度学习技术的兴起使得语音降噪技术有了更大的突破。深度学习方法可以直接对原始语音信号进行建模,并且可以自动学习特征,不需要人工提取。常见的深度学习方法包括卷积神经网络(CNN)、循环神经网络(RNN)、变分自编码器(VAE)等。 4. 基于混合方法的语音降噪:近年来,一些研究人员开始尝试将多种技术结合起来,以达到更好的降噪效果。例如,可以将传统信号处理方法与深度学习方法相结合,或者将多种深度学习方法进行融合。这些混合方法可以更好地克服单一方法的局限性,提高降噪效果。 总的来说,语音降噪技术的发展历程经历了从传统信号处理方法到基于统计模型的方法,再到深度学习方法的演变。未来,随着技术的不断进步和创新,语音降噪技术将会得到更好的发展和应用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值