Skip to content
Oona Räisänen edited this page Dec 16, 2017 · 19 revisions

Raw MPX

If no command-line option is given, redsea expects a raw MPX input via stdin.

MPX refers to an FM multiplex signal at baseband, with its possible stereo subcarrier at 38 kHz and RDS at 56 kHz. You get an MPX signal by demodulating an FM station without decoding stereo.

MPX spectrum

The signal should be 16-bit mono PCM. The default sample rate is 171,000 Hz which, as a neat multiple of the data speed, works fastest. Any other rate can be specified using -r. The rate can't be lower than 128,000 Hz though.

MPX can also be read from a WAV file (or any other format supported by libaudiofile) using -f filename.wav.

Hex groups

Redsea can read demodulated RDS data in the hex format created by RDS Spy. This format has one RDS group per line written as ASCII hexadecimals. Each line must start with the group; space characters are ignored. Bad blocks must be replaced by ----. Lines shorter than 16 characters are ignored. Lines can also contain the RDS Spy timestamp information, since everything following the group is ignored.

6403 0440 CB41 594C
6403 1440 00E1 7C54
6403 E443 2020 6202
6403 0441 B741 4520
6403 245D 2020 2020

ASCII bits

The ASCII bits input can be useful if you are bit-banging an RDS decoder chip, for instance. It's very simple; just the delta-decoded raw RDS data as a stream of ASCII '0's and '1's. All other characters like line feeds are ignored.

001000100000110010011100100010111000010111001100001
001011000000100010011000110111101110010110101000000
101100001000000011110101001000101110000101110011000
000010110001111001100111110110000110000000111100010
001000000010000000110111000010001011100001011100110
000100101100000101010000111011000010110100100101101
Clone this wiki locally