文章目录
feko金属球远场RCS双站
操作流程
在左边就可以查看一些参数。
然后就是进行球的材料设置,可以从材料库选,如下图。
模型有了,材料有了,然后设置光源频率。可以选择Single frequency种填写,也可以在Linearly spaced discrete points选(这个是作业的),根据实际情况吧。
设置光源类型。
接着设置远场监视器。
在设置远场监视器的时候,到advanced中勾选到处ffe文件则在模型仿真结束可以导出代码,如下图:
接下来进行网格划分,但是在设置网格之前要先设置求解模型,如下图:
矩量法、快速多极子、FEM、FDTD、高频。。。
然后就是网格划分了。
可以选中球体,查看网格数量
然后开始求解。
然后打开后处理模块就可以看到一些结果,有时候要记得勾选dB。
代码
读取ffe代码如下:
%%
%读取.ffe文件里的信息——2020.5.2
%%
clear,
tic;
PathName_h='D:\文档\Radar\Radar HW3\一些仿真结果\code\';
FileName_h = uigetfile('*.ffe','Select the NASTRAN mesh file to open');
%FileName_h='sphere1=0.5_FarField1.ffe';
jj=1;
fid=fopen([PathName_h FileName_h],'r');
for ii=1:5
fgetl(fid);
end
tline=fgetl(fid);
tline1=fgetl(fid);
fgetl(fid);
fgetl(fid);
fscanf(fid,'%c',11);%fscanf的fomat有%d十进制%f读float%c读空格
frequency=fscanf(fid,'%lg',1);
for ii=1:9
fgetl(fid);
end
theta=fscanf(fid,'%lg',1);%读取数据中的第一列即角度theta
phi=fscanf(fid,'%lg',1);%读取数据中的第二列即角度phi
%下面是依次进行数据的读取
re_theta=fscanf(fid,'%lg',1);
im_theta=fscanf(fid,'%lg',1);
re_phi=fscanf(fid,'%lg',1);
im_phi=fscanf(fid,'%lg',1);
rsc_theta=fscanf(fid,'%lg',1);
rsc_phi=fscanf(fid,'%lg',1);
rsc_total=fscanf(fid,'%lg',1);
fgetl(fid);
theta_(jj,1)=theta; %根据仿真时的设置theta角为扫描角,将其存储于矩阵中备用
phi_(jj,1)=phi; %根据仿真时的设置phi角为扫描角,将其存储于矩阵中备用
rsc_total_(jj,1)=rsc_total; %将读取的RCS回波数据存储在矩阵RCS中
jj=jj+1;
for ii=1:180
theta=fscanf(fid,'%lg',1);%读取数据中的第一列即角度theta
phi=fscanf(fid,'%lg',1);%读取数据中的第二列即角度phi
%下面是依次进行数据的读取
re_theta=fscanf(fid,'%lg',1);
im_theta=fscanf(fid,'%lg',1);
re_phi=fscanf(fid,'%lg',1);
im_phi=fscanf(fid,'%lg',1);
rsc_theta=fscanf(fid,'%lg',1);
rsc_phi=fscanf(fid,'%lg',1);
rsc_total=fscanf(fid,'%lg',1);
fgetl(fid);
theta_(jj,1)=theta; %根据仿真时的设置theta角为扫描角,将其存储于矩阵中备用
phi_(jj,1)=phi; %根据仿真时的设置phi角为扫描角,将其存储于矩阵中备用
rsc_total_(jj,1)=rsc_total; %将读取的RCS回波数据存储在矩阵RCS中
jj=jj+1;
end
for ii=1:12
fgetl(fid);
end
while feof(fid)==0%函数feof(fid) 用法:文件指针 fid 到达文件末尾时返回“真”值;否则返回“假”;
tline=fgetl(fid);
fgetl(fid);
fgetl(fid);
fscanf(fid,'%c',11);
frequency=fscanf(fid,'%lg',1);
for ii=1:9
fgetl(fid);
end
h_theta=fscanf(fid,'%lg',1);
h_phi=fscanf(fid,'%lg',1);%读Phi角
hv_re=fscanf(fid,'%lg',1);
hv_im=fscanf(fid,'%lg',1);
hh_re=fscanf(fid,'%lg',1);
hh_im=fscanf(fid,'%lg',1);
hrcs1=fscanf(fid,'%lg',1);
hRCS1=fscanf(fid,'%lg',1);
RCSread=fscanf(fid,'%lg',1);
fgetl(fid);
theta(jj,1)=h_theta;
phi(jj,1)=h_phi;
RCS(jj,1)=RCSread;
jj=jj+1;
end
fclose(fid);
figure,plot(phi(:,1),RCS(:,1));
title('fekorcs');
xlabel('phi [du]');ylabel('rcs [m^2]');