sdrangel

SDR Rx/Tx software for Airspy, Airspy HF+, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay and FunCube

GPL-3.0 License

Stars
2.7K
Committers
75

Bot releases are visible (Hide)

sdrangel - Channel Analyzer update and Test Sink plugin

Published by f4exb almost 5 years ago

  • Tx plugins: corrected FIFO begin iterator vs number of samples read
  • GLSpectrum: set default window to Hanning
  • More preparatory works for MIMO channels support
sdrangel - Scope: polar grid option for XY display

Published by f4exb almost 5 years ago

There is a new button next to the toggle button for line or points display on the XY display that can be used to toggle between rectangular and polar display for the XY display.

  • Hopefully fixed MacOS build that may be broken since 4.11.2
  • More preparatory works for MIMO channels support
sdrangel - Device scan optimization

Published by f4exb about 5 years ago

Now hardware devices are scanned once even if used in more than one type of device set: source (Rx), sink (Tx) and fuiture MIMO. The application start time could be significantly reduced if there are many different devices connected to the system. Not so much if you are using a only a few devices.

  • Scope: added possibility to change trace chunk size
  • Upgraded to libbladerf 2019.07 release
  • Added a config.py API script to scriptsapi folder
  • Added sanity check in HackRF devices enumeration
  • Device engines: stop device before channels when going idle
  • Fixes to Flatpack build (PR #422)
  • More preparatory works for MIMO channels support
sdrangel - Fixed problem in v4.11.7

Published by f4exb about 5 years ago

Version 4.11.7 introduced a regression with a new sample buffer system. This was reverted to the previous FIFO system thus fixing the problem. The characteristic symptom was the silent loss of samples that may not always occur but was prominent on the server version on a RPi3. Issue appears if the receiver sends bursts of samples that the ingesting thread cannot consume fast enough. The proper FIFO system existing before was damping such variations. There are no visible functional changes in this version but this will make changes in v4.11.7 and v4.11.8 more generally accessible.

Mostly preparatory work for the implementation of MIMO channels.

sdrangel - HackRF transverter mode

Published by f4exb about 5 years ago

Added transverter mode option to HackRF input and output plugins

  • RTL-SDR: RF bandwidth deserialization fix
  • FreeDV demod: fixed spectrum display span and reverse API channel id specification
sdrangel - DSD demod fixes

Published by f4exb about 5 years ago

Use DSDcc v1.8.6 that fixes issues when switching from 2.4 to 4.8 kBaud rate back and forth. This caused segmentation fault and it could not sync to a new mode supported by the new baud rate. This should fix #406

  • GLSpectrum and GLScope: fixed possible issues with mutex handling
  • Channel Analyzer: use FFTW engine with Hamming window for auto correlation
  • Use a simplified version of sample FIFOs in the threaded baseband sample sink. This is a fairly fundamental change and although the code is much simpler no significant improvement in performance was noticed.
sdrangel - REST API: /sdrangel/config endpoint

Published by f4exb about 5 years ago

New endpoint in the REST API to manage the "main settings" or configuration. These are:

  • preferences
  • working preset
  • presets
  • commands
    It accepts the following HTTP methods:
  • GET: to get the complete configuration in JSON format
  • PUT: to replace the current configuration with the payload in JSON format
  • PATCH: to replace similar items or add items in lists with the payload in JSON format

It can be used to effectively implement a full backup (GET) and restore (PUT) using human readable backup (the JSON payload). You can use curl to make a backup or the interactive Swagger UI (click on Help -> About then on the REST API documentation link then follow the appropriate link in the browser).

A PATCH method is available also that can be used to do a partial restore. It will

  • patch the preferences with the available corresponding items in the payload
  • patch the working preset settings with the available corresponding items in the payload including spectrum configuration
  • add available devices configurations in the payload
  • add available channel configurations in the payload
  • add available presets in the payload. This implements #241
  • sdrangel-4.11.6-win64.exe: installation executable for Windows 64 bits
  • sdrangel_4.11.6-1_amd64.deb: .deb package for Ubuntu 18.04
  • sdrangel_4.11.6-1_amd64_disco.deb: .deb package for Ubuntu 19.04
  • sdrangel_4.11.6-1_amd64_buster.deb: .deb package for Debian Buster

The .deb file is a Debian package that can be installed with sudo apt-get install <.deb> command. Occasionnally after this command you may have to force the installation of dependencies with the sudo apt-get -f install command.

The software is installed in /usr/bin for executables and /usr/lib/sdrangel for the dependent shared libraries. Therefore before executing sdrangel to start the program you have to set the LD_LIBRARY_PATH environment variable with: export LD_LIBRARY_PATH=/usr/lib/sdrangel. This is because not all dependent libraries have their rpath set.

sdrangel - Morse keyer with the keyboard

Published by f4exb about 5 years ago

It is not really useful if you do not use a proper Morse keyer with direct audio feedback. There is a significant audio delay either with the modulator plugin audio monitoring (AM, NFM, SSB only) or by monitoring the transmitted signal so keying with this audio as feedback is not practical. Details documented in the CW keyer section of the relevant plugins.

sdrangel - DATV demod: output trasnport stream to UDP

Published by f4exb about 5 years ago

Option to output transport stream to UDP. More details here. This implements #311

sdrangel - PlutoSDR Rx: control hardware DC and IQ corrections

Published by f4exb about 5 years ago

In some occasion you may want to turn off IQ correction completely. Full control of DC and IQ correction in the AD chip is now available. See plugin documentation for details. This implements #378

  • DATV demod: fix DVB-S FEC 7/8 not recognized from the GUI. Fixes #383
  • Corrected endif in cpack/CMakeLists.txt. Fixes #377
  • Fixed WebAPIRequestMapper::validateAMBEDevices not returning value in all cases. Fixes issue #386
  • Fixed cmake find modules HINTS and PATHS for dependencies that can be compiled locally. Should fix #387
sdrangel - Support of AMBE servers

Published by f4exb about 5 years ago

You can now use AMBE servers for AMBE frames decoding of digital voice signals (using DSD demod plugin). The management of AMBE devices has been changed with a proper dialog to configure which devices are used for decoding. See AMBE devices control for details.

The switch to AMBE server support is triggered as soon as a colon (':') is present in the device address entered in the free-flow text box. You must then make sure it is in the form of <IPv4 address>:<port> The given address and port is probed for the presence of an AMBE server and the address will be effectively added only if the connection is successful.

The scan of available AMBE 3000 serial devices connected to the system is working only in Linux. In Windows you must use the free-flow text box on the top to enter the corresponding COM# port. However serial devices support on Windows is not great and you may be better using an AMBE server.

In the REST API the /sdrangel/dvserial endpoint has been removed in favor of /sdrangel/ambe/serial to list available serial devices directly conected (GET) and /sdrangel/ambe/devices to manage the devices used by the instance for AMBE decoding (GET, PUT, PATCH, DELETE)

Please note that SerialDV is now a required dependency when you compile the software and that you should use its version 1.1.0 or later.

This implements #266

  • Fixed closing main window with the window corner X. Fixes issue #379
  • SSB mod: base audio compressor sample rate on audio sample rate
  • Fixed some typos here and there (contribution)
sdrangel - DATV demod: experimental DVB-S2 support

Published by f4exb over 5 years ago

DVB-S2 standard support using the "work" branch of leansdr (https://github.com/pabr/leansdr/tree/work) supposedly still experimental. This works reasonably well though. You may need to move the controls a bit to get a lock. Since DVB-S2 conveys its constellation and code rate information in the data stream it is normally enough to select the DVB-S2 standard and the appropriate symbol rate. Details of the interface are in the plugin documentation

The AGC based audio compressor and its numerous controls have been removed and replaced by a single "CMP" button using a proper compressor based on the sndfilter library. Basically it is the encapsulation of the compressor C code into a C++ class. This proved to be much better even with a set of fixed parameters. See plugin documentation for more information.

sdrangel - File source channel plugin

Published by f4exb over 5 years ago

New plugin to get I/Q samples from a saved .sdriq file directly into the baseband of a transmitter chain. This effectively allows to replay a recorded portion of baseband through a transmitter. Check plugin documentation

The File source input device plugin has been renamed to "File input" (FileInput) for consistency and to avoid names collision. The FileSink output device plugin remains for now.

  • More work on the flatpak build
  • Fixed T display in input device tab for device sinks
sdrangel - Maintenance release v4.10.5

Published by f4exb over 5 years ago

  • Frequency tracker channel
  • Local source channel
  • KiwiSDR device
  • Removed console display
sdrangel - Maintenance release v4.10.4

Published by f4exb over 5 years ago

This release contains no functional changes.

It fixes the following issues:

  • Airspy sample rates auto detection broken
  • Double free or corruption in device arguments processing at startup. Issue #372
sdrangel - Maintenance release v4.10.3

Published by f4exb over 5 years ago

This release contains no functional changes.

Fixes in the package bundles and introduction of a new build system on Windows able to produce an installation executable more in line with the usual software installers.

These changes are the following:

  • Debian: added possibly missing dependencies
  • Fixed missing return value in deviceuserargs data stream functions
  • Fixed BladeRF support with libbladeRF v2018.10-rc1
  • Introduction of the new build system based on cmake for Windows (no more Qt creator...)
sdrangel - User specified device args

Published by f4exb over 5 years ago

Added possiblity for the user to specify an argument string related to a particular hardware. Details are here

For now this is actually applicable to the redpitaya driver of SoapySDR. You can use this to specify the address of your Red Pitaya with for example addr=192.168.1.40.

  • FreeDV demod: use mainstream library from codec2 instead of internal. The libfreedv internal library is removed.
  • Various code fixes based upon report of PVS Studio. Thanks to mamborambo for providing the report.
sdrangel - KiwiSDR support

Published by f4exb over 5 years ago

Many thanks to Vort for bringing us support for KiwiSDR! This plugin is designed to enable connection to publicly available KiwiSDR receivers.

I met KiwiSDR a few years ago on their stand in Friedrichshafen Hamradio. The hardware looked pretty good with a 14 bit ADC but I realized that the interface was only web based and then did not give it more attention. This is only when Vort opened a few issues to iron out parts of code that were not much exercised to support interpolation on some audio demodulators. It turned out that interpolation was needed to step up sample rate from 12 kS/s to the audio device at 48 kS/s and this was needed to support input from the 12 kS/s I/Q stream coming from the Kiwi. In one of the comments from Vort there was a pointer to the code so I decided to have a look.

I must say I had a lot of fun trying various receivers and frequencies to see how things were received here and there. I have never been in favor of TCP and even more websockets to carry I/Q streams or any kind of live stream and would favor UDP. However customer experience had the better of me and I became convinced that it had to be supported in SDRangel. In fact UDP makes sense in a private network but when you want to broadcast your stream over the wild internet websockets do have a decisive advantage: it makes it easier to pass the multiple routers along the way and ultimately firewalls. I have not tried it yet but reverse proxying should be possible also.

So do like I did: have fun! Please have a look at the readme of the plugin for more information: https://github.com/f4exb/sdrangel/tree/master/plugins/samplesource/kiwisdr

  • FreeDV demod: implemented interpolator/decimator (yes this is also because of KiwiSDR)
  • SSB demod: reworked AGC to handle the threshold gate properly
  • Enlarge text box of splash screen so that the tallest characters display correctly
sdrangel - Continuously adjustable RF bandwidth in WFM

Published by f4exb over 5 years ago

Implements issue #320. You can now adjust the RF bandwidth that is the bandwidth of the filter before the discriminator continuously between 10 and 300 kHz using thumbwheels. Note that the expected excursion is adjusted accordingly (this is just the gain of the discriminator).

  • Fixed AVX code in the Debian packages causing SIGILL on older systems. Fixes #360
  • Fixed buddies list handling at buddy termination time. Fixes #359
sdrangel - New build system introduction

Published by f4exb over 5 years ago

This version brings in some important changes in the repository:

  • change in the overall build system
  • removal of all .pro files. The Windows build is presently handled out of tree using a qmake/.pro files structure in a private repository.
  • removal of udev rules related files. You may now find them in the sdrangel-docker repository
  • single plugins source repository
  • NFM demod: fixed audio low-pass filter (when turning off high-pass)