The ultimate software for your SDR station
Transcript of The ultimate software for your SDR station
The contents of this document may be reproduced in any form and by any means either in part or as a complete
document with changes if required.
SDR Server (V2) User Guide
The ultimate software for your SDR station
May 5, 2013 Copyright 2013 Simon Brown Page 2 of 28
Table of Contents
Contents
1 INTRODUCTION ....................................................................................................................... 4
1.1 TECHNOLOGY ...................................................................................................................... 4
1.1.1 Audio .......................................................................................................................................... 4
1.1.2 Waterfall .................................................................................................................................... 4
1.1.3 Networking ................................................................................................................................. 4
2 SERVER MANAGER ................................................................................................................ 5
3 SERVICE................................................................................................................................... 6
3.1 SERVICE .............................................................................................................................. 6
4 STATUS .................................................................................................................................... 8
5 ACCOUNTS .............................................................................................................................. 9
5.1 ADD .................................................................................................................................... 9
5.1.1 Basic ........................................................................................................................................... 9
5.1.2 Data Recording ........................................................................................................................ 10
5.1.3 Time Limits............................................................................................................................... 10
6 RADIOS...................................................................................................................................12
6.1 SEARCH ............................................................................................................................12
6.2 ADD ..................................................................................................................................12
6.3 EDIT ..................................................................................................................................13
7 NETWORK ..............................................................................................................................14
7.1 CONNECTIONS ...................................................................................................................14
7.2 BANDWIDTH .......................................................................................................................15
7.3 AUDIO CODEC ...................................................................................................................16
8 ON-AIR ....................................................................................................................................18
9 LOGFILES ...............................................................................................................................20
9.1 SESSION ...........................................................................................................................20
9.2 HISTORY ...........................................................................................................................21
May 5, 2013 Copyright 2013 Simon Brown Page 3 of 28
9.3 GEO LOCATION ..................................................................................................................21
10 HELP ...................................................................................................................................23
10.1 FIREWALL ..........................................................................................................................23
10.1.1 Console ................................................................................................................................ 23
10.1.2 Server ................................................................................................................................... 23
10.1.3 Radios .................................................................................................................................. 23
11 NETWORK PROTOCOL .....................................................................................................24
11.1 COMMAND CHANNEL ..........................................................................................................24
11.2 DATA CHANNEL .................................................................................................................25
12 TROUBLESHOOTING ........................................................................................................26
12.1 COMPATIBILITY ..................................................................................................................26
12.2 FIREWALLS ........................................................................................................................26
INDEX .............................................................................................................................................27
May 5, 2013 Copyright 2013 Simon Brown Page 4 of 28
1 Introduction
Welcome to the second generation SDR console from SDR-Radio.com. This new server
takes the technology developed in version 1 and adds many improvements to bring you the
most advanced SDR solution available today.
1.1 Technology
The server consists of two components:
1. A Windows service,
2. A user interface to configure the service.
By using a service the server can run ‘lights out’. If your computer is running then the service
will be running, it really is that simple.
This user guide describes the server user interface in detail.
1.1.1 Audio
The audio is compressed using the new Opus codec, see http://www.opus-codec.org/ for
more information. This new codec offers excellent quality and very low latency; features
important for the demanding user.
1.1.2 Waterfall
The waterfall data is compressed using an advanced algorithm which is a combination of
Huffman, LZSS and delta differences.
1.1.3 Networking
The networking uses two TCP/IP channels: one for command and control, the other for data
transport. More information is available later in this document.
May 5, 2013 Copyright 2013 Simon Brown Page 5 of 28
2 Server Manager
The server manager is started either from the Windows Start menu or the Tools panel in the
console’s ribbon bar.
The manager is a simple tabbed dialog; the options in each tab will now be explained.
To configure the service you must have administrator privileges enabled.
May 5, 2013 Copyright 2013 Simon Brown Page 6 of 28
3 Service
This window configures the service, the default settings are recommended.
The service uses the LocalService account.
Select the ‘Start service…’ checkbox to start the service when the computer starts.
From Microsoft’s website: “The LocalService account is a predefined local account used
by the service control manager. It has minimum privileges on the local computer and
presents anonymous credentials on the network.”
3.1 Service
For reference the service properties are shown below:
May 5, 2013 Copyright 2013 Simon Brown Page 7 of 28
May 5, 2013 Copyright 2013 Simon Brown Page 8 of 28
4 Status
This window is display only, it shows the current connections and the CPU used by the main
threads of each connection.
Select Registry to start the registry editor opened at the folder where the settings are
stored.
Select Width to fit the column widths to the displayed data.
May 5, 2013 Copyright 2013 Simon Brown Page 9 of 28
5 Accounts
Every connection uses an account.
5.1 Add
5.1.1 Basic
The Basic screen displays the main fields:
Enabled,
May 5, 2013 Copyright 2013 Simon Brown Page 10 of 28
Super user (for future use),
Username,
Password (select ‘Show characters’ to display the password),
Free-format comment.
The password strength is computed in accordance with Google’s recommendations, for more
information https://accounts.google.com/PasswordHelp .
5.1.2 Data Recording
Select ‘Enable data file…’ to enable data recording from the console.
Create one or more data file storage definitions. The console user can create recordings in
any of these folders.
5.1.3 Time Limits
May 5, 2013 Copyright 2013 Simon Brown Page 11 of 28
Use this screen to restrict the connection time and the reconnection interval. If the
reconnection interval is set to 10 minutes then at least ten minutes must elapse before the
user can reconnect.
May 5, 2013 Copyright 2013 Simon Brown Page 12 of 28
6 Radios
Here you maintain a list of radios the user can start. You either search automatically or add
manually.
Each radio definition contains a Range field – this is the frequency range displayed in
the Frequency Explorer in the console. After using Search you must check the range
and make any changes as necessary.
6.1 Search
Select Search, and then select an option from the dropdown menu. The software searches
for radios matching the search criteria and prompts you to add the new definitions to the list.
After adding new definitions you can change the definition name and frequency range by
highlighting an entry and pressing Edit.
6.2 Add
This window is used to add definitions for Ethernet radios, only use it if you cannot find the
radio using the search option.
May 5, 2013 Copyright 2013 Simon Brown Page 13 of 28
6.3 Edit
Here you can change an existing definition:
Address is the radio address in dotted format.
Port is the port used by the radio for incoming commands.
Range is the frequency range displayed in the frequency explorer in the console.
May 5, 2013 Copyright 2013 Simon Brown Page 14 of 28
7 Network
7.1 Connections
You cannot change these values while the service is started.
These options control incoming connections:
Listen on either any network address or just a single address,
The port number for incoming connections (default is 7999).
If your computer has more than one network adapter – for example Wi-Fi and wired it makes
sense to only allow incoming connections on the wired connection as this is less prone to
interruptions.
May 5, 2013 Copyright 2013 Simon Brown Page 15 of 28
7.2 Bandwidth
Here you adjust the FFT (waterfall) data for both WAN and LAN connections.
FFT size: the number of data points sent for each line shown in the waterfall.
Resolution: the number of bits per data point.
Max lines/second: the maximum number of waterfall (FFT) lines per second.
Max queue size: the maximum number of unsent messages before bandwidth
throttling algorithms are used. When the unsent message queue size exceeds this
value waterfall (FFT) data is discarded first, then audio data.
To reduce the network bandwidth use lower values for FFT size, Resolution and Max
lines/second.
May 5, 2013 Copyright 2013 Simon Brown Page 16 of 28
7.3 Audio Codec
This software uses the Opus Interactive Audio Codec to reduce network bandwidth when
sending audio between the server and the console. For more information about Opus visit
http://www.opus-codec.org/.
There are various options which can be set in the encoder (runs on the server), these are
described below.
The opus encoder supports three coding modes (the default used in the server is
OPUS_APPLICATION_AUDIO):
VOIP gives best quality at a given bitrate for voice signals. It enhances the input
signal by high-pass filtering and emphasizing formants and harmonics. Optionally it
includes in-band forward error correction to protect against packet loss. Use this
mode for typical VoIP applications. Because of the enhancement, even at high
bitrates the output may sound different from the input.
Audio gives best quality at a given bitrate for most non-voice signals like music. Use
this mode for music and mixed (music/voice) content, broadcast, and applications
requiring less than 15 ms of coding delay.
The encoder supports a hint which helps the encoder's mode selection (the default used is
OPUS_AUTO):
Auto (default)
Voice Bias thresholds towards choosing LPC or Hybrid modes.
May 5, 2013 Copyright 2013 Simon Brown Page 17 of 28
Music Bias thresholds towards choosing MDCT modes.
Maximum bitrate, default value is 40 kbps.
These values cannot be changed:
The encoder's expected packet loss percentage is set to 1%.
Complexity is set to the highest complexity (uses most CPU, produces best results),
the value is 10.
May 5, 2013 Copyright 2013 Simon Brown Page 18 of 28
8 On-Air
What is On-Air?
You enable the optional On-Air support to make your server visible on a public or private
website so other users see the status of your server and can connect with just a few
keystrokes.
When enabled updates are sent approximately every ten seconds to the central server.
On-Air Server
The address of the webpage to which the server information is uploaded. You will need a
Username and Password which are allocated either by the system administrator (internal
websites) or by registering (public sites).
Default Server Account
Optionally supply the Username and Password for a server account (see Accounts tab in this
program).
Station Description
May 5, 2013 Copyright 2013 Simon Brown Page 19 of 28
Here you provide information about your station configuration. The IP address is important -
this is your public IP address.
Latitude and Longitude are in decimal degrees.
The URL is an optional website where other users see details about your station.
May 5, 2013 Copyright 2013 Simon Brown Page 20 of 28
9 Logfiles
9.1 Session
The session logfile shows detailed information since the service started. If on-air updates are
enabled and you select the ‘Show on-air updates’ checkbox then the updates are added to
the session logfile for the next five minutes.
May 5, 2013 Copyright 2013 Simon Brown Page 21 of 28
9.2 History
A history of connections made to server and radios started.
9.3 Geo Location
May 5, 2013 Copyright 2013 Simon Brown Page 22 of 28
This product includes GeoLite data created by MaxMind, available from
http://www.maxmind.com.
Optionally use these free IP geolocation databases to discover information about a specific
IP address, this is shown in the Status window. The database files are in csv format,
downloadable from http://dev.maxmind.com/geoip/geolite . The databases to download are:
GeoLite City (CSV/zip), and
GeoLite Country (CSV/zip).
Unpack the contents of these files to a folder on your computer, and then select these files in
the fields above. The default filenames are:
GeoLiteCity-Blocks.csv
GeoLiteCity-Location.csv
IpToCountry.csv
The files are copied to this product's installation folder. After importing you must stop and
start the service.
May 5, 2013 Copyright 2013 Simon Brown Page 23 of 28
10 Help
10.1 Firewall
This software uses two TCP connections for communicating between the console and
server, also some radios such as the Net-SDR use TCP and UDP, so you must open up the
correct ports in your firewalls.
10.1.1 Console
The console connects to the server using TCP, the default port is 7999 (the port is shown in
the Network Connection window on the server).
TCP outgoing on port 7999
10.1.2 Server
The server accepts TCP connections on port 7999 (as selected in the Network Connection
window on the server).
TCP incoming on port 7999
10.1.3 Radios
Ethernet-based radios use TCP and/or UDP so you must know which ports are being used.
10.1.3.1 RFspace
The RFspace Net-SDR and SDR-IP use the same port for incoming TCP connection and
outgoing UDP packets, the default is 50,000. This port assignment is user-configurable.
TCP outgoing on port 50,000
UDP incoming on port 50,000
10.1.3.2 Ettus Research
The Ettus radios use a default port of 49152 for UDP control and receiving UDP packets.
This port assignment is user-configurable.
UDP outgoing and incoming on port 49152.
May 5, 2013 Copyright 2013 Simon Brown Page 24 of 28
11 Network Protocol
All networking uses TCP/IP. The console creates two connections with the server:
Command and status,
Audio and FFT data.
Although one connection could be used the aim is to have the audio streaming with the
lowest possible latency, hence the two-channel approach. Nothing which is sent on the
command channel affects the data channel.
The information presented here is by no means complete; it servers only to outline the
technology used. If necessary the exact protocol and message formats will be documented
at a later date.
11.1 Command Channel
All commands are sent as UTF-8 XML, the XML is compressed using Lempel–Ziv–Storer–
Szymanski (LZSS) to reduce bandwidth.
The messages sent are:
Connection
o Ack, sent by the console every 500 milliseconds as a keep alive message.
The message contains a timestamp used to determine the round trip time.
o Login, sent when establishing a connection.
o UpdateDemod, updates the demodulation options for a VFO channel.
Radio
o Start, sent when starting a radio.
o Stop, sent when stopping a radio.
o UpdateRadio, update the radio settings such as RF gain.
Data (IQ) Recording
o RecorderStart, starts data (IQ) recording on the server.
o RecorderStop, stops data (IQ) recording on the server.
Data (IQ) Playback
o PlaybackFiles, server returns a list of recordings for a specific folder.
o PlaybackFileInfo, server returns detailed information for a specific recording
file.
o PlaybackFileGain, adjusts the gain in the player.
May 5, 2013 Copyright 2013 Simon Brown Page 25 of 28
o PlaybackFilePause, pauses playback.
o PlaybackFileRepeat, sets the repeat option for the player.
o PlaybackFileSpeed, adjust the playback speed (supplies feedback and rate
information required for smooth playback).
o PlaybackFileStart, starts playback.
o PlaybackFileStop, stops playback.
Radio Settings
o GetDialogOptions
o SetDialogOptions
11.2 Data Channel
The data channel is used by the server to send audio and waterfall (FFT) data to the
console.
The audio is compressed using Opus, the FFT data is compressed using an advanced
algorithm which is a combination of Huffman, LZSS and delta differences.
If there is insufficient bandwidth waterfall data is dropped to keep the audio flowing.
May 5, 2013 Copyright 2013 Simon Brown Page 26 of 28
12 Troubleshooting
12.1 Compatibility
The version 2 server is only compatible with the version 2 console.
12.2 Firewalls
Beware of firewalls, for more information see page 23.
May 5, 2013 Copyright 2013 Simon Brown Page 27 of 28
Index
Account
Basic ............................................................... 9
Time Limits ................................................... 10
Account
Data Recording ............................................ 10
Accounts ............................................................ 9
Administrator privileges ..................................... 5
Audio .................................................................. 4
Audio Codec ..................................................... 16
Bandwidth ........................................................ 15
Command Channel ........................................... 24
Compatibility .................................................... 26
CPU..................................................................... 8
Ettus Research ................................................. 23
FFT .................................................................... 15
Firewall ............................................................. 23
Geo Location .................................................... 21
GeoLite ............................................................. 22
History .............................................................. 21
Huffman ....................................................... 4, 25
Introduction ....................................................... 4
LocalService account .......................................... 6
Logfiles ............................................................. 20
LZSS .............................................................. 4, 25
MaxMind .......................................................... 22
Network ........................................................... 14
Network address .............................................. 14
Network Protocol ............................................. 24
Networking ........................................................ 4
On-Air ............................................................... 18
Opus ............................................................. 4, 16
Password strength ........................................... 10
Port .................................................................. 14
Radio
Address ........................................................ 13
Frequency range .......................................... 13
Port .............................................................. 13
Radios ............................................................... 12
Registry editor .................................................... 8
RFspace ............................................................ 23
Server Manager .................................................. 5
Service ............................................................ 4, 6
Service properties .............................................. 6
Session ............................................................. 20
Status ................................................................. 8
Troubleshooting ............................................... 26
Waterfall ...................................................... 4, 15
The contents of this document may be reproduced in any form and by any means either in part or as a complete
document with changes if required.