基于卡尔曼的混合预编码技术用于多用户毫米波大规模MIMO系统研究(Matlab代码实现)

2024-01-21

???????????????? 欢迎来到本博客 ❤️❤️????????

????博主优势: ???????????? 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️ 座右铭: 行百里者,半于九十。

???????????? 本文目录如下: ????????????

目录

????1 概述

????2 运行结果

????3 参考文献

????4 Matlab代码及文章


????1 概述

摘要 60 GHz频段的毫米波(mmWave)通信需要在发送和接收端都使用大型天线阵列来实现波束成形增益,以抵消高路径损耗。由于在这些频率下存在硬件约束,完全数字化的技术在大型天线阵列上是不可行的,而纯模拟解决方案则存在严重的性能限制。混合模拟/数字波束成形是一种有前途的解决方案,特别是在扩展到多用户场景时。本文提出了三个主要贡献:(i)提出了基于卡尔曼的混合模拟/数字预编码在多用户环境中的公式化,(ii)制定了传输数据和估计数据之间误差的分析表达式,以便基站(BS)上的卡尔曼算法不需要移动站(MSs)上估计数据的信息,而是仅依赖于预编码/合并矩阵,(iii)设计了一个迭代解决方案,用于成本可承受的复杂度的混合预编码方案。仿真结果证实了所提方法在误码率和频谱效率方面的显着改进-在20 dB时几乎达到了7 bps/Hz,在具有10个信道路径的情况下,相对于仅模拟波束成形,以及在相同条件下几乎达到了1 bps/Hz相对于混合最小均方误差(MMSE)预编码。

索引词条 混合波束成形,卡尔曼滤波器,毫米波,大规模MIMO

I. 引言
毫米波(mmWave)频段通信是解决未来5G系统中频谱短缺的关键技术[1]–[7]。由于亚6GHz频段中可用频谱有限,传统的蜂窝和基于WiFi的解决方案无法扩展以满足不断增长的网络密集化数据需求,以及与数据中心和移动设备相关的新兴应用。虽然已经提出了利用有牌照频谱的机会性基础的创新解决方案[8],但这些方法仍然经常受到干扰,并且受限于有牌照频段中可用的信道带宽,例如电视频段。最近在57-71GHz范围内开放的无牌照频谱连续块中的毫米波(mmWave)频段通信是实现每秒千兆位数据速率的机会[9]。事实上,像IEEE 802.11ad这样的现有标准在这些频段上运行,允许用于短距离通信的高达2GHz宽的信道。

• MmWave挑战:由于毫米波频段的高路径损耗特性,需要利用基站(BS)和移动站(MSs)上的大型天线阵列进行定向波束成形[10]–[13]。这使得可以实现高质量和远距离通信链路,并增加了集中在接收端的信号功率。高频率的操作也从设计的角度支持大规模多天线架构,同时减小了每个天线的尺寸,并允许将许多天线打包在一个小区域内。详细文章见第4部分。

???? 2 运行结果

部分代码:

Num_users=4; % Number of users
TX_ant=64; %Number of UPA TX antennas
TX_ant_w=sqrt(TX_ant); % width
TX_ant_h=sqrt(TX_ant); % hieght
ind_TX_w=reshape(repmat([0:1:TX_ant_w-1],TX_ant_h,1),1,TX_ant_w*TX_ant_h);
ind_TX_h=repmat([0:1:TX_ant_h-1],1,TX_ant_w);

RX_ant=4; %Number of UPA RX antennas
RX_ant_w=sqrt(RX_ant); % width
RX_ant_h=sqrt(RX_ant); % hieght
ind_RX_w=reshape(repmat([0:1:RX_ant_w-1],RX_ant_h,1),1,RX_ant_w*RX_ant_h);
ind_RX_h=repmat([0:1:RX_ant_h-1],1,RX_ant_w);

% ----------------------------- Channel Parameters ------------------------
Num_paths=10; %Number of channel paths

% ----------------------------- Simulation Parameters ---------------------
SNR_dB_range=-10:5:20;  % SNR in dB
Rate_SU=zeros(1,length(SNR_dB_range)); % Will carry the single-user MIMO rate (without interference)
Rate_BS=zeros(1,length(SNR_dB_range));% Will carry the rate with analog-only beamsteering
Rate_HP=zeros(1,length(SNR_dB_range)); % Will carry the rate of hybrid ZF precoding
Rate_HP_MSE=zeros(1,length(SNR_dB_range)); % Will carry the rate of the hybrid MMSE precoder
Rate_HP_Kalman=zeros(1,length(SNR_dB_range)); % Will carry the rate of the proposed hybrid Kalman precoder
Rate_HP_FD_ZF=zeros(1,length(SNR_dB_range)); % Will carry the rate of the fully digital hybrid ZF precoding
Rate_HP_FD_MSE=zeros(1,length(SNR_dB_range)); % Will carry the rate of the fully digital hybrid MMSE precoding

ITER=500; % Number of iterations

% --------------- Simulation starts ---------------------------------------
for iter=1:1:ITER
% Generate user channels
[H,a_TX,a_RX]=generate_channels(Num_users,TX_ant_w,TX_ant_h,RX_ant_w,RX_ant_h,Num_paths);
% H is a 3-dimensional matrix, with Num_users,RX_ant,TX_ant dimensions


% Stage 1 of the proposed algorithm (Analog precoding)
Frf=zeros(TX_ant,Num_users); % BS RF precoders
Wrf=zeros(RX_ant,Num_users); % MS RF precoders

for u=1:1:Num_users
Frf(:,u)=a_TX(:,u);
Wrf(:,u)=a_RX(:,u);
end

% Constructin the effective channels
for u=1:1:Num_users
Channel=zeros(RX_ant,TX_ant);
Channel(:,:)= H(u,:,:);
He(u,:)=Wrf(:,u)'*Channel*Frf ;    % Effective channels
end

% effective channel for fully digital precoding

????3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

Anna Vizziello, Pietro Savazzi, Kaushik R. Chowdhury (2018) .

???? 4 Matlab代码及文章

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

基于卡尔曼的混合预编码技术用于多用户毫米波大规模MIMO系统研究(Matlab代码实现) 的相关文章

  • 如何在输入对话框中预设光标或选择默认答案

    如果创建一个输入对话框inputdlg和默认答案 看起来像这样 我需要哪个回调命令才能使它看起来像那样 这里缺少很多文档 这是为客户提供的一种 豪华服务 但我认为如果它很容易实现的话那就太好了 这个问题实际上已经解决了 因为我发现有一些方便
  • 用由少量元素组成的向量平滑曲线?

    我有 4 条曲线 由这些向量表示 x 300 700 1000 1500 y1 1 0055394199673442 0 11221578805214968 1 502661406039569 1 0216939169819494 y2 1
  • 使用 MATLAB 读取 CSV 文件?

    我正在尝试使用 MATLAB 读取 csv 文件 这是我的代码 csvread out2 csv out2 csv 如下所示 03 09 2013 23 55 12 129 32 129 33 03 09 2013 23 55 52 129
  • 分割车牌字符

    我在从车牌图像中分割字符时遇到问题 我应用了以下方法来提取车牌字符 车牌图像的自适应阈值 选择具有特定纵横比的轮廓 如果车牌图像中有任何阴影 如附件中所示 由于二值化不正确 我无法正确分割字符 图像中的阴影合并图像中的相邻字符 我已经对具有
  • 如何去掉 Matlab 单元格中的双引号?

    我在 Matlab 中有一个单元格数组 单元格中的所有元素都表示为 something 我怎样才能创建一个数组 something 这里有两个解决方案 strrep删除所有双引号实例 同时regexprep只删除字符串开头和结尾的双引号 感
  • MATLAB:让audioplayer()在函数结束后继续播放

    我正在使用使用以下子函数的代码 function playTone duration toneFreq Generate a tone samplesPerSecond 44100 the bit rate of the tone y si
  • Matlab:通过扩展向量来扩展矩阵

    我有一个dxmxn matrix A 解释 对于每个n 有m维度向量d 我想将每个 d 维向量扩展如下 考虑一个向量v维度 d 1 2 d 它是 x 1 x 2 x d 但为了简单起见 我删除了 x 目标是延长v获得一个d d向量形式 1
  • ND 输入的 im2col 算法

    我正在尝试为输入维度 gt 2D 编写自己的 im2col 算法 目前我正在研究 Matlab im2col 的实现 但是 我找不到任何有关二维以上输入的情况的文档 如果我将 3D 张量输入到函数中 我确实会得到输出 不过我不太明白你是如何
  • 使用 MAT2CELL 的 MATLAB

    我有以下矩阵 letter A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h ii jj k l m o p q r s t u v w x y z nu
  • R和matlab中的qr函数

    我有一个关于将 matlab 函数转换为 R 的问题 我希望有人能提供帮助 matlab 和 R 中使用的标准 QR 分解称为 qr 据我了解 用两种语言执行 qr 分解的标准方法是 Matlab Q R qr A 满足QR A R z l
  • 使用 sprintf 打印元素数量可变的向量

    在下面的代码中 我可以打印向量中的所有元素item用空格分隔为 item 123 456 789 sprintf d d d item ans 123 456 789 我怎样才能做到这一点而不必输入那么多 d作为元素的数量item 最简单的
  • MATLAB 颜色条刻度标记错误?

    我正在绘制 9 个子图 如下图所示 其中一个颜色条代表三个子图 在这里我想将颜色条中的最高值显示为 gt value 令人惊讶的是 当我手动将刻度标签编辑为h TickLabels end gt h TickLabels end 颜色条开始
  • 使用二进制遮罩遮罩 RGB 图像

    我在 MATLAB 中读入了一个 RGB 图像 M x N x 3 矩阵 我还有一个图像的二进制掩码 M x N 矩阵 对于某些感兴趣的区域来说它只是 0 而其他地方都是 1 我正在尝试找出如何使用该二进制掩码来掩蔽 RGB 图像 我尝试过
  • Windows 上 Matlab 64 位版本的免费 SCM [已关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当 Matlab 安装为 64 位版本时 它只能使用 64 位源代码控制系统 是否有免费的源代码控制系统
  • 同时使用两个数组中的元素的过滤器

    假设我们有两个大小相同的数组 A and B 现在 我们需要一个过滤器 对于给定的掩码大小 从以下位置选择元素A 但删除掩码的中心元素 并在其中插入相应的元素B 所以 3x3 伪掩码 看起来类似于 A A A A B A A A A 对平均
  • 如何将 Simulink 编码器编译器版本设置为支持 C++11 的版本?

    我正在尝试将代码合并到 Simulink 及其嵌入式编码器中 该代码使用 C 11 扩展 跑步mex setup c 给出这个输出 mex setup c MEX configured to use Xcode Clang for C la
  • 从彩色背景中提取黑色对象

    人眼很容易辨别black来自其他颜色 但是计算机呢 我在普通的A4纸上打印了一些色块 由于组成彩色图像有青色 品红色和黄色三种墨水 所以我设置每个块的颜色C 20 C 30 C 40 C 50 以及其余两种颜色是 0 这是我的源图像的第一列
  • 如何在 R 中导入 matlab 表

    我有一个matlab mat文件与表数据类型我想将其导入 R 中 我为此使用 readMat R 正在将其作为列表读取 之后有没有办法将列表转换为 R 中的数据帧或表格格式 当我使用as dataframe我收到以下错误 Error in
  • MATLAB:涉及大数的计算

    如何在 MATLAB 中执行涉及大量数字的计算 举一个简单的例子 任意精度计算器将显示 1 120 132 370 260 约为 1 56 但 MATLAB 无法执行此类计算 power 120 132 factorial 370 fact
  • MATLAB 链表

    有哪些可能的方法来实现链表MATLAB http en wikipedia org wiki MATLAB 注意 我问这个问题是为了教学价值 而不是实用价值 我意识到 如果您实际上在 MATLAB 中滚动自己的链表 那么您可能做错了什么 然

随机推荐

  • 搞懂 三次握手四次挥手

    计算机网络体系结构 在学习TCP 三次握手四次挥手之前 让我们先来看下计算机网络分层 主要分为OSI模型和TCP IP模型 OSI模型比较复杂且学术化 所以我们实际使用的TCP IP模型 以连接Mysql服务器为例理解这五层 应用层 应用层
  • 「优选算法刷题」:移动零

    嗨 这个假期罗根开始接触了算法 在为今年的蓝桥杯做准备 所以 开个新专栏 记录记录自己做算法题时的心得 一 题目 给定一个数组 nums 编写一个函数将所有 0 移动到数组的末尾 同时保持非零元素的相对顺序 请注意 必须在不复制数组的情况下
  • 「优选算法刷题」:快乐数

    一 题目 编写一个算法来判断一个数 n 是不是快乐数 快乐数 定义为 对于一个正整数 每一次将该数替换为它每个位置上的数字的平方和 然后重复这个过程直到这个数变为 1 也可能是 无限循环 但始终变不到 1 如果这个过程 结果为 1 那么这个
  • 【固定翼飞行器】用于计算固定翼飞机空气动力学的紧凑涡旋格方法研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现
  • 题解 | #获取员工其当前的薪水比其manager#

    我为什么拒了华为 offer 国家智能设计与数控技术创新中心 英语好技术烂的top2工科硕就业迷茫 坐等消息 华为ICT无线网络产品线面经 已完结 华为面经 ICT计算产品线 华为计算产品线实习面试 通软 凉凉 软开还是run开 国企银行的
  • 【自适应滤波】一种接近最佳的自适应滤波器,用于突发系统变化研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及文章
  • 从决策流到数据洞察:JVS规则引擎与智能BI的1.16更新详

    美团到店前端日常实习面经 4 信息安全学习 渗透测试知识点 汽车领域中软件技术方向就业分析 1 整车厂 华为海思光芯片2021校招笔经面经 许愿一个offer 6 中信银行总行大数据中心背调bg统计 春招背水一战 一定要尽快行动起来 华为开
  • 详解toLowerCase(判断字符串相等)

    一 toLowerCase 函数简介 toLowerCase 是一个在多个编程语言中都存在的字符串方法 它的作用是将字符串中的所有大写字母转换为对应的小写字母 常用于文本处理 搜索和比较等情况 以确保字符串的一致性和非大小写敏感的操作 二
  • 题解 | #网易云音乐推荐(网易校招笔试真题)#

    题解 人民币转换 import syss input split mp 1 壹 2 贰 3 叁 4 肆 5 伍 6 陆 蔚来 AI数据库开发实习一面1 11 1 自我介绍2 科大讯飞比赛做了什么 是用到了讯飞平台的某些功能吗3 API开放平
  • 微信公众号AI爆文项目入门

    今日 尝试了进行AI爆文的项目 其核心逻辑是不依赖于传统的打造个人IP 而是使用ChatGPT 文心一言等大语言模型进行创作 并发表到微信公众号平台 实现低粉爆文的效果 通过系统流量池的推荐来实现收益 一篇10W 的文章的收益在800到几千
  • DockerCompose - 微服务项目部署全过程(最佳实践)

    目录 一 微服务项目部署 1 1 项目介绍 1 2 准备 MySQL 初始化文件 1 3 pom xml 插件 1 4 测试工作 1 5 编写 Dockerflie 文件 1 6 编写 DockerCompose yml 文件 1 7 修改
  • 网上订货管理系统功能列表|企业手机订单管理软件

    网上 订货 管理 系统功能列表 企业手机订单管理软件 后台功能列表 后台支持手机版本 订货APP 管理订单的APP 后台登陆 输入账号密码登录企业订货管理软件系统 后台首页 显示近日 月 年订单统计 和收款欠款等统计 订单模块 新建订单 通
  • 【固定翼飞机】基于最优控制的固定翼飞机着陆控制器设计研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及文章
  • MathType中文网站2024最新版本下载及嵌入word教程

    MathType 是一款专业的数学公式编辑器 兼容Office word excel等700多种程序 用于编辑数学试卷 书籍 报刊 论文 幻灯演示等文档轻松输入各种复杂的数学公式和符号 MathType是一款功能强大的数学公式编辑器 广泛用
  • FL Studio21.2.2官方中文版重磅发布

    FL Studio 21 2 2官方中文版重磅发布纯正简体中文支持 更快捷的音频剪辑及素材管理器 多样主题随心换 Mac版新增对苹果M2 1家族芯片原生支持 DAW界萌神 极富二次元造型的水果娘FL chan通过FL插件Fruity Dan
  • mathtype2024版本下载与安装(mac版本也包含在内)

    安装包补丁主要是mathtype的安装包 与它的补丁 详细安装过程 step1 使用方法是下载完成后先安装MathType win zh exe文件 跟着步骤走直接安装就行 step2 关闭之后 以管理员身份运行MathType7PJ ex
  • 题解 | #返回购买 prod_id 为 BR01 的产品

    银行求职者的秋招总结 太原就业交流 滴滴实习6个月的感受 模拟面试 半年实习 项目经验不突出 如何让面试官 眼前一亮 双非硕士暑期实习 算法还是开发 百度提前批一二三面 进决赛圈了求指点 华为海思东莞asic开奖 公司有三个计划 每个计划薪
  • camtasia studio2024免费版如何下载?怎么录屏?

    camtasia studio怎么录屏 Camtasia Studio是一款专门录制屏幕动作的工具 它能在任何颜色模式下轻松地记录屏幕动作 包括影像 音效 鼠标移动轨迹 解说声音等等 一般情况下 用户使用camtasia studio进行录
  • 液晶偏振光栅

    1 偏振 光是横波 在垂直于光的传播方向的平面内光波振动 即E矢量振动 各方向振幅都相等的光为自然光 只在某一方向有光振动的光称为线偏振光 各方向光振动都有 但振幅不同的光叫部分偏振光 螺旋着振动的光称圆偏振光 分旋和右旋 2 庞加莱球表示
  • 基于卡尔曼的混合预编码技术用于多用户毫米波大规模MIMO系统研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及文章