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 hidden (Show)

sdrangel - Updates to Star Tracker

Published by f4exb over 3 years ago

Jon srcejon has enriched the functionality of the Star Tracker feature plugin along with other fixes. PR #761

  • Fixes to the Map feature plugin and some other fixes. PR #761
  • SigMF file sink: fixed spectrum GUI center frequency setting (baseband to GUI communication)
sdrangel - Maintenance release

Published by f4exb over 3 years ago

Many enhancements and fixes over the previous version:

  • StarTracker feature: many enhancements. PR #757
  • Packet demod: Fixed issue #750. PR #756
  • Map feature: many enhancements. PR #755
  • FileSink: fixes and enhancements. PR #751
  • PTT feature: fixed copy paste typos. PR #748
sdrangel - Many more plugins

Published by f4exb almost 4 years ago

Thanks Jon srcejon for contributing to 4 new plugins at once. 2021 starts strong! Here you go:

  • Packet demodulator Rx channel plugin. Completes the existing packet modulator with its demodulator counter part. See here for details
  • APRS feature plugin to display APRS data received by the PacketDemod above. Sends symbols to the new Map feature for display and plotting charts for weather / telemetry (see next). Details here
  • Map feature plugin for combing the display of items from other plugins, including APRS, ADS-B demod and Star Tracker. See here for details
  • Star Tracker plugin for radio astronomy and EME. Can track Sun, Moon or Stars and drive the Rotator Controller plugin, as well as interface with Stellarium. See here for details,
sdrangel - (De)modulator analyzer feature plugin

Published by f4exb almost 4 years ago

This (de)modulator analyzer feature plugin can be used to analyze the real demodulated signal from some channel plugins. It shows the demodulated signal for Rx channels and the modulating signal for Tx channels.

Rx channels are:

  • AM demodulator
  • DSD (FM digital voice) demodulator
  • NFM demodulator
  • SSB demodulator
  • WFM demodulator

Tx channels are:

  • AM modulator
  • NFM modulator
  • Packet modulator
  • SSB modulator
  • WFM modulator

Details of the interface are available in the readme file of the plugin. This implements issue #695.

  • GLShaderTVArray: fixed regression introduced by commit a08e18b
  • Appveyor MSVC build: follow upgrade to Qt 5.15.2
sdrangel - AFC feature: implement message pipes

Published by f4exb almost 4 years ago

Implemented the message pipes developed in previous versions to perform channel settings feedback. The corresponding plugins have been updated:

  • channelmimo/interferometer/interferometer.h
  • channelmimo/beamsteeringcwmod/beamsteeringcwmod.h
  • channelrx/demodam/amdemod.h
  • channelrx/freqtracker/freqtracker.h
  • channelrx/udpsink/udpsink.h
  • channelrx/demodnfm/nfmdemod.h
  • channelrx/filesink/filesink.h
  • channelrx/demodfreedv/freedvdemod.h
  • channelrx/demodchirpchat/chirpchatdemod.h
  • channelrx/remotesink/remotesink.h
  • channelrx/demodssb/ssbdemod.h
  • channelrx/sigmffilesink/sigmffilesink.h
  • channelrx/demodbfm/bfmdemod.h
  • channelrx/demodwfm/wfmdemod.h
  • channelrx/demodvor/vordemod.h
  • channelrx/localsink/localsink.h
  • channelrx/demoddsd/dsddemod.h
  • channelrx/demodvorsc/vordemodsc.h
  • channeltx/modnfm/nfmmod.h
  • channeltx/localsource/localsource.h
  • channeltx/modam/ammod.h
  • channeltx/modfreedv/freedvmod.h
  • channeltx/modpacket/packetmod.h
  • channeltx/modssb/ssbmod.h
  • channeltx/udpsource/udpsource.h
  • channeltx/modchirpchat/chirpchatmod.h
  • channeltx/modwfm/wfmmod.h
  • channeltx/modatv/atvmod.h
  • channeltx/mod802.15.4/ieee_802_15_4_mod.h
  • channeltx/remotesource/remotesource.h
  • channeltx/filesource/filesource.h
sdrangel - Maintenance release

Published by f4exb almost 4 years ago

  • Fixed MSVC compilation of message pipes.
  • TVScreen: removed cleanup() call in destructor. May fix #728.
sdrangel - Message pipes garbage collector

Published by f4exb almost 4 years ago

Implemented a garbage collector for the message pipes introduced in previous version. This should have no functional impact.

  • FreeDV: removed useless set callback functions. Use mutex appropriately. Issue #728
  • ATV demod: initialize m_tvScreenBuffer when setting m_registeredTVScreen. Issue #728
  • TVScreenAnalog: removed usage of std::shared_ptr. Issue #728
sdrangel - VOR localizer feature

Published by f4exb almost 4 years ago

The VOR demodulator released previously has been split in a new VOR demodulator that takes care of demodulating a single VOR and a VOR localizer feature to position the receiving station on a map using the decoded radial directions from several VOR demodulators. The positioning works like the original VOR demodulator positioning.

The VOR localizer can service more VORs than the individual VOR demodulators available by controlling these demodulators in a round robin fashion. It can also use several receivers to cover different frequency ranges in the 10 MHz wide band dedicated to VORs (108 - 118 MHz).

The original VOR demodulator is implemented with sub channels that carry out the demodulation of individual VORs but as they all run on the same thread the entanglement of their FIFOs can be an issue with packet drops depending on your system and its current load. This limitation is lifted with the single channel VOR and VOR localizer combination.

This implements issue #729

sdrangel - VOR demodulator plugin

Published by f4exb almost 4 years ago

Another fun plugin contributed by Jon srcejon. Demodulate VOR signals and localize your site on a map. Details here

  • Remote plugins build fix. Fixes #720
  • SSB modulator: fixed audio compressor. Fixes #719
  • Fixed narrowing error or warning when Rx sample size is 16 bits
sdrangel - Audio output plugin

Published by f4exb almost 4 years ago

This complements the Audio input plugin and thus implements #496 completely. Interface details can be found here

  • Fixes for clang-cl build and LTO optimization. PR #717
  • Cmake arch detection and compilation options rework. PR #714 and #715
  • Fixed Rest API UDPSinkSettings key mismapping. Issue #713
  • Compile SigMF plugins only with GCC. Issue #712
  • Modulators audio input rework. Issue #495 and more
sdrangel - Source code warnings fixes

Published by f4exb almost 4 years ago

Fixed CMakeLists.txt so that warning flags are taken into account and fixed warnings in the source code accordingly. Implements #663

  • GLSpectrum: fixed settings and waterfall share serialization. Reinstated #609
sdrangel - Audio Input updates

Published by f4exb almost 4 years ago

Implements #706

  • Updated threading model avoiding thread run() tight loop and CPU excessive load.
  • Changed he way mono audio is processed so that it is transformed to a complex signal at half the sample rate centered in the pass band
sdrangel - SDRangel version 6 (master/v5 merge)

Published by f4exb almost 4 years ago

There has been evolution in the master branch recently that make the desire to keep an ultra stable master branch and fast evolving tip branch (v5) in fact obsolete and not desirable anymore. Moreover quite a few of these changes come from contributors who legitimately work from the master branch. So this is creating confusion and just extra work.

The recent addition of feature plugins would have deserved a new major release but was made a new minor release in each branch because of the split in master and v5. There are also new major features coming to master from v5:

  • Upgrade to c++14 standard
  • MIMO support including support for Metis devices (Red Pitaya)
  • Websocket spectrum server
  • Additional plugins:
    • ChirpChat (LoRa extension) modulator/demodulator
    • SigMF file support when compiled from source

The v5 branch is kept for reference

Another nice contribution from Jon srcejon to take the I/Q input from an audio device. This makes it possible to work with first generation audio "card" based SDR devices such as the SoftRock or more sophisticated ones. Details here

More enhancements and fixes to the ADS-B demodulator by Jon srcejon:

  • Add decode of Mode-A transponder (Squawk) code
  • Add decoding of surface position messages (so you can see aircraft position at airports)
  • Add Az/El and distance to airport information box
  • Require double click to set ATC frequency.
  • Allow airport to be set as target, by double clicking Az/El in airport info box.
  • Confirm redownload of files if less than 100 days old.
  • Add option to automatically resize columns after an aircraft is added to the table.
  • Check latitude and local CPR decode is in valid range (to prevent aircraft from jumping around the map).
  • Reduce interpolator taps to enable it to run in real-time. Should significantly improve packet error rate for RTLSDR at 2.4MSa/s.
  • NFM demod: more updates. Issue #703
sdrangel - ADS-B and NFM updates

Published by f4exb almost 4 years ago

The list is long and was provided by Jon srcejon in PR #688 as en improvement of his initial work. Here it is:

  • Add OpenSky Network aircraft database support, for information about aircraft model, owner, registration.
  • Add airline logos and country & military flags for display in the table.
  • Add OurAirports airport database support, to allow airports and ATC frequencies to be displayed on the map.
  • Allow ATC frequency to be tuned by clicking on the map.
  • Add support for displaying flight paths on the map.
  • Allow columns in table to be rearranged and hidden.
  • Allow rows in table to be sorted by clicking on header.
  • Allow switching units from ft, kn, ft/min to m, kph, m/s
  • Allow aircraft timeout to be set by the user.
  • Allow font used for the table to be set by the user.
  • Add optional display of demodulator statistics.
  • Support multithreading in demodulator to reduce FIFO overflows.
  • Add support for demodulating all Mode-S frames and feeding them.
  • Add support for feeding in Beast hex format.
  • Allow option of correlating against full preamble or partial preamble.
  • Supporting highlighting of an aircraft in the table by selecting it on the map.
  • Use difference of zeros and ones sums, rather than absolute threshold, to better account for varying conditions and make the threshold easier to set.
  • Enable anti-aliasing for text on the map.
  • Improve CRC performance by 5x-10x.
  • Move map resources to plugin from sdrgui.

In addition the correlation validation threshold mechanism has been reviewed to use the ratio of "ones" power over "zero" power rather than the difference. This makes it analogous to a SNR and is probably easier to deal with. The power of "ones" has been added as a signal strength indication (RSSI). This implements issue #696

Thanks to Kasper kasper93 the filters used in NFM were refined in PR #690 . In addition full control is given to the user on the RF bandwidth, AF bandwidth and FM deviation independently. In order not to get lost with inappropriate settings some reasonable combinations based on Carson's rule can be selected. These combinations fit a particular channel spacing scheme. The 12.5 and 25 kHz channel spacings apply the 11F3 and 16F3 standards respectively that are commonly used. This applies to both modulator and demodulator.

  • Package SoapySDR modules for Windows. PR #687
  • CI: Add docker build. PR #673
  • Add an option to hide console on Windows. PR #694

For more details on artifacts and their contents please read the quick start in the Wiki.
Note that Ubuntu .deb package is for 20.04

sdrangel - VS2019 and NFM changes

Published by f4exb almost 4 years ago

Thanks to a contribution of Kasper kasper93 the Windows build in Appveyor has been upgraded to VS2019 and therefore Qt 5.15.1. Builds are now using Ninja

Also thanks to Kasper kasper93 the audio scaling in NFM has been cleaned up so that now 100% volume should be nominal for the given frequency deviation. Consequently bandwidths and nominal deviations have been reviewed with 10, 12.5 and 15 kHz removed and replaced by 11 kHz (11F3 for 12.5 kHz channel spacing) and 16 kHz (16F3 for 25 kHz channel spacing). The deviation of the modulator has been reworked to actually match nominal deviation at 2.5 kHz.

This may result in a louder audio volume than before so you may want to readjust the volume from the previous settings. The volume control has been changed to be expressed in percentage of nominal volume (at nominal deviation) ranging from 0 to 200%.

  • Development based on Ubuntu 20.10. This will be reflected in the compilation instructions in the Wiki. Ubuntu 20.04 has two annoying bugs reported in #615 and #600 resolved by Qt 5.14.2 and kernel 5.8 respectively
  • KiwiSDR: fixed issue in local network. Fixes #435
sdrangel - Maintenance release

Published by f4exb almost 4 years ago

  • ADS-B demod: optimization of sync word correlation. Implements #675
  • ADS-B: added 2MS/s sample rate
  • Fix and refactor FIR filter (from kasper93)
  • NFMDemodSink: Fixes and minor refactoring (from kasper93). Issue #674
  • NFM: augmented CTCSS tones. Implements #664
  • CTCSS detector: fixed crash on destructor. Fixes #680
  • TestSource: fixed timer start/stop. Fixes issue #661
  • Main Window: fixed sampling device changed. Fixes #668
  • Scope MagSq trigger fix. Fixes #669
sdrangel - New plugins

Published by f4exb almost 4 years ago

This is quite a rich release so let's detail these new plugins:

Again a very nice contribution from Jon srcejon. This plugins demodulates and decodes ADS-B frames and shows the data in a table and also shows the aircrafts positions on a map. It can report the selected plane azimuth and elevation from the given user location via the report endpoint of the REST API thus combined with the GS-232 feature plugin (See next) it can steer an antenna pointing at the plane. More information and interface description can be found here. PR #671

Also a nice contribution from Jon srcejon. This feature plugin can be used to control a GS-232 steering device via serial interface. The position can be set manually or polled from another plugin like the ADS-B demodulator above. More information and interface description can be found here. PR #671

This feature can be used to close the loop between a Frequency Tracker plugin and the channels that we want to control thus effectively making an AFC system, It would be particularly useful to compensate for LNB slow drift in QO-100 typical installations. More information and interface description can be found here. The functionality is very similar to what we already had here but integrated as a feature plugin. Implements #634

  • USRP support improvements provided by Jon srcejon. PR #670
  • Spectrum display for the Frequency Tracker helping to see tracker behavior and if we actually have a lock. Implements #665
sdrangel - IEEE 802.15.4 modulator

Published by f4exb about 4 years ago

Another nice contribution from Jon ( srcejon) (PR #654). This plugin adds support for an IEEE 802.15.4 modulator. 802.15.4 is a low-rate, wireless personal area networking standard, used by ZigBee, 6LoWPAN and various Smart Energy networks.

Supported PHYs include: 20kbps BPSK, 40kbps BPSK, 100kpbs <1GHZ O-QPSK, 250kpbs <1GHz O-QPSK and 250kbps 2.4GHz O-QPSK. More details in the readme.md.

Reception tested using a commercial 802.15.4 packet sniffer, transmitting with Lime SDR and USRP.

  • Fixes to Packet modulator. This is PR #655
  • Internals: implementation of the MainCore singleton in MainWindow and MainServer
  • Internals: unique Web API adapter in sdrbase section. Supersedes WebAPIAdapterGUI and WebAPIAdapterServer
sdrangel - USRP Radios suport

Published by f4exb about 4 years ago

This nice plugin contribution brings support for USRP radios. This was tested with a B210 type but may work with other radios as well. Details of the GUI interface can be found here:

The Wiki will be updated with compilation instructions for UHD library. For now you can rely on instructions found here #617

This version also brings major changes to internals regarding plugins further separating GUI and core functions and structures. This is a first step to be able to access the core structure from anywhere in the code with a singleton class. Ultimately this makes possible to facilitate the dialog between feature, channel and devices plugins to implement more elaborate feature plugins.

sdrangel - Feature plugins

Published by f4exb about 4 years ago

This is a new range of plugins that come with a new docking window in the main UI. You may find details about it in the section 8 of the main UI documentation.

Feature plugins implement pieces of functionality not directly related to the I/Q stream(s) DSP processing (handled by devices and channel plugins in the device sets) and not part of the core functionality. They can control and interact with devices and channels to achieve a specialized piece of functionality.

Some first plugins on this kind have been released:

  • Simple PTT (Push To Talk) to switchover Rx/Tx device sets as you would do with a transceiver. This is meant to stay very simple and also serve as a basic example of a feature plugin.
  • RigCtl Server to control a Rx device set via rigctl protocol. This was migrated from the RigCtrl plugin in the former "misc" section of the plugins.

This is the initial release of this new plugin framework and for now handles autonomous types of plugins. Next more global pieces of functionality will be added to handle more complex tasks:

  • Inter feature communication: implement some privileged channel so features of a same feature set or different feature sets (TBD) can interact. Example: one PTT command also triggers specialized feature plugins handling PA switchover.
  • Back communication from devices and channels. This is the internal equivalent of "reverse API" with features as targets. Example: the "AFC & Beacon locking" in issue #634 needs it
  • Privileged anonymous (byte type) data channels to exchange information to post-process decoded data or PSD (Power Spectrum Density) data in real time. Example: implementing the "v5" branch "SuperScanner" feature as a feature plugin needs this to be able to receive PSD data in real time.
  • Multiple feature sets: feature sets are meant to organize features in logical groups. As feature plugins develop we may need to have several of these.