82 lines
2.7 KiB
Plaintext
82 lines
2.7 KiB
Plaintext
|
|
SoftFM - Software decoder for FM broadcast radio with RTL-SDR
|
|
---------------------------------------------------------------
|
|
|
|
SoftFM is a software-defined radio receiver for FM broadcast radio.
|
|
It is written in C++ and uses RTL-SDR to interface with RTL2832-based
|
|
hardware.
|
|
|
|
This program is mostly an experiment rather than a useful tool.
|
|
The purposes of SoftFM are
|
|
* experimenting with digital signal processing and software radio;
|
|
* investigating the stability of the 19 kHz pilot;
|
|
* doing the above while listening to my favorite radio station.
|
|
|
|
Having said that, SoftFM actually produces pretty good stereo sound
|
|
when receiving a strong radio station. Weak stations are noisy,
|
|
but SoftFM gets much better results than rtl_fm (bundled with RTL-SDR)
|
|
and the few GNURadio-based FM receivers I have seen.
|
|
|
|
SoftFM provides:
|
|
* mono or stereo decoding of FM broadcasting stations
|
|
* real-time playback to soundcard or dumping to file
|
|
* command-line interface (no GUI, no visualization, nothing fancy)
|
|
|
|
SoftFM requires:
|
|
* Linux
|
|
* C++11
|
|
* RTL-SDR library (http://sdr.osmocom.org/trac/wiki/rtl-sdr)
|
|
* supported DVB-T receiver
|
|
* medium-fast computer (SoftFM takes 25% CPU time on my 1.6 GHz Core i3)
|
|
* medium-strong FM radio signal
|
|
|
|
For the latest version, see https://github.com/jorisvr/SoftFM
|
|
|
|
|
|
Installing
|
|
----------
|
|
|
|
The Osmocom RTL-SDR library must be installed before you can build SoftFM.
|
|
See http://sdr.osmocom.org/trac/wiki/rtl-sdr for more information.
|
|
|
|
To install SoftFM, download and unpack the source code and go to the
|
|
top level directory. Then do like this:
|
|
|
|
$ mkdir build
|
|
$ cd build
|
|
$ cmake ..
|
|
|
|
# CMake tries to find librtlsdr. If this fails, you need to specify
|
|
# the location of the library in one the following ways:
|
|
#
|
|
# $ cmake .. -DCMAKE_INSTALL_PREFIX=/path/rtlsdr
|
|
# $ cmake .. -DRTLSDR_INCLUDE_DIR=/path/rtlsdr/include -DRTLSDR_LIBRARY_PATH=/path/rtlsdr/lib/librtlsdr.a
|
|
# $ PKG_CONFIG_PATH=/path/rtlsdr/lib/pkgconfig cmake ..
|
|
|
|
$ make
|
|
|
|
$ ./softfm -f <radio-frequency-in-Hz>
|
|
|
|
# ( enjoy music )
|
|
|
|
|
|
License
|
|
-------
|
|
|
|
SoftFM, copyright (C) 2013, Joris van Rantwijk
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License along
|
|
with this program; if not, see http://www.gnu.org/licenses/gpl-2.0.html
|
|
|
|
--
|