1. 引言

在所有通信中,信号都会通过一个介质(称为信道),并且信号会失真,或者在信号通过信道时会向信号中添加各种噪声。正确解码接收到的信号而没有太多错误的方法是从接收到的信号中消除信道施加的失真和噪声。为此,第一步是弄清信号经过的信道的特性。表征信道的技术/过程称为信道估计(channel estimation)。此过程将说明如下。

信道估计有很多不同的方法,但是基本概念是相似的。该过程如下进行。

i)设置一个数学模型,以使用“信道”矩阵将“发射信号”和“接收信号”相关。

ii)发射已知信号(我们通常将其称为“参考信号”或“导频信号”)并检测接收到的信号。

iii)通过比较发送信号和接收信号,我们可以找出信道矩阵的每个元素。

作为此过程的示例,这里简要介绍LTE中的此过程。当然,很多细节取决于实现(这意味着具体算法可能会因每个特定的芯片组实现而有所不同)。但是,总体概念将是相似的。

2. 通用算法

我们如何找出信道的属性?即,我们如何估计信道?从高的角度来看,可以如下图所示。此图显示以下内容:

i)我们嵌入了一组预定义信号(这称为参考信号)

ii)当这些参考信号通过信道时,它会与其他信号一起失真(衰减,相移,噪声)

iii)我们在接收方检测/解码接收到的参考信号

iv)比较发送的参考信号和接收的参考信号,并找到它们之间的相关性。

3. SISO的信道估计

现在让我们考虑LTE SISO的情况,看看如何估计信道属性(信道系数和噪声估计)。由于考虑的是SISO系统,因此参考信号仅嵌入到一个天线端口(端口0)中。资源图中的垂直线表示频域。因此,这里用f1,f2,f3 … fn索引了每个参考信号。每个参考符号可以是一个复数(I / Q数据),可以如下所示进行绘制。左侧(发送侧)的每个复数(参考符号)被修改(失真)为右侧的每个对应符号(接收的符号)。信道估计是在左侧的复数数组与右侧的复数数组之间找到相关性的过程。

估计的详细方法可能非常取决于实现方式。这里将描述的方法基于开源:srsLTE(请参阅[1])

3.1 信道系数的估计

由于这里只有一根天线,因此每个发射参考信号和接收参考信号的系统模型可以表示如下。y()表示接收到的参考信号的数组,x()表示发送的参考信号()的数组,h()表示信道系数的数组。f1,f2,…只是整数索引。

我们知道x()是什么,因为给定了它,而y()也知道,因为它是从接收者处测量/检测到的。有了这些,我们可以很容易地计算出系数阵列,如下所示。

现在我们有了参考信号所在位置的所有信道系数。但是我们需要在所有位置(包括那些没有参考信号的点)处的信道效率。这意味着我们需要在没有参考信号的情况下找出那些位置的信道系数。为此,最常见的方法是对测得的系数数组进行插值。在srsLTE的情况下,它首先进行平均,然后对平均信道系数进行插值。

3.2 噪声的估计

下一步是估计噪声特性。从理论上讲,噪声可以如下计算。

但是,我们需要的是噪声的统计属性,而不是确切的噪声值。我们可以仅使用测得的信道系数和平均信道来估算噪声,如下所示(实际上,准确的噪声值没有太大意义,因为噪声值会不断变化,使用那些特定的噪声值没有用)。在srsLTE中,作者使用了这种方法。

4. 2 x 2 MIMO的信道估计

假设我们有一个如下所示的通信系统。x(t)表示发送信号,y(t)表示接收信号。当x(t)传输到空中(信道)时,它会变形并获得各种噪声,并且可能会相互干扰。因此接收到的信号y(t)不能与发射信号x(t)相同。

发射信号,接收信号和信道矩阵之间的关系可以用数学形式建模,如下所示。

在此等式中,我们知道值x1,x2(已知的发射信号)和y1,y2(检测/接收的信号)。我们不知道的部分是H矩阵和噪声(n1,n2)。

为简单起见,我们假设该信道中没有噪声,这意味着我们可以将n1,n2设置为0。(当然,在实际信道中总会存在噪声,估计噪声是信道估计中非常重要的一部分,但是我们在此示例中假设没有噪音,只是为了使其简单。稍后,当我有更好的知识以通俗的语言描述案件时,我将在案件中添加噪音)。

由于我们具有数学模型,因此下一步是传输已知信号(参考信号)并从参考信号中找出信道参数。

假设我们仅通过一个天线发送了幅度为1的已知信号,而另一个天线现在处于关闭状态。由于信号通过空气传播,并且接收方的两个天线都会检测到该信号。现在,假设第一个天线接收幅度为0.8的参考信号,第二个天线接收幅度为0.2的参考信号。有了这个结果,我们可以得出如下所示的一行信道矩阵(H)。

假设我们仅通过另一个(第二个)天线发送了幅度为1的已知信号,并且第一个天线现在处于关闭状态。由于信号通过空气传播,并且接收方的两个天线都会检测到该信号。现在,假设第一个天线接收到幅度为0.3的参考信号,第二个天线接收到幅度为0.7的参考信号。有了这个结果,我们可以得出如下所示的一行信道矩阵(H)。

够简单吗?我认为理解这个基本概念没有任何问题。但是,如果完全按照上述方法使用此方法,则可能会导致效率低下。根据上面解释的概念,应该有一个时刻,仅发送参考信号而没有实际数据,只是为了估计信道信息,这意味着由于信道估计过程,数据速率将降低。为了消除这种效率低下的问题,实际的通信系统会同时发送参考信号和数据。

现在的问题是“如何在同时传输参考信号和数据的同时实现上述概念?”。可以有几种不同的方法来执行此操作,并且不同的通信系统将使用一些不同的方法。

以LTE为例,我们使用如下所示的方法。在LTE中为2 x 2 MIMO的情况下,每个子帧具有用于每个天线的参考信号的不同位置。天线0的子帧发送了分配给天线0的参考信号,不发送分配给天线1的参考信号的信号。天线1的子帧发送了分配给天线1的参考信号的信号,不发送给参考天线的任何信号。为天线0分配的信号。因此,如果在两个接收器天线上解码为天线0的参考信号分配的资源元素,则可以估计h11,h12。(在这里,为了简单起见,我们还假设没有噪音)。如果在两个接收器天线上解码分配给天线1参考信号的资源元素,则可以估计h21,h22。

4.1 信道系数的估计

上面说明的过程是针对LTE OFDMA符号中的频域中的一个特定点测量 H H H 矩阵。如果您在对符号的其他部分进行解码的过程中照原样应用测量的H值,则解码的符号的准确性可能不尽人意,因为上一步中使用的测量数据会包含一定程度的噪声。因此,在实际应用中,对通过上述方法测得的 H H H 值进行某种后处理,在此后处理过程中,我们可以找出噪声的总体统计属性(例如,噪声的均值,方差和统计分布))。要记住的一件事是,在此过程中获得的特定噪声值本身并没有太多意义。从参考信号获得的特定值将与用于解码其他数据的噪声值(非参考信号)不同,因为噪声值是随机变化的。然而,那些随机噪声的总体特性可以是重要的信息(例如,在SNR估计等中使用)。

在继续之前,让我们再次简单地考虑一下数学模型。即使我们将系统方程式描述如下,其中包括噪声项,但这并不意味着您可以直接测量噪声。是不可能的。该方程式仅表明检测到的信号(y)包含噪声分量的某些部分。

因此,当我们测量信道系数时,我们使用了没有噪声项的设备,如下所示。

在LTE的特定应用中,我们在OFDM符号中有多个测量点(多个参考信号)。这些测量点在频域上表示。因此,让我们如下重写信道矩阵以指示每个信道矩阵的测量点。

现在,假设您已经测量了整个OFDM符号上的H矩阵,那么您将拥有多个 H H H 矩阵,如下所示,每个矩阵都以一个特定的频率指示H矩阵。

现在你有了一个 H H H 矩阵数组。该阵列由四个不同的组组成,每个组用不同的颜色突出显示,如下所示。

当应用后处理算法时,该算法需要分别应用于这些组中的每一个。因此,为简单起见,我将 H H H 矩阵的数组重新排列为多个独立数组(在本例中为4个数组),如下所示。

对于这些数组中的每一个,我将进行如下所示的相同处理。(每个芯片组制造商都可以应用稍微不同的方法,但是总体思路是相似的)。在下面说明的方法中,数据(每个频点中的信道系数阵列)使用IFFT进行处理,这意味着将dta转换为时域,从而生成标记为(2)的时域数据阵列。实际上,这是特定信道路径的脉冲响应。然后,我们对该时域数据应用特定的过滤(或加窗)。在此示例中,将某个点的数据替换为零,并创建标记为(3)的结果。您可以应用更复杂的过滤器或窗口,而不是这种简单的调零。然后,通过将滤波后的信道脉冲数据转换回频域,

通过对所有四个阵列执行相同的过程,您可以获得“估计信道系数阵列”的四个阵列。从这四个阵列中,您可以按以下方式重建估计信道矩阵的阵列。

4.2 噪声的估计

使用此估算的信道矩阵,您可以使用以下公式估算每个点的噪声值。这与本页开头的原始系统方程式相同,除了将H矩阵替换为“估计的H”矩阵外,现在我们知道除噪声值以外的所有值。因此,通过插入所有已知值,我们可以在每个测量点计算(估计)噪声值。

如果将此方程式应用于所有测量点,则将获得所有测量点的噪声值,并从这些计算出的噪声值中获得噪声的统计属性。如上所述,此处计算出的每个单独的噪声值没有太大意义,因为该值不能直接应用于解码其他信号(非参考信号),但是这些噪声的统计特性对于确定噪声而言可能是非常有用的信息。渠道的性质。

注意:如果您对在实际应用中如何使用此算法感兴趣,强烈建议阅读/尝试使用Ref [2]和[3]。

参考:

[1] srsLTE:\ srslte \ lib \ ch_estimation \ chest_dl.c-srslte_chest_dl_estimate_port()

[2] 信道估计(Mathworks,LTE工具箱)

[3] NR同步程序

[4] http://www.sharetechnote.com/html/Communication_ChannelEstimation.html#General_Algorithm

更多精彩内容请关注订阅号优化与算法和加入QQ讨论群1032493483获取更多资料

SISO/MIMO信道估计(channel estimation)原理详细图解相关推荐

  1. 基于MATLAB的MIMO信道估计(附完整代码与分析)

    目录 一. 介绍 二. MATLAB代码 三. 运行结果与分析 3.1 均方误差(MSE)与训练功率(dB)的关系 3.2 不同信道估计方法性能对比 一. 介绍 本篇将在MATLAB的仿真环境中对比M ...

  2. MIMO信道估计基础

    MIMO信道估计基础 一.SISO场景 写成表达式: 二.2×2MIMO 忽略噪声影响: 重写信道矩阵: 其中fff为频点. 里面的每个hhh 都看成是一个 的信道矩阵,那么信道估计要做的就是估计这四 ...

  3. MIMO信道估计中的码本

    在MIMO信道估计等问题中, 往往需要使用码本, 而最常用的就是DFT码本. 本文介绍了为何DFT码本可以如此适用于作为信道估计的码本.首先会从ULA 阵列天线入手, 然后拓展到UPA 平面天线. 1 ...

  4. 可靠数据传输原理详细图解

    可靠数据传输原理 概述 rdt1.0 rdt2 rdt2.0 rdt2.1 rdt2.2 rdt3.0 流水线可靠数据传输协议 为什么使用流水线 流水线对可靠数据传输协议带来的影响 流水线协议中恢复差 ...

  5. (13)web安全|渗透测试|网络安全 注入/跨库查询/文件读写/常见的防护原理 详细图解

    目录 高权限注入及低权限注入 跨库查询: 文件读写操作 流程: 找路径: 方法一: 方法二: 方法三: 方法四: 方法五: 方法六: 方法七: 知道路径后,再执行文件的读写操作 文件的写入: 可能遇到 ...

  6. 信道估计(channel estimation)图解——从SISO到MIMO原理介绍

    文章目录 1. 引言 2. 通用算法 3. SISO的信道估计 3.1 信道系数的估计 3.2 噪声的估计 4. 2 x 2 MIMO的信道估计 4.1 信道系数的估计 4.2 噪声的估计 参考 1. ...

  7. 详解信道估计的发展与最新研究进展(MIMO)

    目录 一. MIMO信道估计的重要性 二. 最经典的两种信道估计方法 2.1 最小二乘信道估计(LS) 2.2 最小均方误差信道估计(MMSE) 三. 优化传统的MIMO信道估计技术 四. 介绍压缩感 ...

  8. AI赋能5G,利用神经网络进行信道估计

    随着5G和AI技术不断成熟和发展,如今基于AI辅助的无线通信正逐步从学术界走向产业界落地. 1 2022MWC上的5G+AI 近日举行的2022年世界移动通信大会(MWC)上,各大通信玩家纷纷拿出自己 ...

  9. IRS的信道估计基础代码

    一. 智能反射平面(intelligent reflecting surfaces)是一种被动反射表面,其具有的特性是可控制反射信号的相位. 明确IRS是可控制反射信号的相位,所以以单个智能反射单元为 ...

最新文章

  1. java8 并行执行方法_如何在Java8中执行此并行任务
  2. 受限玻尔兹曼机——用在推荐系统里
  3. T400 安装Windows 7 7100 总结
  4. c/c++源文件为何要包含自己的头文件?(编译器检查定义和声明的一致性)(编译报错:undefined reference to...)
  5. 中国移动2016年低端路由器交换机集采结果出炉锐捷网络大份额中标
  6. JAVA中的字符串操作
  7. html5基础知识点字体属性
  8. 小程序中textarea点击按钮事件
  9. Java基础题笔记1
  10. 支持所有库的python手机编程-入坑 Python 后强烈推荐的一套工具库
  11. iOS-仿支付宝刮刮乐效果
  12. 南京廖华计算机二级考试答案,全国计算机二级考试习题题库(附答案)
  13. android定义dialog
  14. The type 'System.Object' is defined in an assembly that is not referenced
  15. yii2GridView的简单使用
  16. 配置springMVC
  17. 【SpringMVC学习10】SpringMVC对RESTfull的支持
  18. 可以用WebRTC来做视频直播吗?
  19. python制作动态的微信个人名片
  20. 【VTK】装配体Assembly的使用

热门文章

  1. Java 实现图片裁剪(附代码) | Java工具类
  2. xampp软件安装流程
  3. 如何修改Linux服务器时间
  4. Java实战之管家婆记账系统(8)——添加账目界面及功能实现
  5. python unpacking_python packing unpacking 组包解包
  6. Wifi P2p技术研究
  7. 解决微信小程序调试进入 paused in debugger 状态解决办法
  8. win7系统双硬盘双系统问题解决
  9. 面试问烂了的测试用例: 登录界面的测试用例
  10. 快速批量去除图片水印方法大全~~