Holographic MIMO Surfaces (HMIMOS)以及Reconfigurable Holographic Surface(RHS)仿真

这里写目录标题

  • Simulation setup
  • chatgpt帮我总结
  • 代码


Holographic MIMO Surfaces (HMIMOS)以及Reconfigurable Holographic Surface(RHS)仿真:

Simulation setup

In this section, we evaluate the performance of the proposed joint sum rate optimization algorithm for the RHS-aided multi-user system. Simulation parameters are set as below. The carrier frequency f f f is 10 G H z 6 10 \mathrm{GHz}^{6} 10GHz6 , and the value of the reference wave’s propagation vector ∣ k s ∣ \left|\mathbf{k}_{s}\right| ks is 3 ∣ k f ∣ \sqrt{3}\left|\mathbf{k}_{f}\right| 3 kf , i.e., 2 3 π f / c 2 \sqrt{3} \pi f / c 23 πf/c , where c c c is the speed of light. The element spacing of the RHS d x d_{x} dx and d y d_{y} dy are both set as 0.75 c m 0.75 \mathrm{~cm} 0.75 cm . The height of the BS is 50 m 50 \mathrm{~m} 50 m , and the transmit power P T P_{T} PT is 1 W 1 \mathrm{~W} 1 W [10]. The propagation environment between the BS and each user is modeled as a sparse millimeter wave channel with I I I paths, i.e., H l = M N J I ∑ i = 1 I α l i a r ( ϕ r i l ) a t ( θ t i l , φ t i l ) H \mathbf{H}_{l}=\sqrt{\frac{M N J}{I}} \sum_{i=1}^{I} \alpha_{l}^{i} \mathbf{a}_{r}\left(\phi_{r_{i}}^{l}\right) \mathbf{a}_{t}\left(\theta_{t_{i}}^{l}, \varphi_{t_{i}}^{l}\right)^{H} Hl=IMNJ i=1Iαliar(ϕril)at(θtil,φtil)H , where α l i \alpha_{l}^{i} αli is the complex gain of the i i i -th path, ϕ r i l \phi_{r_{i}}^{l} ϕril and ( θ t i l , φ t i l ) \left(\theta_{t_{i}}^{l}, \varphi_{t_{i}}^{l}\right) (θtil,φtil) are the physical angle of arrival and angle of departure, respectively. a r ( ϕ r i l ) \mathbf{a}_{r}\left(\phi_{r_{i}}^{l}\right) ar(ϕril) and a t ( θ t i l , φ t i l ) \mathbf{a}_{t}\left(\theta_{t_{i}}^{l}, \varphi_{t_{i}}^{l}\right) at(θtil,φtil) are the antenna array response vectors of the user l and the BS, respectively [7]. For simplicity, we consider one line-of-sight path and one none-line-of-sight path between the BS and each user [6].
Fig. 3 shows the normalized radiation pattern of the RHS based on the proposed hybrid beamforming scheme. The desired radiation directions { ( θ i , ϕ i ) } \left\{\left(\theta_{i}, \phi_{i}\right)\right\} {(θi,ϕi)} are set as { ( 3 0 ∘ , − 5 0 ∘ ) , ( 4 5 ∘ , 0 ∘ ) , ( 6 0 ∘ , 5 0 ∘ ) } \left\{\left(30^{\circ},-50^{\circ}\right),\left(45^{\circ}, 0^{\circ}\right),\left(60^{\circ}, 50^{\circ}\right)\right\} {(30,50),(45,0),(60,50)} . We observe that directions of the beams generated by the RHS are the same as the desired beam directions with low sidelobe levels (i.e., about − 9 d B -9 \mathrm{~dB} 9 dB ). This demonstrates that through controlling the radiation amplitude of each radiation element, the RHS has the capability of accurate multibeam steering.

chatgpt帮我总结

在这里插入图片描述

It seems like you’ve provided a description of a simulation scenario and the parameters used in the evaluation of a joint sum rate optimization algorithm for a multi-user system with a reconfigurable intelligent surface (RHS). Here’s a breakdown of the information you’ve provided:

  1. Simulation Parameters:

    • Carrier Frequency (f): 10 GHz
    • Reference Wave’s Propagation Vector (|𝑘𝑠|): √3|𝑘𝑓| = 2√3π𝑓/𝑐, where 𝑐 is the speed of light.
    • Element Spacing of the RHS (dx and dy): Both set as 0.75 cm.
    • Height of the Base Station (BS): 50 m
    • Transmit Power (PT): 1 W
    • Propagation Environment: Modeled as a sparse millimeter-wave channel with I paths.
  2. Channel Model:

    • The propagation environment between the BS and each user is modeled using a sparse millimeter-wave channel.
    • The channel matrix (𝐻𝑙) is described as 𝑠𝑞𝑟𝑡{𝑀𝑁𝐽𝐼}∑𝑖=1𝐼𝛼𝑙𝑖𝑎𝑟(𝜑𝑟𝑖𝑙)𝑎𝑡(𝜃𝑡𝑖𝑙,𝜙𝑡𝑖𝑙)𝐻.
    • 𝛼𝑙𝑖 is the complex gain of the i-th path, and 𝜑𝑟𝑖𝑙 and (𝜃𝑡𝑖𝑙,𝜙𝑡𝑖𝑙) are the angles of arrival and departure.
    • 𝑎𝑟(𝜑𝑟𝑖𝑙) and 𝑎𝑡(𝜃𝑡𝑖𝑙,𝜙𝑡𝑖𝑙) are the antenna array response vectors of the user and the BS, respectively.
    • For simplicity, one line-of-sight path and one non-line-of-sight path are considered between the BS and each user.
  3. Radiation Pattern of the RHS:

    • Fig. 3 shows the normalized radiation pattern of the RHS based on a hybrid beamforming scheme.
    • The desired radiation directions {𝜃𝑖,𝜙𝑖} are set as {(30°,-50°), (45°, 0°), (60°, 50°)}.
    • The beams generated by the RHS align with the desired beam directions with low sidelobe levels, approximately -9 dB. This demonstrates the RHS’s capability for accurate multibeam steering.

This information provides an overview of the simulation setup and the characteristics of the multi-user system with an RHS. It seems that this evaluation is focused on the beamforming capability of the RHS and its ability to align beams accurately with desired directions while minimizing sidelobe levels.

代码

% 设置参数
fc = 10e9; % 10 GHz的载波频率
lambda = physconst('LightSpeed') / fc; % 波长% 天线阵列参数
dx = 0.0075; % x方向上的元素间距 (0.0075 m = 0.75 cm)
dy = 0.0075; % y方向上的元素间距 (0.0075 m = 0.75 cm)
num_elements_x = 4; % x方向上的天线元素数量
num_elements_y = 4; % y方向上的天线元素数量% 创建天线阵列
tx_array = phased.URA('Size', [num_elements_x, num_elements_y], 'ElementSpacing', [dx, dy]);% 模拟多径信道
num_paths = 2; % 仅考虑两个路径(一个LOS路径和一个NLOS路径)
path_delays = [0, 10e-9]; % 路径延迟时间
path_gains = [1, 0.1]; % 路径增益% 创建多径信道对象
channel = phased.WidebandMillimeterWaveChannel(...'PropagationSpeed', physconst('LightSpeed'), ...'CarrierFrequency', fc, ...'NumPaths', num_paths, ...'PathDelays', path_delays, ...'AveragePathGains', path_gains);% 波束赋形
desired_angles = [30, -50; 45, 0; 60, 50]; % 期望波束方向(角度)
beamformer = phased.PhaseShiftBeamformer('SensorArray', tx_array, 'OperatingFrequency', fc);
weights = step(beamformer, desired_angles);% 绘制波束赋形权重
figure;
pattern(tx_array, fc, [-180:180], [-90:90], 'Weights', weights);% 显示结果
disp('波束赋形权重:');
disp(weights);

这个示例创建了一个简单的多径信道,一个二维的天线阵列,然后进行了波束赋形。请注意,这只是一个简化的示例,实际应用中可能需要更复杂的信道模型和波束赋形算法,具体的参数设置和模型细节也需要根据实际需求进行调整。此外,上述代码只演示了波束赋形的一部分,实际系统的性能评估需要更多的工作和分析。


我之前提到的 phased.URA 函数是 MATLAB 中的一个用于创建均匀矩形阵列(Uniform Rectangular Array)的函数。均匀矩形阵列是一种常见的天线阵列类型,其中天线元素按矩形排列,并且在水平和垂直方向上具有相等的间距。

具体来说,phased.URA 是 MATLAB 的 Phased Array System Toolbox 中的一个函数。它允许你创建均匀矩形阵列,并可以指定阵列的参数,如阵列的大小、天线元素的间距等。通过创建这样的阵列,你可以用于模拟和分析信号的波束赋形、接收和传输性能,尤其在通信系统和雷达系统的建模和仿真中非常有用。

下面是 phased.URA 函数的基本语法:

array = phased.URA('PropertyName1', PropertyValue1, 'PropertyName2', PropertyValue2, ...);

其中,PropertyNamePropertyValue 是一对一对的名称-值对,用于设置阵列的各种属性,如阵列的大小、元素间距等。

要详细了解如何使用 phased.URA 函数以及其支持的属性,请参考 MATLAB 的官方文档或 Phased Array System Toolbox 的文档,这些文档将提供更多的示例和详细信息。


当然,我可以为您提供一些示例代码,演示如何手动创建一个均匀矩形天线阵列,而不依赖于特定的 MATLAB 工具箱。以下是一个使用基本的 MATLAB 函数和操作创建均匀矩形天线阵列的示例代码:

% 阵列参数
num_elements_x = 4; % x方向上的天线元素数量
num_elements_y = 4; % y方向上的天线元素数量
dx = 0.75; % x方向上的元素间距 (0.75 cm)
dy = 0.75; % y方向上的元素间距 (0.75 cm)% 创建均匀矩形天线阵列
element_positions = zeros(num_elements_x * num_elements_y, 3); % 初始化天线元素位置矩阵% 生成天线元素的位置
for i = 1:num_elements_xfor j = 1:num_elements_yelement_positions((i - 1) * num_elements_y + j, 1) = (i - 1) * dx;element_positions((i - 1) * num_elements_y + j, 2) = (j - 1) * dy;end
end% 显示阵列元素的位置
figure;
scatter3(element_positions(:,1), element_positions(:,2), zeros(size(element_positions,1)), 'filled');
xlabel('X轴位置 (m)');
ylabel('Y轴位置 (m)');
zlabel('Z轴位置 (m)');
title('均匀矩形天线阵列');% element_positions 现在包含了天线元素的位置信息

上述代码演示了如何手动创建一个均匀矩形天线阵列,并显示了阵列元素的位置。您可以根据需要进一步使用这些位置信息进行信道模拟、波束赋形等操作。这个示例不依赖于特定的 MATLAB 工具箱,只使用了基本的 MATLAB 函数和操作。


将您之前提供的描述转化为 MATLAB 代码,并且不依赖于 MATLAB 工具箱中的函数是一项复杂的任务,特别是在涉及到多径信道建模和波束赋形时。由于代码的复杂性和细节,以下是一个简化的示例,演示如何使用基本的 MATLAB 函数创建一个简单的多径信道,并进行一些简单的波束赋形。请注意,这个示例仅用于概念演示,并且不包括所有细节:

% 设置参数
fc = 10e9; % 载波频率 10 GHz
lambda =  physconst('LightSpeed') / fc; % 波长% 天线阵列参数
dx = 0.0075; % x方向上的元素间距 (0.0075 m = 0.75 cm)
dy = 0.0075; % y方向上的元素间距 (0.0075 m = 0.75 cm)
num_elements_x = 4; % x方向上的天线元素数量
num_elements_y = 4; % y方向上的天线元素数量% 创建均匀矩形天线阵列
element_positions = zeros(num_elements_x * num_elements_y, 3); % 初始化天线元素位置矩阵% 生成天线元素的位置
for i = 1:num_elements_xfor j = 1:num_elements_yelement_positions((i - 1) * num_elements_y + j, 1) = (i - 1) * dx;element_positions((i - 1) * num_elements_y + j, 2) = (j - 1) * dy;end
end% 信道模拟 - 多径信道
num_paths = 2; % 路径数量
path_delays = [0, 10e-9]; % 路径延迟时间
path_gains = [1, 0.1]; % 路径增益% 创建多径信道模型
channel_response = zeros(num_paths, size(element_positions, 1)); % 初始化信道响应矩阵% 生成多径信道响应
for i = 1:num_paths% 随机生成复杂增益alpha_i = path_gains(i) * (randn() + 1i * randn());% 生成每个天线元素的响应for j = 1:size(element_positions, 1)% 随机生成相位phase = 2 * pi * rand();% 计算每个天线元素的响应channel_response(i, j) = alpha_i * exp(1i * 2 * pi * fc * path_delays(i)) * exp(1i * phase);end
end% 显示阵列元素的位置
figure;
scatter3(element_positions(:, 1), element_positions(:, 2), zeros(size(element_positions, 1), 1), 'filled');
xlabel('X轴位置 (m)');
ylabel('Y轴位置 (m)');
zlabel('Z轴位置 (m)');
title('均匀矩形天线阵列');% channel_response 现在包含了多径信道的响应

请注意,这个示例是一个简化的模型,用于演示如何手动创建均匀矩形天线阵列、生成多径信道响应并显示阵列元素的位置。在实际应用中,信道建模和波束赋形通常需要更复杂的算法和细节。此外,由于不使用 MATLAB 工具箱中的函数,这个示例可能会缺少某些功能和精度。在实际项目中,建议使用适当的 MATLAB 工具箱和函数来处理复杂的任务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/97100.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git 学习笔记 | 安装 Git 及环境配置

Git 学习笔记 | 安装 Git 及环境配置 Git 学习笔记 | 安装 Git 及环境配置安装 Git配置 Git查看配置 Git 学习笔记 | 安装 Git 及环境配置 安装 Git 官方网站:https://git-scm.com/ 官网下载太慢,我们可以使用淘宝镜像下载:https://regist…

信号量机制之整型信号量,记录型信号量

1.信号量机制 用户进程可以通过使用操作系统提供的一对原语来对信号量进行操作,从而很方便的实现了进程互斥、进程同步。 1.信号量 信号量其实就是一个变量(可以是一个整数,也可以是更复杂的记录型变量),可以用一个信号量来表示…

Lua系列文章(1)---Lua5.4参考手册学习总结

windows系统上安装lua,下载地址: Github 下载地址:https://github.com/rjpcomputing/luaforwindows/releases 可以有一个叫SciTE的IDE环境执行lua程序 1 – 简介 Lua 是一种强大、高效、轻量级、可嵌入的脚本语言。 它支持过程编程, 面向对…

【ARM CoreLink 系列 5 -- CI-700 控制器介绍 】

文章目录 1.1 什么是 CI-700?1.1.1 关于 CI-7001.1.2 CI-700 特点1.2 全局配置参数1.2.1 寻址能力1.3 组件和配置1.3.1 CI-700 互联的结构1.3.2 Crosspoint(XP)1.3.3 外部接口1.4 组件(Components)1.1 什么是 CI-700? CI-700是一种AMBA 5 CHI互连,具有可定制的网状拓扑结构…

Maven 下载安装配置

Maven 下载安装配置 下载 maven maven 官网:https://maven.apache.org/ maven 下载页面:https://maven.apache.org/download.cgi 安装 maven 将下载的apache-maven.zip文件解压到安装目录 将加压后的apache-maven目录改名为maven maven 配置环…

Kafka 高可用

正文 一、高可用的由来 1.1 为何需要Replication 在Kafka在0.8以前的版本中,是没有Replication的,一旦某一个Broker宕机,则其上所有的Partition数据都不可被消费,这与Kafka数据持久性及Delivery Guarantee的设计目标相悖。同时Pr…

threejs 透明贴图,模型透明,白边

问题 使用Threejs加载模型时,模型出现了上面的问题。模型边缘部分白边,或者模型出现透明问题。 原因 出现这种问题是模型制作时使用了透明贴图。threejs无法直接处理贴图。 解决 场景一 模型有多个贴图时(一个透贴和其他贴图&#xff0…

笔记01:随机过程——随机游动

一、伯努利随机过程 1. n次伯努利实验中(x1)发生的总次数Yn: (二项分布) 2. 伯努利实验中事件第一次发生的时间L1: (几何分布) 3. n次伯努利实验中事件第k次发生的时间Lk: (帕斯卡分…

HiveServer2 Service Crashes(hiveServer2 服务崩溃)

Troubleshooting Hive | 5.9.x | Cloudera Documentation 原因:别人用的都好好的,我的集群为什么会崩溃? 1.hive分区表太多(这里没有说具体数量。) 2.并发连接太多,我记的以前默认是200个连接 3.复杂的hive查询访问表的的分区…

(一)实现一个简易版IoC容器【手撸Spring】

一、前言 相信大家在看本篇文章的时候,对IoC应该有一个比较清晰的理解,我在这里再重新描述下:它的作用就是实现一个容器将一个个的Bean(这里的Bean可以是一个Java的业务对象,也可以是一个配置对象)统一管理…

JetPack系列:001-JetPack概要介绍

文章目录 1. 概念介绍2. 主要内容2.1 框架库2.2 UI界面库 3. 核心思想4. 内容总结 本章回是一起Talk AndroidJetpack吧专栏的第一章回,本章回中主要介绍JetPack的基本概念和编程思想,同时也会介绍它的基础知识。闲话休提,请我们一起Talk Andr…

趣味工具箱小程序源码

趣味工具箱小程序源码,支持功能去水印,精选壁纸,图片压缩,文字生成二维码,图片加水印,模拟来电,手持弹幕,掷骰子…等 使用小工具,一个小程序有几十个功能。 源码下载&am…

面试打底稿⑥ 项目一的第二部分

简历原文 抽查部分 计算运费模块板块扩展性优化,采用责任链模式,实现不同地区间寄件的运费模板扩展的优化,为模块解耦,提高了系统的扩展性 短信模块设计,设计了短信发送数据模板的数据化存储,规范了发送短…

服务器or虚拟机安装SSH和虚拟机or服务器设置远程服务权限

第一步 服务器/虚拟机安装SSH工具,这是外部SSH终端连接服务器/虚拟机的第一步! sudo apt update && sudo apt upgrade#更新apt sudo apt install openssh-server#安装SSH工具 service ssh status#查看SSh运行状态 sudo systemctl enable --now ssh#运行SSH工具第二步…

Pytorch-学习记录-1-Tensor

1. 张量 (Tensor): 数学中指的是多维数组; torch.Tensor data: 被封装的 Tensor dtype: 张量的数据类型 shape: 张量的形状 device: 张量所在的设备,GPU/CPU requires_grad: 指示是否需要计算梯度 grad: data 的梯度 grad_fn: 创建 Tensor 的 Functio…

[python 刷题] 3 Longest Substring Without Repeating Characters

[python 刷题] 3 Longest Substring Without Repeating Characters 题目: Given a string s, find the length of the longest substring without repeating characters. 这到提要求找的是最长的,没有重复符号的子字符串 解题思路是用双指针哈希表&…

mysql MVCC(多版本并发控制)理解

最近看MVCC相关资料,这边做一个记录总结,方便后续理解。 目录 一、MVCC相关概念 二、MVCC实现原理 1.隐藏字段 2.undo log 3.Read View 4.MVCC的整体处理流程 5. RC,RR级级别下的innoDB快照读有什么不同 6.总结 一、MVCC相关概念 1…

华为云云耀云服务器L实例评测|部署私有网盘 Nextcloud

华为云云耀云服务器L实例评测|部署私有网盘 Nextcloud 一、云耀云服务器L实例介绍1.1 云服务器介绍1.2 产品规格1.3 应用场景 二、云耀云服务器L实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置 三、部署 Nextcloud3.1 Nextcloud 介绍3.2 Docker 环境搭建3.3 Nex…

mysql面试题23:如果某个表有近千万数据,CRUD比较慢,如何优化?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:如果某个表有近千万数据,CRUD比较慢,如何优化? 当某个表存在近千万数据且CRUD(增删改查)操作比较慢时,可以考虑以下优化策略: 使用索引:索…

数百个下载能够传播 Rootkit 的恶意 NPM 软件包

供应链安全公司 ReversingLabs 警告称,最近观察到的一次恶意活动依靠拼写错误来诱骗用户下载恶意 NPM 软件包,该软件包会通过 rootkit 感染他们的系统。 该恶意软件包名为“node-hide-console-windows”,旨在模仿 NPM 存储库上合法的“node-…