1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-23 08:28:36 -05:00
sdrangel/plugins/samplesource/sdrplay
2019-01-11 14:45:00 +01:00
..
CMakeLists.txt Fixes for Arch. Manual merge of pull request #183. DATV demod: fixed some of ffmpeg deprecation warnings 2018-06-13 00:20:51 +02:00
readme.md cmake files cleanup and build simplification 2019-01-02 21:33:45 +01:00
sdrplay.pro Depyloyment scrip update, QT project updates for OSX environment 2019-01-01 15:30:20 +01:00
sdrplaygui.cpp Reverse API: SDR Play RSP1 2018-12-26 17:35:55 +01:00
sdrplaygui.h Reverse API: SDR Play RSP1 2018-12-26 17:35:55 +01:00
sdrplaygui.ui Sample source plugins: use liberation font 2018-05-06 00:55:42 +02:00
sdrplayinput.cpp REST API: implement reverse API settings (3) 2019-01-11 14:45:00 +01:00
sdrplayinput.h Reverse API: SDR Play RSP1 2018-12-26 17:35:55 +01:00
sdrplayplugin.cpp REST API: implement reverse API settings (3) 2019-01-11 14:45:00 +01:00
sdrplayplugin.h Removed direct reference to the DeviceSourceAPI in the source GUIs 2017-10-30 00:45:23 +01:00
sdrplaysettings.cpp Reverse API: SDR Play RSP1 2018-12-26 17:35:55 +01:00
sdrplaysettings.h Reverse API: SDR Play RSP1 2018-12-26 17:35:55 +01:00
sdrplaythread.cpp SDRPlay plugin: now working with open source libmirisdr 2016-11-16 02:38:21 +01:00
sdrplaythread.h Removed 24/16 bit differentiation on Decimator instantiation where possible 2018-05-01 23:57:12 +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

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.