Commit 88a86ac7331c5a006d69a23ad5c63ab773598304
1 parent
9a89127b66
Exists in
master
...
Showing 2 changed files with 11 additions and 13 deletions Inline Diff
psdplot.m
#!/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 |
temp2allan.m
#!/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 | |||