空时编码的用途:

一是获得分集增益(STBC,通过不同的发射天线发送相同传输信号的不同副本,实现空间分集,提高传输质量);

二是获得复用增益(V-BLAST在同一时隙,将不同的符号通过不同的天线发射出去,实现空间复用,提高吞吐量);

空时编码设计的目标:

就是获得最大分集增益NM,最大编码增益和可能的最大吞吐量

空间分集-空时分组码(STBC)

空时分组码可视为一种能够提供满分集增益和具有非常低的编码和译码复杂度(最大似然译码算法)的多个发射天线系统的调制方案。

发送端结构

接收端结构

空间复用-分层空时码(BLAST)

1. 分层空时结构发射机

水平分层空时编码(HBLAST)

具有单一编码

各层独立编码

对角分层空时编码(DBLAST)

螺旋分层空时编码(T-BLAST)

发射机结构和分层空是编码一致,空间交织器可由循环移位交织器实现。

2. V-BLAST垂直分层空时结构接收机

(1)最大似然译码算法(最佳译码算法),随着每一个符号所包含比特数的增加,最大似然译码器的复杂度呈指数上升。(如球形译码)

(2)设计具有比最大似然译码接收机的复杂度低的接收机的方法就是利用均衡技术来区分不同的符号(运用均衡的思想来去除符号间干扰(ISI))。目标就是在对噪声的最小的前提下将符号分开。在MIMO接收机中考虑的两种最常用的线性均衡算法就是迫零(ZF)均衡器和最小均方误差(MMSE)均衡器。其复杂度随数据率的增加而线性升高。

  • 迫零(ZF)均衡器

迫零算法时一种不考虑噪声的线性均衡算法。事实上,在干扰消除的过程中,噪声有可能得以增强。噪声增强因子为(9.22)所示。

  • 最小均方误差(MMSE)均衡器

为了解决迫零算法对噪声的放大作用,线性最小均方误差算法的目标就是用一个矩阵乘以(9.1)式,从而使得有效噪声最小化,或者等价地,该均衡器最大化了有效SNR。MMSE检测矩阵的为:

(3)一种低复杂度的接收机就是采用 “分而治之”的策略来代替对所有符号联合译码。

译码器将符号一个接一个地检测。在对第一个符号译码时,来自于其它符号的干扰被视为噪声。在得到第一个符号的检测之后,就将它对各个接收方程中的影响消除。于是,第二个符号就从这一组新的方程中检测。同样的,将检测得到的第二个符号对各个接收方程中的影响消除,于是第三个符号就从这一组新的方程中检测。如此进行,直到所有的符号被检测出来。(该算法适用于接收天线数大于等于发射天线数时才成立)

该算法包含三个步骤:

  1. 排序:目的是决定在译码的每一步检测哪个符号,最优的检测顺序是从最强到最弱的信号。
  2. 干扰消除:目的就是在对下一个符号译码时去除已检测的符号的干扰。

3. 零干扰:目的是从正在译码的符号中去除未检测符号的干扰的应影响。例如通过ZF和MMSE算法。

    • 迫零零干扰

实际中通常采用迫零来实现零干扰。

    • MMSE干扰抑制算法

注意:如果说系统模型为r(M*1)=H(M*N) *x(N*1)+n(M*1),则,而不是r(1*M )=x(1*N)*H(N*M)+n(1*M),则有

Day11 空时编码理论之正交空时分组码和垂直分层空时编码的更多相关文章

  1. Day10 空时编码理论之无线信道、分集和复用

    在有限的频谱资源上,如何高效地加以利用,增加信道容量,并保证信息可靠地传输. 在单天线链路系统中,采用先进的编码(例如turbo码和LDPC码)可以接近香农容量极限. 通过增加发射端和接收端的天线数量 ...

  2. el-select和el-cascader的visible-change下拉框隐藏时触发相关事件(下拉框下拉显示时不触发)

    原文:https://blog.csdn.net/CarryBest/article/details/79959389 今天做项目时,用elementUI框架,需要下拉框隐藏时出发某个函数,用了vis ...

  3. 格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://tempuri.org/ 进行反序列化时出错: GetLzdtArticleResult。InnerException 消息是“反序列化对象 属于类型 lzdt.DTO.Dtolzdt[] 时出现错误。读取 XML 数据时,超出最大

    当遇到这个错误的时候郁闷了好长时间报错是字符串长度过大可是修改了MaxStringContentLength”属性的值却不起作用最后才发现还是因为配置文件配置的问题在服务端 格式化程序尝试对消息反序列 ...

  4. iOS APP下载安装时,如果出现此时无法下载安装APP的字样时,一些解决思路

    1.在iosAPP下载安装时,如果出现此时无法下载安装APP的字样时,可能是苹果系统进行了支持更新,并需要我们确认条约.至于如何判断是否是苹果系统进行了更改,只需要我们进入开发者账号,进入我的账户(A ...

  5. 有个奇怪的问题,配置成/system/index,jsp页面时没有经过过滤器进行拦截,而配置成redirectAction时是可以直接跳转刀片loginJsp.action

    有个奇怪的问题,配置成/system/index,jsp页面时没有经过过滤器进行拦截,而配置成redirectAction时是可以直接跳转刀片loginJsp.action 但是我直接访问/syste ...

  6. springMVC配置时,静态资源和jsp文件路径没错但是访问时controller的请求报404错误。

    springMVC配置时,静态资源和jsp文件路径没错但是访问时controller的请求报404错误. 1.场景 如果在web.xml中servlet-mapping的url-pattern设置的是 ...

  7. ASP.NET MVC 下UpdateModel可空未填写的参数为Null,为何不是空字符串

    查了好久,终于收到原因: if (bindingContext.ModelMetadata.ConvertEmptyStringToNull && Object.Equals(valu ...

  8. 检查字符串长度 检查字符串是否为空 用正则表达式验证出版物的ISBN号 用正则表达式验证邮证编码 验证字符串中是否含有汉字

    <?php /** * 常用的正则表达式来验证信息.如:网址 邮箱 手机号等 */ class check { /** * 正则表达式验证email格式 * * @param string $s ...

  9. ASP.NET中页面加载时文本框(texbox控件)内有文字获得焦点时文字消失

    代码如下: <asp:TextBox ID="TextBox1" runat="server" Height="26px" MaxLe ...

随机推荐

  1. N元模型

    在自然语言处理的任务中,拼音纠错.机器翻译等任务都需要对某个句子的下一个单词进行预测,或者评估某个句子的概率大小.例如预测如下句子的下一个单词: Please turn your home work. ...

  2. dataframe行变换为列

    新建一个 dataFrame : val conf = new SparkConf().setAppName("TTyb").setMaster("local" ...

  3. Postman Mock Server

    为了不影响前端开发的进度,一般后端都是先定数据结构,然后写个假接口让前端调用,这样前端就不必等着后端接口开发完成以后再开始了.届时,前后端以及UI和测试就可以并行,待双方都把各自的逻辑写好了,便可以联 ...

  4. Docker Machine搭建并加入节点

    对于集群服务器来讲,要在每台机器上手动安装Docker是一件及其痛苦的事情,还好有Docker Machine这一工具,Docker三剑客中的一角. 一.Docker Machine介绍 这个工具已经 ...

  5. java8的函数式接口

    函数式接口 就是在java8里允许你为一个接口(只有一个实现的,声明为FunctionalInterface注解的)实现一个匿名的对象,大叔感觉它与.net平台的委托很类似,一个方法里允许你接收一个方 ...

  6. 利用GitLab webhook来实现触发Jenkins自动操作

    本文针对如何设置GitLab以及Jenkins,实现每次GitLab上有提交事件的时候,都能触发Jenkins执行相应的操作,主要分为以下几个步骤: 1.新建GitLab测试用例 进入个人GitLab ...

  7. SmartSql 常见问题

    常见问题 为什么不支持 Linq? SmartSql 希望 开发人员更多的接触 Sql ,获得绝对的控制权与安全感.所以目前没有计划支持 Code First 编程模式. 我想好了Sql怎么写,然后再 ...

  8. Python实现Singleton模式的几种方式

    使用python实现设计模式中的单例模式.单例模式是一种比较常用的设计模式,其实现和使用场景判定都是相对容易的.本文将简要介绍一下python中实现单例模式的几种常见方式和原理.一方面可以加深对pyt ...

  9. 服务器配置java

    先去链接下载jdk or jre(服务器上这个就好) 然后解压 tar 下载的文件,放到/usr/local/java/jdk_xxx下面 -v: 可视化显示进度. Enables verbose m ...

  10. Spring学习(零):我们为什么要学习Spring

    序言 通过使用Spring的IoC容器,可以对这些耦合关系(对Java代码而言)实现一个简单的文本化的操作:即是说通过一个或几个XML文文件,我们就可以方便的对应用对象的耦合关系进行浏览.修改和维护, ...