% tget-spec.m
%
% Used in conjunction with src/fdmdv_demod to test the
% fdmdv_get_rx_spectrum() function.
%
% codec2-dev/src$ ./fdmdv_demod fdmdv_mod.raw tmp.c2 dump.txt
% octave:3> tget_spec("../src/dump.txt")
%
% Copyright David Rowe 2012
% This program is distributed under the terms of the GNU General Public License 
% Version 2
%

function tfft_log(dumpfilename)

  load(dumpfilename);

  [rows cols] = size(rx_spec_log_c);
  Fs = 8000; low_freq = 0; high_freq = 2500;
  res = (Fs/2)/cols;
  st_bin = low_freq/res + 1;
  en_bin = high_freq/res;
  xaxis = (st_bin:en_bin)*res;

  f_start = 2; f_end = 100;
  beta = 0.1;

  av = zeros(f_end, en_bin-st_bin+1);
  for r=f_start:f_end
      x = (1-beta)*av(r-1,:) + beta*rx_spec_log_c(r,st_bin:en_bin);
      av(r,:) = x;
  end

  % spectrogram (waterfall)

  figure(1)
  clf;
  imagesc(av,[-40 0]);

  % animated spectrum display

  figure(2)
  clf;
  for r=f_start:f_end
      plot(xaxis, av(r,:))
      axis([ low_freq high_freq -40 0])
      sleep(0.1)
  end
endfunction