📄 dataread.m
字号:
% Read raw data,splined 532nm,select data spectrum range from 369-691nm
% 读取一种光谱
function d=DataRead(file_path,dstart,spectrum_length,noise_length) % file_path:文件夹路径;dstart:文件开始序号
% spectrum data
datastart=dstart;
dataend=dstart+spectrum_length-1;
% dark noise
nstart=dstart+spectrum_length+1;
nend=dstart+spectrum_length+noise_length-1;
%
% % 读取噪声文件,并求平均计算背景噪声
noise_sum=zeros(2048,1);
for i=nstart:nend
numstr=int2str(i);
if i<10
file_name=strcat(file_path,'.','000000',numstr,'.','Master','.','Scope');
elseif i<100
file_name=strcat(file_path,'.','00000',numstr,'.','Master','.','Scope');
elseif i<1000
file_name=strcat(file_path,'.','0000',numstr,'.','Master','.','Scope');
else
file_name=strcat(file_path,'.','000',numstr,'.','Master','.','Scope');
end
noise_data=new_load(file_name);
noise_sum=noise_sum+noise_data(:,2);
end
noise_sum=noise_sum./(nend-nstart+1);
% 读取信号文件,利用三次样条插值去除532nm处的波长影响
a=zeros(2048,1);
for i=datastart:dataend
numstr=int2str(i);
if i<10
file_name=strcat(file_path,'.','000000',numstr,'.','Master','.','Scope');
elseif i<100
file_name=strcat(file_path,'.','00000',numstr,'.','Master','.','Scope');
elseif i<1000
file_name=strcat(file_path,'.','0000',numstr,'.','Master','.','Scope');
else
file_name=strcat(file_path,'.','000',numstr,'.','Master','.','Scope');
end
temp_data=new_load(file_name);
a=a+temp_data(:,2);
end
a=a./(dataend-datastart+1);
a=a-noise_sum;
%interporate
num=1;
for n=96:1004 % 波长范围 369.8-691.6nm
x(n-95)=temp_data(n,1);
if(n<510||n>560)
xx(num)=temp_data(n,1);
yy(num)=a(n,1);
num=num+1;
end
end
% wavelength=temp_data(:,1);
% index=find((wavelength>369.8) & (wavelength<691.6));
% xx=wavelength(index);
% yy=a(index);
% x=wavelength();
d=spline(xx,yy,x)';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -