Blame view

allanplot_cov.m 1.26 KB
b3b851a23   bmarechal   add cov test scripts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  #!/usr/bin/octave-cli --persist
  
  filename = argv(){1};
  col1 = eval(argv(){2});
  col2 = eval(argv(){3});
  mult1 = eval(argv(){4});
  mult2 = eval(argv(){5});
  
  if length(col1) == length(mult1)
      figure
      hold all
      grid on
      cc = 'bkcgmry';
      for i = [1:length(col1)]
          data.freq = load(filename)(:,col1(i)).*mult1(i);
          data.freq2 = load(filename)(:,col2(i)).*mult2(i);
183c460e4   bmarechal   crop arrays with ...
17
18
          data.freq = data.freq(1:min(length(data.freq), length(data.freq2)));
          data.freq2 = data.freq2(1:min(length(data.freq), length(data.freq2)));
b3b851a23   bmarechal   add cov test scripts
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
          if eval(argv(){end-1}) == 1
              printf('
  data1 drift removed
  
  ')
              data.freq = detrend(data.freq);
          end
          if eval(argv(){end}) == 1
              printf('
  data2 drift removed
  
  ')
              data.freq2 = detrend(data.freq2);
          end
          data.rate = 1;
          [ad, S, err, tau] = allan_cov(data, 2.^[0:nextpow2(length(data.freq))-3]./data.rate, strcat(strsplit(filename, '/'){end}, num2str(i)), 0);
          loglogerr(tau, ad, err, strcat(cc(mod(i, length(cc))), '-s'))
          leg{i} = strcat(filename, ' cov col', num2str(col1(i)), ' col', num2str(col2(i)));
          axis(10.^ceil(log10([tau(1), tau(end)])))
          hold on
      end
      legend(leg)
      input("Press to continue...");
  end
  exit