You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.0 KiB
49 lines
1.0 KiB
% 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
|
|
|