|  77a0c0f6ec | ||
|---|---|---|
| .. | ||
| README.md | ||
| dft_detect.c | ||
| plot_fft_pow.py | ||
| plot_fft_simple.py | ||
| reset_usb.c | ||
| rs_detect.c | ||
| rtlsdr_scan.pl | ||
| scan_fft_pow.c | ||
| scan_fft_simple.c | ||
| scan_multi.sh | ||
| scan_multi_rs.pl | ||
		
			
				
				README.md
			
		
		
			
			
		
	
	detect radiosonde type
Files
- dft_detect.c
Compile
gcc dft_detect.c -lm -o dft_detect
Usage
./dft_detect [options] <file> 
options:
     --IQ <fq>  :  IQ data input, where <fq> is the relative frequency in -0.5..0.5 
     -v  :  sample count 
     -c  :  continuous output
     -t <sec>  :  time limit 
(input <file> can be stdin)
FM data:
./dft_detect <fm_audio.wav> 
IQ data:
./dft_detect --IQ <fq> <iq_data.wav> 
For IQ data (i.e. 2 channels) it is possible to read raw data (without wav header): 
./dft_detect --IQ <fq> - <sr> <bs> <iq_data.raw> 
where 
     <sr>  :  sample rate 
     <bs>=8,16,32  :  bits per (real) sample (u8, s16 or f32)
dft_detect stops, if a (potential) radiosonde signal is detected, or if a time limit is set with option -t. 
With option -c detection is continued, but a time limit can be set with -t.
Output is of the form <TYPE>: <score> where the correlation score is a normalized value in -1..+1.
Examples
Ex.1
$ ./dft_detect fm_audio.wav
sample_rate: 48000
bits       : 8
channels   : 1
RS41: 0.9885
Ex.2
$ ./dft_detect -c fm_audio.wav 2>/dev/null
RS41: 0.9885
RS41: 0.9851
RS41: 0.9784
RS41: 0.9869
RS41: 0.9845
RS41: 0.9828
RS41: 0.9814
RS41: 0.9821
RS41: 0.9823
RS41: 0.9882
[...]
Ex.3
$ ./dft_detect -c -t 4 fm_audio.wav 2>/dev/null
RS41: 0.9885
RS41: 0.9851
RS41: 0.9784
RS41: 0.9869
RS41: 0.9845
Ex.4
$ ./dft_detect -v -c -t 2 fm_audio.wav 2>/dev/null
sample: 39801
RS41: 0.9885
sample: 87824
RS41: 0.9851
sample: 135831
RS41: 0.9784
Ex.5
Some radiosonde types have similar signals, false detection is possible.
$ ./dft_detect -c -t 4 fm_meisei.wav 2>/dev/null
MEISEI: 0.9802
MRZ: -0.9720
MEISEI: 0.9829
Here a Meisei radiosonde seems to be more likely.
Ex.6
Confirmed detection (two hits):
$ ./dft_detect -d2 -t 4 fm_meisei.wav 2>/dev/null
MEISEI: 0.9829