1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-22 08:04:49 -05:00
sdrangel/plugins/samplesource/sdrplay
Mykola Dvornik 15337cac66 Fix bug that prevents settings changes updates via reverse API
Most plugins that use reverse API to PATCH settings updates to remote
server only do so when `useReverseAPI` is toggled, but not when the
relevant settings are being updated. So lets fix the precondition to
use the `m_useReverseAPI` flag instead.
2024-04-14 18:58:12 +02:00
..
CMakeLists.txt Update CMakeLists.txt to support both Qt5 and Qt6. Add option ENABLE_QT6 2022-11-17 14:34:54 +00:00
readme.md Fix repeated words 2023-05-04 21:42:49 +02:00
sdrplaygui.cpp Remove unused includes and use more direct includes 2024-04-11 23:31:34 +02:00
sdrplaygui.h Rewriting of copyright notices for plugins/samplesource. Part of #1893 2023-11-18 10:07:41 +01:00
sdrplaygui.ui SDRPlay: increase LO ppm range. Fixes #1576 2023-01-30 23:57:27 +01:00
sdrplayinput.cpp Fix bug that prevents settings changes updates via reverse API 2024-04-14 18:58:12 +02:00
sdrplayinput.h Rewriting of copyright notices for plugins/samplesource. Part of #1893 2023-11-18 10:07:41 +01:00
sdrplayplugin.cpp Updated versions and changelogs 2024-04-14 11:41:00 +02:00
sdrplayplugin.h Rewriting of copyright notices for plugins/samplesource. Part of #1893 2023-11-18 10:07:41 +01:00
sdrplaysettings.cpp Rewriting of copyright notices for plugins/samplesource. Part of #1893 2023-11-18 10:07:41 +01:00
sdrplaysettings.h Rewriting of copyright notices for plugins/samplesource. Part of #1893 2023-11-18 10:07:41 +01:00
sdrplaythread.cpp Rewriting of copyright notices for plugins/samplesource. Part of #1893 2023-11-18 10:07:41 +01:00
sdrplaythread.h Rewriting of copyright notices for plugins/samplesource. Part of #1893 2023-11-18 10:07:41 +01:00
sdrplaywebapiadapter.cpp Rewriting of copyright notices for plugins/samplesource. Part of #1893 2023-11-18 10:07:41 +01:00
sdrplaywebapiadapter.h Rewriting of copyright notices for plugins/samplesource. Part of #1893 2023-11-18 10:07:41 +01:00

SDRplay RSP1 plugin

Introduction

This plugin supports input from SDRplay RSP1 devices. SDRplay is based on the MSi001 and MSi2500 chips from Mirics. The standard API provided by Mirics is closed source moreover it could not be implemented successfully in SDRangel. An open source API libmirisdr-2 has been written by Miroslav Slugen and later amended by Leif Asbrink SM5BSZ. This API uses a new flavour called libmirisdr-4 in this very same Github space. It contains enhancements and bug fixes.

No Windows support

Driver is too unstable in Windows randomly stopping the application and causing BSOD.

Build

As mentioned already the plugin depends on libmirisdr-4. You will have to compile it and install it in your system. When installed in non standard folders the include and library paths have to be specified on the cmake command line. Say if you install libmirisdr-4 in /opt/install/libmirisdr you will have to add -DMIRISDR_DIR=/opt/install/libmirisdr on the cmake command line.

Interface

The top and bottom bars of the device window are described here

SDRplay plugin GUI

1. Common controls

Controls common to all source plugins. See main interface description.

2. Local oscillator frequency correction

This is the correction in tenths of ppm steps.

3. DC and IQ imbalance correction

These controls are also common with many source plugins. IQ imbalance is hardly useful but SDRplay is affected by DC bias when used at zero IF. Note that the DC correction must be enabled for the I/Q correction to be effective.

4. Band selection

This selects a frequency range corresponding to the hardware path in the SDRplay. Bands available are:

  • 10 kHz to 12 MHz
  • 12 MHz to 30 MHz
  • 30 MHz to 50 MHz
  • 50 MHz to 120 MHz
  • 120 MHz to 250 MHz
  • 250 MHz to 380 MHz
  • 380 MHz to 1 GHz
  • 1 GHz to 2 GHz

5. IF bandwidth

This selects the IF filter. Following bandwidths are available according to MSi001 specs:

  • 200 kHz
  • 300 kHz
  • 600 kHz
  • 1536 kHz
  • 5000 kHz
  • 6000 kHz
  • 7000 kHz
  • 8000 kHz

6. IF frequency

This selects the IF frequency between these values:

  • 0 for zero IF
  • 450 kHz: you have to set sample rate to 1792 kHz (7) and use decimation (8) with an infradyne position (9)
  • 1620 kHz: you have to set sample rate to 6400 kHz (7) and use decimation (8) with an infradyne position (9)
  • 2048 kHz: you have to set sample rate to 8192 kHz (7) and use decimation (8) with an infradyne position (9)

7. Sample rate

You have the choice between various sample rates from 1536 to 8192 kHz. Some values have a special destination:

  • 1792 kHz: for use with an IF of 450 kHz.
  • 6400 kHz: for use with an IF of 1620 kHz.
  • 8192 kHz: for use with an IF of 2048 kHz.

8. Decimation

Decimation in powers of two from 1 (no decimation) to 64.

9: Decimated bandpass center frequency position relative to the SDRplay center frequency

  • Cen: the decimation operation takes place around the SDRplay center frequency Fs
  • Inf: the decimation operation takes place around Fs - Fc.
  • Sup: the decimation operation takes place around Fs + Fc.

With SR as the sample rate before decimation Fc is calculated as:

  • if decimation n is 4 or lower: Fc = SR/2^(log2(n)-1). The device center frequency is on the side of the baseband. You need a RF filter bandwidth at least twice the baseband.
  • if decimation n is 8 or higher: Fc = SR/n. The device center frequency is half the baseband away from the side of the baseband. You need a RF filter bandwidth at least 3 times the baseband.

10. Tuner gain mode

Use this radiobutton to select a mode where the gain of the LNA (or mixer buffer below 50 MHz), mixer and baseband amplifiers are automatically selected depending on the tuner gain index (11). This index is the gain value in dB at the nominal gain of all amplifiers. This is not the exact gain at all frequencies because the LNA gain decreases significantly at higher frequencies.

11. Tuner gain setting

The tuner gain index can be set between 0 and 102 points (corresponds to dB in the nominal case).

12. Manual gain mode

Use this radiobutton to select a mode where the gain of all amplifiers can be set independently

13. LNA toggle

Toggle button to switch on or off the LNA (bands above 50 MHz) or mixer buffer (bands below 50 MHz). The nominal gain is +24 dB.

14. Mixer amplifier toggle

Toggle button to switch on or off the mixer amplifier. The gain of this amplifier is +19 dB.

15. Baseband amplifier gain

Baseband amplifier gain from 0 to 59 dB.