Matlab导入HFSS数据绘制远场图

本文首次在公众号【零妖阁】上发表,为了方便阅读和分享,我们将在其他平台进行自动同步。由于不同平台的排版格式可能存在差异,为了避免影响阅读体验,建议如有排版问题,可前往公众号查看原文。感谢您的阅读和支持!

为了便于远场数据分析,常需将 HFSS 或 CST 中的数据导出给 Matlab 处理。
1 处理HFSS导出的3D数据
2 处理CST导出的3D数据

处理HFSS导出的3D数据

Matlab 2021 中的函数 patternCustom 可以很方便绘制 3D 方向图,语法如下:

patternCustom(magE, theta, phi)

在 HFSS 中绘制远场,基本设置如下

右键 Export 导出 csv 文件,从 HFSS 导出的 3D 远场数据有三列,依次为 Phi、Theta、Gain

绘制导出数据的 3D 方向图以及方向性热度图

%% 导入数据
file_name = 'data.csv';
Farfield = importdata(file_name);
Dir = Farfield.data;    % Phi | Theta | Gain
%% 3D方向图
figure;
subplot(121);
hsp = patternCustom(Dir(:,3), Dir(:,2), Dir(:,1));
caxis([-30, 5]);
set(gca, 'fontsize', 15, 'fontname','Times');
%% 转换为矩阵形式
phi_list = unique(Dir(:,1));
M = length(phi_list);
theta_list = unique(Dir(:,2));
N = length(theta_list);
D_mat = reshape(Dir(:,3), M, N);
%% 绘制热度图
subplot(122);
% imagesc(theta_list, phi_list, D_mat);
imagesc(phi_list, theta_list, D_mat');
colormap('jet'); colorbar;
xlabel('Phi'); ylabel('Theta')
set(gca, 'fontsize', 15, 'fontname','Times');

下面给出了从 HFSS 导出的偶极子远场图在 Matlab 中的运行结果

处理CST导出的3D数据

在 CST 的 Post Processing 中,导出远场的 txt 文件,导出的数据总共有 8 列,依次为Theta、Phi、Gain、Abs(Theta 分量)、Phase(Theta 分量)、Abs(Phi 分量)、Phase(Phi 分量)、轴比

绘制方向图只需要前三列数据,下面用 Matlab 绘制导出数据的 3D 方向图以及方向性热度图

%% 导入数据
file_name = 'data.txt';
Farfield = importdata(file_name);
Dir = Farfield.data;    % Theta | Phi | Gain
theta = Dir(:,1);
phi = Dir(:,2);
D = Dir(:,3);
%% 由于从CST导出的数据中phi只能从0取到358,
%%% 导致3D图出现不闭合现象,需人为填补数据
theta = [theta; theta(phi==0)];
phi = [phi; phi(phi==0)+360];
D = [D; D(phi==0)];
figure;
subplot(121);
hsp = patternCustom(D, theta, phi);
set(gca, 'fontsize', 15, 'fontname','Times');
% rotate(hsp, [1 0 0], 90);  % 旋转方向图
%% 转换为矩阵形式
theta_list = unique(theta);
M = length(theta_list);
phi_list = unique(phi);
N = length(phi_list);
D_mat = reshape(D, M, N);
%% 绘图
subplot(122);
imagesc(phi_list, theta_list, D_mat);
colormap('jet'); colorbar;
xlabel('Phi'); ylabel('Theta')
set(gca, 'fontsize', 15, 'fontname','Times');

下面给出了从 CST 导出的矩形喇叭天线远场图在 Matlab 中的运行结果

  • 6
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值