kopia lustrzana https://github.com/rs1729/RS
102 wiersze
2.2 KiB
Markdown
102 wiersze
2.2 KiB
Markdown
|
|
## detect radiosonde type
|
|
|
|
#### Files
|
|
|
|
* `dft_detect.c`
|
|
|
|
#### Compile
|
|
`gcc dft_detect.c -lm -o dft_detect`
|
|
|
|
#### Usage
|
|
`./dft_detect [options] <file>` <br />
|
|
options:<br />
|
|
`--IQ <fq>` : IQ data input, where `<fq>` is the relative frequency in `-0.5..0.5` <br />
|
|
`-v` : sample count <br />
|
|
`-c` : continuous output<br />
|
|
`-t <sec>` : time limit <br />
|
|
|
|
(input `<file>` can be `stdin`)
|
|
<br />
|
|
|
|
FM data:<br />
|
|
`./dft_detect <fm_audio.wav>` <br />
|
|
|
|
IQ data:<br />
|
|
`./dft_detect --IQ <fq> <iq_data.wav>` <br />
|
|
For IQ data (i.e. 2 channels) it is possible to read raw data (without wav header): <br />
|
|
`./dft_detect --IQ <fq> - <sr> <bs> <iq_data.raw>` <br />
|
|
where <br />
|
|
`<sr>` : sample rate <br />
|
|
`<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`. <br />
|
|
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<br />
|
|
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<br />
|
|
Confirmed detection (two hits):
|
|
```
|
|
$ ./dft_detect -d2 -t 4 fm_meisei.wav 2>/dev/null
|
|
MEISEI: 0.9829
|
|
```
|
|
|