预编码技术

2023-10-30

预编码的基本原理

TD-LTE下行传输采用了MIMO-OFDM的物理层构架,通过最多4个发射天线并行传输多个(最多4个)数据流,能够有效地提高峰值传输速率。LTE的物理层处理过程中,预编码是其核心功能模块,物理下行共享信道的几种主要传输模式都是通过预编码实现的。
在MIMO系统中,当发射端不能获得任何信道状态信息(CSI,Channel State Information)时,各个并行数据流均等地分配功率与传输速率并分别采用全向发射的方式,就可以获得最优的性能。假设MIMO的信号模型可以由式(3-1)表示:
这里写图片描述
式中,r、H、s和n分别表示接收信号向量、信道矩阵、发送信号向量和加性噪声向量。
此时系统容量可以表示为
这里写图片描述
式中,det()表示矩阵的行列式,INT表示NT维单位阵,r表示总发射功率与噪声方差之比, 为H的共轭转置,NT为发射天线数量, 为HH的第个非零特征值。
开环MIMO的链路性能在很大程度上受到接收算法的影响。当接收机采用了ZF或MMSE等简单的线性处理算法时,开环MIMO的差错概率性能往往较差。采用SIC(Sucssesive Interference Cancellation)等干扰抵消算法时,能够有效地改善差错概率性能,但是又会引起接收机计算复杂度的增加。开环MIMO实际上相当于只在接收端采用与信道相匹配的方式进行接收,而发送信号并未与信道相匹配。
由式(3-2)可知,MIMO信道可以等效为多个并行的子信道。MIMO系统所能支持的最大数据流数由信道矩阵的秩决定,而每个数据流的传输能力由与之对应的奇异值决定。如果发射机能够通过某种方式获得一定的CSI(可以是瞬时值,也可以是短期或中长期统计信息),就可以通过一定的预处理方式对各个数据流加载的功率、速率乃至发射方向进行优化,并有可能通过预处理在发射机预先消除数据流之间的部分或全部干扰,以获得更好的性能。在预编码系统中,发射机可以根据信道条件,对发送信号的空间特性进行优化,使发送信号的空间分布特性与信道条件相匹配,因此可以有效地降低对接收机算法的依赖程度。即使采用简单的ZF或MMSE等线性处理算法,也能够获得较好的性能。
预编码可以采用线性或非线性方法,但由于复杂度等方面的原因,在目前的无线通信系统中一般只考虑线性预编码。经过线性预编码之后,MIMO信号模型表示为
这里写图片描述
式中,F为线性预编码矩阵。
MIMO的信道容量可以改写为
这里写图片描述
发射机可以通过上下行信道之间的互易性或通过UE反馈方式获取CSI。基于发射机获得的CSI,预编码系统可以根据信道所能支持的并行传输流数量,将有限的发射功率分配给能够有效传输的数据流,从而避免发射功率的浪费。从理论角度考虑,可以根据每个子信道的传输能力,按照类似注水定理的原则对每个数据流的功率分配进行优化,以提高MIMO链路的信道容量,同时可以通过自适应调制编码的方式使每个子信道的传输速率最大化。在TD-LTE中采用了自适应编码调制的方式,可以根据最多两个等效子信道的信道质量选择适当的调制编码方案以实现吞吐量的最大化。
根据所选择的优化目标与具体的接收机检测算法的区别,预编码器的理论设计准则可以采用最小奇异值准则(MSV-SC,Minimum Singular Value Criterion)、均方误差准则(MSE-SC,Minmum Square Error Criterion)、最大容量准则(MC-SC,Maximum Capacity Criterion)与最大似然准则(ML-SC,Maximum Likelihood Criterion)等。
这里写图片描述
信道矩阵的SVD(Singular Value Decomposition)分解可以表示为
这里写图片描述
根据文献的研究结论,在无记忆独立同分布的Rayleigh信道中,如果限定预编码矩阵为酉矩阵,则MSV、MSE与MC准则下的最优线性预编码器都是信道矩阵SVD分解之后得到的V矩阵的前NS列。需要说明的是,最优线性预编码器并不唯一。
根据预编码所使用的预编码矩阵集合的特点,可以将预编码分类为非码本方式的预编码和基于码本的预编码。所谓码本,是指有限个预编码矩阵所构成的集合,基于码本的预编码中,可用的预编码矩阵只能从码本中选取。而非码本方式的预编码中,并不对可选用的预编码矩阵的个数进行限制,因此预编码矩阵可以是任何符合设计规则与应用条件限制的矩阵,而并不限于取自某个特定的码本。

基于码本的预编码

在实际的通信系统中,反馈信道所能支持的数据速率一般较为有限。为了降低反馈开销,文献[10]中提出了有限反馈条件下的预编码方案,即基于码本的预编码。设计通信系统时,可以用若干个预编码矩阵构成一个码本,这一码本的内容是发射机和接收机都是确知的。UE根据公共导频(CRS)测量下行信道,得到信道矩阵。基于预先设定的码本,UE可以按照某种优化准则,从码本中选择与当前信道条件最为匹配的预编码矩阵,并通过反馈链路将其标号反馈给eNode B。根据所推荐的PMI,UE同时还需要计算出使用该PMI后的信道质量,并上报信道质量指示(CQI)。UE计算PMI和CQI的过程中,都需要考虑自身的接收处理算法。
eNode B在下行传输过程中,将以UE上报的预编码矩阵标号(PMI)为参考对数据进行预编码。考虑到eNode B在下行使用的预编码矩阵可能与UE上报的PMI不一致,为了保证UE能够获知预编码后的等效信道并对下行数据进行相干解调,eNode B需要在下行控制信令中明确指示其所用的预编码矩阵。
码本的设计方法对预编码的性能有重要的影响,优化的码本设计应当考虑到天线阵列的形式以及信道条件等因素。如前所述,在无记忆独立同分布的Rayleigh信道中,MSV、MSE与MC准则下的最优线性预编码器都是信道矩阵SVD分解之后得到的V矩阵的前NS列,而在上述条件下V矩阵在酉空间中各向同性分布。因此,码本的设计可以描述为Grassmannian Subspace Packing问题,即在酉空间中寻找N个矩阵,使其中任意两个预编码矩阵所张成的子空间的最小距离最大化。按照这种原则设计的码本将均匀地分布在整个酉空间中。距离测度的选择取决于接收机使用的预编码矩阵选择准则,常用的距离测度包括以下两种。
(1)投影二范数距离:
这里写图片描述
适用于MSV-SC、MSE-SC(使用迹作为代价函数)与ML-SC。
(2)Fubini-Study距离:
这里写图片描述
适用于MC-SC与MSE-SC(使用行列式作为代价函数)。
基于码本的预编码方法不需要利用信道的互易性,因此不需要对射频链路的收/发对称性进行校准,同时对UE的上行传输能力也没有要求。此外,基于码本的CQI计算过程能够反映UE的处理算法,因而相对比较准确。但是,基于码本的预编码方法存在量化精度损失的问题,因此预编码矩阵不能与信道精确地匹配。随着码本大小的增加,基于码本的预编码的性能会有所提升,但是同时也应当考虑到PMI上报与下行控制信令的开销。

非码本方式的预编码

非码本预编码利用了信道的互易性特性,eNode B根据上行发送信号获得上行信道信息,并基于信道互易性,获得下行信道信息,利用所获得的信道信息进行矩阵分解,生成所需的预编码矩阵。非码本预编码方法在TDD系统中有突出的优势,减少了上行反馈的开销,有利于eNode B灵活选取预编码矩阵。非码本方式的预编码矩阵的选择取决于eNode B的具体实现算法,不需要通过下行控制信令通知所用的预编码矩阵。为了使UE能够进行相干解调,需要发送专用导频使UE估计预编码后的等效信道。其中,专用导频也经过了与业务数据相同的预编码处理。
如果eNode B能够及时地获得准确且完整的信道矩阵,则eNode B可以直接计算出与信道传输特性匹配的预编码矩阵。在上述条件下,非码本方式的预编码可以避免量化精度的损失,但是预编码的频域和时域颗粒度可能会对性能带来较为显著的影响。
非码本方式的预编码中,eNode B需要根据所获得的CSI选择预编码矩阵。对于TDD系统,CSI可以通过信道互易性或UE的反馈获得,对于FDD系统也可以利用信道中长期统计特性的对称性获取下行CSI,但是瞬时或短期CSI只能通过UE的上报获得。如果利用互易性获取瞬时或短期CSI,需要对射频链路的收/发对称性进行校准。如果UE的发射机数量少于接收机数量,则必须通过天线切换或其他方式使eNode B获得完整的CSI。如果eNode B通过UE反馈的方式获得CSI,则需要仔细考虑CSI的反馈开销。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

预编码技术 的相关文章

  • 10年老技术人员:C++ 该如何快速入门?

    C 是一门面对对象的语言 我们如何学习呢 其实任何的难题都是多种简单的部分通过复杂的关系组合在一起 学语言 最关键的是理解而不是运用 高中的时候 老师给出的公式 都是告诉我们用就好了 不用去了解它怎么来的 但是语言不一样 你如果只会用那你是
  • vue遍历Map,Map在vue中的使用方法

    Map在vue中的使用方法 html 遍历的时候要遍历两遍
  • base64图片编码大小与原图文件大小之间的联系

    base64图片编码大小与原图文件大小之间的联系 有时候我们需要把canvas画布的图画转换成图片输出页面 而用canvas生成的图片就是base64编码的 它是由数字 字母等一大串的字符组成的 但是我们需要获取它的文件流大小该怎么办呢 B
  • Go语言值不值得学,发展前景怎么样?

    我学习了java和golang java用了5年 无限感慨java的生态 工业级的语言 无数的解决方案 不管你是做互联网还是传统行业的开发用java开发总能解决一切很多的问题 国内巨头阿里巴巴更是把java推向了极致 golang作为一个新
  • 什么是区块链----概念

    前言 从2016年年初开始 区块链这个概念越来越热越来越火 有人说他可以颠覆金融行业 也有人觉得这就是个噱头 这个2016火起来的技术其实早在2008年 比特币的诞生就基于区块链 技术火归火 落地的应用却没有那么多 周围的朋友同学都听说过这
  • 不管人工智能发展如何 开发者都有必要了解 Linux 内核

    Linux内核在计算机世界的地位有目共睹 称它为计算机世界的基石也不为过 而且它还是全球最大的开源项目 几乎最知名的科技公司都参与其中 包括谷歌 Red Hat SUSE Intel Facebook 甲骨文和华为等 当然还包括Linux的
  • 前端,后端,全栈哪个好找工作?

    职场老油子说说 现在啥岗位不好找工作 啥 想钱多 活少 离家近 最好单位发异性 这得靠实力 运气 如果是刚毕业 啥都不懂但又想从事技术行业 可以到职场上历练 而不是说报个培训机构 他们只能解决你的焦虑问题 而不是实际问题 如果只是混个工作
  • java关于ArrayList,Vector,LinkedList,Set及其面试题+LeetCode136两种方式实现

    ArrayList ArrayList的遍历补充 将list转换为数组 使用toArray 方法将列表转换为数组 再对数组进行遍历 Test void test01 List
  • 程序员技术面常用知识点

    转自 http blog csdn net qq 15437629 article details 52388685 在这里只做备份 计算机网络 TCP IP 模型 TCP IP协议集的分层实施 为什么要给网络划分层次 1 各层之间相对独立
  • 机器入门学习方法与学习路径

    机器学习方法与学习路径 1 数学基础 有无数激情满满大步向前 誓要在机器学习领域有一番作为的同学 在看到公式的一刻突然就觉得自己狗带了 是啊 机器学习之所以相对于其他开发工作 更有门槛的根本原因就是数学 每一个算法 要在训练集上最大程度拟合
  • 转:使用DOS命令chcp查看windows操作系统的默认编码以及编码和语言的对应关系

    代码页是字符集编码的别名 也有人称 内码表 早期 代码页是IBM称呼电脑BIOS本身支持的字符集编码的名称 当时通用的操作系统都是命令行界面系统 这些操作系统直接使用BIOS供应的VGA功能来显示字符 操作系统的编码支持也就依靠BIOS的编
  • 字符集、编码、Oracle

    目录 一 字符集与编码常识 字符集 编码 ASCII GB2312 GBK GB18030 第二部分 Oracle中的编码与字符集 1 为什么需要两个字符集 2 字符集名称的玄机 3 例子很重要 3 1 准备两个数据库 3 2 工具很重要
  • 三招搞定你的ubuntu安全问题

    本篇主要介绍以下三个部分 反病毒引擎clamav的安装和使用 ubuntu ufw限制访问地址 ubuntu用户连接失败锁定指定时间 反病毒引擎clamav的安装和使用 简介 ClamAV是一款开源的反病毒引擎 用于检测病毒 特洛伊木马 恶
  • 区块链三加一:深度论区块链的联盟链意义与作用

    随着区块链技术的发展 越来越受个人及企业的关注 而和区块链联系最为紧密的 恐怕就是金融行业了 然而虽然区块链大受热捧 但毕竟区块链是属于公有区块链 公有区块链有着其不可编辑 不可篡改的特点 这就使得公有链并不适合企业使用了 毕竟如果某金融企
  • 作为技术岗位面试官的一些分享

    我在过去的四年里参与了很多公司技术岗位的面试 说实话要看出一个人的综合素质 我还真的做不到 至于其他面试官是否可以 我也不得而知 但我个人感悟是 在面试过程中 面试官更加多的是去匹配和比较 在招聘过程中 企业会根据人力需求先制定出一套招聘需
  • 为什么程序员都喜欢安静?

    大家回顾一下上学期间 你在上晚自习想完成今天老师布置的作业 但是你的班级却非常的吵闹 跟置身在菜市场一样 你能专心完成作业吗 不受周围吵闹环境的影响吗 相信大部分的人都难以静下心来认真完成作业 有时候好不容易想到一个思路 结果旁边的人拍你一
  • Docker-swarm 介绍,集群,多服务部署实战

    一 什么是Docker Swarm Swarm是Docker公司推出的用来管理docker集群的平台 几乎全部用GO语言来完成的开发的 代码开源在https github com docker swarm 它是将一群Docker宿主机变成一
  • 一致性哈希算法,hash(key)是负值时,会出现异常吗?

    一致性哈希算法 hash key 是负值时 会出现异常吗 一致性哈希算法中 哈希函数hash key 的返回值通常是一个非负整数 如果hash key 返回负值 则可能会出现一些问题 例如无法正确地映射对象到哈希环上的位置 或者无法正确地找
  • C#有像Java ThreadLocal的类似实现吗?

    在C 中 可以使用 ThreadLocal
  • 对技术行业的深度思考

    技术行业是当今世界最为热门和发展迅猛的领域之一 无论是互联网 人工智能还是区块链 技术的快速发展正在改变着我们的生活和社会 然而 我们是否真正思考过技术在我们生活中的影响和意义 本文将对技术行业展开深度思考 探讨其带来的优势与挑战 以及如何

随机推荐

  • Spring Boot 中的 KafkaTemplate 是什么,原理,如何使用

    Spring Boot 中的 KafkaTemplate 是什么 原理 如何使用 Kafka 是一个流行的分布式消息系统 它可以用于在应用程序之间传递消息 Spring Boot 提供了对 Kafka 的支持 我们可以使用 Spring B
  • org.springframework.beans.factory.UnsatisfiedDependencyException异常问题的解决

    最近学了IDEA和SpringBoot MyBatis了 正所谓学以致用 于是用所学的来做项目 单元测试时报了下面的异常 Caused by org springframework beans factory UnsatisfiedDepe
  • WPF 在XAML中通过控件事件改变另一控件属性

    使用WPF进行开发 很多时候是要注意UI和后台代码的分离 尤其是要改变WinForm中的事件驱动机制 可是近期的开发遇到了这样一个问题 就是当一个控件的事件触发时 改变同级别的另一控件的属性 文字能力实在单薄 还是通过具体例子来说吧 首先
  • 深度学习训练模型的硬件条件

    之前热衷于学习理论知识 目前想跑代码了发现不知道从何下手 自己电脑上搭建的平台基本就是个摆设 因为跑不起来呀 今天我们就来看看想做深度学习应该怎么下手 首先了解下基础知识 1 深度学习用cpu训练和用gpu训练的区别 1 CPU主要用于串行
  • linux 上运行jxbrower出现的问题

    最近做了一个jxbrower抓取微信公众号文章的程序 想着挂在linux上定时运行 布上去却有几个问题这边总结一下 我得服务器是ubuntu16版本的 1 在linux无桌面的版本运行需要用x server运行 2 就是linux的Chro
  • L2-1 包装机PTA

    一种自动包装机的结构如图 1 所示 首先机器中有 N 条轨道 放置了一些物品 轨道下面有一个筐 当某条轨道的按钮被按下时 活塞向左推动 将轨道尽头的一件物品推落筐中 当 0 号按钮被按下时 机械手将抓取筐顶部的一件物品 放到流水线上 图 2
  • qt中drawline函数的参数_Qt--基础图形绘制

    一 基础图形绘制 A Qt图形系统中的关键角色 QPainter Qt中的画家 能够绘制各种基础图形 拥有绘图所需的画笔 画刷 字体 QPaintDevice Qt中的画布 画家的绘图板 所有的QWidget类都继承自QPaintDevic
  • (小白学java)Java 循环结构

    Java中有三种主要的循环结构 while 循环 do while 循环 for 循环 while 循环 和c很像了 不多写了 public class demo public static void main String args in
  • Javascript设计模式-10-迭代器模式

    Javascript设计模式 10 迭代器模式 简介 提供一种方法 顺序访问一个聚合对象中各个元素 而又不需要暴露该方法中的内部表示 迭代器模式可以把迭代的过程从业务逻辑中分离出来 在使用迭代器模式之后 即使不关心对象的内部构造 也可以按顺
  • 个人养老话题

    中国家庭的财富保卫战有三大战场 1 生娃 2 买都市圈里的好房子 3 买好股 好基
  • 【RSA】RSA加密、解密、签名与验证

    前言 最近要做iOS SDK的联网授权 涉及到数据安全验证 因此想到使用RSA进行签名和验证 授权主要流程如下 1 客户方前往我方开放平台注册授权 得到AppId和AppSecret 2 客户方集成SDK 调用Register接口传入App
  • 【数据采集】获取网站数据(二)

    获取网站数据 二 1 常用的数据采集python库 Beautiful Soup https www crummy com software BeautifulSoup bs4 doc zh pyspider http docs pyspi
  • 领域建模概述

    0 概述 在软件工程中 有两个高阶的工作的分别是架构和建模 如果把写代码比喻成施工 那么架构和建模就是设计图纸 相比编码 那么建模的确是对设计经验和抽象能力要求更高的一种技能 本文主要探讨一下对领域建模相关知识的理解 1 什么是领域建模 1
  • 算法:通过迪杰斯特拉(Dijkstra)算法,求出图中任意顶点到其他顶点的最短路径

    请看如下的示例图 该图有 V1 V7 七个顶点 每个顶点之间的距离 路径走向如图所示 假设这是一幅地图 我们很多时候都需要搜路径 比如从家到公司的路线图 也就是说 家是一个点 公司是另一个点 上图的各个点可以想象成分岔路口 当然 如果你不在
  • 安装Apache Atlas遇到的错误

    安装apache atlas 启动atlas server报错 查看logs atlas 20220524 115239 out文件 Caused by org springframework beans factory Unsatisfi
  • mysql从视图中获取字段值_MYSQL中视图的使用

    1 什么是视图 执行一条SQL 将结果集保存在一张虚拟表中 2 为什么要使用视图 重复利用SQL语句 简化SQL查询 快速取数据 只用知道表的部分结构 保护数据 根据特定授权 更改数据格式和表示 视图可返回与底层表的表示和格式不同的数据 注
  • maven私有仓库nexus3.5搭建与使用

    maven私有仓库nexus3 5搭建与使用 参考网址 http blog csdn net clj198606061111 article details 52200928 http www cnblogs com jingmoxukon
  • leetcode刷题日志4.0

    目录 前言 1 三个数的最大乘积 2 错误的集合 3 机器人能否返回原点 4 最长连续递增序列 5 验证回文串 II 6 交替位二进制数 前言 五一假期结束了 大家玩的开心吗 不过我们还得回到我们的日常生活学习工作当中 那今天我就分享一下我
  • 性能测试最佳实践的思考,7个要点缺一不可!

    性能测试是软件开发和应用过程中至关重要的环节 它是评估系统性能 稳定性和可扩展性的有效手段 可以确保软件在真实环境中高效运行 在现代技术快速发展的时代 性能测试的重要性愈发显著 性能测试在软件开发和应用过程中的重要性不可低估 它是保障用户体
  • 预编码技术

    预编码的基本原理 TD LTE下行传输采用了MIMO OFDM的物理层构架 通过最多4个发射天线并行传输多个 最多4个 数据流 能够有效地提高峰值传输速率 LTE的物理层处理过程中 预编码是其核心功能模块 物理下行共享信道的几种主要传输模式