1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-25 01:18:38 -05:00
sdrangel/plugins/samplesource/remotetcpinput
2024-11-09 18:46:38 +01:00
..
CMakeLists.txt RemoteTCPSink: Report server init errors via GUI. Send protocol to public list. 2024-10-08 17:20:18 +01:00
readme.md RemoteTCPSink: Report server init errors via GUI. Send protocol to public list. 2024-10-08 17:20:18 +01:00
remotetcpinput.cpp Lint fixes 2024-10-08 22:19:29 +01:00
remotetcpinput.h Lint fixes 2024-10-09 08:49:23 +01:00
remotetcpinputgui.cpp Lint fixes 2024-10-08 22:19:29 +01:00
remotetcpinputgui.h Remote TCP updates: 2024-09-22 10:44:30 +01:00
remotetcpinputgui.ui RemoteTCPSink: Report server init errors via GUI. Send protocol to public list. 2024-10-08 17:20:18 +01:00
remotetcpinputplugin.cpp Updated versions and changelogs 2024-11-09 18:46:38 +01:00
remotetcpinputplugin.h Rewriting of copyright notices for plugins/samplesource. Part of #1893 2023-11-18 10:07:41 +01:00
remotetcpinputsettings.cpp Remote TCP updates: 2024-09-22 10:44:30 +01:00
remotetcpinputsettings.h RemoteTCPSink: Report server init errors via GUI. Send protocol to public list. 2024-10-08 17:20:18 +01:00
remotetcpinputtcphandler.cpp Support compilation without SSL support. 2024-11-06 12:12:46 +00:00
remotetcpinputtcphandler.h Support compilation without SSL support. 2024-11-06 12:12:46 +00:00
remotetcpinputwebapiadapter.cpp Rewriting of copyright notices for plugins/samplesource. Part of #1893 2023-11-18 10:07:41 +01:00
remotetcpinputwebapiadapter.h Rewriting of copyright notices for plugins/samplesource. Part of #1893 2023-11-18 10:07:41 +01:00
spyserver.h RemoteTCPInput: Add Spy Server support. 2024-02-27 14:03:34 +00:00

Remote TCP input plugin

Introduction

This input sample source plugin gets its I/Q samples over the network via a TCP/IP connection from a server such as rtl_tcp, rsp_tcp, Spy Server or SDRangel's Remote TCP Channel Sink plugin.

Interface

Remote TCP input plugin GUI

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
  • Red square icon: an error has occurred with the connection to the remote device. The plugin will continually try to reconnect.

2: Center frequency

This is the center frequency in kHz of the remote device.

3: Stream sample rate

Network I/Q sample rate in kS/s.

4: Local oscillator correction

This is the correction to be applied to the remote device's local oscillator in ppm.

5: DC offset correction

Check this button to enable DC offset correction.

6: IQ imbalance correction

Check this button to enable IQ imbalance correction.

7: Bias tee

Check this button to enable a bias tee on the remote device, if it supports it.

8: Direct sampling mode

Use this button to activate RTL-SDR's direct sampling mode. This can be used to tune to HF frequencies.

9: Sample rate

Specify the remote device's sample rate in samples per second (S/s). This is the sample rate between the remote device and remote server. This field allows an arbitrary rate to be entered. However, some devices are limited in the rates they support, so you should be careful only to enter a supported value, otherwise there may be a mismatch between the displayed rate and the actual rate.

10: Decimation

Decimation in powers of two from 1 (no decimation) to 64 between the remote device and the remote server, which determines the remote baseband sample rate. This is only supported when the remote server is SDRangel.

11: Gain

Specify gain in dB applied in various stages of the remote device. Available gains will depend upon the type of remote device.

12: AGC

Check to enable automatic gain control in the remote device. How AGC works is device dependent.

13: RF Bandwidth

Specifies the bandwidth in kHz of the analog filter in the remote device. Available bandwidths are dependent upon the remote device.

14: Remote sink frequency shift from center frequency of reception

This is the shift of the remote sink channel center frequency from the device center frequency. This is used to select the desired part of the signal when the remote channel sample rate is lower than the baseband sample rate. This is only supported when the remote server is SDRangel.

15: Remote sink gain

Sets a gain figure in dB that is applied to I/Q samples before transmission via TCP/IP. This option may be useful for amplifying very small signals from SDRs with high-dynamic range (E.g. 24-bits), when the network sample bit-depth is 8-bits. This is only supported when the remote server is SDRangel.

16: Remote sink channel sample rate

Specifies the channel and network sample rate in samples per second. If this is different from the remote baseband sample rate, the baseband signal will be decimated to the specified rate. Unless the remote server is SDRangel, the channel sample rate should be the same as the device sample rate.

17: Local channel sample rate to baseband sample rate

When checked, the channel sample rate setting is locked to the remote baseband sample rate. When unchecked, the channel sample rate can be set to any value.

18: Sample bit depth

Specifies number of bits per I/Q sample transmitted via TCP/IP.

When the protocol is RTL0, only 8-bits are supported. SDRangel and Spy Server protocol supports 8, 16, 24 and 32-bit samples.

19: Server IP address

IP address or hostname of the server that is running SDRangel's Remote TCP Sink plugin, rtl_tcp or rsp_tcp.

20: Server TCP Port

TCP port on the server to connect to.

21: Protocol

Selects protocol to use. Set to SDRangel for rtl_tcp, rsp_tcp or SDRangel's own protocol. Set to SDRangel wss to use SDRangel's protocol over WebSocket Secure. Alternatively, Spy Server can be selected to connect to Spy Servers.

23: Connection settings

Determines which settings are used when connecting.

When checked, settings in the RemoteTCPInput GUI are written to the remote device upon connection. When unchecked, if the remote server is using the SDRangel protocol, the RemoteTCPInput GUI will be updated with the current settings from the remote device. If the remote server is using the RTL0 protocol, the GUI will not be updated, which may mean the two are inconsistent.

24: Pre-fill

Determines how many seconds of I/Q samples are buffered locally from the remote device, before being processed in SDRangel. More buffering can handle more network congestion and other network problems, without gaps in the output, but increases the latency in changes to remote device settings.

25: Input buffer gauge

Shows how much data is in the input buffer. Typically this will be just under the pre-fill setting. If it becomes empty, the plugin will pause outputting of data until the buffer is refilled to the pre-fill level. If the buffer repeatedly runs empty, this suggests you do not have enough network bandwidth for the current combination of channel sample rate and sample bit depth. Reducing these to lower values may be required for uninterrupted data.

26: Output buffer gauge

Shows how much data is in the output buffer. This should typically be empty. If not empty, this suggests your CPU can't keep up with the amount of data being received.

27: Device status

Shows the type of remote device that has been connected to.

28: Protocol status

Shows the protocol being used by the remote server. This will be RTL0, SDRA or Spy Server.

rtl_tcp and rsp_tcp always use the RTL0 protocol. SDRangel's Remote TCP Sink plugin can use RTL0 or SDRA.

RTL0 is limited to sending 8-bit data, doesn't support decimation and does not send the current device settings on connection. Spy Server supports decimation and gain, but no other settings.