近场2D beamforming Heatmap图

文章目录

  • 想法
  • 代码
  • 目前啥样

想法

参考论文Beam Focusing for Near-Field Multiuser MIMO Communications,可视化beam focusing效应

在这里插入图片描述

代码


clc;
clear;% 网格范围
D = 1; % 整个均匀平面阵列的孔径
lambda = 1e-2; % 波长0.01m,单位:米   30GhzN_d = floor(2 * D / lambda); % 垂直方向的阵元数  600
N_e = floor(2 * D / lambda); % 水平方向的阵元数  600
spacing = D / N_d;x_range = -20:0.25:20; %* spacing - D / 2 ;
y_range = -20:0.25:20; %* spacing - D / 2 ;% 生成网格四
[X, Y] = meshgrid(x_range, y_range);
% 计算每个点的信号强度
signal_strength = zeros(numel(x_range),numel(y_range));for x_index = 1:numel(x_range)x_b = x_range(x_index);for y_index = 1:numel(y_range)y_b = y_range(y_index);signal_strength(x_index,y_index) = NearFieldFDA2D(x_b,y_b,D,lambda);fprintf('测量点的横坐标%g,纵坐标%g\n',x_b,y_b);end
end% 绘制彩色图
figure;
imagesc(x_range, y_range, signal_strength);
title('xy平面近场信号强度图');
xlabel('X轴位置');
ylabel('Y轴位置');
colorbar;  % 添加颜色条

函数

function SignalPower_xbyb = NearFieldFDA2D(x_b, y_b, D, lambda)
% 定义参数和变量
N_d = floor(2 * D / lambda); % 垂直方向的阵元数  600
N_e = floor(2 * D / lambda); % 水平方向的阵元数  600
spacing = D / N_d;
M = 2; % 用户数
b = 2; % Boresight gain参数
% x_b = 5; % 用户 Bob 的 x 坐标
% y_b = 5; % 用户 Bob 的 y 坐标
z_b = 0; % 用户 Bob 的 z 坐标k = 2 * pi / lambda; % 波数
alpha_c = 1.2;
beta_c = 827.67;% 生成信道系数
% rho = rand(N_d, N_e); % 元件位置
A_b = zeros(N_d, N_e);
A_w = zeros(N_d, N_e);
s = randn(N_d, N_e); % 模拟发送信号SignalPower_xbyb = 0;for i = 1:N_dfor l = 1:N_e% rho(i, l) = p_i_l = [(i - 1) * spacing - D / 2, 0, (l - 1) * spacing - D / 2];% p_i_l = [0, (i - 1) * spacing - D / 2, (l - 1) * spacing - D / 2];% 计算用户 Bob 的信道系数p_b = [x_b, y_b, z_b];Theta_i_l_b = calculateTheta(p_i_l, p_b);distance_b_il = norm(p_b - p_i_l); % 计算距离 |p_m - p_i_l|phase_b_il = exp(-1i * k * distance_b_il); % 计算相位 e^{-j*k*|p_m - p_i_l|}A_b(i, l) = sqrt(F(Theta_i_l_b)) * (lambda / (4 * pi * norm(p_b - p_i_l))) * phase_b_il;SignalPower_xbyb = SignalPower_xbyb + A_b(i, l);end
endSignalPower_xbyb = norm(SignalPower_xbyb);end
% 计算辐射函数 F
function F_theta = F(Theta)b = 2;  % Boresight gain参数if Theta >= 0 && Theta <= pi/2F_theta = 2 * (b + 1) * cos(Theta)^b;elseF_theta = 0;end
end% 计算信道方向角Theta
function Theta = calculateTheta(p_i_l, p)delta_x = p(1) - p_i_l(1);delta_y = p(2) - p_i_l(2);delta_z = p(3) - p_i_l(3);Theta = atan2(delta_z, sqrt(delta_x^2 + delta_y^2));
end

目前啥样

目前仅仅考虑了所有天线向各个方向等功率发送,也就是目前还没有针对某一个用户的beam focusing,这一点的实现需要后续专门设计优化算法,可以这么理解: 是beamforming矩阵 W \mathbf{W} W的存在让波束聚焦在一个具体的位置,目前代码中仅仿真了近场信道,波束赋形矩阵 W \mathbf{W} W等价于单位阵。

在这里插入图片描述

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

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

相关文章

Emlog博客网站快速搭建并结合内网穿透实现远程访问本地站点

文章目录 前言1. 网站搭建1.1 Emolog网页下载和安装1.2 网页测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2.Cpolar稳定隧道&#xff08;云端设置&#xff09;2.3.Cpolar稳定隧道&#xff08;本地设置&#xff09; 3. 公网访问测试总结 前言 博客作为使…

图的遍历(广度优先遍历BFS,深度优先遍历DFS)

目录 图的遍历概念&#xff1a; 图的广度优先遍历&#xff08;BFS&#xff09;&#xff1a; 代码实现如下&#xff1a; 测试如下&#xff1a; 注意&#xff1a; 图的深度优先遍历&#xff08;DFS&#xff09;&#xff1a; 代码实现如下&#xff1a; 测试如下&#xff1…

数字孪生核心技术揭秘(五):BIM究竟是解药还是毒药?

一、关于BIM的那些幻想 1.1 BIM是“数字孪生城市”最后一块拼图&#xff1f; 近几年&#xff0c;CIM概念越来越流行&#xff0c;已经成为数字孪生城市的主流数据模型。CIM原始概念指的是“城市信息模型”&#xff1b;2015年同济大学吴志强院士基于CIM概念提出“城市智慧模型”&…

ElscticSearch基础操作

Es数据格式和Mysql对比 ElasticSearch index(索引) Type(类型) Documents(文档) Fields(字段) ​ MySQL Databases(数据库) Table(表) Row(行) Column(列) 倒排索引 正向索引,在Mysql中使用的索引就是正排索引,索引对应的就是直接的数据 例子: id content 1 my name is …

Java系列之 重命名文件/图片,renameTo() 方法的使用

我 | 在这里 &#x1f3e0; 工作 | 广州 ⭐ Java 全栈开发&#xff08;软件工程师&#xff09; ✈️公众号 | 热爱技术的小郑 。文章底部有个人公众号二维码。回复 Java全套视频教程 或 前端全套视频教程 即可获取 300G 教程资料及项目实战案例 &#x1f680; 邮箱 | 297742996…

Linux 主机数据拷贝与 Linux 服务器之间拷贝文件的方法

Linux 主机数据拷贝与 Linux 服务器之间拷贝文件的方法 1. 使用 scp 命令2. 使用 rsync 命令3. 使用 scp 和 rsync 的图形界面工具4. 使用 FTP/SFTP 协议总结与比较 在 Linux 系统中&#xff0c;数据拷贝是日常操作中的常见需求&#xff0c;尤其是在不同主机或服务器之间进行文…

【医学大模型】Text2MDT :从医学指南中,构建医学决策树

Text2MDT &#xff1a;从医学指南中&#xff0c;构建医学决策树 提出背景Text2MDT 逻辑Text2MDT 实现框架管道化框架端到端框架 效果 提出背景 论文&#xff1a;https://arxiv.org/pdf/2401.02034.pdf 代码&#xff1a;https://github.com/michael-wzhu/text2dt 假设我们有一…

CF778A String Game 题解

文章目录 CF778A String Game 题解题面翻译Input DataOutput DataInput Sample 1Output Sample 1题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 样例 #2样例输入 #2样例输出 #2 提示算法&#xff1a;二分代码&#xff1a; CF778A String Game 题解 link 题面翻译 …

VsCode指定插件安装目录

VsCode指定插件安装目录 VsCode安装的默认目录是在用户目录(%HomePath%)下的.vscode文件夹下的extensions目录下&#xff0c;随着安装插件越来越多会占用大量C盘空间。 指定VsCode的插件目录 Vscode安装目录&#xff1a; D:\Microsoft VS Code\Code.exeVscode插件安装目录&a…

Jenkins配置node节点

1、添加节点 2、配置node主机的java环境 注意&#xff0c;jdk的位置和版本要和master保持一致 sudo apt-get update sudo apt-get install openjdk-8-jre vim /etc/enviroment写入&#xff1a;export JAVA_HOME/usr/lib/jvm/openjdk-8-jre 按wq!退出 再输入&#xff1a;s…

压缩感知(Compressed Sensing,CS)的基础知识

压缩感知&#xff08;Compressed Sensing&#xff0c;CS&#xff09;是一种用于信号处理的技术&#xff0c;旨在以少于奈奎斯特采样定理所要求的样本频率来重构信号。该技术利用信号的稀疏性&#xff0c;即信号可以用较少的非零系数表示。压缩感知在图像获取中的应用使得在采集…

Linux调优指南

更多相关知识可以阅读&#xff1a; https://www.yuque.com/treblez/qksu6c/yxl59pkvczqot9us https://www.yuque.com/treblez/qksu6c/nqe8ip59cwegl6rk 本文不会讲解基础知识。 CPU 设置调度器 这几个调度类的优先级如下&#xff1a;Deadline > Realtime > Fair 如果你…