Skip to content

Releases: f4exb/sdrangel

DSD demodulator upgrade

06 May 20:32
Compare
Choose a tag to compare

DSD (digital voice) demodulator upgrade

Upgraded to version 1.7.0 of dsdcc This version contains a major improvement by inserting a PLL to drive symbol synchronization. This provides a significant enhancement in the decoding process for all supported digital voice standards.

Some code cleanup was also carried out which could improve stability.

Other changes in DSD demodulator

Upgraded to version 1.0.3 of SerialDV which intends to fix the low latency bug itnroduced in kernel 4.4.52. Unfortunately it does not seem to work when running as a normal user therefore you should use the workaround specified in the documentation as the root user:

sudo setserial /dev/ttyUSB0 low_latency

Interpolator half band FIR filter optimization

26 Apr 19:28
Compare
Choose a tag to compare

Interpolator half band FIR filter optimization

The process has been optimized by using only the non null samples for calculation. This closes ticket #24

This is explained here: https://dspguru.com/dsp/faqs/multirate/interpolation/
And graphically here: http://home.etf.rs/~milic/Solution_Manual/Chapter_7_exercises/fig_07_06.gif

This results in a significant improvement for all sink plugins when the software interpolator is engaged. This concerns BladeRF, HackRF and LimeSDR output plugins. In addition all output channel plugins also benefit from it for their half-band interpolation chain (excludes the rational interpolator).

HackRF plugins start/stop fix

Rationalize the start/stop sequences of the HackRF input and output plugins. This also uses the latest version of libhackrf (commit 9bbbbbf) that fixes the start and stop rx/tx streams bug. You will need to upgrade your HackRF to the 17.02.1 firmware.

WFM demodulator improvements

  • added a signal gauge
  • added an audio mute button with green lighting when squelch is open
  • fixed excursion handling and use the atan2 approximation for the discriminator

Other changes

  • CW Keyer: specifiy char signedness to fix error with some compilers
  • LimeSDR input and output plugins are available in the .deb package for ARM

LimeSDR support

24 Apr 19:46
Compare
Choose a tag to compare

LimeSDR support

This works in Linux only. It implements issue #20

Input (Rx) support: see here and output (Tx) support: see here

LimeSDR is a 2x2 MIMO device with its LMS7002M chip. It means it has 2 Rx and 2 Tx sharing the same clock. Actual MIMO support was not tested but two instances of the Rx and two instances of the Tx plugins can work simultaneously with the same LimeSDR device.

As all Rx and Tx are not independent the plugins are also dependent on each other depending on what is changed:

  • sample rate: affects all Tx and all Rx
  • hardware decimation: affects all Rx
  • hardware interpolation: affects all Tx
  • center LO frequency: affects all Rx or all Tx (Rx and Tx sides are independent)
  • filters: affect only own Rx or Tx
  • NCO: affect only own Rx or Tx

Plugin management

The lifecycle of plugin instances has changed slightly. Now validating a source or sink in the "Sampling devices control" section of the main window closes the previous instance and opens the new one. The start and stop toggle in the plugin effectively just starts and stops the receive or transmit thread. The opening and closing opens and closes the corresponding device or takes appropriate actions when the device has multiple channels like BladeRF, HackRF and LimeSDR.

Other changes

  • Value dial: do not print leading decimal point
  • Make sure the device is not open when trying to close it: BladeRF, FunCube, LimeSDR
  • ATV Demodulator: fixed complaint of some gcc versions that this is not a const reference
  • Refactoring: removed device parameter from all start() methods in sample source/sink plugins
  • Sample source/sink plugins: removed useless init() pure virtual method
  • SDRDaemonFEC input: call input object destructor in GUI destructor (was missing)

Builds

No builds here. See later versions for Windows builds and from 3.3.4 for Linux builds.

ATV Demodulator bugfix

10 Apr 20:36
Compare
Choose a tag to compare

Fixes issue #22. For latest functional changes see release v3.3.3

ATV narrow band modes

09 Apr 19:44
Compare
Choose a tag to compare

ATV Narrowband modes

ATV modulator and demodulator plugins now support lower FPS and less number of lines. We now have:

  • 640, 625, 525, 480, 405, 360, 343, 240, 180, 120, 90, 60 and 32 lines
  • 30, 25, 20, 16, 12, 10, 8, 5, 2 and 1 FPS

This will allow transmission of animated images in narrow bandwidths. This is known as NBTV.

There are new vertical synchronization schemes that consume less number of lines: One long sync pulse followed by a high level line in interleaved and not interleaved half image modes (ShI and ShNI) and horizontal sync pulse skip (HSkip).

This implements ticket #13

See the plugins folders for details:

In addition the horizontal sync has been redesigned so that resynchronization is done for a complete image and not line by line. This removes tearing effect but the image may flicker a bit. You will also need to set a sample rate that yields an integer number of samples (points) per line.

Note on the ATV demodulator

There is a bug that causes a segfault if the sample source is running while the ATV Demodulator is added. A workaround is to stop the sample source, add the demod and start the sample source.

Continuous sample rate setting

To better support any sample rate from the source or sink plugins for all devices that support arbitrary sample rate the samle rate can be set continuously within the ADC/DAC range using a value dial similar to the frequency dial. This applies to the following plugins:

This implements ticket #19

Builds

This version had a nasty bug (issue #22) see v3.3.4 for the builds.

ATV plugins update (2)

01 Apr 03:40
Compare
Choose a tag to compare

There are tons of new features and fixes that should improve experience with analog ATV.

ATV Modulator

  • Added possibility to set camera FPS manually. This fixes issue #12
  • Tries to fit the maximum number of points per line in the available sample rate and not a fixed value around 100. Show this number of points in the GUI
  • Added option to force rational decimator even with a ratio of 1.0 this is to be able to use its FIR filter anyway
  • FM excursion adjustment
  • Option to adjust baseband modulated signal amplitude to prevent filter saturation
  • Set RF filters sliders range divisors depending on current channel sample rate
  • Express rf filters cutoff in kHz
  • Rescale number of RF filters sliders steps if there are not enough
  • Set RF filters bandwidth according to channel sample rate and not source sample rate.
  • Make channel marker display consistent with diltered RF bandwidth
  • Independent number of lines and FPS settings
  • Added .mkv extension to video files list
  • 405 lines standard
  • 20 and 16 FPS modes
  • Added display of channel sample rate
  • Use a fixed pattern for sync and use sample time for top time adjust granularity

ATV Demodulator

  • Fixed interpolator rf bandwidth whe in SSB modes
  • Set interpolator taps per phase to 24
  • GUI refactoring with addition of scope in screen and scope combo inside a tabbed panel
  • Specify nominal number of lines and fps in the GUI to calculate line length
  • 20 and 16 FPS modes
  • Express rf filters cutoff in kHz
  • Set RF filters sliders range divisors depending on current channel sample rate
  • FM mode using phaseDiscriminatorDelta with deviation scaling (FM3)
  • FM deviation scaling adjust for FM1 and FM2 modes
  • Use sample period for line duration adjustment step
  • Show number of points per line in the GUI
  • Feed the video signal scope only if the scope tab is selected
  • Use a fixed pattern for sync and use sample time for top time adjust granularity
  • Resize screen appropriately according to TV standard
  • Show slider steps in line length and sync pulse length tooltips
  • Horizontal sync averaging for better image stability
  • Refactoring of the sync process both horizontal and vertical that should improve image stability
  • Set number of lines from standard and not from line length

Other changes

  • NG scope: Added possibility to drive the GUI settings from a parent class. Used in the ATV demod plugin to set appropriate values for the video signal

ATV plugins update

19 Mar 18:35
Compare
Choose a tag to compare

ATV Modulator

ATV Demodulator

  • NCO to adjust channel center frequency in the source passband like the other plugins
  • Optional rational downsampler to work with an integer number of MS/s. When ratio is 1.0 the downsampler can be used as a filter
  • Optional FFT filter with asymmetrical upper and lower sidebands for SSB and vestigial sidebands modes
  • Invert video signal option
  • New USB and LSB modes with BFO locked to carrier. This is experimental and does not work with the sample rates involved presently.
  • See details here: https://github.com/f4exb/sdrangel/tree/master/plugins/channelrx/demodatv

Other changes

  • WFM plugins fix: the channel marker is now movable from the spectrum display like with other plugins

ATV Modulator

15 Mar 02:19
Compare
Choose a tag to compare

ATV Modulator plugin

It is now possible to produce analog TV signals that are mostly used by amateur radio nowadays. This modulator plugin matches the ATV demodulator plugin on the receiving side. It is possible also to receive the signal on a hardware analog TV set provided the generated signal has enough bandwidth.

More information here: https://github.com/f4exb/sdrangel/tree/master/plugins/channeltx/modatv

Note that you will need to install OpenCV development files to be able to compile this plugin. On Debian/Ubuntu the package is libopencv-dev

Other changes

NFM demod plugin

New discriminator for NFM demod based on new atan2 approximation. Added a squelch mode based on FM excursion.

Amateur Analog TV and new Channel Analyzer plugins

03 Mar 18:56
Compare
Choose a tag to compare

It has been a fairly long time since the last release but this one comes with two plugins that I am very excited to release.

Amateur Analog Television (ATV) demodulator plugin

My neighbor and fellow amateur radio Laurent, F4HKW contributed to this nice plugin that brings SDRangel in the field of television. Many thanks Laurent for this major contribution!

Moreover it revives the look and feel of good old analog TV with the typical "snow" in the absence of transmission and increasing glitches on the image when the antenna is beaming out of direction And also it is only black and white!.

Both AM and FM are supported. Practically a sample rate of 6 MS/s or above is required to display acceptable images.

More details here: https://github.com/f4exb/sdrangel/tree/master/plugins/channelrx/demodatv

Channel Analyzer "New Generation"

This is a major enhancement extending the previous Channel Analyzer plugin. It essentially features a new signal scope with much improved capabilities.

More details here: https://github.com/f4exb/sdrangel/tree/master/plugins/channelrx/chanalyzerng

DSD demod: compatible with DSDcc v 1.6.0

15 Jan 17:00
Compare
Choose a tag to compare

DSD demod: compatible with DSDcc v 1.6.0

Adapted code to new interface. DSDcc 1.6 contains also bug fixes that could help stabilize the DSD demod plugin.

Other changes

- Moving average fixes - NFM demod and DSD demod plugins: use double for base type of moving average. There was an overflow with float on high power signals (over ~5 dBm) preventing the squelch to close back. Now the squelch should work in all cases.