%该m文件用以实现多目标小球的x,z二维横断面像
%使用波数域补偿法
clc;
close all;
c=3e8;
f0=30e9;
lambda=c/f0; %波长
Ptar=[
-0.2,0.2; %小球放置位置,n行两列,存放n个小球的x,z坐标
-0.1,0.2;
0,0.2;
0.1,0.2;
0.2,0.2;
0.1,0.1;
0,0;
-0.1,-0.1;
-0.2,-0.2;
-0.1,-0.2;
0,-0.2;
0.1,-0.2;
0.2,-0.2;
];
Xtar=Ptar(:,1); %取出Ptar第一列,即各个小球的x坐标,便于之后计算
Ztar=Ptar(:,2); %取出各个小球的y坐标
n=length(Xtar); %小球个数
Xmin=-1;Xmax=1; %扫描横坐标范围
R0=2; %距离目标物最近距离,扫描平面与目标平面距离
deltaD=(((10.08*R0-(R0-1.75)-0.8825)/(0.105*(f0/1e9)+0.375)-0.443)/1000);
display(deltaD);
%deltaD=0.00705;
N=ceil((Xmax-Xmin)/deltaD)+1;%x,y方向各自的扫描总点数
display(N);
delta_f=10e6; %频率步进
M=1024; %频率步进个数
lambda_min=c/(f0+(M-1)*delta_f);%终止频率所对应的波长
lambda_max=lambda; %起始频率所对应的波长
deltaR=(lambda_max*lambda_min)/(lambda_max-lambda_min);
%波长变化所对应的距离变化
r0=0.0;
srnm=zeros(N,M); %用于存储回波信息
g=zeros(N,M); %用于存储相位补偿因子
%生成回波矩阵
for i=1:1:N %从y起始方向开始扫描
X=(i-1)*deltaD+Xmin; %标记当前扫描点y坐标
for j=1:1:M %从x起始方向开始扫描
f_now=(j-1)*delta_f+f0; %标记当前扫描点x坐标
S=0; %生成一个空变量S用于存放每一扫描点处的回波
R=zeros(1,n); %生成一个空矩阵用于存放每一扫描点处,各目标
%小球与扫描点之间的距离
for m=1:1:n %开始循环,计算在某一扫描点处,每个小球与扫描
R(m)=sqrt((X-Xtar(m))^2+(R0-Ztar(m))^2);%点之间距离
S=S+exp(-1i*4*pi*R(m)*f_now/c);%叠加回波
end
srnm(i,j)=S; %将每一点的回波信号存入回波矩阵
end
end
%生成补偿矩阵g
kzz=zeros(N,M);
KK=zeros(N,M);
KKX=zeros(N,M);
for i=1:1:N %从y起始方向开始扫描
X=(i-1)*deltaD+Xmin; %标记当前扫描点x坐标
kx=4*pi*(X/R0)*f0/c;
for j=1:1:M %从x起始方向开始扫描
f_now=(j-1)*delta_f+f0; %标记当前扫描点工作频率
k=4*pi*f_now/c;
%plot(k,kx);hold on;
kz=sqrt(k^2-kx^2);
SS=exp(1i*R0*kz);
g(i,j)=SS;
%kzz(i,j)=kz;
end
end
min_kz=min(min(kzz));
max_kz=max(max(kzz));
display(max_kz);
display(min_kz);
delta_kz=(max_kz-min_kz)/(M+1);
srm=fft(srnm);
srm=fftshift(srm);
res=srm.*g; %g是相位补偿,srnm是回波,内积得目标处频谱
rew=zeros(N,M);
for i=1:1:N
wind=hanning(M);
wind=wind.';
rew(i,:)=res(i,:).*wind;
end
reww=zeros(N,M);
for j=1:1:M
wind=hanning(N);
reww(:,j)=rew(:,j).*wind;
end
%插值,根据delta_kzz将k-kx转换至kx-kz域
yy=ifft2(reww);
yy=fftshift(yy);
mag_yy=abs(yy);
max_num=max(max(mag_yy));
x=linspace(Xmin,Xmax,N);
z=(0:M-1)/2*deltaR+r0; %将点数映射成距离像的z坐标
z=z-(M-1)/4*deltaR;
z=-z;
x1=x-1;x2=x+1;
mesh(z,x1,mag_yy/max_num);hold on;
mesh(z,x2,mag_yy/max_num);
view([90,90]);axis square;
xlabel('z/m','fontsize',18);
ylabel('x/m','fontsize',18);
zlabel('幅值/dB','fontsize',18);
set(gca,'XDir','reverse');
axis([-0.5 0.5 -0.5 0.5 0 2]);
colormap(gray);
brighten(0);
没有合适的资源?快使用搜索试试~ 我知道了~
【毫米波成像】基于matlab二维横断面成像仿真(波数域补偿法)【含Matlab源码 8066期】.zip
共2个文件
m:1个
jpg:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 159 浏览量
2024-09-29
23:24:06
上传
评论
收藏 80KB ZIP 举报
温馨提示
CSDN海神之光上传的全部代码均可运行,亲测可用,尽我所能,为你服务; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,可私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、物理应用 仿真:导航、地震、电磁、电路、电能、机械、工业控制、水位控制、直流电机、平面电磁波、管道瞬变流、刚度计算 光学:光栅、杨氏双缝、单缝、多缝、圆孔、矩孔衍射、夫琅禾费、干涉、拉盖尔高斯、光束、光波、涡旋 定位问题:chan、taylor、RSSI、music、卡尔曼滤波UWB 气动学:弹道、气体扩散、龙格库弹道 运动学:倒立摆、泊车 天体学:卫星轨道、姿态 船舶:控制、运动 电磁学:电场分布、电偶极子、永磁同步、变压器
资源推荐
资源详情
资源评论
收起资源包目录
【毫米波成像】基于matlab二维横断面成像仿真(波数域补偿法)【含Matlab源码 8066期】.zip (2个子文件)
【毫米波成像】基于matlab二维横断面成像仿真(波数域补偿法)【含Matlab源码 8066期】
main.m 3KB
运行结果.jpg 89KB
共 2 条
- 1
资源评论
海神之光
- 粉丝: 5w+
- 资源: 6110
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功