关于电磁波近远场变换

该博客介绍了一个使用MATLAB进行电磁波近远场转换的函数,通过加载和处理数据,进行一系列坐标变换和傅里叶操作,最终将结果写入文件。涉及到的数据包括天线辐射模式和坐标系统转换。
摘要由CSDN通过智能技术生成

%function Near2far(pathstr1,pathstr2,n_beam,index_beam)
function Near2far(pathstr1,~,n_beam,index_beam)
pathstr1='G:\ISO\Horn\Horn-v-8.2-12.4-df0.1-Tx.nf_V-Pol..nf.txt'
n_beam=2048;
index_beam=1024
global fft_y;
global x_points;
global x_delta;
global y_points;
global y_delta;
global fre;
global coordtype;
global crosstick;
global pol;
global coord1_cent;
global coord2_cent;
global coord1_points;
global coord2_points;
global coord1_delta;
global coord2_delta;
global bias;
global CutStr;

bias=double(bias);
fre=double(fre)
x_delta=double(x_delta)
y_delta=double(y_delta)
coord1_delta=double(coord1_delta)
coord2_delta=double(coord2_delta)
rows=y_points;
columns=x_points;
x_points=int32(x_points);
y_points=int32(y_points);
coord1_points=int32(coord1_points);
coord2_points=int32(coord2_points);

coord1=(coord1_cent-(double(coord1_points)-1)*coord1_delta/2+coord1_delta*double(0:(coord1_points-1)));
coord1=double(ones(coord2_points,1))*double(coord1);
coord2=double((coord2_cent-(double(coord2_points)-1)*coord2_delta/2+coord2_delta*double(0:(coord2_points-1))));
coord2=double(ones(coord1_points,1))*double(coord2);
coord2=coord2';

coord1=reshape(coord1,1,coord1_points*coord2_points);
coord2=reshape(coord2,1,coord1_points*coord2_points);
c1=double(coord1).*double(cosd(bias))-double(coord2).*double(sind(bias));
c2=double(coord1).*double(sind(bias))+double(coord2).*double(cosd(bias));
coord1=c1;
coord2=c2;
% fid=fopen(pathstr1);  
% amp=fread(fid,rows*columns*n_beam,'single');
% fclose(fid);
% amp=reshape(amp,rows,columns,n_beam);
% fid=fopen(pathstr2);  
% pha=fread(fid,rows*columns*n_beam,'single');
% fclose(fid);<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值