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

目录

一. 介绍

二. 极大似然译码

三. 破零译码算法

四. 最小均方误差算法

五. 球形译码


一. 介绍

发射天线数记为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输出结果类似。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/558217.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

axios的封装理解和基本使用

axios的配置 ruoyi的前端对axios进行了封装,让我们发get请求或者是post请求更加方便了。 ruoyi对axios的封装在下面文件中:打开文件,可以看到它有三个显眼的方法,分别是request拦截器、response拦截器和通用下载方法。ruoYi接口地…

CommunityToolkit.Mvvm笔记---ObservableValidator

ObservableValidator 是实现 INotifyDataErrorInfo 接口的基类,它支持验证向其他应用程序模块公开的属性。 它也继承自 ObservableObject,因此它还可实现 INotifyPropertyChanged 和 INotifyPropertyChanging。 它可用作需要支持属性更改通知和属性验证的…

Redis中的Lua脚本(五)

Lua脚本 脚本复制 复制EVALSHA命令 EVALSHA命令式所有与Lua脚本有关的命令中,复制操作最复杂的一个,因为主服务器与从服务器载入Lua脚本的情况可能有所不同,所以主服务器不能像复制EVAL命令、SCRIPT LOAD命令或者SCRIPT FLUSH命令那样&…

2024 Polkadot Decoded 大会亮点前瞻,立即预定参会席位

原文:https://medium.com/polkadotnetwork/polkadot-decoded-2024-uniting-innovators-in-blockchain-technology-75fc3d8e93fe 作者:Polkadot 编译:OneBlock Polkadot 生态宣布他们的旗舰活动 —— Polkadot Decoded 将再次举行&#xff…

跟TED演讲学英文:How AI could empower any business by Andrew Ng

How AI could empower any business Link: https://www.ted.com/talks/andrew_ng_how_ai_could_empower_any_business Speaker: Andrew Ng Date: April 2022 文章目录 How AI could empower any businessIntroductionVocabularyTranscriptSummary后记 Introduction Expensiv…

von Mises-Fisher Distribution (Appendix 2)

5.3 Fast Python Sampler of the von Mises Fisher Distribution [3] 从论文中 p r o c e d u r e A n g l e G e n e r a t o r ( d , κ ) procedure~AngleGenerator(d, κ) procedure AngleGenerator(d,κ) 中的变换来看, 假设 y ∼ B e ( m − 1 2 , m − 1 2 ) y \sim …

Linux【实战】—— LAMP环境搭建 部署网站

目录 一、介绍 1.1什么是LAMP? 1.2LAMP的作用 二、部署静态网站 2.1 虚拟主机:一台服务器上部署多个网站 2.1.1 安装Apache服务 2.1.2 防火墙配置 2.1.3 准备网站目录 2.1.4 创建网站的配置文件 2.1.5 检查配置文件是否正确 2.1.6 Linux客户端…

【华为 ICT HCIA eNSP 习题汇总】——题目集17

1、以下哪项不属于网络层安全威胁? A、DDos攻击 B、钓鱼攻击 C、IP Spoofing D、IP地址扫描 考点:网络安全 解析:(B) 钓鱼攻击通常被认为是应用层的安全威胁,也有在网络层进行伪装实施钓鱼攻击,…

TCP/IP常用协议栈图解

1.引言 最近看了一些计算机网络的课程,总结借鉴了一些TCP/IP常用协议,罗列在以下图中,以便有一个整体观。 2.图解 先上图 3.总结 TCP/IP协议是实际用的计算机网络通信的标准协议栈,自上而下分为应用层,传输层&#xf…

关于二级指针void**的一点问题与思考

前言 这两天写一个高并发内存池的项目时,遇到了一个关于二级指针的问题,剖析清楚后发觉有必要记录一下,这让我加深了对于C/C中指针的理解(果然学到老活到老)。 问题的分析 在我的内存池项目中,有一个需求…

【TEE论文】IceClave: A Trusted Execution Environment for In-Storage Computing

摘要 使用现代固态硬盘(SSD)的存储中计算使开发人员能够将程序从主机转移到SSD上。这被证明是缓解I/O瓶颈的有效方法。为了促进存储中计算,已经提出了许多框架。然而,其中很少有框架将存储中的安全性作为首要任务。具体而言&…

WebLogic 数据源连接泄露

编码时,有时会忘记释放使用的数据源连接,造成连接泄露,没有连接资源可用。 现象 java.sql.SQLException: Cannot obtain XAConnectionat weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1691)at weblogic.jdbc.jta.…

ssm062会员管理系统+jsp

会员管理系统 摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于会员管理系统当然也不能排除在外,随着网络技术的不断成熟,带动了会员管理系统,它彻底改…

Java项目引入log4j2

log4j2 单独使用 引入依赖 <dependencies><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>2.14.0</version></dependency><dependency><groupId>o…

[管理者与领导者-174] :人际网络-1- 网络概述,是由一个个人组成的网络,每个节点是“人”

目录 一、数据通信网络 二、移动通信网络 三、人际网络 四、计算机网络与人际网络的比较 五、人际网络中节点-人的分层架构 5.1 人&#xff08;节点&#xff09;的分层架构&#xff1a;个体生理、个体心理、人际关系、社会功能 5.2 什么是人性 5.3 人性的特点 5.3 人性…

智能化新浪潮:国产智能体势在必行,一探究竟!

回顾之前的文章 GPTs大爆发&#xff1a;我的智能助手累计使用71k&#xff0c;荣登全球排名79&#xff0c;我们已经见证了智能助手的强劲增长势头。今天&#xff0c;我兴奋地分享一个新的里程碑&#xff1a;我的GPTs使用量已经突破10万次&#xff0c;排名再次提升&#xff01; 接…

盲人出行新助手:无障碍技术的进步

作为一名资深记者&#xff0c;我始终关注着社会弱势群体的生活权益&#xff0c;尤其是对于视障人士这一特殊群体。在科技日新月异的今天&#xff0c;我们欣喜地看到&#xff0c;盲人无障碍设施这一概念正在以更为先进、人性化的形式实现落地&#xff0c;其中&#xff0c;一款名…

与上级意见不合时如何恰当地表达自己的观点?

在工作中与上级意见不合时&#xff0c;恰当表达自己的观点并寻求共识是一个需要谨慎处理的问题。以下是一些建议&#xff1a; 1. **尊重与礼貌**&#xff1a;在任何情况下&#xff0c;都应保持对上级的尊重和礼貌。即使在意见不合时&#xff0c;也要避免情绪化&#xff0c;保持…

简单二分应用

思路&#xff1a;首先二分需要数列有二分性&#xff0c;我们要对数列排序&#xff0c;然后二分距离&#xff0c;直到出现一个距离可以满足&#xff0c;点数大于等于k。 代码&#xff1a; void solve(){int n, q;cin >> n >> q;vector<int>a(n);for(int i …

代码随想录:二叉树11-12

目录 222.完全二叉树的节点个数 题目 代码&#xff08;层序迭代&#xff09; 代码&#xff08;后序递归&#xff09; 代码&#xff08;满二次树递归&#xff09; 总结 110.平衡二叉树 题目 代码&#xff08;后序递归&#xff09; 代码&#xff08;层序迭代&#xff0…