+++ /dev/null
-% tfft_log.m
-%
-% Used in conjunction swith 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> tfft_log("../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
--- /dev/null
+% 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
FDMDV_NSPEC. Note that a 2*FDMDV_NSPEC size FFT is reqd to get
FDMDV_NSPEC output points. FDMDV_NSPEC must be a power of 2.
- See octave/tfft_log.m for a demo real time spectral display using
+ See octave/tget_spec.m for a demo real time spectral display using
Octave. This demo averages the output over time to get a smoother
display: