【MIMO 从入门到精通】[P4]【MIMO Communications】

news2024/9/25 15:24:50

前言:

    Explains the main approaches to multi-input multi-output (MIMO) communications, including Beamforming, Zero Forcing, and MMSE. * Note that at the 9:19min mark, I made a slight "voice typo", where I should have said: "you need to tell the transmitter what the channel is" (not the receiver), and this also holds for the SVD approach too which I should have mentioned. Check out my 'search for signals in everyday life', by following my social media feeds:

 

MIMO 系统发送符号为x, 接收到的符号为y,噪声 n

 y=Hx+n

接收方如何解码出\hat{x},本章重点介绍相关的解码方案

目录:

  1.   Z.F.receiver
  2.   MMSE receiver
  3.   Z.F precoder
  4.   SVD receiver
  5.   Beamforming 跟 MIMO 关系

  


一  Z.F.receiver

   Zero Forcing receiver

      \hat{x}=H^{-}y

         =H^{-}(Hx+n)

         =x+H^{-}n

    该解码方案优点:

           简单,当噪声很小的时候, 估计值接近真实值x

      缺点:

           当噪声很大的时候,相差较大

           当noise amplificationH^{-}是非满秩矩阵的时候,相当于一个噪声信号放大器noise amplification

          考虑scalar场景: 比如H=0,则其逆为无穷大


二  MMSE receiver

    \hat{x}=(H^TH)^{-}(H^Ty)

   原理:建议看一下机器学习的回归算法是

  我们已知y,H.要求x,就是要使得下面的损失函数最小值

  l= argmin_{x}||Hx-y||^2

 就是求微分,使得损失函数最小,利用向量链式法则(参考下面连接:矩阵求导术)

  H^T(Hx-y)=0

 H^THx=H^Ty

\hat{x}=(H^TH)^{-}H^Ty

为了防止过拟合,L2正规化 ,也可以防止H^TH不可逆

    l= argmin_{x}||Hx+\sigma^2x-y||^2

     \hat{x}=(H^TH+\sigma^2I)^{-}H^Ty


 三  Z.F precoder

当发送方通过接收方反馈,知道H的时候,先求出逆矩阵

发送符号:

               x=H^{-}x

接收符号:

              \hat{x}=y=H(H^{-}x)+n=x+n

   优点:

   针对noise,没有noise amplificationH^{-}

   缺点:

    需要通过反馈 ,通知发送方H


四  SVD receiver

         singlular value decomposition

         H=uDv^T(u,v 是正交矩阵)

         发送符号:

           x=vx

        接收的符号

           y=Hvx+n

          解码

         \hat{x}=U^Ty

             =u^TuDv^Tvx+u^Tn(利用正交性)

               =Dx+u^Tn

         

 正交矩阵

 UU^T=E

VV^T=E

D:  对角矩阵,由对称矩阵 HH^TH^TH的特征值的开平方组成,称为奇异值(从大到小排列,U和V对应的特征向量亦如此)


  五  Beamforming 跟 MIMO 关系

       前面讲过通过SVD receiver

      

       \hat{x}=Dx+u^Tn

     diffrent sub channels different powers

     当 SNR 很高的时候:发送x的时候使用相同的power: p

                                    x=px:  p代表功率放大倍数

     当SNR 很低的时候: 

           前面x 是一个向量 x=\begin{bmatrix} x_1\\ x_2 \\ .. \\ x_n \end{bmatrix}

          我们选择出SNR 最好的那一路 x_j,发送 vx_j

         接收到的信号

                   \hat{x}=u^TH(vx_j)+u^Tn

                        =Dx_j +u^Tn

                         

参考:

回归算法: CSDN

矩阵求导术: CSDN

特征值和特征向量 - 知乎

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

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

相关文章

AI进化太快了!Stability AI开源视频生成大模型Stable Video Diffusion

对于 Stable Diffusion,想必读者朋友们对此都不陌生。 自 Stability AI 公司发布 SD(全称:Stable Diffusion) 以来,受到了很多人的喜爱。 SDXL 效果 随后技术升级,又发布了 SDXL,名字很有喜感&#xff0c…

计网04-网络传输介质

物理层(网卡、传输介质) 一、信号 1、概念 进行网络通信在线缆中传输的就是信号,网线传输电信号,光纤传输光信号。 信息:对现实事物存在的某种认识数据:描述某些属性的具体的量子&#xff0…

C/C++学习笔记十三 C++中的重载运算符

1、什么是运算符重载? 运算符重载是 C 中的一项功能,使运算符(例如 、- 等)能够处理用户定义的数据类型。这种机制称为编译时多态性,并提供了为不同数据类型定制运算符行为的优点。 例如,我们可以重载“”运…

基于SpringBoot实现一个可扩展的事件总线

基于SpringBoot实现一个可扩展的事件总线 前言 在日常开发中,我们经常会用到事件总线,SpringBoot通过事件多播器的形式为我们提供了一个事件总线,但是在开发中我们经常会用到其他的实现,比如Guava、Disruptor的。我们将基于Spri…

迪杰斯特拉算法详解

迪杰斯特拉算法详解 首先要知道的是,迪杰斯特拉算法是求解单源最短路径的,就是在一个图中(无向图和有向图均可),指定一个源点,求出来这个源点到其他各个节点的最短路径。 存图 首先,我需要用…

HarmonyOS应用兼容稳定性云测试

兼容性测试 兼容性测试主要验证HarmonyOS应用在华为真机设备上运行的兼容性问题,包括首次安装、再次安装、启动、卸载、崩溃、黑白屏、闪退、运行错误、无法回退、无响应、设计约束场景。具体兼容性测试项的详细说明请参考兼容性测试标准。 兼容性测试支持TV、智能穿…

爬虫系列----Python解析Json网页并保存到本地csv

Python解析JSON 1 知识小课堂1.1 爬虫1.2 JSON1.3 Python1.4 前言技术1.4.1 range1.4.2 random1.4.3 time.sleep1.4.4 with open() as f: 2 解析过程2.1 简介2.2 打开调试工具2.3 分析网址2.3.1 网址的规律2.3.2 网址的参数 2.4 爬取第一页内容2.5 存入字典并获取2.6 循环主体数…

DolphinScheduler 介绍及系统架构

目录 一、DolphinScheduler 介绍 1.1 关于 DolphinScheduler 1.2 特性 简单易用 丰富的使用场景 High Reliability High Scalability 1.3 名词解释 1.3.1 名词解释 1.3.2 模块介绍 二、DolphinScheduler 系统架构 2.1 系统架构图 2.2 架构说明 MasterServer 该服…

【Java核心基础】一文带你了解Java中super关键字的重要作用

“super”关键字在编程中扮演着重要角色,它允许我们直接访问父类中的属性、方法或构造函数,即使子类中存在同名元素。此外,“super()”在子类构造函数中调用父类初始化操作,确保父类属性正确初始化。有时,“super”还可…

Python 爬虫之下载视频(五)

爬取第三方网站视频 文章目录 爬取第三方网站视频前言一、基本情况二、基本思路三、代码编写四、注意事项(ffmpeg)总结 前言 国内主流的视频平台有点难。。。就暂且记录一些三方视频平台的爬取吧。比如下面这个: 一、基本情况 这次爬取的方…

OpenHarmony之内核层解析~

OpenHarmony简介 技术架构 OpenHarmony整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 组件”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的组件…

【RocketMQ】Console页面报错:rocketmq remote exception,connect to xxx failed.

现象 console报错,无法连接该节点,把该节点杀掉,还是继续报错,重启之后,报错的端口变成11911。 分析 正常一个broker会启动三个端口,不同版本的规律不太一样,4.X版本是: 配置文件…

如何使用ScrapySharp下载网页内容

C#简介 C#是一种由微软开发的通用、面向对象的编程语言。它结合了C和C的优点,并封装了Java的一些特性。C#被广泛评价Windows平台的软件开发,包括Web应用、桌面应用和游戏开发等领域。 使用场景 在网络数据挖掘和信息收集的过程中,我们需要…

3D模型如何制作透明玻璃材质

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 1、什么是玻璃材质 在3D建模和渲染中,玻璃是一种非常常见…

【期末复习】微信小程序复习大纲( 1- 5 章)

前言: 这周开始进入期末复习周,没时间看C/C、linux等知识了,先把期末考试必考的知识捋一遍。 目录 第一章 微信小程序入门 一、填空题 二、判断题 三、选择题 四、简答题 第二章 微信小程序页面制作 一、填空题 二、判…

【六大排序详解】中篇 :选择排序 与 堆排序

选择排序 与 堆排序 选择排序 选择排序 与 堆排序1 选择排序1.1 选择排序原理1.2 排序步骤1.3 代码实现 2 堆排序2.1 堆排序原理2.1.1 大堆与小堆2.1.2 向上调整算法2.1.3 向下调整算法 2.2 排序步骤2.3 代码实现 3 时间复杂度分析 Thanks♪(・ω・)&#…

智慧交通应用钡铼技术无线工业边缘路由网关R10A

智慧交通应用中,无线工业边缘路由网关扮演着至关重要的角色。在这方面,钡铼技术无线工业边缘路由网关R10A被广泛应用于交通管理系统中,它具备一路RS485、一路WAN、一路LAN、4G和WiFi等功能。本文将详细介绍R10A的参数以及在智慧交通领域的应用…

蓝桥题库(X图形(矩阵))

题目剖析: 简单来说就是找到一个由字母组成的X图形,且每个边上的字母都与中心点的字母相同 算法设计: 1.从中心点向外辐射,每找到一个这样的图形,则次数加一 2.从最外层向中心点靠拢,如果中间遇到不满足…

Unity Shader Early-Z技术

Unity Shader Early-Z技术 Early-Z技术Unity渲染顺序总结Alpha Test(Discard)在移动平台消耗较大的原因 Early-Z技术 传统的渲染管线中,ZTest其实是在Blending阶段,这时候进行深度测试,所有对象的像素着色器都会计算一…

外汇天眼:交易高手!是这样炼成的!

在外汇市场中,那些总是赚的“盆满钵满”的外汇投资高手实在是让人羡慕不已,他们能够准确预测市场走势,抓住每一个交易机会,实现高收益,很多投资新手因此也想入市,但即使是这样,还是有很多新手对…