Engineering services

Signal Processing and Embedded Software

We develop real-time signal-processing and embedded software for FPGA-based communication, sensing and high-speed data-acquisition systems. ✓ FPGA-based digital signal processing ✓ Embedded Linux application software ✓ Linux kernel drivers and PCIe DMA ✓ MATLAB, GNU Octave and Python simulation ✓ Algorithm verification and debugging ✓ NVIDIA GPU acceleration

NVIDIA GPU accelerator used for signal processing development

Embedded software

Linux, drivers and high-speed data paths

Software is developed together with the FPGA and hardware interfaces it needs to control, with particular attention to efficient movement of high-rate data.

Linux application software

Application development for FPGA-based systems including TCP server/client communication, UDP networking, PCI Express interfaces and high-speed Ethernet data transfer.

Linux kernel drivers

PCI Express drivers with DMA support for efficient transfers between FPGA hardware and system memory, including SoC FPGA platforms with integrated processing and memory controllers.

Simulation & verification

MATLAB, GNU Octave and Python

Algorithms are modeled and verified before implementation, and the same environment is used during FPGA, hardware and firmware debugging.

Algorithm simulation

Signal-processing algorithms are simulated and evaluated before FPGA or GPU implementation.

VHDL verification

Reference models are used for functional verification of VHDL signal-processing components.

System debugging

Simulation and analysis tools are used during FPGA, firmware and hardware testing to identify implementation and integration problems.

Signal processing

FPGA and GPU acceleration

Our primary focus is deterministic, high-throughput signal processing implemented in FPGA logic, with GPU acceleration used where it fits the system architecture.

Synchronization & recovery

Timing recovery loops, carrier recovery, PLL-based synchronization and related communication-system algorithms.

Digital filtering

Real-time FIR, IIR and multirate filtering for communication, sensing and data-acquisition systems.

Adaptive processing

Adaptive equalizers including CMA and decision-directed algorithms.

Spectrum processing

FFT-based spectrum analysis, channelization and frequency-domain processing.

FPGA implementation

Pipeline architecture, fixed-point implementation and resource/performance optimization for real-time processing.

GPU acceleration

NVIDIA GPU acceleration for workloads that benefit from massively parallel processing alongside FPGA hardware.

System integration

One signal-processing chain from model to hardware

Where required, JSE can cover the algorithm model, FPGA implementation, Linux data path and accelerated host-side processing as one integrated system.

Model

Algorithm definition, simulation and numerical verification.

FPGA & data path

Real-time implementation, hardware interfaces, DMA and high-speed data transport.

Host processing

Linux software, networking and GPU processing around the FPGA subsystem.

Need real-time DSP or embedded software around FPGA hardware?

We can develop the algorithm model, FPGA implementation, Linux data path and GPU acceleration as one integrated system.

Contact JSE