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

news2025/1/13 15:40:36

目录

一. 介绍

二. 极大似然译码

三. 破零译码算法

四. 最小均方误差算法

五. 球形译码


一. 介绍

发射天线数记为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.coloradmin.cn/o/1609210.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【若依前后端分离】温湿度仪表盘

示例&#xff1a; 代码&#xff1a; TemperatureAndHumidity.vue组件 //温湿度仪表盘 <template><div><!-- 在这里放置你的图表组件 --><div ref"echarts" style"width: 100%; height: 400px;"></div></div> </t…

【C++干货基地】面向对象核心概念 const成员函数 | 初始化列表 | explicit关键字 | 取地址重载

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引入 哈喽各位铁汁们好啊&#xff0c;我是博主鸽芷咕《C干货基地》是由我的襄阳家乡零食基地有感而发&#xff0c;不知道各位的…

数据结构PT1——线性表/链表

1&#xff1a;顺序存储实现(数组实现) Data&#xff1a; a1 a2 .....ai ai1 .... an .... typedef struct LNode *List; //指向LNode的指针&#xff0c;这是typedef的&#xff0c;你可以随时声明&#xff0c;而不加typedef只是创建一个 struct LNode{ //结构体成员ElementT…

Sentinel 流控注解使用

大概原理&#xff1a;通过反射解析注解 SentinelResource信息完成调用&#xff0c;处理方法&#xff0c;类似AOP编程 处理方法的返回类型要保持一致&#xff0c;参数和顺序保持一致&#xff0c; 可以在参数列表最后加 com.alibaba.csp.sentinel.slots.block.BlockException; …

【leetcode面试经典150题】62. K 个一组翻转链表(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主&#xff0c;题解使用C语言。&#xff08;若有使用其他语言的同学也可了解题解思路&#xff0c;本质上语法内容一致&…

OpenHarmony音视频—opus

简介 Opus是一种用于在互联网上进行交互式语音和音频传输的编解码器。它可以从低比特率窄带语音扩展到非常高的高品质立体声音乐。 下载安装 直接在OpenHarmony-SIG仓中搜索opus并下载。 使用说明 以OpenHarmony 3.1 Beta的rk3568版本为例 将下载的opus库代码存在以下路径&a…

视觉slam14讲-大纲-持续更新

视觉slam入门太难 数学理论编程知识计算机视觉知识 缺一不可&#xff0c;大家一起加油

ACL的基本配置

已经启用&#xff52;&#xff49;&#xff50;实现了全网可达。 这时我们要拒绝R1与R4的路由通信&#xff0c;做标准ACL过滤关注源IP需要尽量靠近目标。则在R4的物理接口G0/0/1的&#xff49;&#xff4e;接口上做&#xff0c;不能在R4的环回接口上做&#xff0c;因为ACL列表…

网络管理和文件传输的工具推荐

在Hadoop及以后的相关学习中 我给大家推荐两款好用的软件 Xshell和Xftp是两款常用于网络管理和文件传输的工具。 首先&#xff0c;让我来介绍一下Xshell。Xshell是一款功能强大的SSH&#xff08;Secure Shell&#xff09;客户端&#xff0c;它允许用户通过安全加密的方式远程…

【web网页制作】html+css旅游家乡山西主题网页制作(3页面)【附源码】

山西旅游网页目录 涉及知识写在前面一、网页主题二、网页效果Page1、景点介绍Page2、酒店精选|出行攻略Page3、景色欣赏 三、网页架构与技术3.1 脑海构思3.2 整体布局3.3 技术说明书 四、网页源码4.1 主页模块源码4.2 源码获取方式 作者寄语 涉及知识 山西旅游主题网页制作&am…

idea显示maven或者gradle无法从仓库获取到项目中的jar包,jar包所在仓库无法访问解决方法,百试百灵

**idea显示maven或者gradle无法从仓库获取到项目中的jar包&#xff0c;jar包所在仓库无法访问解决方法&#xff0c;百试百灵** 直接上图&#xff0c;大概的故障问题就是&#xff1a;idea导入新的项目&#xff0c;因为项目中很多的jar需要从远程仓库下载&#xff0c;但是远程仓库…

跟着Carl大佬学leetcode之844 比较含退格的字符串

来点强调&#xff0c;刷题是按照代码随想录的顺序进行的&#xff0c;链接如下https://www.programmercarl.com/本系列是记录一些刷题心得和学习过程&#xff0c;就看到题目自己先上手试试&#xff0c;然后看程序员Carl大佬的解释&#xff0c;自己再敲一遍修修补补&#xff0c;练…

IDM的实用功能介绍+下载地址

下载地址 &#xff1a; 下载到idm 互联网下载管理器&#xff08;IDM&#xff09;实用功能概述 1. 多线程下载 IDM使用多线程技术&#xff0c;将文件分割成多个部分同时下载&#xff0c;显著提高下载速度。 2. 计划任务 用户可以设定下载任务的开始时间&#xff0c;甚至在特…

SSDReporter for Mac:全面检测SSD健康,预防数据丢失,让您的Mac运行更稳定

SSDReporter for Mac是一款专为Mac用户设计的固态硬盘&#xff08;SSD&#xff09;健康状况检测工具&#xff0c;旨在帮助用户全面了解并监控其Mac设备中SSD的工作状态&#xff0c;从而确保数据的完整性和设备的稳定性。 这款软件具有多种强大的功能。首先&#xff0c;它能够定…

DevOps流程的简单总结

DevOps流程图&#xff1a; DevOps流程包含&#xff1a;计划&#xff08;plan&#xff09;、编码(code)、编译(build)、测试(test)、发布(release)、部署(deploy)、运营(operate)、监控&#xff08;monitor&#xff09;&#xff0c;这是一个循环的过程。DevOps是依托容器、自动化…

数据赋能(62)——要求:数据管理部门能力

“要求&#xff1a;数据管理部门能力”是作为标准的参考内容编写的。 在实施数据赋能中&#xff0c;数据管理部门的能力体现在多个方面&#xff0c;关键能力如下图所示。 在实施数据赋能的过程中&#xff0c;数据管理部门应具备的关键能力如下。 数据治理与标准化能力 数据管…

python爬虫-----深入了解 requests 库(第二十五天)

&#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; &#x1f388;&#x1f388;所属专栏&#xff1a;python爬虫学习&#x1f388;&#x1f388; ✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天…

C#控制台相关方法

控制台相关方法 文章目录 控制台输入1、清空2、设置控制台3、设置光标位置&#xff0c;1y 2x4、设置颜色相关5、光标显隐6、关闭控制台思考 移动方块 控制台输入 //如果ReadKey(true)不会把输入的内容显示再控制台上 char c Console.ReadKey(true).KeyChar;1、清空 ​ Cons…

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

题目&#xff1a; 题解&#xff1a; func combinationSum2(candidates []int, target int) (ans [][]int) {sort.Ints(candidates)var freq [][2]intfor _, num : range candidates {if freq nil || num ! freq[len(freq)-1][0] {freq append(freq, [2]int{num, 1})} else {…

免费高效无广告!开源的跨平台文件下载器:FileCentipede

FileCentipede&#xff1a;高速、全能、零广告的开源跨平台下载神器&#xff0c;汇聚多种协议&#xff0c;为您带来前所未有的免费下载体验&#xff01;- 精选真开源&#xff0c;释放新价值。 概览 在这个数字数据几乎构成一切的时代&#xff0c;从最终用户的角度来看&#xf…