/Patroclus

Software defined radio emulator

Primary LanguageC#MIT LicenseMIT

Patroclus - Software Defined Radio Emulator

Introduction

This software emulates a HPSDR Hermes transceiver. It adds together a user selectable number of sine wave signals and recorded .wav IQ files for each enabled receiver. It will generate signals for as many receivers as the client requests. Currently only the command and control messages needed for signal generation are emulated.

It was written as an exercise to gain understanding of Hermes and sdr in general. If time and motivation allow it might be extended to emulate other radios and protocols.

It has been tested with the following sdr clients

  • CuSDR64 0.3.2.14 - Works well, although CuSDR does send out wrong tx frequency commands.

  • KISS Konsole 1.1.28 - This does not allow connections to a receiver on the same ip address as itself so you either have to run the emulator somewhere else on the network or remove the check from the source of KISS (in EthernetDevice.cs)

  • PowerSDR mRX PS 3.2.19 - No problems.

  • SDR# using ExtIO_hpsdr_msvc.dll - The extio dll rejects connections from the same ip address as itself so again the emulator has to run elsewhere on the network.

  • HDSDR using ExtIO_hpsdr_msvc.dll - Same as SDR#

  • Thetis V2.1.18 will run on same pc.

  • SparkSDR my client for Hermes Lite - emulator will provide up to 32 receivers for hermes lite extended old protocol.

Build

The original Patroclus project is depreciated but can be built with Visual Studio 2013 or later. It uses .net4.5

Patroclus.Avalonia is where any further development will be, it has the advantage of running on windows, linux and macos. To build install the .net6.0 sdk then from the Patroclus.Avalonia directory run the following:-

dotnet restore

dotnet run

Patroclus