1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-08 17:46:03 -05:00
sdrangel/plugins/samplemimo/testmi
Jon Beniston 0dd466a900 Add DialogPositioner to ensure dialogs are fully on screen and remain on
screen when screen orientation changes.
Add DialPopup to allow dials to adjusted with a slider, which is easier
on touchscreens.
Add TableTapAndHold to support table context menus on touchscreens.
2022-12-20 10:31:15 +00:00
..
CMakeLists.txt Update CMakeLists.txt to support both Qt5 and Qt6. Add option ENABLE_QT6 2022-11-17 14:34:54 +00:00
readme.md Massive UI revamping (v7): implemented device common settings from top bar and added documentation on device windows top and bottom bars 2022-04-17 01:31:50 +02:00
testmi.cpp TestMOSync: updated threading model. Part of #1346 2022-10-09 13:06:14 +02:00
testmi.h TestMOSync: updated threading model. Part of #1346 2022-10-09 13:06:14 +02:00
testmigui.cpp Add DialogPositioner to ensure dialogs are fully on screen and remain on 2022-12-20 10:31:15 +00:00
testmigui.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
testmigui.ui Massive UI revamping (v7): fixed devices .ui files to correct display wwhen creating device. Part of #1209 2022-04-27 02:06:17 +02:00
testmiplugin.cpp Updated versions and changelogs 2022-10-19 17:40:14 +02:00
testmiplugin.h Avoid global QString init in plugins 2020-11-22 04:06:32 +01:00
testmisettings.cpp Massive UI revamping (v7): fixed device workspace index save/restore and removed useless geometry blobs. Fixes #1207 2022-04-20 20:08:41 +02:00
testmisettings.h Massive UI revamping (v7): fixed device workspace index save/restore and removed useless geometry blobs. Fixes #1207 2022-04-20 20:08:41 +02:00
testmiwebapiadapter.cpp Fixed -Wunused-parameter warnings 2020-11-14 11:13:32 +01:00
testmiwebapiadapter.h
testmiworker.cpp Replace deprecated QMutex(Recursive) with QRecursiveMutex 2022-09-17 23:00:07 +02:00
testmiworker.h Replace deprecated QMutex(Recursive) with QRecursiveMutex 2022-09-17 23:00:07 +02:00

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

The top and bottom bars of the device window are described here

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.3: Record

  • Left click: record baseband I/Q stream toggle button
  • Right click: choose record file

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).