📄 readdata.m
字号:
% deal data from specified data file
clear;
data_fname1='111.bin'; % 这里是文件名
file_id1=fopen(data_fname1,'rb');
data_fname2='222.bin'; % 这里是文件名
file_id2=fopen(data_fname2,'rb');
s1=[zeros(1,128)];
s3=[zeros(1,128)];
bmaxid=fopen('1111.bin','a');
%dmaxid=fopen('2222.bin','a');
while feof(file_id1)~=1 &feof(file_id2)~=1
% 数据类型是int16,每次读入256个数
% raw_array每次都是256x1的矩阵,ele_count为读入的数的个数(正常情况下应为256)
[row_array1,ele_count]=fread(file_id1,128,'double');
[row_array2,el_count]=fread(file_id2,128,'double');
if ele_count <128 % elecount < 512代表数据不够,已经到了文件的结尾
break;
else
% 将256x1的row_array转置一下,变为1x256的矩阵
% s1=[zeros(128)];
%s2=[s1,s(1:128)];
% y=gccphat(t1,t2);
% s1=s(129:256);
row_array1=row_array1';
s2=[s1,row_array1(1:128)]
s1=row_array1(1:128);
%[row_array2, el_count]=fread(file_id2,128, 'double');
if el_count <128 % elcount < 512代表数据不够,已经到了文件的结尾
break;
else
row_array2=row_array2';
s4=[s3,row_array2(1:128)]
s3=row_array2(1:128);
fx1=fft(s2);
%fx1=fx1(1:256);
fx2=fft(s4);
%fx2=fx2(1:256);
Pxy=fx1.*conj(fx2);
Rxy=Pxy./abs(Pxy);
R=ifft(Rxy);
d1=real(R);
[dmax,bmax]=max(d1);
%dmaxid=fopen('1111.bin','a');
%count1=fwrite(dmaxid,dmax,'double');
%fclose(dmaxid);
%bmaxid=fopen('2222.bin','a');
court1=fwrite(bmaxid,bmax,'double');
%court1=fwrite(dmaxid,bmax,'double');
%fclose(bmaxid);
end
end
end
fclose(bmaxid);
%fclose(dmaxid);
fclose(file_id1);
fclose(file_id2);
% 关闭文件
clear data_fname file_id fid ele_count i m n row_array ans;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -