MMSE (Minimum Mean Square Error)均衡原理讲解

news/2024/6/29 12:00:40 标签: 通信, 均衡, MMSE

MMSE是一种将接收数据的MSE(均方误差)最小化的模型。有了这句话,很多问题就会在你的脑海中蹦出来。
什么是均方误差?最小化MSE "的物理含义是什么? 等等。
让我们从一个我们现在已经非常熟悉的信道模型开始。(我希望你现在也熟悉下面的表达方式。)

MMSE作为一种均衡器,是一种后处理算法,它可以帮助我们找出接收到的数据,使之尽可能地接近原始数据(传输数据)。简而言之,MMSE中最重要的步骤是找到一个如下图所示的矩阵G。如果我们假设没有噪声,这个[G]矩阵可以简单的作为信道矩阵(H^-1)的倒数。但是当有噪声时,我们就需要使用一些能够反映噪声的模型。MMSE就是其中的一种算法。

现在,我们设定了一个目标,意味着我们有一种目标函数要解。然后,我们需要想办法解决目标函数。有几种不同的方法来达到解决。我会采取的方法是解下面的方程。
当我第一次知道这个方程时,我的第一个问题是这个方程的含义是什么。如果你仔细看一下,你就会发现,这些方程表示一个特定的条件,即接收到的数据向量和误差向量之间没有相关性。

我的下一个问题是'这个特定的条件如何成为最小化误差MSE的条件?",简而言之就是 "这怎么能成为MMSE的条件?"。
MMSE中,矩阵G应是这样一个利用接收信号的统计特性使MSE最小化的矩阵。如果 "y "和 "e "之间还存在一定的相关性,那么就应该能够利用这种相关性来降低 "e "的模。因此,在最佳点,"y "和 "e "之间应该没有相关性。 (如果不存在的话,我们应该可以通过利用相关性来进一步降低 "e "的模。)
这就是为什么我们可以利用接收信号 "y "和误差 "e "之间的相关性为零的标准来推导出MMSE最优矩阵G的原因。
当你理解了它的物理(或统计)意义后,剩下的步骤就是高中数学了。我给你的一个建议是'在没有达到最终解之前,不要过多考虑解题过程中的物理意义'。大部分中间步骤都是纯粹的数学操作,大多数情况下没有具体的物理意义。 当然,在某些情况下,我们需要考虑物理意义,例如在解题过程中删除一些项时。但在大多数情况下,这个解题过程只是数学上的操作。
首先,你可以把给我们的目标方程展开,如下图所示的过程。不要害怕,只要拿出一张纸和一支笔,动手写下每一步。你会发现这真是一门高深的数学。

现在我们有了矩阵[G],用E{ }的两个块表示。让我们进一步展开这两块的每一块。
那么你可能会问为什么要做更多的扩展? 为什么我们不能用这个结果作为解?
要使用这个结果作为解,你需要知道方程中的所有数值。
让我们来看看这个方程中的每一项(上面最后一行),并检查我们是否知道所有的值。
我们能知道[y]向量的值吗?是的,因为它是最先被接收机检测/测量到的值。
那[x]向量呢?它是传输的数据。如果这个传输数据是一个参考信号,我们可以说我们知道这个值,但如果它是用户数据,我们不知道这个值。

现在我们把E{ }块逐一展开。让我先用第二个E{ }块试试。(我为什么要先展开第二个块,这没有什么特别的原因。我就是这么做的:)。在这个过程中,你会看到一些用颜色标记的被删除,取而代之的是其他更简单的形式。这是基于物理特性。没有纯粹的数学原因让你可以删除或替换这些。

现在我们有了表达式,它是由我们已知的值组成的。[H]是信道矩阵。我们假设我们在信道估计过程中已经算出了这个矩阵。我们知道P,因为我们确定了传输功率。那 "噪声方差 "呢?我们不可能知道每一个接收到的数据所增加的确切噪声值,但是我们可以计算出噪声的长期统计特性。噪声的方差 "是噪声的一种长期统计特性。
接下来,我们来展开第一个E{ }块。可以展开如下图所示。在这个过程中,您也看到一些用颜色标记的部分被删除,并被其他更简单的形式所取代。这是基于这些项的物理特性

现在,我们已经有了两个E{ }块的展开形式,让我们用展开的表达式重写[G]矩阵,它变成了如下的形式。

可以看到,当没有噪声时,ZF(zeros forcing)均衡MMSE均衡得出的结果是一致的

现在你可以看到整个[G]矩阵本身就是用所有已知值来表示的。在真正的DSP或FPGA中,要解决这个表达式,你可能需要进一步的操作(例如,矩阵分解),但仅仅是为了理解MMSE的概念,这就足够了。
在这一点上,即使你完成了这个漫长/无聊的数学过程,有一个大问题会是 "为了推导G,我们得出的结论是我们需要知道信道矩阵H。这时你就需要研究另一个复杂而枯燥的题目,叫做 "信道估计"。
注意:H在上式中的解释会根据系统的实现情况而有所不同。如果我们假设一个不做任何放大或预编码的系统,H只代表空中信道的属性,如图所示。但如果我们假设一个更现实的实现,进行一些预编码和放大,H表示一个包括预编码和放大属性的矩阵。数学上H可以表示为 "Amp * H * P",其中Amp是放大,H是空中信道矩阵,P是预编码矩阵。


http://www.niftyadmin.cn/n/1686402.html

相关文章

RS编码过程通俗理解

说明本文^代表异或,**代表幂 第一步:理解伽罗华域(有限域) 伽罗瓦域本质上是一个受限的集合,以及一些数学运算,使得运算的结果仍然在这个集合中。 对于二维码标准来说,要使用位为模数2的算子…

Hbase和Hive以及传统数据库的区别

Hbase和Hive HBase 是一种类似于数据库的存储层,也就是说 HBase 适用于结构化的存储。并且 HBase 是一种列式的分布式数据库。 HBase 底层依旧依赖 HDFS 来作为其物理存储,这点类似于 Hive。 1.实时性:Hive 适合用来对一段时间内的数据进行…

Python机器学习之游戏自动驾驶

这个项目去年就做了但是一直没时间写个博客(主要是懒。。),现在开始更新,最终实现效果我已经在B站传了视频,感兴趣的可以去看看,本来想做一个欧卡的自动驾驶,但是电脑配置不太行,就做…

Hbase数据库技术详细讲解

关于Hbase与其他数据的比较和简要介绍见:https://blog.csdn.net/qq_25948717/article/details/82974058 HBase 相关的模块以及 HBase 表格的特性 前面我们提到过 HBase 也是构建于 HDFS 之上,这是正确的,但也不是完全正确。HBase 其实也支持…

Python机器学习之游戏自动驾驶(一)

先说一下总体思路,这一块需要读者有一定的机器学习基础。我们在玩游戏的时候,是眼睛看到了屏幕的画面之后,大脑思考应该怎么操作,然后发送指令到我们的手指,按下指定的按键。 利用机器学习玩游戏也是同样的道理&#…

入门数据科学世界的体味

读书的效率相对于听课和看视频要低得多,然而多维的知识体系通过单维的文字表达出来时,也给理解带来挑战。而为其有这种挑战,使读书变成一个沉思、推敲、琢磨、设问和破解的过程。不经过这个过程,我们所学到的不能刻到骨子里&#…

Python机器学习之游戏自动驾驶(二)

2. 如何训练网络 上一篇我们讲解了如何获取训练数据,这一篇文章讲解如何用Pytorch搭建网络并进行训练。 对了在上一篇文章中有一个重要的内容忘记说了,那就是在获取了原始数据之后我对数据进行了一些处理,那就是把所有三种操作数据的数量进…

NSS [SWPUCTF 2021 新生赛]jicao

NSS [SWPUCTF 2021 新生赛]jicao 先看题目,要求我们post传参一个id。然后get一个变量叫json,并且通过json_decode()对一串JSON进行解码 payload: GET: ?json{"x":"wllm"} POST:idwllmNB