function [interf, DEM, noise, coherence, watermask] = siminterf(Bperp,fracdim,water,maxheight,numlines,numpixels,doplot,donoise,dorefpha)
% SIMINTERF -- SIMulate phase of INTERFerogram (not amplitude).
%
% Function to simulate an (unwrapped) interferogram by 'radarcoding'
% a terrain model (DEM). 'Radarcoding' means converting the terrain
% coordinates to the radar system [azimuth lines, range pixels].
% The terrain model either is a geometric body (i), a fractal DEM (ii),
% or an input matrix (iii). The range pixel spacing of the DEM is 80 meters.
%
% The algorithm used radarcodes the DEM per line by computing the slant
% range r to master and slave satellite for each point of the DEM, yielding
% a function phase(r). This function is interpolated to a regular grid
% (radar range pixel coordinate system). Zero Doppler data is assumed,
% thus the azimuth coordinates are equal in both systems. The phase of
% the 'flat Earth' is computed using a far field approximation, and
% subtracted by default. To compute r, the position of master and slave
% satellite are fixed by using a certain Bperp and baseline orientation.
% The range, incidence angle to the first terrain point, and the wavelength
% are also fixed. The orbits are assumed not to converge (easy to simulate.)
%
% Input parameters:
% INT = SIMINTERF by itself simulates a DEM of a cone and the
% corresponding interferogram. It is verbose and makes plots.
%
% SIMINTERF(Bperp) uses the specified perpendicular baseline. A larger
% baseline corresponds with a smaller height ambiguity (more fringes).
% A crude approximation of the height ambiguity is ha = 10000/Bperp.
%
% SIMINTERF(Bperp,D) where D is the fractal dimension of the simulated
% DEM. Smaller D implies smoother surface. Earth topography can be simulated
% by a fractal dimension of approximately 2.3.
% D == DEM Use this input matrix as DEM;
% Input arguments: water, height, lines, pixels
% are not assigned if this option is used.
% 0 Simulate a cone;
% -1 Simulate a ramp;
% -2 Simulate pyramid;
% other Use this fractal dimension to simulate a DEM.
%
% SIMINTERF(Bperp,D,WATER) uses the specified percentage to
% create water areas of height 0 (approximately). The phase of
% these areas is uniform noise, the coherence is gaussian below 0.2.
%
% SIMINTERF(Bperp,D,water,HEIGHT) simulates a DEM with the
% specified maximum HEIGHT. (The minimum height always equals 0.)
%
% SIMINTERF(Bperp,D,water,height,LINES) creates an interferogram
% with the specified number of azimuth lines.
%
% SIMINTERF(Bperp,D,water,height,lines,PIXS) creates an
% interferogram with the specified number of range pixels.
%
% SIMINTERF(Bperp,D,water,height,lines,pixs,DOPLOT) where
% DOPLOT=0 prevents the generation of plots. Figures 1:6 are used.
%
% SIMINTERF(Bperp,D,water,height,lines,pixs,doplot,DONOISE)
% where DONOISE = 0 disables noise generation.
%
% SIMINTERF(Bperp,D,W,H,lines,pixs,doplot,donoise,DOREFPHA)
% where DOREFPHA is 0 if reference phase does not have to be
% subtracted.
%
% Defaults:
% Bperp = 150 (meters)
% D = 0 (i.e. a cone)
% WATER = 20 (percentage)
% HEIGHT = 700 (meters)
% LINES = 512 (number of azimuth lines)
% PIXELS = 512 (number of range bins in range)
% DOPLOT = 1 (do plot results)
% DONOISE = 1 (do add noise based on terrain slopes)
% DOREFPHA = 1 (do subtract reference phase of 'flat Earth')
%
% Additional output:
% [INT,DEM] = SIMINTERF(...) optionally outputs the simulated DEM (in
% terrain coordinates).
% [INT,DEM,NOISE] = SIMINTERF(...) optionally outputs the noise matrix
% that is added to the INTerferogram based on the geometrical decorellation.
% [INT,DEM,NOISE,COHERENCE] = SIMINTERF(...) optionally outputs the
% coherence map computed from the terrain slopes (geometric decorrelation).
% [INT,DEM,NOISE,COHERENCE,WATERMASK] = SIMINTERF(...) optionally
% outputs the waterarea index vector as returned by FIND.
%
% EXAMPLES:
% To simulate an interferogram with a baseline of 100 meter,
% rough terrain, and 30% water area:
% Bperp = 100; D=2.4; water=30;
% siminterf(Bperp,D,water);
%
% To fastly simulate some interferograms to test this script:
% Bperp=100; D=2.1; water=0; H=500;
% nlines=100; npix=200; doplot=1; donoise=1; doflat=1;
% siminterf(Bperp,D,water,H,nlines,npix,doplot,donoise,doflat);
%
% To radarcode an input DEM:
% Bperp=50; X=256.*peaks(256);
% siminterf(Bperp,X);
%
% To view the unwrapped interferogram, and obtain the coherence map:
% Bperp=200; D=2.3; water=30; H=100;
% nlines=256; npix=256; doplot=0; donoise=1; doflat=1;
% [INT,DEM,NOISE,COH] = ...
% siminterf(Bperp,D,water,H,nlines,npix,doplot,donoise,doflat);
% figure(1);
% subplot(221), imagesc(DEM); axis 'image'; title 'DEM'; colorbar;
% subplot(222), imagesc(INT); axis 'image'; title 'INT'; colorbar;
% subplot(223), imagesc(wrap(INT)); axis 'image'; title 'W(INT)'; colorbar;
% subplot(224), imagesc(COH); axis 'image'; title 'COH'; colorbar;
%
% To make the interferogram complex, use e.g.,
% cint = complex(cos(interf),sin(interf));
% or:
% ampl = ones(size(interferogram));
% cint = ampl.*complex(cos(interf),sin(interf));
%
% See also FRACTOPO, ANAFRACDEMO, ANGLE, COMPLEX, WRAP, CONE, PYRAMID, HEIGHTAMB
%
% The DEOS FRACTAL and INSAR toolboxes are used
% (www.geo.tudelft.nl/doris/)
%
% Created by Bert Kampes 05-Oct-2000
% Tested by Erik Steenbergen
%
% TODO:
% -more geometrical figure if fracdim=-1,-2, etc.,
% -demo for people new to insar
%
%%% better switch more, but how, get(0)?
more off
%%% Set defaults for general parameters.
%%% Handle input; could be done smarter...
% (Bperp,dem,water,maxheight,numlines,numpixels,doplot,donoise,dorefpha)
% 1 2 3 4 5 6 7 8 9
if (nargin<9) dorefpha = 1; end;
if (nargin<8) donoise = 1; end;
if (nargin<7) doplot = 1; end;
if (nargin<6) numpixels = 512; end;
if (nargin<5) numlines = 512; end;
if (nargin<4) maxheight = 700; end;
if (nargin<3) water = 20; end;
if (nargin<2) fracdim = 0; end;% cone
if (nargin<1) Bperp = 150; end;
%%% Set output parameters.
% [interferogram, DEM, noise, coherence, watermask]
% 1 2 3 4 5
if (nargout>=3) donoise = 1; end;
%if (nargout<1) siminterf(); end;
%%% Check if input fracdim (D) was a matrix (use it as DEM).
if (prod(size(fracdim))>1)
DEM = 999; % 999 identifier use input matrix
[DEM,fracdim] = deal(fracdim,DEM); % swap
[numlines,numpixels] = size(DEM);
maxheight = max(DEM(:));
if (nargin<3) water = 0; end;
end;
%%% Fixed variables (do not change w/o reason).
alpha = deg2rad(10.);% [rad] baseline orientation
lambda = 0.05666;% [m] wavelength
theta = deg2rad(19.);% [rad] looking angle to first pixel
R1 = 830000.;% [m] range to first point
pi4divlam = (-4.*pi)./lambda;
%%% Provide some info.
disp(['Lines (azimuth): ', num2str(numlines)]);
disp(['Pixels (range bins): ', num2str(numpixels)]);
disp(['Perpendicular baseline: ', num2str(Bperp), ' m']);
disp(['Height ambiguity: ', num2str(round(heightamb(Bperp))), ' m']);
disp(['Fractal dimension DEM: ', num2str(fracdim)]);
disp(['Water area: ', num2str(water), '%']);
disp(['Minimum height DEM: ', num2str(0), ' m']);
disp(['Maximum height DEM: ', num2str(maxheight), ' m']);
disp(['Make plots: ', num2str(doplot)]);
disp(['Compute noise: ', num2str(donoise)]);
disp(' ');
%%% Si
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
170410 干涉合成孔径雷达(InSAR)工具箱.rar (59个子文件)
干涉合成孔径雷达(InSAR)工具箱
pdf_phase.m 5KB
mph.m 15KB
isint.m 760B
isscalar.m 241B
myhamming.m 2KB
deos.m 979B
bowl.m 1KB
helphelp.m 2KB
ispow2.m 516B
fsize.m 934B
lying.m 288B
cpxdetrend.m 5KB
mirm.m 3KB
heightamb.m 571B
simnoise.m 3KB
siminterf.m 17KB
cone.m 1KB
cpxmultilook.m 4KB
datatypesize.m 3KB
normalize.m 1KB
titlebold.m 2KB
cc.m 343B
deos2.m 952B
trap.m 1KB
ph.m 2KB
freadbk.m 6KB
residues.m 3KB
isvector.m 407B
std_phasePS.m 2KB
titlenormal.m 2KB
oversample.m 4KB
cpt2map.m 2KB
ramp.m 1KB
swap.m 253B
pra4.m 4KB
plotcbar.m 1KB
myrect.m 1KB
iseven.m 663B
enlargefig.m 700B
isodd.m 590B
tip.m 2KB
wrap.m 822B
simstack.m 6KB
fwritehgt.m 1KB
simslc.m 915B
freadhgt.m 917B
top.m 1KB
manuwbk_cb.m 14KB
plotdem.m 2KB
standing.m 290B
fwritebk.m 2KB
plotersdop.m 2KB
simulateslc.m 929B
manuwbk.m 10KB
std_phase.m 4KB
pyramid.m 1KB
freadras.m 2KB
issamesize.m 516B
Contents.m 4KB
共 59 条
- 1
资源评论
吉生太
- 粉丝: 90
- 资源: 71
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Spring Boot的电子印章管理系统.zip
- (源码)基于C++的演讲比赛流程控制系统.zip
- (源码)基于Spring Boot和Redis的秒杀系统.zip
- (源码)基于C++的学生管理系统.zip
- (源码)基于Java Swing和MySQL的旅游管理系统.zip
- (源码)基于C++编程语言的LineageOS移动操作系统.zip
- (源码)基于Linux和GTK的邮件管理系统.zip
- Python+html实现抖音创作者数据分析(离线+实时)
- (源码)基于Spring Boot和Vue的在线云办公系统.zip
- (源码)基于Python和PyQt框架的文件管理系统模拟.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功