当前位置: 首页 > news >正文

基于深度学习的大规模MIMO信道状态信息反馈

MIMO系统

MIMO系统利用多个天线在发送端和接收端之间建立多条独立的信道,从而使得同一时间可以传输多个数据流,从而使得同一之间可以传输多个数据流,提高数据传输速率。
在这里插入图片描述

优势

增加传输速率和容量,提高信号覆盖范围和抗干扰能力,增加频谱利用率。

MIMO需要解决的问题

  • 依赖于精确的信道状态信息(CSI)
  • 下行链路CSI在训练期间从用户处获得并通过反馈链路返回给基站
  • 系统中有许多天线,反馈信道矩阵会很大并且因此会导致过量的开销

在这里插入图片描述

  • FDD的低互换性:(1)各个信道使用不同的频率(2)每个频率信道需要专门设计硬件来调制和解调,各个信道的设备不能互换使用
  • 基站需要知道下行链路的信道状态信息,依赖于用户根据基站发送的导频信号(CSI-RS)进行信道估计,然后将估计的信道状态信息通过反馈链路发送给基站。然而反馈信道矩阵会很大导致过量的开销,需要找到一种方法来减少反馈链路的反馈数据。

系统模型

考虑一个天线的用户的基站的FDD大规模MIMO系统。在这个系统中,采用 N c N_c Nc个子载波的OFDM。因此,第n个载波的用户的下行信号为:
y n = h n ∼ H v n x n + z n y_n = h_n \sim^H v_n x_n + z_n yn=hnHvnxn+zn
其中 h ~ n ∈ C N t × 1 \tilde{h}_n \in \mathbb{C}^{N_t \times 1} h~nCNt×1是信道频率响应向量, V n ∈ C N t × 1 V_n \in \mathbb{C}^{N_t \times 1} VnCNt×1是预编码向量, x n x_n xn是发射符号, z n z_n zn是加性噪声和干扰, ( ) H ()^H ()H表示共轭转置。
假设基站配备有均匀线性阵列,响应向量为:
a ( ϕ ) = [ 1 , e − j 2 π d λ sin ⁡ ϕ , … , e − j 2 π d λ ( N t − 1 ) sin ⁡ ϕ ] \mathbf{a}(\phi) = \left[1, e^{-j \frac{2\pi d}{\lambda} \sin \phi}, \ldots, e^{-j \frac{2\pi d}{\lambda} (N_t - 1) \sin \phi} \right] a(ϕ)=[1,ejλ2πdsinϕ,,ejλ2πd(Nt1)sinϕ]
其中 ϕ \phi ϕ是出发角, d d d是相邻天线的距离, λ \lambda λ是载波波长,信道可以表示为:
h ~ n = N t L ∑ l = 1 L α l e − j 2 π τ l f s n N c a ( ϕ ) \tilde{h}_n = \sqrt{\frac{N_t}{L}} \sum_{l=1}^{L} \alpha_l e^{-j 2 \pi \tau_l f_s \frac{n}{N_c}} \mathbf{a}(\phi) h~n=LNt l=1Lαlej2πτlfsNcna(ϕ)
其中, L L L是下行多路径的数量, a l a_l al代表传播增益, τ l \tau_l τl表示响应的延迟, f s f_s fs是抽样频率,在空间频率整个CSI矩阵可以表示为:
H ~ = [ h ~ 1 , h ~ 2 , … , h ~ N c ] H ∈ C N c × N t . \mathbf{\tilde{H}} = [\tilde{\mathbf{h}}_1, \tilde{\mathbf{h}}_2, \ldots, \tilde{\mathbf{h}}_{N_c}]^H \in \mathbb{C}^{N_c \times N_t}. H~=[h~1,h~2,,h~Nc]HCNc×Nt.

通过导频训练获得CSI

下行信道一般将CSI-RS序列当做导频序列

导频训练的基本原理

发送导频信号
接收导频信号
信道估计
  • 发送导频信号:发送端发送已知的导频信号序列。这些导频信号可以是特定的符号或序列,它们在发送端和接收端都是已知的。
  • 接收导频信号:接收端接收到通过信道传输后的导频信号。由于信道的影响,接收端的导频信号会包含信道的增益和相位变化。
  • 信道估计:接收端利用已知的导频和接收到的导频符号,通过比较和计算,估计出信道的特性,即CSI

导频训练过程

在这里插入图片描述

基于深度学习的CSI反馈

传统方法

采用压缩感知技术(CS):LASSO l1-solver、TVAL3等
存在缺点:

  • 严重依赖于信道是稀疏的假设
  • 迭代重建方法有很大的复杂性并因此会消耗大量的计算资源
    在这里插入图片描述
    在这里插入图片描述

CsiNet方法

使用深度学习方法构建CsiNet。包括CSI感知(编码器)和恢复网络(解码器)两个部分

  • 编码器:CsiNet通过训练数据从原始的信道矩阵中学习转换来压缩表示(码字)
  • 解码器:CsiNet学习将码字转换成原始信道
  • 优点:相比于传统压缩感知能以更好的恢复质量来恢复CSI,在高压缩率下保持良好性能
    在这里插入图片描述

相关论文

论文1

在这里插入图片描述

  • 2018 IEEE Wireless Communications Letters
  • 首次将深度学习引入CSI反馈领域
  • 提出CSiNet模型

论文2

在这里插入图片描述

  • 2020,IEEE Transactions on Wireless Communications
  • 对2018年模型进行了改进
  • 提出CSiNet+模型

论文3

在这里插入图片描述

  • 2021,IEEE Wireless Communications Letters
  • 对2020年模型进行了改进
  • 提出CSiNet+DNN模型
    之后的各种基于深度学习的CSI反馈基本上是这些模型架构的变体,都是编码器和解码器,包含卷积网络,全连接网络和各种其他网络。

系统预设

在这里插入图片描述

CSI反馈机制

在这里插入图片描述

网络设计

下面三个深度学习网络为三篇论文中的CSI反馈网络

CsiNet

在这里插入图片描述

编码器

在这里插入图片描述

解码器

在这里插入图片描述

CsiNet+

在这里插入图片描述

CsiNet+DNN

在这里插入图片描述

训练策略

在这里插入图片描述

CsiNet+DNN仿真场景设置

在这里插入图片描述

不同方法比较

重构准确性比较

在这里插入图片描述

方法复杂度分析

在这里插入图片描述

CsiNet+DNN复现及优化

数据集介绍

相关文章:

基于深度学习的大规模MIMO信道状态信息反馈

MIMO系统 MIMO系统利用多个天线在发送端和接收端之间建立多条独立的信道,从而使得同一时间可以传输多个数据流,从而使得同一之间可以传输多个数据流,提高数据传输速率。 优势 增加传输速率和容量,提高信号覆盖范围和抗干扰能力…...

在Docker中部署Rasa NLU服务

最近因为项目需要将rasa nlu配置到docker容器中供系统调用,本篇主要整理该服务的docker配置过程。 本篇的重点在于docker的使用,不在Rasa NLU。 系统环境:Ubuntu 18.04.6 1. Rasa介绍 Rasa是一个开源的机器学习框架,专为构建基于文…...

SQL语句创建数据库(增删查改)

SQL语句 一.数据库的基础1.1 什么是数据库1.2 基本使用1.2.1 连接服务器1.2.2 使用案例 1.2 SQL分类 二.库的操作2.1 创建数据库2.2 创建数据库示例2.3 字符集和校验规则2.3.1 查看系统默认字符集以及校验规则2.3.2查看数据库支持的字符集2.3.3查看数据库支持的字符集校验规则2…...

微信小程序-Vant组件库的使用

一. 在app.json里面删除style:v2 为了避免使用Vant组件库和微信小程序组件样式的相互影响 二.在app.json里面usingComponents注册Vant组件库的自定义组件 "usingComponents": {"van-icon": "./miniprogram_npm/vant-weapp/icon/index&qu…...

为什么企业需要进行能源体系认证?

通过能源体系认证,企业可以向公众和利益相关方展示其在节能减排方面的承诺和成就。这不仅提升了企业的社会责任形象,还增强了品牌的信誉度。在当今消费者更加关注环境问题的背景下,绿色企业形象有助于赢得市场和客户的认可与信任。 能源体系认…...

【日常记录-MySQL】EVENT

Author:赵志乾 Date:2024-08-07 Declaration:All Right Reserved!!! 1. 简介 在MySQL中,EVENT是一种数据库对象,其用于设定数据库任务自动执行。这些任务可以是任意有效的SQL语句&a…...

嵌入式学习day12(LinuxC高级)

由于C高级部分比较零碎,各部分之间没有联系,所以学起来比较累,多练习就好了 一丶Linux起源 寻科普|第二期:聊聊Linux的前世今生 UNIX和linux的区别: (1)linux是开发源代码的自由软件.而unix是…...

pytorch中的hook机制register_forward_hook

上篇文章主要介绍了hook钩子函数的大致使用流程,本篇文章主要介绍pytorch中的hook机制register_forward_hook,手动在forward之前注册hook,hook在forward执行以后被自动执行。 1、hook背景 Hook被成为钩子机制,pytorch中包含forwa…...

使用Gin框架返回JSON、XML和HTML数据

简介 Gin是一个高性能的Go语言Web框架,它不仅提供了简洁的API,还支持快速的路由和中间件处理。在Web开发中,返回JSON、XML和HTML数据是非常常见的需求。本文将介绍如何使用Gin框架来返回这三种类型的数据。 环境准备 在开始之前&#xff0…...

网工内推 | 国企运维工程师,华为认证优先,最高年薪20w

01 上海陆家嘴物业管理有限公司 🔷招聘岗位:IT运维工程师 🔷岗位职责: 1、负责对公司软、硬件系统、周边设备、桌面系统、服务器、网络基础环境运行维护、故障排除。 2、负责对各部门软件操作、网络安全进行检查、指导。 3、负责…...

c# 使用异步函数实现线程的功能

c#程序执行时 想要拖动窗口 需要使用线程,但是使用线程 对操作前端窗体很不友好. 所以写了一个异步函数,网上搜了一下,貌似异步函数比线程 更加友好,更加现代 做这个功能的原因是 主要是想等程序执行完 走一个提示.用线程很难做到 using System; using System.Threading; usi…...

MySQL之MySQL server has gone away复现测试

测试MySQL server has gone away复现条件 环境情形一报错信息复现测试 情形二报错信息复现测试 环境 Python: 3.8/3.9 MySQL: 5.x 情形一 报错信息 File "/usr/local/lib/python3.6/dist-packages/MySQLdb/cursors.py", line 319, in _querydb.query(q)File "/…...

编程深水区之并发④:Web多线程

Node的灵感来源于Chrome,更是移植了V8引擎。在Node中能够实现的多线程,在Web环境中自然也可以。 一、浏览器是多进程和多线程的复杂应用 在本系列的第二章节,有提到现代浏览器是一个多进程和多线程的复杂应用。浏览器主进程统管全局&#xf…...

【实战指南】从提升AI知识库效果,从PDF转Markdown开始

经常有人抱怨AI知识库精确度不够、答非所问。我有时候想想,会觉得其实AI也挺冤的,因为很有可能不是它能力不行,而是你一开始给的文档就有问题,导致它提取文本有错误、不完整,那后边一连串的检索、生成怎么可能好呢&…...

Android 删除telephony的features

比如删除android.hardware.telephony.subscription 找到这个文件&#xff1a;frameworks/native/data/etc/android.hardware.telephony.subscription.xml <!-- This is the standard set of features for devices to support Telephony Subscription API. --> -<perm…...

Linux驱动开发—编写第一个最简单的驱动模块

文章目录 开发驱动准备工作1.正常运行的Linux系统的开发板2.内核源码树3.nfs挂载的rootfs4.得心趁手的IDE 第一个Hello world 驱动程序常见模块的操作命令模块的初始化和清理模块的版本信息模块中的各种宏 示例Hello World代码printk函数解析 使用MakeFile编译驱动模块使用insm…...

科普文:微服务之Spring Cloud 组件API网关Gateway

API网关是一个服务器&#xff0c;是系统的唯一入口。从面向对象设计的角度看&#xff0c;它与外观模式类似。API网关封装了系统内部架构&#xff0c;为每个客户端提供一个定制的API。它可能还具有其它职责&#xff0c;如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响…...

Kubernetes中的CRI、CNI与CSI:深入理解云原生存储、网络与容器运行时

引言 随着云原生技术的飞速发展&#xff0c;Kubernetes&#xff08;简称K8s&#xff09;作为云原生应用的核心调度平台&#xff0c;其重要性日益凸显。K8s通过开放一系列接口&#xff0c;实现了高度的可扩展性和灵活性&#xff0c;其中CRI&#xff08;Container Runtime Inter…...

【数据结构】二叉搜索树(Java + 链表实现)

Hi~&#xff01;这里是奋斗的明志&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~ &#x1f331;&#x1f331;个人主页&#xff1a;奋斗的明志 &#x1f331;&#x1f331;所属专栏&#xff1a;数据结构、LeetCode专栏 &#x1f4da;本系…...

java Brotli压缩算法实现压缩、解压缩

在Java中实现Brotli压缩和解压缩&#xff0c;你可以使用org.brotlienc和org.brotlidec包中的类。以下是压缩和解压缩的基本步骤和示例代码&#xff1a; 压缩文件 创建FileInputStream以读取原始文件。创建BrotliOutputStream以写入压缩数据。读取原始文件并写入压缩流。关闭流…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

Rust 开发环境搭建

环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行&#xff1a; rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu ​ 2、Hello World fn main() { println…...

门静脉高压——表现

一、门静脉高压表现 00:01 1. 门静脉构成 00:13 组成结构&#xff1a;由肠系膜上静脉和脾静脉汇合构成&#xff0c;是肝脏血液供应的主要来源。淤血后果&#xff1a;门静脉淤血会同时导致脾静脉和肠系膜上静脉淤血&#xff0c;引发后续系列症状。 2. 脾大和脾功能亢进 00:46 …...

VSCode 使用CMake 构建 Qt 5 窗口程序

首先,目录结构如下图: 运行效果: cmake -B build cmake --build build 运行: windeployqt.exe F:\testQt5\build\Debug\app.exe main.cpp #include "mainwindow.h"#include <QAppli...

vxe-table vue 表格复选框多选数据,实现快捷键 Shift 批量选择功能

vxe-table vue 表格复选框多选数据&#xff0c;实现快捷键 Shift 批量选择功能 查看官网&#xff1a;https://vxetable.cn 效果 代码 通过 checkbox-config.isShift 启用批量选中,启用后按住快捷键和鼠标批量选取 <template><div><vxe-grid v-bind"gri…...