Meaning of rtl_fm output values

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/osmocom-sdr@lists.osmocom.org/.

Theodric Young theodric at mit.edu
Wed Mar 14 19:57:55 UTC 2018


Hi,

I'm new to SDR and I have a question about the data values that are 
generated by the rtl_fm program.

I got rtl_fm running on my system (cygwin running on Windows 7).  It is 
sending a stream of 16-bit signed integer values to stdout which I can 
redirect to a file or pipe to an audio playback system, such as sox.  So 
when I do this:

  rtl_fm -f 88.1M -M wbfm -s 240k -r120k -g 30 | play -t raw -r 120k -b 
16 -c 1 -e s -V1 -

I hear sweet, sweet music!  Hurray!

But how do these 16-bit integers relate to the modulation level of the 
carrier?  I'm assuming that the values are directly proportional to the 
instantaneous frequency deviation of the transmitted signal.  Is that 
right?  If so, how do I determine that ratio?  I'm hoping to use this to 
build a device that shows total modulation (as a percentage of the 
maximum modulation of +/- 75kHz) for an FM radio station.

Also, I'm assuming that the sample-rate of the output data stream needs 
to be at least 120kHz because the baseband signal includes the stereo 
pilot (19kHz), the stereo subcarrier (38kHz) and an RBDS subcarrier (57 
kHz).

Any insight would be appreciated.  Thanks in advance,

Theodric Young



More information about the osmocom-sdr mailing list