INSAR实验报告Word格式文档下载.docx
《INSAR实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《INSAR实验报告Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。
,’g’,。
’MarkerSize'
2);
ylabel('
Pixelcount'
);
xlabel(’Realisticcomponent(Re)'
clear;
txt’;
[m,n]=size(Imag);
Imagvector=reshape(Imag,m*n,1);
maximag=max(Imagvector);
minimag=min(Imagvector);
x=minimag:
maximag;
Imagvar=var(Imagvector);
PDF_Im=exp(-x.^2/(2*Imagvar))/sqrt(2*pi*Imagvar);
pixel_count2=PDF_Im*10*m*n;
plot(x,pixel_count2,’r’);
count=hist(Imagvector,x);
holdon;
plot(x,count,'
rs'
,'
MarkerEdgeColor'
,’k’,。
。
g'
.。
MarkerSize’,2);
Pixelcount’);
xlabel('
Imaginarycomponent(Im)'
灰度:
load’Real。
Imag.txt'
[m,n]=size(Imag);
Amplitude=sqrt(Real.^2+Imag。
^2);
Amplitudevector=reshape(Amplitude,m*n,1);
Ampvar=var(Amplitudevector)*2/(4—pi);
maxAmp=max(Amplitudevector);
minAmp=min(Amplitudevector);
X=minAmp:
10:
maxAmp;
PDF_A=X。
*exp(—X.^2/(2*Ampvar))/Ampvar;
pixel_count2=PDF_A*10*m*n;
figure;
plot(X,pixel_count2,'
r'
count=hist(Amplitudevector,X);
plot(X,count,'
rs’,’MarkerEdgeColor’,'
k’,。
’MarkerFaceColor'
,’g'
,.。
MarkerSize'
2);
ylabel(’Pixelcount'
Amplitudecomponent(A)'
clc;
Real.txt'
;
load’Imag.txt’;
Powe=Real。
^2+Imag.^2;
[m,n]=size(Powe);
Powevector=reshape(Powe,m*n,1);
maxPowe=max(Powevector);
minPowe=min(Powevector);
x=minPowe:
10000:
maxPowe;
Powevar=var(Powevector);
PDF_P=(exp(—x/(2*Powevar)))/(2*Powevar);
pixel_count4=PDF_P*10*m*n;
plot(x,pixel_count4,'
y’);
count=hist(Powevector,x);
plot(x,count,'
’MarkerEdgeColor'
,’k'
。
MarkerFaceColor’,'
g’,..。
Power(P)’);
相位:
[m,n]=size(Imag);
Imagvector=reshape(Imag,m*n,1);
Phase=atan2(Imagvector,Realvector);
x=—pi:
pi/100:
pi;
PDF_w=1/(2*pi);
pixel_count2=PDF_w*pi/100*m*n;
plot(x,pixel_count2,’r’);
count=hist(Phase,x);
'
k'
.
,’g’,.。
’MarkerSize’,2);
Pixelcount’);
Phasecomponent(Ph)’);
实验二INSAR信号统计模型验证
通过MATLAB编程实现INSAR的数据统计特征的表达,掌握用MATLAB编写函数的方法,进一步掌握MATLAB在INSAR实验中的应用.
实验环境及数据
MATLAB7。
通过本次实验,我学会了使用MATLAB在同一窗口中呈现多个图像的方法。
这次实验中要考虑L的取值不同给函数图像带来的差异.通过这次实验,我对MATLAB更熟悉了一些。
用MATLAB编程主要要理清思路,掌握每个函数的用法,这样编程才会顺利.MATLAB这个软件的功能很强大,以后要好好学习,掌握基本的用法,为以后的学习打下基础。
L=1
L=10
L=20
相干图
L1:
L=1;
Gam=0.1;
Phai=[—pi:
(2*pi)/100:
pi];
PDF=pdf_phai(Phai,Gam,L);
plot(Phai,PDF);
Gam=0。
3;
Phai=[—pi:
pi];
PDF=pdf_phai(Phai,Gam,L);
plot(Phai,PDF);
5;
Phai=[-pi:
pi];
PDF=pdf_phai(Phai,Gam,L);
Gam=0.7;
Phai=[-pi:
PDF=pdf_phai(Phai,Gam,L);
plot(Phai,PDF);
95;
PDF=pdf_phai(Phai,Gam,L);
Phai(rad)'
ylabel(’PDF(Phai)'
L=10;
1;
PDF=pdf_phai(Phai,Gam,L);
plot(Phai,PDF);
3;
Phai=[-pi:
(2*pi)/100:
Gam=0.5;
Phai=[—pi:
(2*pi)/100:
PDF=pdf_phai(Phai,Gam,L);
7;
Gam=0.95;
Phai=[-pi:
(2*pi)/100:
pi];
xlabel(’Phai(rad)’);
PDF(Phai)’);
L=20;
PDF=pdf_phai(Phai,Gam,L);
Gam=0.7;
xlabel(’Phai(rad)'
调用函数的源代码
functionPDF=pdf_phai(Phai,Gam,L)
Beita=Gam*cos(Phai);
temp1=(1—Gam.^2).^L./2。
/pi;
temp2=gamma(2*L—1)。
/(gamma(L)).^2。
/2。
^(2*L-2);
temp3=(2*L—1)。
*Beita。
*(pi。
/2+asin(Beita))./(1—Beita。
^2).^(L+0.5);
temp4=1。
/(1-Beita。
^2).^L;
ifL==1
PDF=temp1。
*(temp2。
*(temp3+temp4));
else
temp5=0;
fori=0:
(L-2)
temp5=temp5+gamma(L-0.5)。
*gamma(L-1—i)。
*(1+(2*i+1).*Beita.^2)。
/gamma(L—0。
5—i)./gamma(L-1)./(1-Beita.^2).^(i+2);
end
temp5=temp5./2/(L—1);
PDF=temp1.*(temp2。
*(temp3+temp4)+temp5);
相干图的源代码
L=1;
Gam=[0:
0.01:
1];
forPhai=-pi:
pi
SD=sqrt(Phai^2*(pdf_phai(Phai,Gam,L)))
plot(Gam,SD,'
y'
L=2;
Gam=[0:
0。
01:
forPhai=—pi:
SD=sqrt(Phai^2*(pdf_phai(Phai,Gam,L)))
plot(Gam,SD,'
b'
L=4;
0.01:
1];
forPhai=—pi:
SD=sqrt(Phai^2*(pdf_phai(Phai,Gam,L)))
plot(Gam,SD,’r’);
L=8;
1];
forPhai=-pi:
SD=sqrt(Phai^2*(pdf_phai(Phai,Gam,L)))
m’);
Gam=[0:
1];
SD=sqrt(Phai^2*(pdf_phai(Phai,Gam,L)))
plot(Gam,SD,'
k’);
L=16;
plot(Gam,SD,’c’);
L=20;
01:
SD=sqrt(Phai^2*(pdf_phai(Phai,Gam,L)))
plot(Gam,SD,'
g’);
xlabel(’coherence'
ylabel(’PhaseSD(deg)'
legend(’L=1’,'
L=2’,’L=4’,’L=8’,'
L=10’,'
L=16'
L=20'
实验三、拼接和显示长沙地区SRTM高程模型
实验内容及目的
本次实验的内容是根据给定的长沙地区的SRTM数据(数据格式是。
hgt),通过matlab把给定数据转换成surfer软件能识别的数据格式,然后用surfer软件裁剪和显示长沙地区的数字高程模型.目的是加深对用MATLAB编程拼接图像,然后初步掌握用surfer软件裁剪和显示长沙地区的数字高程模型。
试验数据
SRTM数据是二进制格式,扩展名是hgt.数据以块为单位划分,每块包含经度和纬度方向各一度的范围,像素之间的间隔是3″,所以每块包含1201×
1201个像素。
以左下角的经纬度命名的(如图1所示)长沙地区8块高程数据.
试验步骤及结果
1。
Matlab读取和拼接8块SRTM数据
(1)读取数据
例如,读取N27E111。
hgt的函数:
fid1=fopen('
N27E111.hgt'
,’r’,’b'
A1=fread(fid1,[1201,1201],'
bit16'
fclose(fid1);
A1=A1'
(2)拼接数据
用[]或cat函数实现拼接,例如:
A=[12;
34];
B=[56;
78];
cat(1,A,B)=[12;
34;
56;
78]
cat(2,A,B)=[1256;
3478]
[A;
B]=cat(1,A,B)
[A,B]=cat(2,A,B)
在数据中有很多无意义的值被赋予了—32768,这些值要去掉换成0或用周围的值替换,这在程序中是用循环来实现的.
拼接图如下:
2。
把拼接好的数据写成Surf可以读的格式
假设拼接好的SRTM存于F矩阵,写为Surf可读文件的程序
Changsha_grid.dat'
’w’);
fprintf(fid1,’DSAA\n'
fprintf(fid1,'
%8.0f%8.0f\n’,4804,2402);
fprintf(fid1,’%8.0f%8。
0f\n'
,111,115);
%8。
0f%8。
0f\n’,27,29);
2f%8.2f\n'
,min(min(F)),max(max(F)));
fori=2402:
—1:
1
forj=1:
4804
fprintf(fid1,’%14。
5f’,F(i,j));
end
fprintf(fid1,’\n'
fclose(fid1);
3.用surfer软件裁剪和显示长沙地区的数字高程模型
首先,打开surfer,找到菜单map下的imagemap,读由matlab生成的数据文件Changsha_grid。
dat,并以out为文件名把图以二进制格式保存在磁盘上。
在surfer的界面上出来了原始图如下:
然后,选择菜单grid下的blank命令,还是打开Changsha_grid.dat文件,接着打开边界文件boundary_blank。
bln,保存名称是out.grd,格式是二进制的。
最后,在选择菜单map下的imagemap,打开刚才的文件out。
grd;
再选择菜单map下的basemap,打开文件boundary_plot.bln,出现长沙市的概略图.用limits属性设置好图的坐标范围,纬度111.8—114。
5,经度27。
8-28。
7。
最后,选中两副图,在选择菜单map下的的overlap,两张图就叠加在一起了,也就出来了最后的成果图如下:
试验心得
这次实验是根据所给数据将数据转变成surfer能识别的格式,然后在surfer中对拼接好的图像进行处理,对长沙地区裁剪并且显示其数字高程模型。
这次实验遇到了一些问题,比如如何在MATLAB中拼接图像,由于有重叠部分,分成两次来完成,首先是在同一纬度内拼接,后一幅图像要从第二行开始,然后保持拼接好的图像的经度不变,进行纬度的拼接.由于是初次做,第一次拼接的图像是错位的,但是仔细考虑了拼接的顺序之后,终于拼接成功了。
其次,通过这次实验,以前在书上和课件上看到的都是老师做好的实验图像,根据图像去理解一些信息。
通过这次实验,对理论知识有了更深的理解,记忆更加深刻,同时增加了我们将理论知识和实践结合起来学习动力。
有些东西,听听就过了,但是没有深入地理解,这样的实验确实可以使我们的理解更深.
试验源代码
N27E111。
hgt’,’r’,'
A1=fread(fid1,[1201,1201],’bit16'
fid2=fopen('
N27E112。
hgt'
’r'
b’);
A2=fread(fid2,[1201,1201],’bit16'
fclose(fid2);
A2=A2'
fid3=fopen(’N27E113。
A3=fread(fid3,[1201,1201],’bit16'
fclose(fid3);
A3=A3'
fid4=fopen('
N27E114.hgt'
r’,’b'
A4=fread(fid4,[1201,1201],’bit16'
fclose(fid4);
A4=A4’;
fid5=fopen('
N28E111。
hgt’,’r'
,’b'
A5=fread(fid5,[1201,1201],'
fclose(fid5);
A5=A5’;
fid6=fopen(’N28E112.hgt'
’r’,’b’);
A6=fread(fid6,[1201,1201],'
bit16’);
fclose(fid6);
A6=A6’;
fid7=fopen(’N28E113.hgt’,'
r’,'
A7=fread(fid7,[1201,1201],’bit16'
fclose(fid7);
A7=A7’;
fid8=fopen('
N28E114。
hgt’,'
r’,’b’);
A8=fread(fid8,[1201,1201],’bit16’);
fclose(fid8);
A8=A8’;
S1=[A5,A6(:
2:
1201),A7(:
1201),A8(:
,2:
1201)];
S2=[A1,A2(:
1201),A3(:
,2:
1201),A4(:
S=[S1;
S2(2:
1201,:
)];
S(find(S==—32768))=0;
imagesc(S,[1,400]);
fid9=fopen(’Changsha_grid。
dat'
,’w’);
fprintf(fid9,'
DSAA\n’);
%±
ê
Ê
¾
·
û
fprintf(fid9,'
%8。
0f%8.0f\n’,4801,2401);
fprintf(fid9,’%8。
0f%8.0f\n’,111,115);
%¾
¶
È
0f%8。
0f\n’,27,29);
%Î
³
¶
fprintf(fid9,’%8。
2f%8。
2f\n'
min(min(S)),max(max(S)));
%
fori=2401:
-1:
1%´
Ó
×
î
º
ó
Ò
»
Ð
¿
ª
¼
´
forj=1:
4801
fprintf(fid9,'
%14。
5f’,S(i,j));
fprintf(fid9,'
\n'
fclose(fid9);