From e3069d3a6908795d564be70f7a52f544205a4224 Mon Sep 17 00:00:00 2001 From: f4exb Date: Thu, 3 Jan 2019 14:58:15 +0100 Subject: [PATCH] XTRX: updated documentation --- Readme.md | 11 +- doc/img/XTRXOutput_plugin.png | Bin 0 -> 34872 bytes doc/img/XTRXOutput_plugin.xcf | Bin 0 -> 158166 bytes plugins/samplesink/xtrxoutput/readme.md | 133 +++++++++++++++++++++++ plugins/samplesource/xtrxinput/readme.md | 4 +- 5 files changed, 143 insertions(+), 5 deletions(-) create mode 100644 doc/img/XTRXOutput_plugin.png create mode 100644 doc/img/XTRXOutput_plugin.xcf create mode 100644 plugins/samplesink/xtrxoutput/readme.md diff --git a/Readme.md b/Readme.md index d0cadbd7a..664b48067 100644 --- a/Readme.md +++ b/Readme.md @@ -43,6 +43,7 @@ Since version 3 transmission or signal generation is supported for BladeRF, Hack - [HackRF output plugin](https://github.com/f4exb/sdrangel/tree/dev/plugins/samplesink/hackrfoutput) - [LimeSDR output plugin](https://github.com/f4exb/sdrangel/tree/dev/plugins/samplesink/limesdroutput) - [PlutoSDR output plugin](https://github.com/f4exb/sdrangel/tree/dev/plugins/samplesink/plutosdroutput) + - [XTRX output plugin](https://github.com/f4exb/sdrangel/tree/dev/plugins/samplesink/xtrxoutput) - [File output or file sink plugin](https://github.com/f4exb/sdrangel/tree/dev/plugins/samplesink/filesink) - [Remote device via Network with SDRdaemon](https://github.com/f4exb/sdrangel/tree/dev/plugins/samplesink/sdrdaemonsink) Linux only @@ -204,15 +205,19 @@ If you use your own location for libmirisdr-4 install directory you need to spec

XTRX

-Compile from source. +Experimental. Compile from source. -[XTRX](https://www.crowdsupply.com/fairwaves/xtrx) is supported through the set of [xtrx libraries](https://github.com/xtrx-sdr/images). +[XTRX](https://xtrx.io) is supported through the set of [xtrx libraries](https://github.com/xtrx-sdr/images). If you use your own location for the install directory (ex: `/opt/install/xtrx-images`) you need to specify it with `-DXTRX_DIR=/opt/install/xtrx-images` on the `cmake` command line. In addition before starting SDRangel you have to add the library directory to the `LD_LIBRARY_PATH` variable with `export LD_LIBRARY_PATH=/opt/install/xtrx-images/lib:$LD_LIBRARY_PATH`. -⚠ Although you will find a plugin for the transmission side transmission with XTRX is not actually working. Reception is not very stable either particularly with sample rates lower than 5 MS/s. +⚠ It seems eception is not very stable either particularly with sample rates lower than 5 MS/s. You may need to stop and restart the device (stop/start button) to recover. + +⚠ Right after (re)start you may need to move the main frequency dial back and forth if you notice that you are not on the right frequency. + +⚠ At the moment simultaneous Rx and Tx is not supported.

Plugins for special devices

diff --git a/doc/img/XTRXOutput_plugin.png b/doc/img/XTRXOutput_plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..218112ab3ebd303257e6482688441a23670ee249 GIT binary patch literal 34872 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 literal 0 HcmV?d00001 diff --git a/doc/img/XTRXOutput_plugin.xcf b/doc/img/XTRXOutput_plugin.xcf new file mode 100644 index 0000000000000000000000000000000000000000..15700a0deb62a9b6a8d7cb88130cf3b037d6d876 GIT binary patch literal 158166 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 C8M*lY literal 0 HcmV?d00001 diff --git a/plugins/samplesink/xtrxoutput/readme.md b/plugins/samplesink/xtrxoutput/readme.md new file mode 100644 index 000000000..e225f5ae6 --- /dev/null +++ b/plugins/samplesink/xtrxoutput/readme.md @@ -0,0 +1,133 @@ +

XTRX output plugin

+ +

Introduction

+ +This output sample sink plugin sends its samples to a [XTRX device](https://xtrx.io). + +XTRX is a 2x2 MIMO device so it has two transmitting channels that can run concurrently. To activate the second channel when the first is already active just open a new sink tab in the main window (Devices -> Add sink device) and select the same LimeSDR device. + +⚠ Simultaneous Tx and Rx is not supported at this moment + +⚠ You need a hardware interpolation of at least 4 (default) + +

Build

+ +The plugin will be built only if XTRX libraries are installed in your system. + +If libraries are installed in a custom place like `/opt/install/xtrx-images` add the following defines on `cmake` command line: + +`-DXTRX_DIR=/opt/install/xtrx-images` + +

Interface

+ +![XTRX output plugin GUI](../../../doc/img/XTRXOutput_plugin.png) + +

1: Start/Stop

+ +Device start / stop button. + + - Blue triangle icon: device is ready and can be started + - Green square icon: device is running and can be stopped + - Magenta (or pink) square icon: an error occurred. In the case the device was accidentally disconnected you may click on the icon to stop, plug back in, check the source on the sampling devices control panel and start again. + +

2: DAC sample rate

+ +This is the sample rate at which the DAC runs in kS/s (k) or MS/s (M) after hardware interpolation (9). Thus this is the host to device sample rate (11) multiplied by the hardware interpolation factor (9). Please note that a hardware decimation of 4 is required for the device to work properly. + +

3: Center frequency

+ +This is the center frequency of transmission in kHz. + +

4: Channel number

+ +LimeSDR is a 2x2 MIMO device so it has two transmitting channels. This shows the corresponding Tx channel index (0 or 1). + + +

5: Stream sample rate

+ +Baseband I/Q sample rate in kS/s. This is the device to host sample rate (11) divided by the software interpolation factor (10). + +

6: NCO toggle

+ +The button is lit when NCO is active and dark when inactive. + +Use this button to activate/deactivate the TSP NCO. The LMS7002M chip has an independent NCO in each Tx channel that can span the bandwidth sent to the DAC. This effectively allows non zero digital IF. + +

7: NCO frequency shift

+ +This is the frequency shift applied when the NCO is engaged thus the actual LO frequency is the center frequency of transmission minus this value. Use the thumbwheels to adjust frequency as done with the LO (1.1). Pressing shift simultaneously moves digit by 5 and pressing control moves it by 2. The boundaries are dynamically calculated from the LO center frequency, sample rate and hardware interpolation factor. + +☞ In the LMS7002M TSP block the NCO sits after the interpolator (see Fig.14 of the [datasheet](http://www.limemicro.com/wp-content/uploads/2015/09/LMS7002M-Data-Sheet-v2.8.0.pdf) p.7) so it runs at the actual DAC rate. Hence the NCO limits are calculated as +/- half the device to host sample rate multiplied by the hardware interpolation factor. For example with a 4 MS/s device to host sample rate (10) and a hardware interpolation of 16 (9) you have +/- 32 MHz span around the LO for the NCO. In this example you can tune all HF frequencies with the center frequency set at its lowest (30 MHz). + +

8: External clock control

+ +Use this button to open a dialog that lets you choose the external clock frequency and enable or disable it. When disabled the internal 30.72 MHz VCTCXO is used. + +![LimeSDR input plugin gain GUI](../../../doc/img/LimeSDR_plugin_extclock.png) + +

8.1: External clock frequency

+ +Can be varied from 5 to 300 MHz + +Use the thumbwheels to adjust frequency as done with the LO (1.1). Pressing shift simultaneously moves digit by 5 and pressing control moves it by 2. The boundaries are dynamically calculated from the LO center frequency, sample rate and hardware decimation factor. + +

8.2: Enable/disable external clock input + +Use this checkbox to enable or disable the external clock input + +

8.3: Confirm changes

+ +Use the "OK" button to confirm your changes + +

8.4: Dismiss changes

+ +Use the "Cancel" button to dismiss your changes + +

9: LMS7002M hardware interpolation factor

+ +The TSP block in the LMS7002M hardware has an interpolation chain that acts on both Tx channels. It is composed of 5 halfband interpolation stages and therefore can achieve interpolation between 1 (no interpolation) and 32 in increasing powers of 2: 1, 2, 4, 8, 16, 32. Please note that a factor of at least 4 is required. Lower values are experimental. + +Thus the actual sample rate of the DAC is the stream sample rate (11) multiplied by this factor. In the screenshot example this yields a 12.288 MS/s rate at the DAC (3.072 * 4). + +

10: Software interpolation factor

+ +The I/Q stream from the baseband is upsampled by a power of two by software inside the plugin before being sent to the LimeSDR device. Possible values are increasing powers of two: 1 (no interpolation), 2, 4, 8, 16, 32. + +

11: Host to device stream sample rate

+ +This is the LMS7002M device to/from host stream sample rate in S/s. It is the same for the Rx and Tx systems. + +Use the wheels to adjust the sample rate. Pressing shift simultaneously moves digit by 5 and pressing control moves it by 2. Left click on a digit sets the cursor position at this digit. Right click on a digit sets all digits on the right to zero. This effectively floors value at the digit position. Wheels are moved with the mousewheel while pointing at the wheel or by selecting the wheel with the left mouse click and using the keyboard arrows. + +The LMS7002M uses the same clock for both the ADCs and DACs therefore this sample rate affects all of the 2x2 MIMO channels. + +

12: Tx hardware filter bandwidth

+ +This is the Tx hardware filter bandwidth in kHz in the LMS7002M device for the given channel. Boundaries are updated automatically but generally are from 5 to 130 MHz in 1 kHz steps. Use the wheels to adjust the value. Pressing shift simultaneously moves digit by 5 and pressing control moves it by 2. + +

13: LMS002M power saving mode

+ +

14: Gain

+ +Use this slider to adjust the PAD gain of the Tx chain. With the current version of libxtrx this does not seem to be effective. + +

15: Antenna selection

+ + - ** Hi **: Tx high range + - ** Wi **: Tx wide range: you should use this one (default) + +

16: Stream status indicator

+ +This label turns green when status can be obtained from the current stream. Usually this means that the stream is up and running but not necessarily streaming data. The various status elements appear next on the same line (16, 17, 18) + +

17: GPSDO lock indicator

+ +This label turns green when the GPS used for the GPSDO is locked. + +

18: Stream global (all Tx) throughput in MB/s

+ +This is the stream throughput in MB/s and is usually about 3 times the sample rate for a single stream and 6 times for a dual Tx stream. This is due to the fact that 12 bits samples are used and although they are represented as 16 bit values only 12 bits travel on the USB link. + +

19: Board temperature

+ +This is the board temperature in degrees Celsius updated every ~5s. Before the first probe the display marks "00C" this is normal. diff --git a/plugins/samplesource/xtrxinput/readme.md b/plugins/samplesource/xtrxinput/readme.md index de4f65724..8963ba313 100644 --- a/plugins/samplesource/xtrxinput/readme.md +++ b/plugins/samplesource/xtrxinput/readme.md @@ -2,11 +2,11 @@

Introduction

-This input sample source plugin gets its samples from a [XTRX device](https://www.crowdsupply.com/fairwaves/xtrx). +This input sample source plugin gets its samples from a [XTRX device](https://xtrx.io). XTRX is a 2x2 MIMO device so it has two receiving channels that can run concurrently. To activate the second channel when the first is already active just open a new source tab in the main window (Devices -> Add source device) and select the same LimeSDR device. You may need to change frequency back and forth in case reception is not working properly. -Sometimes XTRX does not start properly and the spectrum looks frozen. In such a case just stop and start the device again. +⚠ Sometimes XTRX does not start properly and the spectrum looks frozen. In such a case just stop and start the device again.

Build