1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-12-23 18:15:45 -05:00
sdrangel/plugins/samplesource/sdrplay
2018-02-22 03:04:42 +01:00
..
CMakeLists.txt Web API: implemented device run APIs for BladeRF input, SDRdaemon input and SDRplay 2017-12-09 12:41:42 +01:00
readme.md Update documentation according to new DC and IQ correction implementation 2018-02-10 19:06:59 +01:00
sdrplaygui.cpp Source plugins: put a serializer and deserializer in the core plugin for server. NFM demod: fixed deserializer 2017-12-28 03:21:48 +01:00
sdrplaygui.h Web API: fixed segfault when mixing start/stop between GUI and API. Applied to BladeRF input, SDRdaemon input and SDRPlay 2017-12-14 00:19:59 +01:00
sdrplaygui.ui Code re-organization in two libraries sdrbase and sdrgui in view of core / GUI split 2017-10-22 19:12:43 +02:00
sdrplayinput.cpp PVS-Studio static analysis corrections (2) issue #137 2018-02-22 03:04:42 +01:00
sdrplayinput.h Source plugins: put a serializer and deserializer in the core plugin for server. NFM demod: fixed deserializer 2017-12-28 03:21:48 +01:00
sdrplayplugin.cpp Airspy, BladeRF, HackRF, PlutoSDR, RTLSDR, SDRPlay: fixed frequency setting when changing decimation with fc position change 2018-01-20 03:28:30 +01:00
sdrplayplugin.h Removed direct reference to the DeviceSourceAPI in the source GUIs 2017-10-30 00:45:23 +01:00
sdrplaysettings.cpp SDRPlay plugin: added option to handle global tuner gain or individual lna, mixer and baseband gains 2016-11-18 02:46:35 +01:00
sdrplaysettings.h SDRPlay plugin: fixed preset load sequence 2016-11-20 11:34:32 +01:00
sdrplaythread.cpp SDRPlay plugin: now working with open source libmirisdr 2016-11-16 02:38:21 +01:00
sdrplaythread.h Differentiate Rx and Tx DSP sample sizes 2018-01-22 08:46:05 +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 appication 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 -DLIBMIRISDR_INCLUDE_DIR=/opt/install/libmirisdr/include -DLIBMIRISDR_LIBRARIES=/opt/install/libmirisdr/lib/libmirisdr.so on the cmake command line.

Interface

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. Center frequency position

Relative position of center frequency of decimated baseband relative to the original:

  • Inf: infradyne i.e. in the lower half of original baseband: to be used with non zero IFs
  • Cen: Centered i.e. around the center of the original baseband
  • Sup: Supradyne i.e. in the upper half of original 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.