1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-17 05:41:56 -05:00

Local Output/Sink: updated documentation

This commit is contained in:
f4exb 2019-05-11 00:42:21 +02:00
parent 8029194c02
commit c69b1421a7
13 changed files with 186 additions and 16 deletions

View File

@ -27,7 +27,7 @@
#include "mainwindow.h"
#include "dsp/dsptypes.h"
#ifdef _MSC_VER
#define GIT_COMMIT_HASH_STR "v4.7.2"
#define GIT_COMMIT_HASH_STR "v4.8.0"
#else
#include "sdrangel_version.h"
#endif

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
sdrangel (4.8.0-1) unstable; urgency=medium
* Local output plugin
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Fri, 10 May 2019 20:44:06 +0100
sdrangel (4.7.2-1) unstable; urgency=medium
* Unique DeviceAPI interface for sources and sinks

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

BIN
doc/img/LocalSource.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
doc/img/LocalSource.xcf Normal file

Binary file not shown.

View File

@ -0,0 +1,52 @@
#--------------------------------------------------------
#
# Pro file for Android and Windows builds with Qt Creator
#
#--------------------------------------------------------
TEMPLATE = lib
CONFIG += plugin
QT += core gui widgets multimedia network opengl
TARGET = localsource
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../exports
INCLUDEPATH += ../../../sdrbase
INCLUDEPATH += ../../../sdrgui
INCLUDEPATH += ../../../swagger/sdrangel/code/qt5/client
macx:INCLUDEPATH += /opt/local/include
CONFIG(Release):build_subdir = release
CONFIG(Debug):build_subdir = debug
CONFIG(MINGW32):INCLUDEPATH += "C:\softs\boost_1_66_0"
CONFIG(MSVC):INCLUDEPATH += "C:\softs\boost_1_66_0"
CONFIG(macx):INCLUDEPATH += "../../../../../boost_1_69_0"
SOURCES += localsource.cpp\
localsourcegui.cpp\
localsourcesettings.cpp\
localsourceplugin.cpp\
localsourcethread.cpp
HEADERS += localsource.h\
localsourcegui.h\
localsourcesettings.h\
localsourceplugin.h\
localsourcethread.h
FORMS += localsourcegui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
LIBS += -L../../../swagger/$${build_subdir} -lswagger
macx {
QMAKE_LFLAGS_SONAME = -Wl,-install_name,@rpath/
}
RESOURCES = ../../../sdrgui/resources/res.qrc
CONFIG(MINGW32):DEFINES += USE_INTERNAL_TIMER=1

View File

@ -32,7 +32,7 @@ void LocalSourceSettings::resetToDefaults()
{
m_localDeviceIndex = 0;
m_rgbColor = QColor(140, 4, 4).rgb();
m_title = "Local sink";
m_title = "Local Source";
m_log2Interp = 0;
m_filterChainHash = 0;
m_channelMarker = nullptr;

View File

@ -0,0 +1,49 @@
<h1>Local source channel plugin</h1>
<h2>Introduction</h2>
This plugin draws I/Q samples from a Local Output plugin device sink in another device set into the baseband. It is basically the same as the Remote Source channel plugin but pipes the samples internally instead of receiving them over the network.
It may be used when you want to use a particular sub area of the baseband for madulation.
Note that because it uses only the channelizer half band filter chain to achieve interpolation and center frequency shift you have a limited choice on the center frequencies that may be used (similarly to the Remote Source). The available center frequencies depend on the baseband sample rate, the channel interpolation and the filter chain that is used so you have to play with these parameters to obtain a suitable center frequency and pass band.
<h2>Interface</h2>
![Local source channel plugin GUI](../../../doc/img/LocalSource.png)
<h3>1: Interpolation factor</h3>
The device baseband can be interpolated from the channel and its center can be selected with (5). The resulting sample rate of the I/Q stream pulled from the Local Output device sink is the baseband sample rate divided by this value. The value is displayed in (2).
<h3>2: I/Q stream sample rate</h3>
This is the sample rate in kS/s of the I/Q stream pulled from the Local Output device sink instance.
<h3>3: Half-band filters chain sequence</h3>
This string represents the sequence of half-band filters used in the interpolation. Each character represents a filter type:
- **L**: lower half-band
- **H**: higher half-band
- **C**: centered
<h3>4: Center frequency shift</h3>
This is the shift of the channel center frequency from the device center frequency. Its value is driven by the device sample rate, the interpolation (1) and the filter chain sequence (5).
<h3>5: Half-band filter chain sequence</h3>
The slider moves the channel center frequency roughly from the lower to the higher frequency in the device baseband. The number on the right represents the filter sequence as the decimal value of a base 3 number. Each base 3 digit represents the filter type and its sequence from MSB to LSB in the filter chain:
- **0**: lower half-band
- **1**: centered
- **2**: higher half-band
<h3>6: Local Output source index</h2>
This selects the index of the Local Output device sink from which to pull the I/Q samples. The list can be refreshed with the next button (7)
<h3>7: Refresh local output devices list</h2>
Use this button to refresh the list of Local Output device sinks indexes.

View File

@ -0,0 +1,51 @@
#--------------------------------------------------------
#
# Pro file for Windows builds with Qt Creator
#
#--------------------------------------------------------
TEMPLATE = lib
CONFIG += plugin
QT += core gui widgets multimedia network opengl
TARGET = outputlocal
INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../exports
INCLUDEPATH += ../../../sdrbase
INCLUDEPATH += ../../../sdrgui
INCLUDEPATH += ../../../swagger/sdrangel/code/qt5/client
macx:INCLUDEPATH += /opt/local/include
CONFIG(Release):build_subdir = release
CONFIG(Debug):build_subdir = debug
CONFIG(MINGW32):INCLUDEPATH += "C:\softs\boost_1_66_0"
CONFIG(MSVC):INCLUDEPATH += "C:\softs\boost_1_66_0"
CONFIG(macx):INCLUDEPATH += "../../../boost_1_69_0"
SOURCES += localoutputgui.cpp\
localoutput.cpp\
localoutputsettings.cpp\
localoutputplugin.cpp
HEADERS += localoutputgui.h\
localoutput.h\
localoutputsettings.h\
localoutputplugin.h
FORMS += localoutputgui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
LIBS += -L../../../swagger/$${build_subdir} -lswagger
macx {
QMAKE_LFLAGS_SONAME = -Wl,-install_name,@rpath/
}
RESOURCES = ../../../sdrgui/resources/res.qrc
CONFIG(MINGW32):DEFINES += USE_INTERNAL_TIMER=1

View File

@ -65,20 +65,6 @@
</property>
</widget>
</item>
<item>
<widget class="ButtonSwitch" name="record">
<property name="toolTip">
<string>Toggle record I/Q samples from device</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="../../../sdrgui/resources/res.qrc">
<normaloff>:/record_off.png</normaloff>:/record_off.png</iconset>
</property>
</widget>
</item>
</layout>
</item>
<item>

View File

@ -0,0 +1,24 @@
<h1>Local output plugin</h1>
<h2>Introduction</h2>
This output sample sink plugin sends its samples to a Local Source channel in another device set.
<h2>Interface</h2>
![SDR Local output plugin GUI](../../../doc/img/LocalOutput_plugin.png)
<h3>1: Start/Stop</h3>
Device start / stop button.
- Blue triangle icon: device is ready and can be started
- Green square icon: device is running and can be stopped
<h3>2: Frequency</h3>
This is the center frequency in Hz sent from the Local Source channel instance and corresponds to the center frequency of transmission. The sub kHz value (000 to 999 Hz) is represented in smaller digits on the right.
<h3>3: Stream sample rate</h3>
Stream I/Q sample rate in kS/s

View File

@ -48,6 +48,7 @@ SUBDIRS += plugins/samplesink/bladerf2output
SUBDIRS += plugins/samplesink/hackrfoutput
SUBDIRS += plugins/samplesink/limesdroutput
SUBDIRS += plugins/samplesink/plutosdroutput
SUBDIRS += plugins/samplesink/localoutput
CONFIG(MSVC):SUBDIRS += plugins/samplesink/remoteoutput
CONFIG(MSVC):SUBDIRS += plugins/samplesink/soapysdroutput
SUBDIRS += plugins/channelrx/chanalyzer
@ -68,6 +69,7 @@ SUBDIRS += plugins/channeltx/modnfm
SUBDIRS += plugins/channeltx/modssb
SUBDIRS += plugins/channeltx/modwfm
SUBDIRS += plugins/channeltx/udpsource
SUBDIRS += plugins/channeltx/localsource
# Main app must be last
SUBDIRS += app