From 60925ea84b1cc291b3ef06fcb39ff67ca1cc2d77 Mon Sep 17 00:00:00 2001 From: f4exb Date: Mon, 21 Nov 2016 01:21:48 +0100 Subject: [PATCH] SDRPlay plugin: documentation --- doc/img/SDRPlay_plugin.png | Bin 0 -> 27503 bytes plugins/samplesource/sdrplay/readme.md | 108 +++++++++++++++++++++++++ sdrbase/readme.md | 6 +- 3 files changed, 113 insertions(+), 1 deletion(-) create mode 100644 doc/img/SDRPlay_plugin.png create mode 100644 plugins/samplesource/sdrplay/readme.md diff --git a/doc/img/SDRPlay_plugin.png b/doc/img/SDRPlay_plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..c08268d22d485554f38073d076ab31e44b8d77d4 GIT binary patch literal 27503 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 Xsmu3NE#Z5xC{C+rDrcTBx%+SDRPlay plugin + +

Introduction

+ +This plugin supports input from SDRPlay 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. Some enhancements and bug fixes have nade it to libmirisdr-4 in this repository. It is this API that is used to drive the SDRPlay. + +SDRPlay has a rather good performance in HF bands due to front end filtering and the MSi001 chip. This sets it apart from the other supported hardware and is an interesting addition to the collection. + +Note to Windows users: this plugin uses standard USB interface provided by Zadig (for example). It is not compatible with the drivers from Mirics so you will have to unistall (or you should not install) the Mirics software before you can use this plugin. + +

Build

+ +As mentioned already the plugin depends on libmirisdr-4. You will have to specify the include and library paths 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](../../../doc/img/SDRPlay_plugin.png) + +

1. Common controls

+ +Controls common to all source plugins. See ![main interface description](../../../sdrbase/readme.md). + +

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. It appears on many source plugins ans it has been kept as LO accuracy could depend on units. + +

3. DC and IQ imbalance correction

+ +These are controls common to many source plugins too. IQ imbalance is hardly useful but SDRPlay is affected by DC bias when used at zero IF. + +

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 select 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 radiobuton to select a mode where the gain of LNA (or mixer buffer), mixer and baseband amplifiers is automatically selected depending on the tuner gain index (11). This index is the gain value in dB at 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. + +

12. Manual gain mode

+ +Use this radiobuton 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 higher than 50 MHz) or mixer buffer (band lower than 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 diff --git a/sdrbase/readme.md b/sdrbase/readme.md index 76f2d79da..0eb6a78a1 100644 --- a/sdrbase/readme.md +++ b/sdrbase/readme.md @@ -99,7 +99,11 @@ This is the sampling rate in kS/s of the I/Q stream extracted from the device af

2.4. Center frequency

-This is the current center frequency in kHz with dot separated thousands (MHz, GHz). On devices for which frequency can be directly controlled (i.e. all except File Source and SDRdaemon) you can use the thumbwheels to set the frequency. Thumwheels move with the mouse wheel when hovering over a digit and when a digit is selected by clicking on it you can also use the arrows to move the corresponding thumbwheel. +This is the current center frequency in kHz with dot separated thousands (MHz, GHz). On devices for which frequency can be directly controlled (i.e. all except File Source and SDRdaemon) you can use the thumbwheels to set the frequency. Thumwheels move with the mouse wheel when hovering over a digit. + +When left clicking on a digit a cursor is set on it and you can also use the arrows to move the corresponding thumbwheel. + +When right clicking on a digit the digits on the right are all set to zero. This effectively does a ceil rounding at the current position.

Additional inputs