1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-30 03:38:55 -05:00
sdrangel/plugins/samplesource/sdrplay
2022-11-17 14:34:54 +00: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 Massive UI revamping (v7): implemented device common settings from top bar and added documentation on device windows top and bottom bars 2022-04-17 01:31:50 +02:00
sdrplaygui.cpp Device GUIs: Constain window size via minimumSize/maximumSize, rather than handling resizeEvent. Add maximum button. Hide size buttons when window size is fixed 2022-11-09 15:53:44 +00:00
sdrplaygui.h Device GUIs: Constain window size via minimumSize/maximumSize, rather than handling resizeEvent. Add maximum button. Hide size buttons when window size is fixed 2022-11-09 15:53:44 +00:00
sdrplaygui.ui Massive UI revamping (v7): fixed devices .ui files to correct display wwhen creating device. Part of #1209 2022-04-27 02:06:17 +02:00
sdrplayinput.cpp SDRPlay: Make settings assignments atomic. Part of #1329 2022-10-28 20:57:21 +02:00
sdrplayinput.h SDRPlay: Make settings assignments atomic. Part of #1329 2022-10-28 20:57:21 +02:00
sdrplayplugin.cpp Updated versions and changelogs 2022-11-01 23:51:06 +01:00
sdrplayplugin.h Avoid global QString init in plugins 2020-11-22 04:06:32 +01:00
sdrplaysettings.cpp SDRPlay: Make settings assignments atomic. Part of #1329 2022-10-28 20:57:21 +02:00
sdrplaysettings.h SDRPlay: Make settings assignments atomic. Part of #1329 2022-10-28 20:57:21 +02:00
sdrplaythread.cpp IQ swap: initial implementation in plugins 2020-06-23 19:29:58 +02:00
sdrplaythread.h IQ swap: initial implementation in plugins 2020-06-23 19:29:58 +02:00
sdrplaywebapiadapter.cpp Fixed wrong structure being used in some sample source and sink plugins web API adapters. Fixes #842 2021-04-15 15:30:29 +02:00
sdrplaywebapiadapter.h REST API: config: GET (11). Support of the rest of devices 2019-08-04 20:24:44 +02: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. This is hardly useful with SDRplay as it has been found on spot. The MSi001 chip probably uses some sort of internal compensation. However this control is kept just in case.

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 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.