原文链接(向作者致敬):http://www.txrjy.com/thread-667901-1-1.html
 
无线通信世界在过去的几十年中的发展简直是爆发式的,MIMO(多发多收)技术的出现更是将通信理论推向了另一个高峰。它已经成为当今乃至今后很多年内的主流物理层技术。所以,理解一些MIMO技术的思想,对于理解通信收发原理,乃至通信系统设计,都是很有帮助的。笔者不才,通信小兵一名,冒昧在此布下一贴,愿与大家一同探讨MIMO技术心得。希望我们能够通过彼此的交流学习,共同体验到无线通信之美。然而笔者能力有限,若有不足及错误之处,还请广大通信战友指正。
鱼与熊掌能否兼得?--浅谈分集与复用的权衡
        在无线通信的世界里,分集和复用是两项最基本的技术。提到分集,就不得不说起经典的“罗塞塔”石碑。在这块1799年被世人发现的石碑上,分别用埃及象形文,埃及草书与古希腊文三种文字刻着埃及国王托勒密五世诏书。这种记录方式对现代的研究者来说简直是福音,只要有一种文字能够被识别,诏书的内容就得以保存。在无线通信中,分集的思想与之类似。它把一个数据重复发送多次,以保证接收端能够正确收到。
罗塞塔石碑
        分集的方式有很多种。在传统的单发单收(SingleInput,SingleOutput;SISO)系统中,可以通过时间来实现分集。在多发多收(MultipleInput,MultipleOutput;MIMO)系统中,收发双方拥有多根天线,分集可以在不同的天线上实现,这种方法也叫做空间分集。例如,我们想把符号“X”从发送端传递给接收端,如果采用时间分集,只要在不同的时刻t1,t2,…分别发送X就可以了;若采用空间分集,则可以将X在不同的天线上进行发送。有两件事情需要注意:第一,分集的次数越多,传输的成功率就越高;第二,在空间上的分集,节省了时间资源。
      然而,我们很快就发现了一个问题:不管在时间上还是空间上的分集,传输的效率并不高。比如在图2中,尽管我们有4根发送天线,但由于发送内容相同,一个时刻(t1)实际上只传输了一个符号(X)。要知道,如果在不同的天线上发送不同的数据,我们一次就可以传输4个符号!--这种“在不同的天线上发送不同的数据”的发送思想也叫空间多路复用,V-BLAST,最早由贝尔实验室提出。现在棘手的事情来了,“分集”告诉我们,把数据重复发送多次可以提高传输的可靠性,“复用”则说,把资源都用来发送不同的数据可以提高传输速率。“分集”和“复用”似乎站在了天平的两端,你偏重哪一方,势必会降低另一方的性能。那么,在无线通信系统中,发送策略究竟要怎样设计才好呢?它又能否兼顾“分集”与“复用”呢?
要回答这些问题,我们不妨把“分集”和“复用”分别当做两个评价发送策略的标准,然后把设计的发送策略都拿出来比比看,打个分,孰优孰劣不就一目了然了么?
        我们把衡量空间分集的标准叫做“分集增益”。有一个很简单的方法来看一个通信系统能提供多少分集增益,就是数数看从发送天线到接收天线间有多少条“可辨识”的传播路径(为什么强调“可辨识”?下一篇文章《犹抱琵琶半遮面--MIMO信道中隐藏的秘密》将详细讲述这个问题)。衡量复用的标准当然是看一个系统每时刻最多可以发送多少个不同的数据,也叫做“自由度”。
        举例来说,在一个1x2的系统中,发送端有一根天线,接收端有两根天线,如图表3所示。从天线A发出的X可以通过路径1到达B,也可以通过路径2到达C,这就表示1x2的系统有两条不同的传播路径,可以提供的最大分集增益是2。由于发送端只有一根天线,所以每个时刻只能发出一个数据,故它具有的自由度就是1。我们可以把这样的分析扩展到接收端有多个天线的情况:对一个有n根接收天线的SIMO系统来说,能够提供的最大分集增益是n,自由度是1。
       我们再来看看发送端配有多天线的情况。先考虑具有两根发送天线的MISO系统,如图表4所示。我们也能找出两条不同的传播路径,分别为A到C的路径1;B到C的路径2。所以2x1的MISO系统可以提供的最大分集增益也是2。现在发送端有两根发送天线,一次可以发出两个不同的符号,是否说明2x1的系统具有的自由度是2呢?
        这个问题挺有意思,需要我们特别的分析一下。假设在t1时刻,天线A上发送Y,天线B上发送X,那么接收天线C上得到的接收信号就是h1·Y+h2·X,其中h1和h2分别是传播路径1和2的信道增益。我们考虑相干解调,即h1和h2在接收端已知,现在,任何一个学过奥数的小学生也会大声的告诉你:“这里有两个未知数X和Y,但是只有一个方程,从一个方程中是无法解出两个未知数的!”所以,这就说明2x1的MISO系统无法支持2个自由度,它的自由度只能是1。
       我们把这个问题扩展一下,既然从一个方程中不能解出两个未知数,那么如果能再写出一个传输方程,不就可以解出这两个未知数了吗?其中一种提供额外方程的方法就是在接收端多加一根天线。这就是我们下面要讨论的2x2MIMO系统。
        类似于2x1系统的分析,我们在接收端加了一根天线D,在D上接收到的信号就是h3·Y+h4·X。现在,即使发送端发出两个不同信号,接收端也能轻松处理了。所以2x2的MIMO系统支持的自由度是2(这也是为什么V-BLAST系统要求接收天线数要大于等于发送天线数的原因)。我们不难数出,2x2的系统有4条不同的传播路径,故它能提供的最大分集增益是4。
        回到刚才的问题,在2x1系统中,还有一种方法可以提供额外的传输方程,就是在时间上进行分集。比如我们在 t1和t2时刻重复发送X 和Y,接收端同样可以得到关于X和Y的两个传输方程。现在,我们把时间维度也引入到发送策略的设计中来,这种结合了时间和空间的发送策略,其实有一个响亮的名字--空时编码。当然,如何在时间和空间两个维度上分配好资源,却是一门艺术。
        当引入了时间维度后,我们可以设计以下的发送策略:天线A在时刻t1和t2上都发Y,天线B上都发X。我们用了两个时刻,一共传输了两个不同的数据,所以每个时刻传输的数据量,即获得的自由度是1(2/2=1)。刚才我们分析过,一个2x1系统的最大自由度就是1,换句话说,这种发送策略在自由度这个评价标准下获得了满分!我们再来考察它能得到多少分集增益。在t1和t2时刻,Y都从天线A上发送,它只能通过传播路径1到达C;同理,X也只能通过路径2到达C,每个数据都无法遍历所有的传播路径,只用到了其中一条,所以这种发送策略能获得的分集增益就是1。而2x1系统能提供的最大分集增益是2,看来,这种发送策略在分集增益上的得分并不理想。
>
        那么,如何才能获得所有的分集增益呢?这里有个小技巧,那就是,在t2时刻,从天线A上发送X,从天线B上发送Y。这样一来,X在两个时刻上,分别由传播路径2和1到达接收端,它能够遍历两条传播路径,所以这个发送策略获得的分集增益就是2。注意到,拥有图表7所示的空时编码结构,就是著名的Alamouti码(真正的Alamouti码是在t2时刻发送-Y*和X*,并且假设信道在t1和t2时刻是不变的,这样的设计是为了满足数学上的准则,本文描述的形式只为了分析Alamouti码的分集与复用特性)。
        到现在为止,我们已经知道一个具有特定天线配置的系统所拥有的最大分集增益和自由度是多少,我们也知道如何去分析一种发送策略,看它能够获得多少分集增益和自由度。接下来,我们就以2x2MIMO系统为例,分别考察下“重复编码”,“Alamouti编码”和“V-BLAST”三种发送策略。回忆一下,2x2MIMO系统拥有的最大分集增益是4,自由度是2。
(1)重复编码。重复编码的策略是这样的:在时刻t1,天线A上发送X,天线B关闭,什么也不发;在时刻t2,天线B上发送X,天线A关闭。有了之前的分析经验,我们可以很快看出重复编码的性能:在t1和t2两个时刻,X分别由传播路径1,3和2,4到达接收端,所以重复编码获得的分集增益是4。但经过了两个时刻,只传送了一个符号X,它的自由度只有1/2。
(2)Alamouti编码。前面我们已经分析了Alamouti码在2x1系统下的性能,在2x2 MIMO系统中,分析类似。我们简单回顾一下:经过两个时刻,每个符号都可以遍历4条传播路径,故可以获得的分集增益是4;这两个时刻一共发送了两个不同的符号,所以获得的自由度是1。
(3)V-BLAST系统。在V-BLAST系统中,每个时刻,两根发送天线上都发送不同的数据,所以它获得的自由度是2。但分析V-BLAST系统的分集增益就没有那么简单了,因为这与它采用的接收方式有关(关于接收机设计的话题,后续会有专门的讨论,这里只简述其思想)。
如果采用ML接收机,它的中心思想是把接收信号投影到待检测信号的“方向”上。比如我们要检测X,它通过传播路径1和3到达接收端,那么,信号X的“方向”就只和这两条路径有关,我们只需要关注这两条路径就可以了。沿着这个思路,我们可以把V-BLAST系统分解成两个SIMO子系统。现在再进行分析就容易多了,很明显,每个信号都经历了两条传播路径,所以,使用ML接收机的V-BLAST系统,能获得的分集增益是2。
        V-BLAST系统中,接收机还可以使用“解相关”的方式。顾名思义,它的中心思想就是将接收信号投影在干扰信号的“正交方向”上,把干扰消灭掉,那么剩下的不就是待检测信号了么。这里,我们将V-BLAST系统分解成两个MISO子系统,以便于分析。对于接收天线C,它同时收到了从路径1和路径2到达的信号X和Y。如果我们想检测X,就要消除干扰Y。同理,在接收天线D上,可以通过消除X来检测信号Y。当干扰都被消除掉以后,我们清晰的看到,V-BLAST系统变身为拥有两条独立平行子信道的系统,两条子信道间互不干扰。这时,每个信号只能经历1条传播路径,故采用干扰抵消(解相关)的V-BLAST系统可以获得的分集增益是1。
        好了,到目前为止,我们已经分析了多种发送策略,但每种策略,都各有所长。比如Alamouti码可以获得最高的分集增益,而V-BLAST在自由度的评比上又当仁不让。那么,现实的MIMO通信系统中,是如何选择发送策略的呢?
     

分集增益

自由度

2x2 MIMO 系统本身

4

2

重复编码

4

1/2

Alamouti编码

4

1

V-BLAST(ML)

2

2

V-BLAST(解相关)

1

2
    通常,一套完整的通信物理层协议会定义许多种发送方式。在实际通信过程中,收发双方会根据即时的通信条件和传播环境等因素,自适应的调整并选择最优的方式进行通信。比如,当无线信道条件很差的时候,会更多的用到分集技术,来保证通信的可靠性;当信道条件良好的时候,就会选择复用,每次多发一些数据,以提高传输的速率。
       闲话:
       2009年,IEEE正式通过了802.11n标准,这是第一个将MIMO技术引入到无线局域网的标准。802.11n最大支持4天线,4个空间流(有几个空间流,就意味着能处理几路独立的数据,换句话说,空间流数可以理解为我们文章中提到的“自由度”)。在40MHz带宽下,如果选择调制编码方式为64QAM,5/6编码速率时,最高的传输速率可以达到540Mbit/s!这个速率是以前SISO设备 不敢想象的。经过几年的市场演进,现在,支持802.11n的设备已经随处可见了。我们也经常碰见这样的问题,当朋友买了配有2根,甚至3根天线的无线路由器产品,然后颇有怀疑的问:“这家伙有2根天线,上网速度是不是能翻一倍?至少感觉上是快了些…”
现在我们有了本文的学习经验以后,就可以很容易的回答这些问题:要想让传输速度有质的飞跃,不光发送设备要升级,接收设备也要升级。不然,即使你的AP有2根天线,可是连接到AP上的手机,电脑只有一根天线,就像我们分析过的2x1系统一样,整个系统的自由度也只有1,速度仍与SISO系统相当。iPad就是一个很好的例子,尽管它是802.11n设备,但只支持单空间流传输(自由度只有1),所以iPad的最高传输速率不会超过65Mbps。
但是,大家为什么还会感觉到速度变快了呢?因为影响用户体验的因素有很多。比如,2天线的无线路由即使无法提高传输速率的上限,但是它的信号覆盖范围却变大了。原来你在无线路由附近才能获得的上网速度,现在在卧室,甚至洗手间都可以达到,你自然会感觉速度变快了;或者由于2天线的设备通过分集技术提高了传输的可靠性,使重传的次数减少,你也会感觉速度变快了;同样,802.11n在MAC层效率的优化也会悄无声息的带给你更好的用户体验。

本回内容着落于此。下回将说到,无线通信中那最让人难以捉摸,同时也最具独特魅力的MIMO信道特性。请参看“犹抱琵琶半遮面--MIMO信道中隐藏的秘密”。

【转载】MIMO技术杂谈(一):鱼与熊掌能否兼得?--浅谈分集与复用的权衡的更多相关文章

  1. 技术总监和CTO的区别 浅谈CTO的作用----软件公司如何开源节流(一)[转]

    我一直在思考软件公司如何开源节流.当然,老板也在思考开源节流.当然,老板思考的开源节流在公司运营层面上,而我作为CTO,我考虑的则是在产品运营角度上来思考这个问题.否则,一个软件公司,它的生存与发展就 ...

  2. 【转】浅谈分布式服务协调技术 Zookeeper

    非常好介绍Zookeeper的文章, Google的三篇论文影响了很多很多人,也影响了很多很多系统.这三篇论文一直是分布式领域传阅的经典.根据MapReduce,于是我们有了Hadoop:根据GFS, ...

  3. 浅谈分布式消息技术 Kafka(转)

    一只神秘的程序猿. Kafka的基本介绍 Kafka是最初由Linkedin公司开发,是一个分布式.分区的.多副本的.多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可 ...

  4. 浅谈分布式消息技术 Kafka

    Kafka的基本介绍Kafka是最初由Linkedin公司开发,是一个分布式.分区的.多副本的.多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/ngin ...

  5. 转载-浅谈Ddos攻击攻击与防御

    EMail: jianxin#80sec.comSite: http://www.80sec.comDate: 2011-2-10From: http://www.80sec.com/ [ 目录 ]一 ...

  6. 搞懂分布式技术21:浅谈分布式消息技术 Kafka

    搞懂分布式技术21:浅谈分布式消息技术 Kafka 浅谈分布式消息技术 Kafka 本文主要介绍了这几部分内容: 1基本介绍和架构概览 2kafka事务传输的特点 3kafka的消息存储格式:topi ...

  7. 2强类型DataSet (2011-12-30 23:16:59)转载▼ 标签: 杂谈 分类: Asp.Net练习笔记 http://blog.sina.com.cn/s/blog_9d90c4140101214w.html

    强类型DataSet (2011-12-30 23:16:59) 转载▼ 标签: 杂谈 分类: Asp.Net练习笔记 using System; using System.Collections.G ...

  8. 强类型DataSet (2011-12-30 23:16:59)转载▼ 标签: 杂谈 分类: Asp.Net练习笔记 http://blog.sina.com.cn/s/blog_9d90c4140101214w.html

    强类型DataSet (2011-12-30 23:16:59) 转载▼ 标签: 杂谈 分类: Asp.Net练习笔记 using System; using System.Collections.G ...

  9. 浅谈PHP技术应用

    序号:1210-41 黑龙江省高等教育自学考试 本科毕业论文 题    目    浅谈PHP技术 学员姓名    夏滟 专    业    计算机及应用 准考证号    010311192585 指导 ...

随机推荐

  1. IDEA给类和方法配置注释模板(参数换行显示)

    创建类模板 1.打开设置:File–>settings–>Editor–>File and Code Templates–>Includes 2.输入注释模板 #if (${P ...

  2. Java面试题集(86-115)

    Java程序员面试题集(86-115) 摘要:下面的内容包括Struts 2和Hibernate的常见面试题,虽然Struts 2在2013年6月曝出高危漏洞后已经显得江河日下,而Spring MVC ...

  3. 【ABAP系列】SAP ABAP SY-SUBRC的含义解析

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP SY-SUBR ...

  4. 【Python】利用豆瓣短评数据生成词云

    在之前的文章中,我们获得了豆瓣爬取的短评内容,汇总到了一个文件中,但是,没有被利用起来的数据是没有意义的. 前文提到,有一篇微信推文的关于词云制作的一个实践记录,准备照此试验一下. 思路分析 读文件 ...

  5. [DS+Algo] 002 一维表结构

    目录 1. 顺序表 1.1 分类 1.2 实现方式 1.3 扩容问题 1.4 操作 2. 链表 2.1 分类 2.2 链表相关操作 2.3 链表 VS 顺序表 3. 关于代码实现 1. 顺序表 1.1 ...

  6. Linux命令学习之两个小技巧(1)

    本篇主要想讲两个小技巧.本来技巧之类的话应该放在学完整个东西之后或者在学习中遇到时再说的,但是这两个技巧其实很简单,很多人只要我一提就知道了.与其说是技巧,不如说是注意事项. 自动补全 在Linux终 ...

  7. Luogu P4562 [JXOI2018]游戏

    题目 我们用埃氏筛从\(l,r\)筛一遍,每次把没有被筛掉的数的倍数筛掉. 易知最后剩下来的数(这个集合记为\(S\))的个数就是我们需要选的数,设有\(s\)个,令\(n=r-l+1\). 记\(f ...

  8. 网络流 ISAP算法

    网络流问题: 我自己理解,在流网络中,在不违背容量限制的条件下,解决各种从源点到汇点的问题. ISAP算法概念: 据说不会有卡ISAP时间的题目---时间复杂度O(E^2*V) 首先原理都是基于不断寻 ...

  9. 洛谷 P5661 公交换乘 & [NOIP2019普及组] (模拟)

    传送门 解题思路 先把所有的数据读下来. 对于地铁,答案直接加,然后把编号放入一个数组a内. 对于公交车,从前往后枚举a数组,然后找到出现最早的且符合价钱大于等于公交车的价钱,然后把这个数删除(变为0 ...

  10. CentOS卸载lamp环境的步骤

    学习PHP的时候需要在CentOS系统下安装lamp环境,安装容易卸载就没那么简单了,因为lamp由Apache.MySQL.PHP三个部分构成,需要逐个卸载,小编就给大家介绍下CentOS卸载lam ...