基于matlab模拟ATM断层扫描

本文介绍了ATM断层扫描技术的工作原理,包括数据采集、激光测距、接收数据、位置定位和数据处理等步骤。通过提供的Matlab代码示例,展示了如何进行三维地形重建和侧瓣抑制,强调了该技术在地质、环境监测等领域的广泛应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

⛄ 内容介绍

ATM断层扫描(Airborne Topographic Mapper)是一种航空激光雷达测绘技术,用于获取地表高程数据和三维地形信息。下面是ATM断层扫描的基本工作原理:

  1. 数据采集:ATM系统安装在飞行器上,通常是飞机或直升机。它配备有激光雷达传感器和GPS/惯性导航系统。飞行器以一定的速度在目标区域上空飞行,同时激光雷达发射脉冲激光束。
  2. 激光测距:脉冲激光束从飞行器发射,经过大气层并照射到地面。当激光束与地面相交时,部分能量会被反射回传感器。
  3. 接收数据:ATM系统接收被反射回的激光脉冲,并记录相关信息,如时间、位置、激光强度等。
  4. 位置定位:通过GPS/惯性导航系统,获取飞行器在记录激光数据时的精确位置和姿态信息。
  5. 数据处理:将激光测得的高程数据与位置信息结合,在地球坐标系中生成点云数据集。此过程包括去除系统差、时间同步、辐射校正和地面特征提取等处理。
  6. 三维重建:基于点云数据集,可以进行三维地形重建。通过插值方法生成平滑的高程模型,并将其可视化为数字地图或影像。

ATM断层扫描技术具有较高的精度和分辨率,广泛应用于地质、地表变化监测、冰川测量、地形研究以及环境保护等领域。

⛄ 部分代码

clear all; close all

%%%%%%%%%%%% Parameters %%%%%%%%%%%%%%%%%
        
        width  =  1920;   % width of original mask
        height =  1080;   % height of original mask
        H = 500;          % height of the side-lobe suppresed mask
               
%%%%%%%%%%%% generating phase mask %%%%%%   
%
pixel_y0 = 0;
z = 1e+6;
for i = 1:1080
    for j = 1:1080       
        pixel_x(i,j) = (-540 + i);
        pixel_y(i,j) = (-540 + j);
        new_pixel_x(i,j)=cos(45/180*pi)*pixel_x(i,j)+sin(45/180*pi)*pixel_y(i,j);
        new_pixel_y(i,j)=cos(45/180*pi)*pixel_y(i,j)-sin(45/180*pi)*pixel_x(i,j);
        pixel_val(i,j) = 0.3*((new_pixel_x(i,j))^3 + (new_pixel_y(i,j))^3) ...
            - 0*(1*(pixel_x(i,j))^2 + 1*(pixel_y(i,j)-pixel_y0)^2) ...
            - 0 * pixel_y(i,j)^2;          
        pixel_val(i,j) = pixel_val(i,j)/z;          
        if (abs(pixel_val(i,j)) > (2*pi))
            pixel_val(i,j) = mod(pixel_val(i,j), (2*pi));    
        else if (pixel_val(i,j) < 0)
            pixel_val(i,j) = (2*pi) + pixel_val(i,j); 
            end
        end     
        phasemask(i,j) = pixel_val(i,j)/2/pi;  
    end
end
figure(1);
imshow(phasemask);

%%%%%%%%%%%% side-lobe suppressed mask %%%%%%

phasemask_b=phasemask(291:790,:);
figure(2);
imshow(phasemask_b);

%%%%%%%%%%%% side-lobe suppressed mask with chirp %%%%%%

lambda = 680e-9;
focus = 20e-2;
fsf = 8e-6;
dx=1;
dy=1;
z0 =5e-3;
[chirpX, chirpY] = meshgrid(((-539:1:540)+dx)/(lambda*focus/fsf),((-539:1:540)+dy)/(lambda*focus/fsf));
chirp_angle = sqrt(max(0,lambda^(-2)-chirpX.^2-chirpY.^2));
chirp_mask = phasemask*255/256*2*pi-2*pi*chirp_angle*z0;
angle_total= (chirp_mask*256/2/pi-256*floor(chirp_mask/2/pi))/256;
phasemask_c=angle_total(291:790,:);
figure(3);
imshow(phasemask_c);
%}
%%%%%%%%%%%% side-lobe suppressed mask with chirp with grating %%%%%%

 Grat_period=6;         % period of grating
 for n=1:width          % generating grating
    pixel(n)=mod(width-n,Grat_period)/Grat_period;
end  
Grating=repmat(pixel,height,1); 
phasemask_d=phasemask_c+Grating(291:790,421:1500);
for i=1:500
    for j=1:1080
        if phasemask_d(i,j)>1 phasemask_d(i,j)=phasemask_d(i,j)-1;end
    end
end
figure(4);
imshow(phasemask_d);

%%%%%%%%%%%%%%%%%%%rotation for S2%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 Grat_period=50;        % period of grating
 for n=1:width          % generating grating
    pixel(n)=mod(width-n,Grat_period)/Grat_period;
end  
Grating=repmat(pixel,height,1); 

theta=45;               %%%% angel for rotation

    for i = 1:1530
    for j = 1:1530
        
        pixel_x(i,j) = (-765 + i);
        pixel_y(i,j) = (-765 + j);

        new_pixel_x(i,j)=cos((theta+45)/180*pi)*pixel_x(i,j)+sin((theta+45)/180*pi)*pixel_y(i,j);
        new_pixel_y(i,j)=cos((theta+45)/180*pi)*pixel_y(i,j)-sin((theta+45)/180*pi)*pixel_x(i,j);
        pixel_val(i,j) = 0.17*((new_pixel_x(i,j))^3 + (new_pixel_y(i,j))^3) ...
            - 0*(1*(pixel_x(i,j))^2 + 1*(pixel_y(i,j)-pixel_y0)^2) ...
            - 0 * pixel_y(i,j)^2;   
       
        pixel_val(i,j) = pixel_val(i,j)/z;
         
    
        if (abs(pixel_val(i,j)) > (2*pi))
            pixel_val(i,j) = mod(pixel_val(i,j), (2*pi));    
        else if (pixel_val(i,j) < 0)
            pixel_val(i,j) = (2*pi) + pixel_val(i,j); 
            end
        end
        
        phasemask(i,j) = pixel_val(i,j)/2/pi;
   
    end
    end
    %%%%%%%%%%%%%%%cut the mask%%%%%%%%%%%%%%%%%%%%%%%%%%%
    phase_1=zeros(1920,1920);
    phase_1(421:1500,421:1500)=phasemask(226:1305,226:1305);
    phase_1=phase_1(421:1500,:);

for i=1:height
    for j=1:width
        if phase_1(i,j)>1 phase_1(i,j)=phase_1(i,j)-1;
        end
    end
end

 pixel_val2=ones(500,1530);
 piexl_val3= imrotate(pixel_val2,theta);
 [sizex,sizey]=size(piexl_val3);
 if sizex>1080
     x1=floor((sizex-1080)/2);
    
     piexl_val3=piexl_val3(x1:x1+1080-1,:);
 end
 if sizey>1080
     y1=floor((sizey-1080)/2);
     piexl_val3=piexl_val3(:,y1:y1+1080-1);
 end
 
phasemask=piexl_val3;
image_grating1 = zeros(1080,1920);
[maskx,masky]=size(phasemask);
    XX=floor((1080-maskx)/2)+1;
    YY=floor((1920-masky)/2)+1;
image_grating2=image_grating1(XX:XX+maskx-1,YY:YY+masky-1);
SS=image_grating2.*(~logical(phasemask))+phasemask;
image_grating1(XX:XX+maskx-1,YY:YY+masky-1)=SS;

image_pm = zeros(1080,1920);
image_pm =image_grating1;
image_pm_not=not(image_pm);
image_2=image_pm_not.*Grating;

phasemask=phase_1.*image_pm+image_2;

figure(5);
imshow(phasemask);

⛄ 运行结果

基于matlab模拟ATM断层扫描_sed

基于matlab模拟ATM断层扫描_sed_02

基于matlab模拟ATM断层扫描_路径规划_03

⛄ 参考文献

[1] 陈宗桂,董晓军,管海辰,等.基于GUI的计算机断层成像仿真系统的研究与实现[J].实验技术与管理, 2022(009):039.

[2] 张汝楠,孙丽萍.利用Matlab实现原木CT断层图像的三维重建[J].木材加工机械, 2008, 19(4):4.DOI:10.3969/j.issn.1001-036X.2008.04.007.

[3] 张旭良,童隆正.X线机械断层的仿真系统一用MATLAB虚拟X线断层(二)[J].医疗装备, 2000, 13(12):2.DOI:CNKI:SUN:YLZB.0.2000-12-000.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料

🍅 仿真咨询

1.卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
2.图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
3.旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划
4.无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配
5.传感器部署优化、通信协议优化、路由优化、目标定位
6.信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号
7.生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化
8.微电网优化、无功优化、配电网重构、储能配置
9.元胞自动机交通流 人群疏散 病毒扩散 晶体生长
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值