%% for DDK1-8
iNmax = 60;
label = 'Kfilter';
address = 'D:\数据\matlab\gravity\DATABASE\GRACE数据\SH产品\CSR\CSR_CSR-Release-06\60x60\DDK1\'; % set the path of the DDK file
GFA = dir(fullfile(address,[label,'*'])); % GFA contains all the file which first few letters begin "Kfilter"
for ii = 1:length(GFA) % start reading
file_name = [address,GFA(ii).name];
fid2 = fopen(file_name, 'r');
stype = 'csr';
tt = read_time(file_name,stype);
while ~feof(fid2)
str = fgetl(fid2);
if length(str)>6 && strcmp(str(1:6),'end_of')
break;
end
end
rC = zeros(iNmax+1);
rS = rC;
% attention : is in or im looping first?
for in = 0:iNmax
for im = 0:in
str = fgetl(fid2);
a=sscanf(str,'%s %d %d %f %f %f %f');
rC(in+1,im+1) = a(6);
rS(in+1,im+1) = a(7);
end
end
fclose(fid2);
sh_ddk(ii).C = rC;
sh_ddk(ii).S = rS;
sh_ddk(ii).tt = tt;
end
fclose all;
DDK滤波,数字越小,代表滤波的半径越大。下图依次是是DDK1、DDK4、DDK8滤波得到的2005年5月至2006年4月的质量变化信号(相对于163个月的平均值),未进行低阶项处理.