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

news2025/1/12 0:00:10

这里写目录标题

  • 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_x
    for j = 1:num_elements_y
        element_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_x
    for j = 1:num_elements_y
        element_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.coloradmin.cn/o/1067794.html

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

相关文章

香橙派、树莓派、核桃派、鲁班猫安装jupyter notebook【ubuntu、Debian开发板操作类似】

文章目录 前言一、安装环境二、使用方法总结 前言 香橙派树莓派鲁班猫安装一下调试代码还是比较方便的。 一、安装环境 假设已经安装好了miniconda3。如果还没安装可以参考我另外一篇博文,有写怎么安装。 pip install jupyter notebook # 生成Jupyter Notebook的…

【密评】商用密码应用安全性评估从业人员考核题库(四)

商用密码应用安全性评估从业人员考核题库(四) 国密局给的参考题库5000道只是基础题,后续更新完5000还会继续更其他高质量题库,持续学习,共同进步。 751 判断题 HMAC是一种消息鉴别码。 正确 错误 752 多项选择题 …

基于PSD-ML算法的语音增强算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 1.加窗处理: 2.分帧处理: 3.功率谱密度估计: 4.滤波处理: 5.逆变换处理: 6.合并处理: 5.算法完整程序工程 1.算法…

使用Java语言深度探索数据结构中的单向链表:完美结合详解与示例代码

版本说明 当前版本号[20231007]。 版本修改说明20231007初版 目录 文章目录 版本说明目录2.2 链表1) 概述定义简单分类随机访问性能插入或删除性能 2) 单向链表头部添加循环遍历while遍历for 遍历迭代器遍历匿名内部类转换为带名字的内部类 尾部添加递归遍历 根据索引获取寻…

HTML 笔记:初识 HTML(HTML文本标签、文本列表、嵌入图片、背景色、网页链接)

1 何为HTML 用来描述网页的一种语言超文本标记语言(Hyper Text Markup Language)不是一种编程语言&#xff0c;而是一种标记语言 (markup language) 2 HTML标签 HTML 标签是由尖括号包围的关键词&#xff0c;比如 <html> 作用是为了“标记”页面中的内容&#xff0c;使…

群晖搭建docker系统和办公服务2

首先先确认下我们的Office是否为VOL版&#xff0c;方法如下&#xff08;请您根据自身情况更改以下命令&#xff09;&#xff1a; 管理员身份运行命令提示符&#xff0c;输入 cd C:\Program Files\Microsoft Office\Office16 切换目录 &#xff08;这里请根据您自己的Office版本…

golang gin——中间件编程以及jwt认证和跨域配置中间件案例

中间件编程jwt认证 在不改变原有方法的基础上&#xff0c;添加自己的业务逻辑。相当于grpc中的拦截器一样&#xff0c;在不改变grpc请求的同时&#xff0c;插入自己的业务。 简单例子 func Sum(a, b int) int {return a b }func LoggerMiddleware(in func(a, b int) int) f…

【轻松玩转MacOS】外部设备篇

引言 在开始之前&#xff0c;我们先来了解一下为什么要连接外部设备。想象一下&#xff0c;你正在享受MacOS带来的便捷和高效&#xff0c;突然需要打印一份文件&#xff0c;但你发现打印机无法连接&#xff1b;或者你需要将手机投屏到电脑上&#xff0c;却不知道该如何操作。这…

在模拟器上安装magisk实现Charles抓https包(二)

在上一篇在模拟器上安装magisk实现Charles抓https包&#xff08;一&#xff09;_小小爬虾的博客-CSDN博客&#xff0c;好不容易在模拟器上安装好了Magisk&#xff0c;本篇记录安装movecert模块和AlwaysTrustUserCerts模块。 这两个模块的功能都是将Charles等证书从用户目录转移…

【ARM CoreLink 系列 1 -- SoC 片上互联介绍】

文章目录 概述1.1 片上互连架构的发展1.1.1 BUS 共享总线结构1.1.2 Crossbar 结构1.1.3 Ring 结构1.1.4 Mesh 网格结构 1.2 ARM 总线互联特点小结1.2.1 NOC 总线互联的特点 下篇文章&#xff1a;【ARM CoreLink 系列 1.1 – CoreLink 系列 产品介绍】 概述 在摩尔定律的推动下…

二叉树实现快速查找数字所在区间

背景 通过IP地址查询ip地址所属省市&#xff0c;存在这样的数据 3748137472,3748137727,223.104.10.0,223.104.10.255,中国,江西,,,移动,330000,,城域网 3748137728,3748137983,223.104.11.0,223.104.11.255,中国,陕西,,,移动,710000,,移动网络 3748137984,3748138239,223.104…

1.7 计算机网络体系结构

思维导图&#xff1a; 1.7.1 计算机网络的体系结构的形成 **1.7 计算机网络体系结构** 计算机网络体系结构中&#xff0c;分层的思想为核心。该方法使得复杂的网络设计变得更为简单和可管理。 **1.7.1 计算机网络体系结构的形成** - **计算机网络的复杂性**: 即使是简单的文…

2.4 信道复用技术

前言&#xff1a; 2.4.1 频分复用、时分复用和统计时分复用 **2.4 信道复用技术笔记** --- **1. 定义&#xff1a;** - **复用 (Multiplexing)**&#xff1a;允许多个用户共享一个传输介质&#xff0c;从而提高资源使用效率。 --- **2. 基本复用示意&#xff1a;** - 使用…

SQL进阶 - SQL的编程规范

性能优化是一个很有趣的探索方向&#xff0c;将耗时耗资源的查询优化下来也是一件很有成就感的事情&#xff0c;但既然编程是一种沟通手段&#xff0c;那每一个数据开发者就都有义务保证写出的代码逻辑清晰&#xff0c;具有很好的可读性。 目录 引子 小试牛刀 答案 引言 …

互联网图片安全风控实战训练营开营!

内容安全风控&#xff0c;即针对互联网产生的海量内容的外部、内部风险做宏观到微观的引导和审核&#xff0c;从内容安全领域帮助企业化解监管风险和社会舆论风险&#xff0c;其核心是识别文本、图片、视频、音频中的有害内容。 由于互联网内容类型繁杂、多如牛毛&#xff0c;加…

mysql面试题22:SQL优化的一般步骤是什么,怎么看执行计划(explain),如何理解其中各个字段的含义

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:SQL优化的一般步骤是什么,怎么看执行计划(explain),如何理解其中各个字段的含义 SQL优化的一般步骤如下: 分析和理解问题:首先,要确保对问…

Mysql 8手动终止某个事务并释放其持有的锁

示范数据表 age具有index普通索引 在mysql数据库里的information_schema.INNODB_TRX表中存储有innodb的所有事务&#xff0c;我们可以查看该表来查看正在进行的事务 现在我开启一个事务&#xff0c;执行第1、2行SQL&#xff0c;启动事务并持有id3的行锁 刷新事务表可以看到…

JavaScript 笔记 初识JavaScript(变量)

1 打开js文件方法 1.1 方法1&#xff1a;用html打开 第⼀步&#xff1a;把JS程序存储为⼀个扩展名为js的⽂本⽂件 第⼆步&#xff1a;把js⽂件关联到⼀个HTML⽂件上 <!DOCTYPE html> <html><body><script src1.js></script><body> </…

【微服务】七. http客户端Feign

7.1 基于Feign远程调用 RestTimeplate方式调用存在的问题 先来看以前利用RestTemplate发起远程调用的代码&#xff1a; String url "http://userservice/user"order.getUserId(); User user restTemplate.getForObject(url,User.class);存在下面的问题&#xf…

数据产品读书笔记——认识数据产品经理

&#x1f33b;大家可能听说的更多是产品经理这个角色&#xff0c;对数据产品经理可能或多或少了解一些&#xff0c;但又不能准确的描述数据产品经理的主要职能和与其他产品的不同&#xff0c;因此通过读一些书来对数据产品经理有一个准确且全面的认知。 目录 1. 数据的产品分类…