Releases: charlie-foxtrot/RTLSDR-Airband
Releases · charlie-foxtrot/RTLSDR-Airband
Version 4.1.0
- Changes in this release:
What's Changed
- add signal and noise as dBFS to output prom file by @charlie-foxtrot in #355
- update unstable with main (4.0.3) by @charlie-foxtrot in #357
- Fix Mac CI and update URLs by @charlie-foxtrot in #358
- merge MacOS CI fixes to unstable by @charlie-foxtrot in #359
- Reschedule daily build and add vscode devcontainer by @charlie-foxtrot in #364
- add gtest and unit test stub by @charlie-foxtrot in #365
- Pull appart classes by @charlie-foxtrot in #367
- add ampfactor as a per-channel config parameter by @charlie-foxtrot in #369
- run more build combinations in CI by @charlie-foxtrot in #372
- drop error messages when setting to defaults by @charlie-foxtrot in #371
- Add CTCSS support, second attempt by @charlie-foxtrot in #368
- updates to release v4.1.0 by @charlie-foxtrot in #373
Full Changelog: v4.0.3...v4.1.0
Version 4.0.3
Changes in this release:
- Add
channel_squelch_level
to stats file, see #332 - Support "default" values in lists for
squelch_snr_threshold
andnotch_q
, see #334 - Set cmake
ENABLE_EXPORTS
property, see #339
Other items to note:
- Repo maintainer has changed, see #342
- Repo URL has moved to https://github.com/charlie-foxtrot/RTLSDR-Airband
- Default branch / Top of Tree has been renamed to
main
Version 4.0.2
- Added a new
PLATFORM
valuedefault
(which, as the name says, is the new
default). It results in a portable binary without any architecture-specific
optimizations. This also allows the program to be built with compilers that
do not support-march=native
option (notably Clang on Apple M1) (#303).
Version 4.0.1
- Fixed compilation error on RaspberryPi OS 11 (Bullseye)
Version 4.0.0
- RTLSDR-Airband is now built with CMake. Refer to the wiki for updated
compilation instructions. - When compiling the program, a new
PLATFORM
valuenative
can now be
specified. It enables-march=native -mtune=native
compilation options. This
causes the compiler to apply the most appropriate optimizations for the
hardware on which the app is being built (thx @charlie-foxtrot). - BACKWARDS-INCOMPATIBLE CHANGE: Signal level and noise level estimates
displayed in the textual waterfalls are now expressed in dBFS (decibels
related to the full scale of the analog-to-digital converter). The main
benefit of the new approach is that these values do not depend on the
fft_size
value(thx @charlie-foxtrot). - BACKWARDS-INCOMPATIBLE CHANGE: Improved squelch algorithm with new
configuration parameters.squelch
keyword has been replaced with
squelch_threshold
which takes an absolute signal value in dBFS as an
argument. Alternatively, a minimum signal-to-noise ratio (in dB) that should
trigger the squelch might be configured usingsquelch_snr_threshold
option
(thx @charlie-foxtrot). - BACKWARDS-INCOMPATIBLE CHANGE:
include_freq
config option for file outputs
now causes the frequency to be appended after the timestamp rather than
before it. This feature now works correctly in scan mode, when
split_on_transmission
feature is enabled. (thx @charlie-foxtrot). - BACKWARDS-INCOMPATIBLE CHANGE: sample format in files produced by
rawfile
outputs has been changed from CS16 to CF32. File name suffix is now.cf32
. - Improved squelch indicator in the textual waterfalls. In addition to the
*
character indicating that the squelch is open, there is also a~
character
indicating that the channel has a signal that is being suppressed because it
is outside the band of the channel filter (thx @charlie-foxtrot). - New output type
udp_stream
for sending uncompressed audio to another host
via UDP/IP (thx @charlie-foxtrot). - Added
multiple_output_threads
global option. When set totrue
, a separate
output thread is spawned for each device (thx @charlie-foxtrot). - Modulation in scan mode is now configurable per channel (thx
@charlie-foxtrot). - SoapySDR errors like TIMEOUT or OVERFLOW are no longer treated as fatal. They
often appear intermittently, especially when the CPU usage is high. There is
no point in failing the input in this case. - Added
.tmp
suffix to the names of the output files currently being written
to. The suffix is removed when the file is closed. External applications that
consume recorded files can now figure out which files are not yet complete. - Added logging and statistics for output thread overruns and mixer
input/output overruns (thx @charlie-foxtrot). - The program can now be built on MacOS.
- Miscellaneous bug fixes and code cleanups.
Version 3.2.1
- Fixed a compile error when using libshout older than 2.4.0
Version 3.2.0
- Added
split_per_transmission
output file option which allows creating
a new file for every transmission on the channel (thx @charlie-foxtrot). - Added
include_freq
output file option, which causes the channel frequency
to be appended to the file name (thx @charlie-foxtrot). - Added support for notch filters for eliminating narrowband interference,
like CTCSS tones (thx @charlie-foxtrot). - Added
bandwidth
channel option which causes the channelized I/Q signal
to be lowpass-filtered before demodulation. This might help in situations
where neighboring channels are closely spaced and interfere with the channel
of interest. It also reduces the bandwidth of the resulting audio signal,
and thus eliminates the high-frequency noise (thx @charlie-foxtrot). - Added support for multithreaded demodulation. Each device can now have its
own demodulation thread. This allows spreading the demodulation work across
multiple CPU cores. Enable withmultiple_demod_threads
global option
(thx @charlie-foxtrot). - Added support for highpass/lowpass MP3 filters for mixers (thx @charlie-foxtrot)
- Added support for frequency usage statistics (thx @charlie-foxtrot).
- Workaround for Fitipower tuner problem of not honoring the first gain
setting when the device is first used (thx @eshaz). - Finalize the MP3 file properly before opening a new one (thx @jratke).
- Close the RTL device properly on program exit (thx @jratke).
- Updated the SoapySDR input driver to reflect changes in SoapySDR library API.
- Minor cleanups.
Version 3.1.0
- SoapySDR: added support for complex float 32-bit samples
- SoapySDR: allow using AGC if the device supports it. Gain setting for
soapy devices is now optional - if it's not specified, the program will
try to enable AGC. - Use lowpass/highpass filters provided by LAME library to improve audio
quality of MP3 streams. Filter cutoff frequencies may be configured per
output, usinghighpass
andlowpass
config options. Credit: clydebarrow. - Added
log_scan_activity
global config option. When set totrue
, a
log message is written whenever a squelch opens on a scanned channel,
effectively producing a channel activity log. Credit: clam-i-am. - Improved squelch behaviour in some corner cases.
- Fix for incorrect naming of pulseaudio context. Name set in the config
was not used as it should. Credit: Darryl Pogue. - Don't fail when the configured gain value is negative. Some SDRs support
this (eg. FC0012-based dongles). - Fix a bug which in some cases could prevent the icecast output from
reconnecting with the Icecast server after the connection has failed.
Version 3.0.1
- Fix for squelch staying constantly open when configured manually
with NFM=off (#84)
Version 3.0.0
- Major overhaul of the SDR input code - now it's modular and hardware-agnostic (no longer tightly coupled with librtlsdr).
- Support for SoapySDR vendor-neutral SDR library - any SDR which has a plugin for SoapySDR shall now work in RTLSDR-Airband.
- Support for Mirics DVB-T dongles via libmirisdr-4 library.
- Support for RTLSDR is now optional and can be disabled at compilation stage.
- Removed the 8-channels-per-device limit in multichannel mode.
- Configurable per-device sampling rate.
- Configurable FFT size.
- Support for multibyte input samples.
- Support for rawfile outputs (ie. writing raw I/Q data from a narrowband channel to a file for processing with other programs, like GNUradio or csdr).
- INCOMPATIBLE CHANGE: removed
rtlsdr_buffers
global configuration option; buffer count can now be adjusted with a per-devicebuffers
option. - INCOMPATIBLE CHANGE: removed
syslog
global configuration option; syslog logging is now enabled by default, both in foreground and background mode. To force logging to standard error, use -e command
line option. - Added -F command line option for better cooperation with systemd. Runs the program in foreground, but without textual waterfalls. Together with -e it allows running rtl_airband as a service of type "simple" under systemd. Example rtl_airband.service file has been adjusted to reflect this change.
- Added
type
device configuration option. It sets the device type (ie. the input driver which shall be used to talk to the device)."rtlsdr" is assumed as a default type for backward compatibility. If RTLSDR support has been disabled at compilation stage, then there is no default type - it must be set manually, or the program
will throw an error on startup. - Frequencies in the config can now be expressed in Hz, kHz, MHz or GHz for improved readability.
- Lots of bugfixes.
- Rewritten documentation on Github Wiki.