Wireless Software Engineer – SDR

AnashieldHovedstadenworkindenmarkavaldatud 02.10.2026
Nõutav:PythonGitCI/CDAIHybrid

Location: Hybrid, Copenhagen

Full-time · Visa sponsorship available

Role Summary

We are looking for a software engineer who lives in the signal-processing layer of Software Defined Radio. You will build the software that turns raw I/Q from our SDR front-ends into reliable, real-time detection, classification and localisation of wireless emitters – from the low-level sample pipeline and DSP blocks through to the services and interfaces the rest of the product is built on.

Key Responsibilities

Design and implement real-time I/Q processing pipelines in C++ and Python: channelisation, filtering, resampling, synchronisation, demodulation and detection.

Build and maintain SDR applications on GNU Radio and/or custom frameworks, including out-of-tree blocks and streaming architectures for continuous wideband capture.

Implement signal detection, classification and parameter estimation (energy and cyclostationary detection, burst segmentation, carrier and symbol-rate estimation, modulation recognition).

Implement direction-finding and localisation algorithms (phase interferometry, MUSIC/ESPRIT, TDoA) on coherent multi-channel SDRs.

Drive SDR hardware from software: tuning, gain and sample-rate control, PPS/GPSDO timing, multi-channel phase coherence and calibration (USRP/UHD, AD936x, Matchstiq/Sidekiq-class platforms).

Optimise for real-time performance: multi-threading, lock-free buffering, SIMD, GPU acceleration and profiling, to sustain wideband sample rates without drops.

Build the surrounding software: capture and recording tools, replay and offline analysis, telemetry, configuration, and interfaces to the rest of the system.

Work with the RF hardware and FPGA side on interfaces, data formats and system-level performance, and support lab measurement and field trials.

Contribute to testing and validation: unit tests on synthetic signals, regression against recorded captures, and repeatable over-the-air test procedures.

Required Qualifications

Strong C++ (modern C++14/17 or newer) and Python, with a track record of production-quality, performance-sensitive code.

Solid grounding in digital signal processing: sampling, filtering, FFT and spectral estimation, synchronisation, and digital modulation.

Hands-on experience developing on SDR platforms (USRP/UHD, AD936x or equivalent) and working with live I/Q data.

Experience with GNU Radio or a comparable streaming DSP framework.

Comfortable with Linux development, CMake, Git, and debugging real-time systems.

Able to reason about a signal chain end to end – and to work from a spectrum analyser trace or a recorded capture back to a bug in the code.

Nice-to-Haves

Wireless protocol knowledge (Wi-Fi, Bluetooth/BLE, LoRa, DSSS/FHSS control links, OFDM systems, LTE/5G NR).

Experience with wideband spectrum monitoring, passive sensing or emitter localisation.

Machine learning applied to RF (signal classification, RF fingerprinting), with PyTorch or similar.

GPU or accelerated DSP (CUDA, VkFFT) and embedded targets (Jetson, Zynq/ZynqMP, ARM SoCs).

FPGA exposure (RFNoC, Vivado, HDL) or experience defining hardware/software interfaces.

Containerisation, CI/CD, and deployment to embedded or field-deployed systems.