基于深度学习的大规模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=hn∼Hvnxn+zn
其中 h ~ n ∈ C N t × 1 \tilde{h}_n \in \mathbb{C}^{N_t \times 1} h~n∈CNt×1是信道频率响应向量, V n ∈ C N t × 1 V_n \in \mathbb{C}^{N_t \times 1} Vn∈CNt×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,e−jλ2πdsinϕ,…,e−jλ2πd(Nt−1)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=LNtl=1∑Lαle−j2πτ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]H∈CNc×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框架来返回这三种类型的数据。 环境准备 在开始之前࿰…...

网工内推 | 国企运维工程师,华为认证优先,最高年薪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环境中自然也可以。 一、浏览器是多进程和多线程的复杂应用 在本系列的第二章节,有提到现代浏览器是一个多进程和多线程的复杂应用。浏览器主进程统管全局…...

【实战指南】从提升AI知识库效果,从PDF转Markdown开始
经常有人抱怨AI知识库精确度不够、答非所问。我有时候想想,会觉得其实AI也挺冤的,因为很有可能不是它能力不行,而是你一开始给的文档就有问题,导致它提取文本有错误、不完整,那后边一连串的检索、生成怎么可能好呢&…...
Android 删除telephony的features
比如删除android.hardware.telephony.subscription 找到这个文件: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网关是一个服务器,是系统的唯一入口。从面向对象设计的角度看,它与外观模式类似。API网关封装了系统内部架构,为每个客户端提供一个定制的API。它可能还具有其它职责,如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响…...

Kubernetes中的CRI、CNI与CSI:深入理解云原生存储、网络与容器运行时
引言 随着云原生技术的飞速发展,Kubernetes(简称K8s)作为云原生应用的核心调度平台,其重要性日益凸显。K8s通过开放一系列接口,实现了高度的可扩展性和灵活性,其中CRI(Container Runtime Inter…...

【数据结构】二叉搜索树(Java + 链表实现)
Hi~!这里是奋斗的明志,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 🌱🌱个人主页:奋斗的明志 🌱🌱所属专栏:数据结构、LeetCode专栏 📚本系…...
java Brotli压缩算法实现压缩、解压缩
在Java中实现Brotli压缩和解压缩,你可以使用org.brotlienc和org.brotlidec包中的类。以下是压缩和解压缩的基本步骤和示例代码: 压缩文件 创建FileInputStream以读取原始文件。创建BrotliOutputStream以写入压缩数据。读取原始文件并写入压缩流。关闭流…...

23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...

佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...

技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

VisualXML全新升级 | 新增数据库编辑功能
VisualXML是一个功能强大的网络总线设计工具,专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑(如DBC、LDF、ARXML、HEX等),并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...