INSAR实验报告.docx
- 文档编号:6524351
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:20
- 大小:533.35KB
INSAR实验报告.docx
《INSAR实验报告.docx》由会员分享,可在线阅读,更多相关《INSAR实验报告.docx(20页珍藏版)》请在冰豆网上搜索。
INSAR实验报告
实验一、SAR信号统计模型验证
实验目的
通过MATLAB编程,拟合有关SAR数据的实部、虚部、灰度、相位的概率密度曲线,并与实际曲线进行比较,掌握MATLAB编程的初步知识。
实验数据
txt文本格式的实部和虚部数据
实验步骤
一、打开MATLAB,根据老师给出的实部的MATLAB的程序和拟合曲线,试着编出虚部的程序,调试并运行。
二、在实部实验的基础上,接着进行以后的改编,根据各个曲线的表达式,拟合各自的曲线。
实验结果
实部:
虚部:
灰度:
相位:
功率:
实验心得
这是首次用MATLAB编程实现SAR的统计特征图像,由于之前没有用MATLAB编程实现过,所以这次实验是在学习老师所给程序的基础上进行改编的。
学会了MATLAB中画图函数的编写,函数曲线的颜色、线型、多幅图像同时呈现编程方法。
但是功率power的图像画的并不理想,拟合的曲线并没有很好地显示出来。
通过这次的练习,平时老师课件里的东西,我们也能编程写出来,确实让我们学会了理论联系实践,学以致用。
这次的实验还比较顺利,希望在以后的学习和实验中可以更多的学习一些软件,多用编程的思想实现一些自己的想法。
实验源代码
实部:
clear;
clc;
load'';
load'';
[m,n]=size(Real);
Realvector=reshape(Real,m*n,1);
maxreal=max(Realvector);
minreal=min(Realvector);
x=minreal:
10:
maxreal;
Realvar=var(Realvector);
PDF_Re=exp(-x.^2/(2*Realvar))/sqrt(2*pi*Realvar);
pixel_count1=PDF_Re*10*m*n;
figure;
plot(x,pixel_count1,'r');
count2=hist(Realvector,x);
holdon;
plot(x,count2,'rs','MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',2);
ylabel('Pixelcount');
xlabel('Realisticcomponent(Re)');
虚部:
clear;
clc;
load'';
load'';
[m,n]=size(Imag);
Imagvector=reshape(Imag,m*n,1);
maximag=max(Imagvector);
minimag=min(Imagvector);
x=minimag:
10:
maximag;
Imagvar=var(Imagvector);
PDF_Im=exp(-x.^2/(2*Imagvar))/sqrt(2*pi*Imagvar);
pixel_count2=PDF_Im*10*m*n;
figure;
plot(x,pixel_count2,'r');
count=hist(Imagvector,x);
holdon;
plot(x,count,'rs','MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',2);
ylabel('Pixelcount');
xlabel('Imaginarycomponent(Im)');
灰度:
load'';
load'';
[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);
holdon;
plot(X,count,'rs','MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',2);
ylabel('Pixelcount');
xlabel('Amplitudecomponent(A)');
功率:
clear;
clc;
load'';
load'';
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;
figure;
plot(x,pixel_count4,'y');
count=hist(Powevector,x);
holdon;
plot(x,count,'rs','MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',2);
ylabel('Pixelcount');
xlabel('Power(P)');
相位:
clear;
clc;
load'';
load'';
[m,n]=size(Imag);
Imagvector=reshape(Imag,m*n,1);
Realvector=reshape(Real,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;
figure;
plot(x,pixel_count2,'r');
count=hist(Phase,x);
holdon;
plot(x,count,'rs','MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',2);
ylabel('Pixelcount');
xlabel('Phasecomponent(Ph)');
实验二INSAR信号统计模型验证
实验目的
通过MATLAB编程实现INSAR的数据统计特征的表达,掌握用MATLAB编写函数的方法,进一步掌握MATLAB在INSAR实验中的应用。
实验环境及数据
实验心得
通过本次实验,我学会了使用MATLAB在同一窗口中呈现多个图像的方法。
这次实验中要考虑L的取值不同给函数图像带来的差异。
通过这次实验,我对MATLAB更熟悉了一些。
用MATLAB编程主要要理清思路,掌握每个函数的用法,这样编程才会顺利。
MATLAB这个软件的功能很强大,以后要好好学习,掌握基本的用法,为以后的学习打下基础。
实验结果
L=1
L=10
L=20
相干图
实验源代码
L1:
clc;
clear;
L=1;
Gam=;
Phai=[-pi:
(2*pi)/100:
pi];
PDF=pdf_phai(Phai,Gam,L);
plot(Phai,PDF);
holdon;
Gam=;
Phai=[-pi:
(2*pi)/100:
pi];
PDF=pdf_phai(Phai,Gam,L);
plot(Phai,PDF);
holdon;
Gam=;
Phai=[-pi:
(2*pi)/100:
pi];
PDF=pdf_phai(Phai,Gam,L);
plot(Phai,PDF);
holdon;
Gam=;
Phai=[-pi:
(2*pi)/100:
pi];
PDF=pdf_phai(Phai,Gam,L);
plot(Phai,PDF);
holdon;
Gam=;
Phai=[-pi:
(2*pi)/100:
pi];
PDF=pdf_phai(Phai,Gam,L);
plot(Phai,PDF);
xlabel('Phai(rad)');
ylabel('PDF(Phai)');
L=10
clear;
L=10;
Gam=;
Phai=[-pi:
(2*pi)/100:
pi];
PDF=pdf_phai(Phai,Gam,L);
plot(Phai,PDF);
holdon;
Gam=;
Phai=[-pi:
(2*pi)/100:
pi];
PDF=pdf_phai(Phai,Gam,L);
plot(Phai,PDF);
holdon;
Gam=;
Phai=[-pi:
(2*pi)/100:
pi];
PDF=pdf_phai(Phai,Gam,L);
plot(Phai,PDF);
holdon;
Gam=;
Phai=[-pi:
(2*pi)/100:
pi];
PDF=pdf_phai(Phai,Gam,L);
plot(Phai,PDF);
holdon;
Gam=;
Phai=[-pi:
(2*pi)/100:
pi];
PDF=pdf_phai(Phai,Gam,L);
plot(Phai,PDF);
xlabel('Phai(rad)');
ylabel('PDF(Phai)');
L=20
clear;
L=20;
Gam=;
Phai=[-pi:
(2*pi)/100:
pi];
PDF=pdf_phai(Phai,Gam,L);
plot(Phai,PDF);
holdon;
Gam=;
Phai=[-pi:
(2*pi)/100:
pi];
PDF=pdf_phai(Phai,Gam,L);
plot(Phai,PDF);
holdon;
Gam=;
Phai=[-pi:
(2*pi)/100:
pi];
PDF=pdf_phai(Phai,Gam,L);
plot(Phai,PDF);
holdon;
Gam=;
Phai=[-pi:
(2*pi)/100:
pi];
PDF=pdf_phai(Phai,Gam,L);
plot(Phai,PDF);
holdon;
Gam=;
Phai=[-pi:
(2*pi)/100:
pi];
PDF=pdf_phai(Phai,Gam,L);
plot(Phai,PDF);
xlabel('Phai(rad)');
ylabel('PDF(Phai)');
调用函数的源代码
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+;
temp4=1./(1-Beita.^2).^L;
ifL==1
PDF=temp1.*(temp2.*(temp3+temp4));
else
temp5=0;
fori=0:
(L-2)
temp5=temp5+gamma.*gamma(L-1-i).*(1+(2*i+1).*Beita.^2)./gamma./gamma(L-1)./(1-Beita.^2).^(i+2);
end
temp5=temp5./2/(L-1);
PDF=temp1.*(temp2.*(temp3+temp4)+temp5);
end
end
相干图的源代码
L=1;
Gam=[0:
:
1];
forPhai=-pi:
(2*pi)/100:
pi
SD=sqrt(Phai^2*(pdf_phai(Phai,Gam,L)))
end
plot(Gam,SD,'y');
holdon;
L=2;
Gam=[0:
:
1];
forPhai=-pi:
(2*pi)/100:
pi
SD=sqrt(Phai^2*(pdf_phai(Phai,Gam,L)))
end
plot(Gam,SD,'b');
holdon;
L=4;
Gam=[0:
:
1];
forPhai=-pi:
(2*pi)/100:
pi
SD=sqrt(Phai^2*(pdf_phai(Phai,Gam,L)))
end
plot(Gam,SD,'r');
holdon;
L=8;
Gam=[0:
:
1];
forPhai=-pi:
(2*pi)/100:
pi
SD=sqrt(Phai^2*(pdf_phai(Phai,Gam,L)))
end
plot(Gam,SD,'m');
holdon;
L=10;
Gam=[0:
:
1];
forPhai=-pi:
(2*pi)/100:
pi
SD=sqrt(Phai^2*(pdf_phai(Phai,Gam,L)))
end
plot(Gam,SD,'k');
holdon;
L=16;
Gam=[0:
:
1];
forPhai=-pi:
(2*pi)/100:
pi
SD=sqrt(Phai^2*(pdf_phai(Phai,Gam,L)))
end
plot(Gam,SD,'c');
holdon;
L=20;
Gam=[0:
:
1];
forPhai=-pi:
(2*pi)/100:
pi
SD=sqrt(Phai^2*(pdf_phai(Phai,Gam,L)))
end
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)读取数据
例如,读取的函数:
fid1=fopen'','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可读文件的程序
fid1=fopen'','w');
fprintf(fid1,'DSAA\n');
fprintf(fid1,'%8.0f%8.0f\n',4804,2402);
fprintf(fid1,'%8.0f%8.0f\n',111,115);
fprintf(fid1,'%8.0f%8.0f\n',27,29);
fprintf(fid1,'%8.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');
end
fclose(fid1);
3.用surfer软件裁剪和显示长沙地区的数字高程模型
首先,打开surfer,找到菜单map下的imagemap,读由matlab生成的数据文件,并以out为文件名把图以二进制格式保存在磁盘上。
在surfer的界面上出来了原始图如下:
然后,选择菜单grid下的blank命令,还是打开文件,接着打开边界文件,保存名称是,格式是二进制的。
最后,在选择菜单map下的imagemap,打开刚才的文件;再选择菜单map下的basemap,打开文件,出现长沙市的概略图。
用limits属性设置好图的坐标范围,纬度—,经度—。
最后,选中两副图,在选择菜单map下的的overlap,两张图就叠加在一起了,也就出来了最后的成果图如下:
试验心得
这次实验是根据所给数据将数据转变成surfer能识别的格式,然后在surfer中对拼接好的图像进行处理,对长沙地区裁剪并且显示其数字高程模型。
这次实验遇到了一些问题,比如如何在MATLAB中拼接图像,由于有重叠部分,分成两次来完成,首先是在同一纬度内拼接,后一幅图像要从第二行开始,然后保持拼接好的图像的经度不变,进行纬度的拼接。
由于是初次做,第一次拼接的图像是错位的,但是仔细考虑了拼接的顺序之后,终于拼接成功了。
其次,通过这次实验,以前在书上和课件上看到的都是老师做好的实验图像,根据图像去理解一些信息。
通过这次实验,对理论知识有了更深的理解,记忆更加深刻,同时增加了我们将理论知识和实践结合起来学习动力。
有些东西,听听就过了,但是没有深入地理解,这样的实验确实可以使我们的理解更深。
试验源代码
fid1=fopen('','r','b');
A1=fread(fid1,[1201,1201],'bit16');
fclose(fid1);
A1=A1';
fid2=fopen('','r','b');
A2=fread(fid2,[1201,1201],'bit16');
fclose(fid2);
A2=A2';
fid3=fopen('','r','b');
A3=fread(fid3,[1201,1201],'bit16');
fclose(fid3);
A3=A3';
fid4=fopen('','r','b');
A4=fread(fid4,[1201,1201],'bit16');
fclose(fid4);
A4=A4';
fid5=fopen('','r','b');
A5=fread(fid5,[1201,1201],'bit16');
fclose(fid5);
A5=A5';
fid6=fopen('','r','b');
A6=fread(fid6,[1201,1201],'bit16');
fclose(fid6);
A6=A6';
fid7=fopen('','r','b');
A7=fread(fid7,[1201,1201],'bit16');
fclose(fid7);
A7=A7';
fid8=fopen('','r','b');
A8=fread(fid8,[1201,1201],'bit16');
fclose(fid8);
A8=A8';
S1=[A5,A6(:
2:
1201),A7(:
2:
1201),A8(:
2:
1201)];
S2=[A1,A2(:
2:
1201),A3(:
2:
1201),A4(:
2:
1201)];
S=[S1;S2(2:
1201,:
)];
S(find(S==-32768))=0;
figure;
imagesc(S,[1,400]);
fid9=fopen('','w');
fprintf(fid9,'DSAA\n');%±êʾ·û
fprintf(fid9,'%%\n',4801,2401);
fprintf(fid9,'%%\n',111,115);%¾¶È
fprintf(fid9,'%%\n',27,29);%γ¶È
fprintf(fid9,'%%\n',min(min(S)),max(max(S)));%
fori=2401:
-1:
1%´Ó×îºóÒ»ÐпªÊ¼Ð´
forj=1:
4801
fprintf(fid9,'%',S(i,j));
end
fprintf(fid9,'\n');
end
fclose(fid9);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- INSAR 实验 报告