基于MIMO讲解信道估计基本原理

2023-05-16

为什么要进行信道估计?

信号在通过信道传输的时候,会受到信道中种种因素产生的噪声以及可能发生的多径效应,弄清信号经过的信道的特性,表征信道的技术/过程称为信道估计(Channel Estimation)。
注:attenuate(减弱);phase-shift(相位移动);add noise(噪声)
在这里插入图片描述
上图中的诉求,就是信道估计的目的。

如何信道估计?

我们知道了为什么要进行信道估计,接下来的问题就是我们如何找出信道的属性来估计信道?有许多不同的信道估计的方法,但是基本的思想大同小异,步骤如下:

  • 1、使用信道矩阵来建立一个传输信号和接收信号的数学模型
  • 2、传输一个已知的信号然后检测收到的信号,同城这个已知的信号被称为参考信号(Reference signal)
  • 3、通过对比传输信号接收信号,我们可以求解信道矩阵的元素

生成算法

我们该如何算出信道的特性呢?

  • 1、我们输入了一组预定义的信号,也就是参考信号。
  • 2、当这些参考信号通过信道时,它开始变形(衰减,相移,被加以噪声)
  • 3、我们在接收方检测和解码接收到的参考信号
  • 4、比较发送的参考信号和接收的参考信号,并找到它们之间的相关性。
    在这里插入图片描述

2 × 2 2\times2 2×2 MIMO 二输入二输出信道进行信道估计

对信道进行建模

我们假定有一个通信系统如下图所示, x ( t ) x(t) x(t)表示发送信号, y ( t ) y(t) y(t)表示接收信号。当 x ( t ) x(t) x(t)在信道中传输时,它会变形、被加以各种噪声 n n n,并且可能会相互干扰。因此接收到的信号 y ( t ) y(t) y(t)与发送信号 x ( t ) x(t) x(t)不同。
在这里插入图片描述
发射信号,接收信号和信道矩阵之间的关系建立数学模型,如下式:
[ y 1 ( t ) y 2 ( t ) ] = [ h 11 h 12 h 21 h 22 ] [ x 1 ( t ) x 2 ( t ) ] + [ n 1 n 2 ] \begin{bmatrix} y_{1}(t) \\ y_{2}(t) \end{bmatrix} = \begin{bmatrix}h_{11} & h_{12} \\ h_{21} & h_{22}\end{bmatrix}\begin{bmatrix} x_{1} (t)\\x_{2}(t) \end{bmatrix}+\begin{bmatrix} n_{1} \\ n_{2}\end{bmatrix} [y1(t)y2(t)]=[h11h21h12h22][x1(t)x2(t)]+[n1n2]
在此等式中,我们已知 x 1 ( t ) x_{1}(t) x1(t) x 2 ( t ) x_{2}(t) x2(t),也就是传输信号或参考信号,同时已知 y 1 ( t ) y_{1}(t) y1(t) y 2 ( t ) y_{2}(t) y2(t),也就是接收信号,我们不知道的部分就是信道矩阵 H H H和噪声 n 1 、 n 2 n_1 、n_2 n1n2

求解部分

为了简化模型,我们假定信道没有噪声,也就是** n 1 、 n 2 n_1 、n_2 n1n2置零**。由于我们有数学模型,因此下一步是传输信号(参考信号)并从参考信号中求解出信道参数。
假设我们仅通过一个天线发送了幅度为1的已知信号,而另一个天线现在处于关闭状态。假设第一个天线接收幅度为0.8的参考信号,第二个天线接收幅度为0.2的参考信号,我们可以得出如下所示的一行信道矩阵 H H H请添加图片描述
假设我们仅通过另一个天线发送了幅度为1的已知信号,并且第一个天线现在处于关闭状态,假设第一个天线接收到幅度为0.3的参考信号,第二个天线接收到幅度为0.7的参考信号。有了这个结果,我们可以得出如下所示的一行信道矩阵 H H H请添加图片描述
此简化模型便于理解,但如果完全按照上述方法,则会导致效率低下。根据上述,应该有一个时刻,仅发送参考信号而没有实际数据,只是为了估计信道信息,这意味着由于信道估计过程的存在,数据速率将降低。为了消除这种效率低下的问题,实际的通信系统会同时发送参考信号和数据。
我们的问题转化为:如何在同时传输参考信号和数据的情况完成信道估计?

如何在同时传输参考信号和数据的情况完成信道估计?

LTE为例,我们使用如下图所示的方法。在 LTE 中为 2 × 2 2 \times 2 2×2 MIMO的情况下,每个子帧都留有给每个天线的参考信号的不同位置。天线0的子帧发送了分配给天线0的参考信号,不发送分配给天线1的任何信号。天线1的子帧发送了分配给天线1的参考信号的信号,不发送分配给天线0的任何信号。因此,如果在两个接收器天线上解码为天线0的参考信号分配的资源元素,则可以估计 h 11 , h 12 h11,h12 h11h12。(此时依旧假设没有噪音)。如果在两个接收器天线上解码分配给天线1参考信号的资源元素,则可以估计 h 21 , h 22 h21,h22 h21h22
请添加图片描述

信道系数的估计

上面说明的过程是针对LTE OFDMA符号中的频域中的一个特定点测量 H H H矩阵,如果使用求解得 H H H矩阵的方法,对信道等式其他符号承参数进行解码,则解码的符号的准确性可能不尽人意,因为上一步中使用的测量数据会包含一定程度的噪声。
因此,在实际应用中,对通过上述方法测得的 H H H矩阵的值进行某种处理,在此处理过程中,我们可以找出噪声的总体统计属性(例如,噪声的均值,方差和统计分布),而在此过程中获得的特定噪声值本身并没有太多意义。从参考信号获得的特定值将与用于解码其他数据的噪声值(非参考信号)不同,因为噪声值是随机变化的。然而,那些随机噪声的总体特性可以是重要的信息(例如,在SNR估计等中使用)
我们将系统方程式描述如下,其中包括噪声项,但这并不意味着您可以直接测量噪声。是不可能的。该方程式仅表明检测到的信号 y y y 包含噪声分量的某些部分。
[ y 1 ( t ) y 2 ( t ) ] = [ h 11 h 12 h 21 h 22 ] [ x 1 ( t ) x 2 ( t ) ] + [ n 1 n 2 ] \begin{bmatrix} y_{1}(t) \\ y_{2}(t) \end{bmatrix} = \begin{bmatrix}h_{11} & h_{12} \\ h_{21} & h_{22}\end{bmatrix}\begin{bmatrix} x_{1} (t)\\x_{2}(t) \end{bmatrix}+\begin{bmatrix} n_{1} \\ n_{2}\end{bmatrix} [y1(t)y2(t)]=[h11h21h12h22][x1(t)x2(t)]+[n1n2]
因此,当我们测量信道系数时,我们假定没有噪声项,如下式子
[ y 1 ( t ) y 2 ( t ) ] = [ h 11 h 12 h 21 h 22 ] [ x 1 ( t ) x 2 ( t ) ] \begin{bmatrix} y_{1}(t) \\ y_{2}(t) \end{bmatrix} = \begin{bmatrix}h_{11} & h_{12} \\ h_{21} & h_{22}\end{bmatrix}\begin{bmatrix} x_{1} (t)\\x_{2}(t) \end{bmatrix} [y1(t)y2(t)]=[h11h21h12h22][x1(t)x2(t)]
在LTE的特定应用中,我们在OFDM符号中有多个测量点(多个参考信号)。这些测量点在频域上表示。因此,重写信道矩阵以指示每个信道矩阵的测量点。
H ( f 0 ) = [ h ( f ) 11 h ( f ) 12 h ( f ) 21 h ( f ) 22 ] H(f_0) = \begin{bmatrix}h(f)_{11} & h(f)_{12} \\ h(f)_{21} & h(f)_{22}\end{bmatrix} H(f0)=[h(f)11h(f)21h(f)12h(f)22]
假设已经测量了整个OFDM符号上的 H H H矩阵,如下所示,每个矩阵都以一个特定的频率指示 H H H矩阵
H ( f 0 ) = [ h ( f ) 11 h ( f ) 12 h ( f ) 21 h ( f ) 22 ] H ( f 1 ) = [ h ( f ) 11 h ( f ) 12 h ( f ) 21 h ( f ) 22 ] ⋮ H ( f n − 1 ) = [ h ( f ) 11 h ( f ) 12 h ( f ) 21 h ( f ) 22 ] H ( f n ) = [ h ( f ) 11 h ( f ) 12 h ( f ) 21 h ( f ) 22 ] H(f_0) = \begin{bmatrix}h(f)_{11} & h(f)_{12} \\ h(f)_{21} & h(f)_{22}\end{bmatrix}\\ \quad\\ H(f_1) = \begin{bmatrix}h(f)_{11} & h(f)_{12} \\ h(f)_{21} & h(f)_{22}\end{bmatrix}\\ \vdots \\ H(f_{n-1}) = \begin{bmatrix}h(f)_{11} & h(f)_{12} \\ h(f)_{21} & h(f)_{22}\end{bmatrix}\\ \quad\\ H(f_{n}) = \begin{bmatrix}h(f)_{11} & h(f)_{12} \\ h(f)_{21} & h(f)_{22}\end{bmatrix} H(f0)=[h(f)11h(f)21h(f)12h(f)22]H(f1)=[h(f)11h(f)21h(f)12h(f)22]H(fn1)=[h(f)11h(f)21h(f)12h(f)22]H(fn)=[h(f)11h(f)21h(f)12h(f)22]
现在你有了一个 H H H矩阵数组。该阵列由四个不同的组组成,每个组用不同的颜色突出显示,如下所示。
请添加图片描述
当应用处理算法时,该算法需要分别应用于这些组中的每一个。因此,为简单起见,将 H H H矩阵的数组重新排列为多个独立数组(在本例中为4个数组),如下所示
请添加图片描述
对于每一个数组将进行如下所示的相同处理,有很多处理的方法,但是总体的基本思想都是相似的。对每个频点中的信道系数阵列进行傅里叶变换,将阵列转换到时域上,从而生成标记为(2)的时域数据阵列,实际上,这是特定信道路径的脉冲响应。然后对该时域数据应用特定的过滤(或加窗)。在此示例中,将某个点的数据替换为零,并创建标记为(3)的结果。可以应用更先进复杂的过滤器或窗口,而不是这种简单的调零。然后通过将滤波后的信道脉冲数据转换回频域。此时我们得到了一个信道估计系数,可以用来解码其他信号。
请添加图片描述
通过对所有四个阵列执行相同的过程,可以获得“估计信道系数阵列”的四个阵列。可以按以下方式重建估计信道矩阵的阵列。
请添加图片描述

噪声的估计

使用此估算的信道矩阵,您可以使用以下公式估算每个点的噪声值。这与本页开头的原始系统方程式相同,除了将 H H H矩阵替换为“估计的 H H H”矩阵外,现在我们知道除噪声值以外的所有值。因此,通过带入所有已知值,我们可以在每个测量点计算(估计)噪声值。
请添加图片描述
如果将此方程式应用于所有测量点,则将获得所有测量点的噪声值,并从这些计算出的噪声值中获得噪声的统计属性。如上所述,此处计算出的每个单独的噪声值没有太大意义,因为该值不能直接应用于解码其他信号,但是这些噪声的统计特性对于确定噪声而言可能是非常有用的信息。
请添加图片描述
参考:http://www.sharetechnote.com/html/Communication_ChannelEstimation.html#General_Algorithm

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于MIMO讲解信道估计基本原理 的相关文章

  • Go的并发如何配合上下文(ctx Context)使用? [_]~( ̄▽ ̄)~* Go相关

    文章目录 上下文处理创建上下文上下文继承线程安全 说明 上下文的英文是context 其英文简写约定俗成是 ctx 上下文处理 上下文在go中有一个约定俗成的写法ctx 如果你用过python应该知道self 这是python类初始化的一个
  • Java--信号量

    信号量 信号量 xff08 英语 xff1a Semaphore xff09 又称为信号量 旗语 xff0c 是一个同步对象 xff0c 用于保持在0至指定最大值之间的一个计数值 在系统中 xff0c 给予每一个进程一个信号量 xff0c
  • C++ 继承学习心得

    单继承 xff1a 一个子类只有一个直接父类时 xff0c 称这个继承关系为单继承 多继承 xff1a 一个子类中有两个或以上直接父类时 xff0c 称这个继承关系为多继承 菱形继承 是一种特殊的继承关系 菱形继承的问题 xff1a 有数据
  • 你的代码放在 GitHub 上,真的安全吗?

    受俄乌冲突的影响 xff0c GitHub 目前正在考虑限制俄罗斯开发人员访问开源代码存储库的可能性 无独有偶 xff0c 早在 2019 年 xff0c GitHub 就曾经因为美国出台贸易制裁国家名单 xff0c 对名单上的国家 地区的
  • ROS进阶学习(一至八)讲

    https blog csdn net weixin 40641902 article list 1 转载自weixin 40641902的博客
  • 如何将Docker升级到最新版本

    CentOS7如何将Docker升级到最新版 如果我们docker的版本比较低的话 xff0c 要怎么才能更新自己docker的版本呢 xff1f 下面是具体的方法 1 查找主机上关于Docker的软件包 rpm qa grep docke
  • 编译Robust Stereo Visual Inertial Odometry for Fast Autonomous Flight

    宾夕法尼亚大学kumar实验室2018年发布 Robust Stereo Visual Inertial Odometry for Fast Autonomous Flight xff0c 基于MSCKF基础上实现双目视觉惯导里程计 刚好这
  • 公网k8s集群搭建史上超详细的教程!!!

    一 背景 xff1a 1 实验背景 x1f9ea 在学习k8s搭建中 xff0c 网上大部分教程都是用虚拟机做单机集群 xff0c 只有极少数是使用服务器搭建教程 xff1b 但是用云服务器搭建的教程中教程版本都比较老 随着时间的推移 xf
  • 【repo/git小技巧】repo sync时报错“The remote end hung up unexpectedly”解决办法

    像往常一样使用repo init gt repo sync 的形式进行代码仓库下载 xff0c 但每次下载repo sync都不能执行成功 xff0c 问题为 The remote end hung up unexpectedly xff0
  • 在 React 中实现记忆以提高性能小技巧

    React 如何渲染 UI 在详细了解 React 中的 memoization 之前 xff0c 让我们先看看 React 如何使用虚拟 DOM 呈现 UI 常规 DOM 基本上包含一组表示为树的节点 DOM 中的每个节点都是 UI 元素

随机推荐

  • 《Linux内核设计与实现》读书总结

    Linux内核设计与实现 进程管理 进程 xff1a 处于执行器的程序 xff0c 包含代码段 xff0c 打开的文件 xff0c 信号 xff0c 内核内部数据 xff0c 内存地址空间 xff0c 多个线程 xff0c 存放全局变量的数
  • python无报错但是主函数没有执行

    python无报错但是主函数没有执行 是不是遇到过python没有报错 xff0c 但是主函数没有执行 xff0c 完全没有结果的情况 遇到这种情况很有可能就是你没有添加if name 61 61 main 这个东西 xff0c 或者格式不
  • 2018.2.2PHPstrom破解版

    作者 xff1a 聽 雨 来源 xff1a CSDN 原文 xff1a https blog csdn net qq 39439751 article details 82758330 版权声明 xff1a 本文为博主原创文章 xff0c
  • python3中 print不加括号报错!

    python 3和python 2的print是有区别 xff0c python3需要加括号 xff0c 但python2不需要 span class token operator gt gt span span class token o
  • leetcode 772 基本计算器3 双栈解析表达式 单调栈

    此题是比较难的一个题 xff0c 不能简单的用递归来做 假设我们已经能把数字分离出来 xff0c 并且解决了其他无关细节 此时我们要考虑 xff0c 如何处理括号和运算优先级 此题最强的一点是 xff0c 当你看到一个符号时 xff0c 你
  • 自然场景OCR检测(YOLOv3+CRNN)

    自然场景OCR检测 YOLOv3 43 CRNN xff08 中文 43 英文模型 xff09 前言 最近对于自然场景下的OCR比较有兴趣 xff0c 所以总结了一些目前OCR现状 xff0c 并且找了一个自然场景OCR的项目练练手 本人新
  • Tx2刷机及安装Jetpack4.5教程

    描述 xff1a 由于项目需要在工控机上运行目标检测程序 xff0c 所需配置需要包括Cuda OpenCV等软件配置 目前Nvidia已经将cuda opencv等相关用于图像处理 深度学习 计算机视觉所需的软件及文件集成到Jetpack
  • ROS gazebo 模型加载报错

    我的ros装的是ros kinetic desktop full版本 xff0c 所以不用另装gazebo 但是用命令 roscore rosrun gazebo ros gazebo 启动后 xff0c 出现如下错误 xff1a Erro
  • excel对比两边数据去重

    需求 筛选重复数据 xff0c A列是1000条数据 xff0c C列是100条数据 xff0c 删除重复的数据 xff0c 只剩900条 首先 xff0c A列数据要分列 xff0c 因为数据格式不一样 xff0c 会导致后面的问题 xf
  • GVIM的配置/使用

    关于GVIM的配置 使用 以我个人喜好配置 配置文件在用户目录下的 vimrc里 配置完后 xff0c 保存并bash一下即可 一 配置 xff1a 根据自己的喜好配置了一点点 colorscheme darkblue span class
  • 小白科研笔记:简析PointRCNN的基于Bin的误差机制

    1 前言 PointRCNN是一篇做3D目标检测的CVPR2019的文章 目前位居KITTI目标检测榜首的是PV RCNN 这个算法的前身就是PointRCNN 它们的作者都是同一个人 考虑到PV RCNN算法有些复杂 xff0c 于是我想
  • ROS基础:获取全局与局部launch Parameter

    在launch 参数配置中 xff0c 分为有全局参数和局部参数 私有参数 xff0c 两者参数的获取是不同的 xff0c 参数示例如下 xff1a lt launch gt lt 全局参数 gt lt param name 61 34 p
  • Redis分布式锁系列

    1 压力测试出的内存泄漏及解决 xff08 可跳过 xff09 使用jmeter对查询产品分类列表接口进行压力测试 xff0c 出现了堆外内存溢出异常 我们设置的虚拟机堆内存100m xff0c 并不是堆外内存100m 产生堆外内存溢出 x
  • java核心技术卷1基础知识整理

    java核心技术卷1基础知识整理 1 java概述2 java程序设计3 对象与类4 继承5 接口 lambda 表达式与内部类6 并发 1 java概述 1 Java 剔除了 C 43 43 中许多很少使用 难以理解 易混淆的特性 xff
  • 【论文笔记】—目标姿态估计—EPro-PnP—2022-CVPR

    论文介绍 该论文被评为 CVPR 2022 最佳学生论文 将PnP位姿优化问题转变为预测位姿概率密度的问题 对于一个基于PnP的物体位姿估计网络 xff0c 可以通过反向传播位姿的概率密度从而学习物体的2D 3D关联 xff0c 实现稳定的
  • STM32 HAL库串口回调函数配置失效(HAL_UART_RxCpltCallback)

    小编实际操作中 xff0c 用HAL UART RxCpltCallback函数配置接收串口数据 xff0c 在测试过程中用手碰了单片机引脚之后无法再接收到数据 xff0c 终于找到了解决办法 xff0c 就是自己使能接收中断和自己定义中断
  • PADS2.4版本,软件打开无法操作问题记录

    小编将pads2 4软件打开后 xff0c 放大和缩小不能使用 xff0c 查找相关资料后汇总方法 xff0c 如果有侵权请联系 xff0c 谢谢 xff0c 解决方法如下 xff1a 方法1 xff1a 设置微软键盘兼容性 xff08 小
  • 学习记录《Simulink 快速入门 —— 官方Help文档》

    Simulink 快速入门 官方Help文档 1 Simulink 模块图2 创建简单模型2 1 打开新模型2 2 打开 Simulink库浏览器2 2 1将模块添加到模型2 2 2 连接模块2 2 3 添加信号查看器2 2 4 运行仿真2
  • 深度学习中的优化问题(Optimization)

    文章目录 1 优化中的挑战1 1 优化问题1 2 挑战1 3 解决方法 2 优化算法2 1 优化算法的分类2 1 1 批量大小的选择2 1 2 学习率调整2 1 3 梯度估计修正 2 2 自适应学习率算法2 2 1 AdaGrad2 2 2
  • 基于MIMO讲解信道估计基本原理

    为什么要进行信道估计 xff1f 信号在通过信道传输的时候 xff0c 会受到信道中种种因素产生的噪声以及可能发生的多径效应 xff0c 弄清信号经过的信道的特性 xff0c 表征信道的技术 过程称为信道估计 xff08 Channel E