Commit 88a86ac7331c5a006d69a23ad5c63ab773598304

Authored by bmarechal
1 parent 9a89127b66
Exists in master

...

Showing 2 changed files with 11 additions and 13 deletions Inline Diff

#!/usr/bin/octave-cli --persist 1 1 #!/usr/bin/octave-cli --persist
2 2
filename = argv(){1}; 3 3 filename = argv(){1};
col = eval(argv(){2}); 4 4 col = eval(argv(){2});
mult = eval(argv(){3}); 5 5 mult = eval(argv(){3});
data.rate = eval(argv(){4}); 6 6 data.rate = eval(argv(){4});
d = eval(argv(){5}); 7 7 d = eval(argv(){5});
8 8
if length(col) == length(mult) 9 9 if length(col) == length(mult)
figure 10 10 figure
hold all 11 11 hold all
grid on 12 12 grid on
cc = 'bkcgmry'; 13 13 cc = 'bkcgmry';
for i = [1:length(col)] 14 14 for i = [1:length(col)]
data.freq = diff(load(filename)(:,col(i)).*mult(i), d)*data.rate**d; 15 15 data.freq = diff(load(filename)(:,col(i)).*mult(i), d)*data.rate**d;
[p, f] = pwelch(data.freq, hanning(length(data.freq)/1), 0.5, [], data.rate, 'onesided', 'power'); 16 16 [p, f] = pwelch(data.freq, hanning(length(data.freq)/100), 0.5, [], data.rate, 'onesided', 'power');
semilogx(f, 10*log10(p), cc(mod(i, length(cc)))) 17 17 semilogx(f, 10*log10(p), cc(mod(i, length(cc))))
leg{i} = strcat(filename, ' col', num2str(col(i))); 18 18 leg{i} = strcat(filename, ' col', num2str(col(i)));
hold on 19 19 hold on
end 20 20 end
legend(leg) 21 21 legend(leg)
input("Press to continue..."); 22 22 input("Press to continue...");
end 23 23 end
#!/usr/bin/octave-cli 1 1 #!/usr/bin/octave-cli
2 2
filename = argv(){1}; 3 3 filename = argv(){1};
col = eval(argv(){2}); 4 4 col = eval(argv(){2});
mult = eval(argv(){3}); 5 5 mult = eval(argv(){3});
6 6
filename = argv(){1}; 7 7 filename = argv(){1};
col = eval(argv(){2}); 8 8 col = eval(argv(){2});
mult = eval(argv(){3}); 9 9 mult = eval(argv(){3});
ad_opt = eval(argv(){4}); 10 10 ad_opt = eval(argv(){4});
11 11
if length(col) == length(mult) 12 12 if length(col) == length(mult)
for i = [1:length(col)] 13 13 for i = [1:length(col)]
data.freq = load(filename)(:,col(i)).*mult(i); 14 14 data.freq = load(filename)(:,col(i)).*mult(i);
if nargin == 4 15 15 if ad_opt(i) == 1
if ad_opt(i) == 1 16 16 printf(strcat(filename, ' col', num2str(col(i)), ' drift removed\n\n'))
printf(strcat(filename, ' col', num2str(col(i)), ' drift removed\n\n')) 17 17 data.freq = detrend(data.freq);
data.freq = detrend(data.freq); 18 18 elseif ad_opt(i) == 2
elseif ad_opt(i) == 2 19 19 printf(strcat(filename, ' col', num2str(col(i)), ' relative ad : mean=', num2str(mean(data.freq)), '\n\n'))
printf(strcat(filename, ' col', num2str(col(i)), ' relative ad : mean=', num2str(mean(data.freq)), '\n\n')) 20 20 data.freq = data.freq./mean(data.freq);
data.freq = data.freq./mean(data.freq); 21 21 elseif ad_opt(i) == 3
elseif ad_opt(i) == 3 22 22 printf(strcat(filename, ' col', num2str(col(i)), ' drift removed relative ad\n\n'))
printf(strcat(filename, ' col', num2str(col(i)), ' drift removed relative ad\n\n')) 23 23 data.freq = detrend(data.freq./mean(data.freq));
data.freq = detrend(data.freq./mean(data.freq)); 24 24 end
end 25
endif 26
data.rate = 1; 27 25 data.rate = 1;
[ad, S, err, tau] = allan(data, 2.^[0:nextpow2(length(data.freq))-3]./data.rate, strcat(strsplit(filename, '/'){end}, num2str(i)), 0); 28 26 [ad, S, err, tau] = allan(data, 2.^[0:nextpow2(length(data.freq))-3]./data.rate, strcat(strsplit(filename, '/'){end}, num2str(i)), 0);
ad_tosave{i} = vertcat(ad, err)'; 29 27 ad_tosave{i} = vertcat(ad, err)';
end 30 28 end
tosave = tau'; 31 29 tosave = tau';
for i = [1:length(col)] 32 30 for i = [1:length(col)]
tosave = horzcat(tosave, ad_tosave{i}); 33 31 tosave = horzcat(tosave, ad_tosave{i});
end 34 32 end
save('-ascii', strcat(strsplit(filename, '.'){1}, '_ad.dat'), 'tosave'); 35 33 save('-ascii', strcat(strsplit(filename, '.'){1}, '_ad.dat'), 'tosave');
end 36 34 end
37 35