MIMO(多天线)通信的四种译码算法

news/2024/9/22 20:50:40/

目录

一. 介绍

二. 极大似然译码

三. 破零译码算法

四. 最小均方误差算法

五. 球形译码


一. 介绍

发射天线数记为Mt,接收天线数记为Mr。由此发射信号x为向量:

接受信号y为向量:

信道H为矩阵:

利用n代表噪声向量,由此可得MIMO通信系统模型为:

y=Hx+n

噪声服从复高斯分布,通常假定均值为0,方差为1,如下:

发射信号的总功率限定为\rho,由此需要发射信号x的均值满足如下关系:

接收端在收到y后,就尝试译码出x,但译码不一定完全正确,所以记为(estimate):

接收端在译码之前通常已知:信号矩阵(channel matrix)H,集合X,y

二. 极大似然译码

Maximum likelihood:ML,极大似然译码

在接下来的讨论中,我们不妨假设发射信号x为均匀分布。

如果想要译码错误率最小,那么最优的则是极大似然译码。假定噪声在不同的维度上独立同分布(IID),那么接收端采用极大似然译码时,其本质就是解决如下目标函数(objective function):

理解:遍历所有可能得发射向量x,很明显需要尝试|\mathcal{X}|^{M_t}次。所以极大似然译码算法的复杂度与发射天线Mt成指数关系。

三. 破零译码算法

zero forcing:ZF,迫零算法

迫零算法属于线性译码。线性译码的复杂度与对矩阵进行求逆(inverting),分解(factorizing)是差不多的。简单来讲就是从空间的角度消除信道的影响,也就是所谓的MIMO均衡过程。来看下对应的英文表达:

Spatially decoupling the effects of the channel by a process known as MIMO equalization
也就是对接收向量y乘以MIMO均衡矩阵A,如下:

由此可得:

此步的结果不一定在原始的集合中,所以需要进一步运算得到\hat x(y)。通常就是利用逐维度进行译码,该步译码方程可记作:

理解:从不同的维度上,映射到离其最近的星座点(constellation point)上。

接下来,我们将详细讲解迫零算法。

需要注意的是,线性译码的精髓是如何已知y,求解\tilde x(y)

将迫零算法需要面临的方程问题如下:

与极大似然译码相比,看起来方程很类似。细心的话会发现去掉了对x范围的限制,由此便降低了算法的复杂度。

如何H为可逆的方阵(square invertible)。这个问题可直接求解为:

对于可逆的方阵,也就是:

H^\dagger=H^{-1}

在其他情况则可以考虑矩阵的伪逆。通常在通信系统中,要求接收天线要不少于发射天线,也就是:

这样就可以保证信道矩阵H中有Mt列线性独立的列,由此伪逆(Moore-Penrose pseudoinverse)可计算为:

对信道矩阵H求逆的算法复杂度为立方。当然从\tilde x(y)得到\hat x(y),根据前面的方程,很明显与天线之间呈现线性关系。

四. 最小均方误差算法

linear minimum mean squared error (L-MMSE):线性最小均方误差算法

如果信道矩阵H的奇异值(singular value)太大,迫零算法会导致噪声扩大(noise amplification)。根据线性代数的基础,此性质可用矩阵H的条件数(condition number)来衡量,定义为最大奇异值与最小奇异值的比值。

如果条件数趋近于1,那么迫零算法误差相对不大,矩阵well conditioned。

如果条件数过大,那么迫零算法误差将也会变大,矩阵ill conditioned。

对迫零算法的目标函数,添加一个调节项,也就是:

该目标函数的求解也不难,可得:

对于L-MMSE,上式子中的\lambda定义为天线数除以总功率,也就是:

该方程求解的本质为:

理解:上式子中s与y之间呈现线性关系,也就是所谓的仿射关系(affine)。

E代表与x和n相关的均值。需要注意的是,对于接收方来讲,信道矩阵H是固定且已知的。

实际上如果忽略x来自于离散的星座点,也将其看成连续的高斯分布的话,那么这就是MMSE译码器(MMSE detector)。

与极大似然译码(ML)相比,线性译码器的优点是操作简单,缺点是BER(比特误码率)较高。

五. 球形译码

sphere decoder:SD,球形译码

球形译码有一个很重要的半径参数r,由此来根据需要平衡性能与复杂度,很像格密码

如果选择足够大的r,那么球形译码的性能会接近极大似然译码(ML)。

如果r较小,需要搜寻的空间会变小,由此复杂度降低(与ML相比),当然代价就是正确率会下降。

球形译码器需要首先对信道矩阵H进行分解,如下:

H=QR

其中Q为酉矩阵(unitary),R为上三角矩阵(upper triangular)。回忆起来,酉矩阵Q与其转置Q^H不会改变向量的l2范数(squared distance norm),由此可得:

以上式子的运算就利用到了:

最后一个等号:R为上三角矩阵。

当半径r取无穷大时,方程便会得到ML算法的解。

当半径r取值不大时,借助深度优先搜寻(depth first search)或者宽度优先搜寻(breadth first search),利用上三角矩阵R的性质,可以去掉很多离得远的x,由此便可以降低算法复杂度。

实践证明球形译码的输出结果一般与ML输出结果类似。


http://www.ppmy.cn/news/1434958.html

相关文章

Python基础:【习题系列】多选题(一)

在Python中,哪些关键字用于流程控制? A. if B. function C. while D. for 答案:A, C, D 关于Python中的数据类型,以下哪些说法是正确的? A. 列表是可变的 B. 元组是不可变的 C. 字典可以使用可变数据类型作为键 D. 集合不允许重复元素 答案:A, B, D 在Python中,以下哪些…

如何用PHP语言实现远程语音播报

如何用PHP语言实现远程语音播报呢? 本文描述了使用PHP语言调用HTTP接口,实现语音播报。通过发送文本信息,来实现远程语音播报、语音提醒、语音警报等。 可选用产品:可根据实际场景需求,选择对应的规格 序号设备名称1…

mybatis映射postgres数据库的geometry类型

mybatis映射postgres数据库的geometry类型 文章目录 mybatis映射postgres数据库的geometry类型一、问题背景和需求描述二、解决步骤1、导入java类型转换需要的包2、自定义mybatis类型转换器(GeometryTypeHandler)3、注册类型转换器(springBoot项目)4、在实体类添加类型转换器…

【2024-04-24】华为春招笔试三道编程题解

恭喜发现宝藏!搜索公众号【TechGuide】回复公司名,解锁更多新鲜好文和互联网大厂的笔经面经。 作者@TechGuide【全网同名】 订阅专栏: 【专享版】2024最新大厂笔试真题解析,错过必后悔的宝藏资源! 第一题:满二叉搜索树查找 题目描述 给定2^n-1个不同的整数(1<=n<…

Visual Studio2010源码编译curl_7_60

一、源码解压目录内容 很开心里面可以找到CMakeLists.txt文件&#xff0c;说明可以实用CMake工具进行构建&#xff0c;由于多数开源项目都选择实用CMake作为构建编译工具&#xff0c;大家蝇该都比较熟练了。 二、实用CMake开始构建Visual Studio 2010工程 很顺利整个构建过程没…

C++ | Leetcode C++题解之第40题组合总和II

题目&#xff1a; 题解&#xff1a; class Solution { private:vector<pair<int, int>> freq;vector<vector<int>> ans;vector<int> sequence;public:void dfs(int pos, int rest) {if (rest 0) {ans.push_back(sequence);return;}if (pos fr…

【学习笔记二十六】EWM 盘点后台配置和前台演示

一、EWM盘点业务概述 SAP EWM(Extended Warehouse Management)模块中的盘点业务是一个关键流程,它允许企业对仓库中的库存进行实物清点,以确保系统中记录的数据与实际库存相符。盘点过程有助于企业识别库存差异,从而进行必要的库存调整,确保库存记录的准确性,这对于财务…

找对方法,单位信息宣传工作向媒体投稿其实也简单

曾经,作为一名肩负单位信息宣传重任的我,每当面对那堆叠如山的稿件与闪烁不定的电脑屏幕,心中总会涌起一股无尽的焦虑与疲惫。尤其在向媒体投稿这个环节,我仿佛陷入了一个难以挣脱的漩涡,邮箱投稿的艰辛、审核的严苛、出稿的迟缓以及成功发表的少之又少,如同一座座无形的大山压…