Blog

 

 

 


 

Author's Website

Visit the author's own website at www.dit-dit-dit.com.

 

 

 



 

SDR-Radio.com

rss

Assorted ramblings from the developer


Es'Hail 2 Beacon
Es'Hail 2 Beacon

There's a big problem with consumer LNBs - they drift, and drift badly! One way of correcting this drift is to monitor the telemetry beacon, determine the actual received frequecy of the beacon and hey presto - we have the offset!

Quite a bit of coding involved, but when you decode BPSK you actually have the offset if you pay attention to the code. Add a nice waterfall so the user can select the beacon, add a bit of funk and we're more than half-way there. Here I'm plotting drift versus time. 

Also it's nice to see Es'Hail 2 being used more as people get their systems together.

Code will be in 3.0.7 - within a week I hope.

 


Release: 3.0.6

Download here [Link].

Note: 3.0.6 fixes / enhances the support for Lime and PlutoSDR.

What's new / changed in 3.0.6:

Data Recording

The WAV file format upgraded to WAV RF64 which supports an unlimited filesize, previously the maximum filesize was 2GB.

  • No more XML files being created.
  • Analyser updated and tested, seems to be OK with these big single-file recordings.
  • Tested with 3rd-party recordings: Perseus, ELAD S2.
  • Redesigned the Playback Select window (below). If you have a lot of recordings this is should be better to use.

When you make a new recording the individual filesize is now optional, if not enabled then a single file is created.

General

  • Fixed a bug which had been in the code since day 1 (about 4 years ago). As this was thread-related the crash happened rarely, depended on CPU speed and other factors. Restarting a radio/recording could cause a crash due to bad thread synchronisation:
    • Changing radio bandwidth,
    • Starting recording after the radio was running,
    • Starting radio after playing the radio.
  • Default stack size now 2MB (was 1MB)
  • Added a Mute option – when enabled mutes RX audio during TX (see below).

Lime

  • Sample rates have changed, lowest is now 750kHz (TX), designed for the ‘less powerful’ computer.
  • The settings shown in the radio panel now saved on a per-radio (serial #) basis.
  • Antennas now set correctly for the Lime USB (very stupid error).
  • Simplex / Duplex works for Mini and USB in all combinations below.
  • Power out now better *and* mirror image rejection better after TX Calib. pressed.
  • If TX Calibration fails (which it can) then a popup is shown
  • Now using offset tuning in TX, offset is 250kHz so the signal is sent 250kHz below the center and the TX LO is shifted up 250kHz.
  • GPIO band detection implemented

Pluto

  • Improved the Pluto support, options are now in the radio pane of the Receive DSP.
  • Timeouts have been disabled in the Pluto USB I/O library, as a result I’m getting much better throughput at 5MHz and can use short 50ms buffers, something I couldn’t do before. It seems that the timeout values in the Pluto support library were causing problems on receive at least.
  • On transmit the buffers used are now a power of 2 * 1k, for example 1 x 1024, 2 x 1024, 4 x 1024 etc. Some PC USB hardware drivers prefer buffers set like this. With any luck this buffer size logic and disabling timeouts will help with the transmit problems. I can send a steady transmission with the smallest buffer size.
  • New: RIT / XIT.
  • New: Half-/Full-duplex option.
  • Added oscillator calibration (correction):

USB Relay support

  • The relays are initialised when the program starts, updated as you switched between RX and TX.
  • If you have a unit not supported here let me know.

Using Es’Hail 2

  1. Define a Down converter, select it when starting the radio.
  2. Select radio, Definitions, [X] Converter selection. Add a Down-converter definition for your LNB, for example 9750 MHz.
  3. Define a TX offset, enable it.
  4. Transmit options, Frequency Offset, enter 8089.5 MHz (converts display of 2400.050 to 10489.550MHz). So with the TX tuned to 2410 MHz the display is shown as 2410 + 8089.5 = 10499.5 MHz
  5. Enable Sync RX for Frequency, as you tune either RX or TX both stay in sync.
  6. Use RIT / XIT (Lime) as needed, either to compensate for LNB drift or the other station drifting.
  • If working correctly RX & TX will stay in sync.
  • Known bug: With Sync RX enabled, if you scroll the RX frequency the TX frequency change is not applied until you next start TX, so scrolling RX while transmitting does not change the TX frequency. I can’t remember whether this is by design or a bug.

Look at the screenshot:

Here you see the down converter setting for a LNB:

Here you see the TX offset:

Here you see Sync RX:


Lime's Digital Filter

So, revisiting the Lime support and have implemented the digital low-pass filter (LPF) built into the chip. In the screenshot below the sample rate is 40 MS/s (40 MHz bandwidth) with the digital filter set to 55% (22MHz). You now see this filter in action.


Release: 3.0.5

Download here [Link].

Note: 3.0.5 fixes / enhances the support for PlutoSDR.

What's new / changed in 3.0.5:

General

  • Transmit support enabled for frequencies above 4GHz.
  • Receive support error fixed, now works above 4.2GHz.
  • Transmit NFM now has configurable deviation and maximum frequency:
  • Added Synchronous AM demodulation DC correction.
  • If a radio was Stopped / Started with Tone enabled then subsequent transmission was unreliable – either no output or very low output. This problem resolved by resetting the Tone and Tune options in the transmit window when stopping a radio.
  • Cosmetic: program size now optionally shown in status bar (bottom right), this option is enabled in Program Options (bottom right):
  • Cosmetic: receive DSP Mode selection window […] improved:
  • Cosmetic: Select Identity window optionally shown when program starts now has the title correctly updated:

Pluto

  • More sanity checks when connecting to a device.
  • Pluto can now be accessed using the IP address, the default is ip:192.168.2.1 URI (format), the Pluto IP address can be changed as required.
  • Recoded the Pluto transmit thread – now more reliable.
  • Transmit data is correctly buffered so there are fewer glitches when sending data.
  • Added bandwidths which use the AD9363's decimation/interpolation. These bandwidths are 500 kHz ... 1.5 MHz.
  • Added extra pane to Receive DSP (below), temperature is recorded for RX and TX:

    You can export the data to CSV file, in Excel you can then create a chart like this:

Frequency Database

  • Fixed frequency database Language field, an incorrect 0 was shown at the start of the language name.
  • Added support for new AOKI frequency database layout.

Satellites

  • Current satellite name is shown in main window title.
  • Tracks are now optionally displayed for entries in the Satellites List (top of ribbon bar).

Satellite Footprints

As part of the fixes / enhancements for 3.0.5 I've added the optional display of footprint for additional satellites, lots of display options now available.

Coming soon!


Pluto Two-Tone @ 145MHz

145.8 MHz

Here's a screenshot of a 'hacked' Pluto transmitting a two-tone signal as received by an Airspy HF+ (probably the best SDR you can buy for reception at 145MHz). As you see, the transmission is nice and clean.

Due to the design of the AD9364/AD9363, if both, the TX and RX Local Oscillators (LO) are set to the same frequency or very close to each other  the TX LO may leak into the RX path. Monitoring your own signal with Pluto in full duplex mode is not recommended; use a second receiver instead.

If you do monitor with Pluto in full duplex then turn the RX Gain to 0dB to avoid overloading the receiver stages.

 

Here's the two-tone setting.


Release: 3.0.4

Download here [Link].

What's new / changed in 3.0.4:

SDRs

  • ADALM-PLUTO transmit and receive support added.

  • Airspy HF+ support library upgraded to latest release, CPU usage now much lower.

  • Airspy HF+ supports pre-production units properly, also units with old / original firmware.

  • ANAN code given a lot of attention, working much better.

  • bladeRF2 now checks that the frequency is within the supported range.

  • Lime transmit support added.

General

New

  • Added Pseudo Stereo (ribbon bar, Receive, Mode..., Pseudo Stereo).

  • Downconverter supports frequencies up to 999.9 GHz.

  • Frequency database supports a Custom CSV layout.

  • Frequency display supports frequencies up to 999.9 GHz.

  • If there are no receivers a warning is displayed.

  • Signal History - added Slower and Very slow.

Fixes

  • Audio buffering logic updated (the way I maintain the buffer between demodulation and the playback / VAC device). This is simpler, cleaner and gives me a good base for the future. See the Playback Buffering page for options.

  • Audio recording – a check is made that the folder exists before the recording is started.

  • Fixed spectrum display in Auto mode when input signal is very low / zero.

  • Fixed crash adjusting the Span (bottom of display).

  • Fixed crash caused by a change in output device options such as enabling spatial sound.

  • Fixed obscure bug in the Select Radio user interface.

  • Fixed SAM demodulation, PLL was not working fast enough.

  • More visibility/sanity checks when restoring a window position (example: Select Radio).

  • Obscure fatal bug saving/recalling complex Favourite definitions fixed.

  • Product name and date now always shown at the top of the main display with all display styles (long-standing MFC bug fixed).

  • More logic in coding where the program priority is raised when the system starts.

  • If the signal is muted due to input overload a warning icon is now shown in the status bar, previously just the Auto Mute text was shown. (This caught me out a couple of times).

Recording Scheduler

  • Interface redesigned, simplified with no loss of functionality.

Satellite

Display

  • Now displays correct TX mode in the main window's ribbon bar tooltips.

  • Now uses fixed point fonts for name and times.

  • Fixed fatal error selecting a world map which cannot be opened.

  • External Radio now supports both Rig 1 and Rig 2.

  • TLE data now has better sanity checking.

Server

  • Reduced dangling connections on the server.


ALADM-PLUTO Support is Ready
ALADM-PLUTO Support is Ready

After 10 days of very interesting programming the pluto project is ready to be released into the wild now that basic transmit support is ready.

Vist the Pluto page on this site [link].

Here's three FM Stereo signals being demodulated along with their RDS.


ADALM-PLUTO (3)

Here's a screenshot of Pluto receiving FM Stereo.

More information available on the Pluto page [link].


ADALM-PLUTO (2)

The PlutoSDR is running smoothly with a 6 MHz bandwidth. Plenty more coding needed, but at least it works.

For testing I'm using my 2.4 GHz Wi-Fi signal. Click on the image below for a high resolution image.

Current PlutoSDR status is here [link].


Recent Posts

  • Es'Hail 2 Beacon Posted 2 days ago
    There's a big problem with consumer LNBs - they drift, and drift badly! One way of correcting this drift is to monitor the telemetry beacon, determine the actual received frequecy of the beacon and hey presto - we have the offset! Quite a bit of coding involved, but when you decode BPSK you actually have the offset if you pay attention to the code. Add a nice waterfall so the user can select the beacon, add a bit of funk and we're more than half-way there. Here I'm plotting drift versus time.  Also it's nice to see Es'Hail 2 being used more as people get their systems together. Code will be in 3.0.7 - within a week I hope.  
  • Release: 3.0.6 Posted 2 weeks ago
    Download here [Link]. Note: 3.0.6 fixes / enhances the support for Lime and PlutoSDR. What's new / changed in 3.0.6: Data Recording The WAV file format upgraded to WAV RF64 which supports an unlimited filesize, previously the maximum filesize was 2GB. No more XML files being created. Analyser updated and tested, seems to be OK with these big single-file recordings. Tested with 3rd-party recordings: Perseus, ELAD S2. Redesigned the Playback Select window (below). If you have a lot of recordings this is should be better to use. When you make a new recording the individual filesize is now optional, if not enabled then a single file is created. General Fixed a bug which had been in the code since day 1 (about 4 years ago). As this was thread-related the crash happened rarely, depended on CPU speed and other factors. Restarting a radio/recording could cause a crash due to bad thread synchronisation: Changing radio bandwidth, Starting recording after the radio was running, Starting radio after playing the radio. Default stack size now 2MB (was 1MB) Added a Mute option ...
  • Lime's Digital Filter Posted last month
    So, revisiting the Lime support and have implemented the digital low-pass filter (LPF) built into the chip. In the screenshot below the sample rate is 40 MS/s (40 MHz bandwidth) with the digital filter set to 55% (22MHz). You now see this filter in action.
  • Release: 3.0.5 Posted last month
    Download here [Link]. Note: 3.0.5 fixes / enhances the support for PlutoSDR. What's new / changed in 3.0.5: General Transmit support enabled for frequencies above 4GHz. Receive support error fixed, now works above 4.2GHz. Transmit NFM now has configurable deviation and maximum frequency: Added Synchronous AM demodulation DC correction. If a radio was Stopped / Started with Tone enabled then subsequent transmission was unreliable – either no output or very low output. This problem resolved by resetting the Tone and Tune options in the transmit window when stopping a radio. Cosmetic: program size now optionally shown in status bar (bottom right), this option is enabled in Program Options (bottom right): Cosmetic: receive DSP Mode selection window […] improved: Cosmetic: Select Identity window optionally shown when program starts now has the title correctly updated: Pluto More sanity checks when connecting to a device. Pluto can now be accessed using the IP address, the default is ip:192.168.2.1 URI (format), the Pluto IP address can be changed as required. Recoded the Pluto transmit thread – now more reliable. Transmit data is correctly buffered ...
  • Satellite Footprints Posted last month
    As part of the fixes / enhancements for 3.0.5 I've added the optional display of footprint for additional satellites, lots of display options now available. Coming soon!
Read More »