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

这里写目录标题

  • Simulation setup
  • chatgpt帮我总结
  • 代码
  • 总结:chatgpt生成的代码还是不靠谱:考虑把之前看的RHS中对于多用户的改成单用户
  • 全系MIMO与普通MIMO或者说RIS的区别到底是啥?


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 工具箱和函数来处理复杂的任务。




以下是更详细的 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% 波束赋形 - 生成波束权重
desired_angle = [30, -50]; % 期望波束方向(角度)% 初始化波束权重矩阵
beamforming_weights = beamforming_weights(:); % 将波束权重变为列向量
beam_pattern = zeros(size(angles)); % 初始化波束功率for i = 1:length(angles)% 计算每个角度下的波束功率beam_pattern(i) = abs(sum(beamforming_weights .* exp(-1i * 2 * pi * fc * (dx * sind(angles(i)) + dy * sind(angles(i))))));
end% 绘制波束赋形的结果
figure;
plot(angles, 10 * log10(beam_pattern / max(beam_pattern)));
xlabel('角度(度)');
ylabel('波束功率(dB)');
title('波束赋形结果');
% 显示阵列元素的位置
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 包含多径信道的响应
% beamforming_weights 包含波束赋形的权重

此示例创建了均匀矩形天线阵列,模拟了多径信道,进行了波束赋形并绘制了波束赋形的结果。波束赋形结果以角度-波束功率的形式绘制。请注意,这个示例仍然是一个简化的模型,实际应用中可能需要更复杂的信道建模和波束赋形算法。

总结:chatgpt生成的代码还是不靠谱:考虑把之前看的RHS中对于多用户的改成单用户

角度距离域信道,考虑太赫兹,即基站和目标的距离小于瑞丽距离。

全系MIMO与普通MIMO或者说RIS的区别到底是啥?

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

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

相关文章

想升级macOS Big Sur,但是MacBook内存空间不够该怎么办?

随着使用时间的增长,我们会发现Mac电脑的存储空间越来越少,这时候我们就需要对Mac电脑进行清理,以释放更多的存储空间。那么,Mac空间不足怎么解决呢? 1.清理垃圾文件 Mac空间不足怎么解决?首先要做的就是清…

基于边缘网关的智慧工地监测方案

边缘物联网技术为千行百业赋能,依托边缘计算的低延时、高效率、广适用优势,也为工程建设产业带来新的增长动力。 例如在智慧工地应用中,围绕建设施工过程中的人员、设备、环境等要素,利用边缘计算网关构建全面的数据采集、分析、联…

基于SVM+TensorFlow+Django的酒店评论打分智能推荐系统——机器学习算法应用(含python工程源码)+数据集+模型(三)

目录 前言总体设计系统整体结构图系统流程图 运行环境模块实现1. 数据预处理2. 模型训练及保存3. 模型应用 系统测试1. 训练准确率2. 测试效果3. 模型应用 相关其它博客工程源代码下载其它资料下载 前言 本项目以支持向量机(SVM)技术为核心,…

python常用库之数据库orm框架之SQLAlchemy

文章目录 python常用库之数据库orm框架之SQLAlchemy一、什么是SQLAlchemySQLAlchemy 使用场景 二、SQLAlchemy使用SQLAlchemy根据模型查询SQLAlchemy SQL 格式化的方式db_session.query和 db_session.execute区别实测demo 总结:让我们留意一下SQLAlchemy 的 lazy lo…

【C++设计模式之迭代器模式】分析及示例

简介 迭代器模式是一种行为型设计模式,它提供了一种顺序访问聚合对象元素的方法,而又不需要暴露聚合对象的内部结构。迭代器模式通过将遍历算法封装在迭代器对象中,可以使得遍历过程更简洁、灵活,并且符合开闭原则。 描述 迭代…

YOLOv8改进算法之添加CA注意力机制

1. CA注意力机制 CA(Coordinate Attention)注意力机制是一种用于加强深度学习模型对输入数据的空间结构理解的注意力机制。CA 注意力机制的核心思想是引入坐标信息,以便模型可以更好地理解不同位置之间的关系。如下图: 1. 输入特…

美容美甲小程序商城的作用是什么

美容院往往有很高需求,女性悦己经济崛起,加之爱美化程度提升,无论线下环境还是线上互联网信息冲击,美容服务、化妆产品等市场规格一直稳增不减。 通过【雨科】平台制作美容美甲商城,售卖相关服务/产品,模块…

计算机网络-计算机网络体系结构-概述,模型

目录 一、计算机网络概述 二、性能指标 速率 带宽 吞吐量 时延 往返时延RTT 利用率 三、计算机网络体系结构 分层结构 IOS模型 应用层-> 表示层-> 会话层-> 传输层-> 网络层-> 数据链路层-> 物理层-> TCP/IP模型 一、计算机网络概述 计…

轻松实现视频、音频、文案批量合并,享受批量剪辑的便捷

在日常生活中,我们经常会需要将多个视频、音频和文案进行合并剪辑,以制作出符合我们需求的短视频。然而,这个过程通常需要花费大量的时间和精力。幸运的是,现在有一款名为“固乔智剪软件”的工具可以帮助我们轻松完成这个任务。 首…

Nginx搭建Rtmp流媒体服务,并使用Ffmpeg推流

文章目录 1.rtmp流媒体服务框架图2.nginx配置3.配置nginx4.使用ffmpeg推流5.实时推摄像头流 本项目在开发板上使用nginx搭建流媒体服务,利用ffmpeg进行推流,在pc上使用vlc media进行拉流播放。 1.rtmp流媒体服务框架图 2.nginx配置 下载:wge…

GitHub爬虫项目详解

前言 闲来无事浏览GitHub的时候,看到一个仓库,里边列举了Java的优秀开源项目列表,包括说明、仓库地址等,还是很具有学习意义的。但是大家也知道,国内访问GitHub的时候,经常存在访问超时的问题,…

JVM技术文档--JVM诊断调优工具Arthas--阿里巴巴开源工具--一文搞懂Arthas--快速上手--国庆开卷!!

​ Arthas首页 简介 | arthas Arthas官网文档 Arthas首页、文档和下载 - 开源 Java 诊断工具 - OSCHINA - 中文开源技术交流社区 阿丹: 之前聊过了一些关于JMV中的分区等等,但是有同学还是在后台问我,还有私信问我,学了这些…