sdrangel/plugins/samplesource/testsource
Jon Beniston ee8b8ade88 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
..
CMakeLists.txt Install debug symbols on Windows for debug builds 2022-02-06 12:56:58 +00:00
readme.md Removed file recording function from device plugins 2020-08-09 00:47:06 +02:00
testsourcegui.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
testsourcegui.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
testsourcegui.ui 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
testsourceinput.cpp Test source: Make settings assignments atomic. Part of #1329 2022-10-29 21:55:52 +02:00
testsourceinput.h Test source: Make settings assignments atomic. Part of #1329 2022-10-29 21:55:52 +02:00
testsourceplugin.cpp Updated versions and changelogs 2022-11-01 23:51:06 +01:00
testsourceplugin.h Avoid global QString init in plugins 2020-11-22 04:06:32 +01:00
testsourcesettings.cpp Test source: Make settings assignments atomic. Part of #1329 2022-10-29 21:55:52 +02:00
testsourcesettings.h Test source: Make settings assignments atomic. Part of #1329 2022-10-29 21:55:52 +02:00
testsourcewebapiadapter.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
testsourcewebapiadapter.h REST API: config: GET (11). Support of the rest of devices 2019-08-04 20:24:44 +02:00
testsourceworker.cpp Replace deprecated QMutex(Recursive) with QRecursiveMutex 2022-09-17 23:00:07 +02:00
testsourceworker.h Replace deprecated QMutex(Recursive) with QRecursiveMutex 2022-09-17 23:00:07 +02:00

readme.md

Test source input plugin

Introduction

This input sample source plugin is an internal continuous wave generator that can be used to carry out test of software internals.

Build

The plugin is present in the core of the software and thus is always present in the list of sources.

Interface

Test source input plugin GUI

1: Common stream parameters

Remote source input stream GUI

1.1: Frequency

This is the center frequency of reception in kHz.

1.2: 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, plug back in and start again.

1.4: Stream sample rate

Baseband I/Q sample rate in kS/s. This is the device to host sample rate (3) divided by the decimation factor (4).

2: Various options

Test source input plugin GUI 2

2.1: Auto corrections

This combo box control the local DSP auto correction options:

  • None: no correction
  • DC: auto remove DC component
  • DC+IQ: auto remove DC component and correct I/Q balance.

2.2: Decimation factor

The I/Q stream from the generator is downsampled by a power of two before being sent to the passband. Possible values are increasing powers of two: 1 (no decimation), 2, 4, 8, 16, 32. This exercises the decimation chain.

This exercises the decimation chain.

2.3: Baseband center frequency position relative the center frequency

  • Cen: the decimation operation takes place around the 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.

2.4: Sample size

This is the sample size in number of bits. It corresponds to the actual sample size used by the devices supported:

  • 8: RTL-SDR, HackRF
  • 12: Airspy, BladeRF, LimeSDR, PlutoSDR, SDRplay
  • 16: Airspy HF+, FCD Pro, FCD Pro+

3: Sample rate

This controls the generator sample rate in samples per second.

4: Modulation

  • No: No modulation
  • AM: Amplitude modulation (AM)
  • FM: Frequency modulation (FM)
  • P0: Pattern 0 is a binary pattern
    • Pulse width: 150 samples
    • Sync pattern: 010 at full amplitude
    • Binary pattern LSB first on 3 bits from 0 to 7 at 0.3 amplitude
  • P1: Pattern 1 is a sawtooth pattern
    • Pulse width: 1000 samples
    • Starts at full amplitude then amplitude decreases linearly down to zero
  • P2: Pattern 2 is a 50% duty cycle square pattern
    • Pulse width: 1000 samples
    • Starts with a full amplitude pulse then down to zero for the duration of one pulse

5: Modulating tone frequency

This controls the modulating tone frequency in kHz in 10 Hz steps.

6: Carrier shift from center frequency

Use this control to set the offset of the carrier from the center frequency of reception.

7: AM modulation factor

This controls the AM modulation factor from 0 to 99%

8: FM deviation

This controls the frequency modulation deviation in kHz in 100 Hz steps. It cannot exceed the sample rate.

9: Amplitude coarse control

This slider controls the number of amplitude bits by steps of 100 bits. The total number of amplitude bits appear on the right.

10: Amplitude fine control

This slider controls the number of amplitude bits by steps of 1 bit. The signal power in dB relative to the maximum power (full bit range) appear on the right.

11: DC bias

Use this slider to give a DC component in percentage of maximum amplitude.

12: I bias

Use this slider to give an in-phase (I) bias in percentage of maximum amplitude.

13: Q bias

Use this slider to give an quadrature-phase (Q) bias in percentage of maximum amplitude.

14: Phase imbalance

Use this slider to introduce a phase imbalance in percentage of full period (continuous wave) or percentage of I signal injected in Q (AM, FM).