📄 two_dimensional_psd.m
字号:
% % %%%%%此程序为处理 二维 PSD基本程序,包含汉宁窗口算法%%%%%%%%%%
% % clear;%close;%清内存,关闭图
% % load data_lg.dat;%读AFM数据,之前应先去除文件头的说明文字,仅剩数据
% % L=20; %取样长度,请先设定
% % Z_scale=14.93652; %根据文件头的说明文字找出相应的值
% % sen_Z_scale=3.948723; %根据文件头的说明文字找出相应的值
% % N=256; %根据文件头的说明文字找出相应的采样点数
% % %计算实际高度
% % z=data_lg*Z_scale*sen_Z_scale./65535;%计算z向实际高度
% % %****************计算实际高度结束*******************%
% % % % clear;close;%清内存,关闭图
% % % % z=load ('taijie.txt');%读AFM数据,之前应先去除文件头的说明文字,仅剩数据
% % % % L=40; %取样长度,请先设定
% % % % N=256; %根据文件头的说明文字找出相应的采样点数
% % % % % % % % **********以上为数据的导入*********
%计算二维PSD
window=(8/3)*hanning(N)*hanning(N)';%加能量归一化后的二维汉宁窗
% window=1; %矩形窗
% x=linspace(0,20,length(data_lg));
% [x,y]=meshgrid(x);
% surf(x,y,z.*window);
% shading interp;
figure(2);
fz=fftshift(fft2(z.*window));%2D FFT运算且用fftshift移位
tfz=((L/(N-1))^2)*abs(fz).*abs(fz)/(N*N);%PSD算 unit:mm2*nm2
x=linspace(-N/(2*L),N/(2*L),N);
[x,y]=meshgrid(x);
surf(x,y,tfz);
shading interp;
h1=xlabel('Tangential Spatial Frequency (1/μm)');
h2=ylabel('Sagittal Spatial Frequency (1/μm)');zlabel('Two-dimensional PSD, nm^2μm^2');
set(h1,'rotation',15);
set(h2,'rotation',-25);
title('Two-dimensional PSD');
% view(2);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -