Home > On-Demand Archives > Talks >

FlexLink, a Practical OFDM Datalink, Introduction and Python Demonstrations

Leonard Dieguez - Watch Now - DSP Online Conference 2024 - Duration: 55:23

FlexLink, a Practical OFDM Datalink, Introduction and Python Demonstrations
Leonard Dieguez

This presentation can be described as a technical deep-dive into the design and implementation of the FlexLink waveform, specifically tailored for drone communication systems. It covers both theoretical and practical aspects, providing an in-depth look into the key elements of the waveform, such as the Burst, Preamble A, Preamble B, first control signal with references, and Payload A.

In addition to the technical breakdown, the presentation includes a live demonstration of how Python-based model design code runs, showcasing the practical implementation of the waveform. The focus is on how this waveform optimizes communication in high-mobility environments, specifically on drones, and how its features support real-time video transmission, telemetry, and control.

Description of the Presentation:

  • Content Focus: Detailed exploration of FlexLink waveform elements and how they apply to the waveform and drone communications.
  • Hands-On Demonstration: Demonstrating Python code for model-based design, bridging theory and practical implementation.
  • Target Audience: Engineers, designers, and technologists interested in RF waveforms, drone communication systems, and model-based design.
  • Outcome: Attendees will gain an understanding of how FlexLink is implemented in real-world UAV applications, including insights into the signal structure, operational advantages, and how to use Python for performance modeling.

This presentation serves as both an overview and demonstration that blends knowledge with practical coding and design applications.

This guide was created with the help of AI, based on the presentation's transcript. Its goal is to give you useful context and background so you can get the most out of the session.

What this presentation is about and why it matters

This talk introduces FlexLink, an open-specified OFDM-based datalink designed for UAV (FPV) applications. The presenter mixes waveform design principles with hands-on Python demonstrations showing how preambles, bursts, reference symbols, and payloads are built and detected in practice. For engineers working in wireless communications, embedded RF systems, or real-time video links, the talk is valuable because it connects signal-processing theory (FFT/IFFT mapping, synchronization, correlation) to implementation choices that affect latency, robustness, and ease of implementation on FPGAs or CPUs.

Who will benefit the most from this presentation

  • RF and communications engineers designing UAV video and control links.
  • DSP engineers who want practical examples of synchronization and preamble design in OFDM systems.
  • Embedded/Firmware developers implementing PHY-layer functions on microcontrollers, DSPs, or FPGAs.
  • Students or researchers seeking a compact, example-driven view of how waveform blocks (AGC bursts, preambles, resource grids) are used end-to-end.

What you need to know

The presentation assumes familiarity with basic digital communications concepts. Below are the key ideas and the minimal background that will help you follow the demos and rationale.

Core concepts

  • OFDM basics: OFDM splits a wideband channel into many narrowband subcarriers, each modulated separately. Implementation requires an IFFT at the transmitter and an FFT at the receiver.
  • FFT / IFFT mapping: The resource grid (time × frequency) maps symbols to specific FFT bins. A 1024-point IFFT is a common example; only a subset of bins may be used.
  • Cyclic prefix (CP): A short copy of the end of the OFDM symbol appended to the front to preserve orthogonality in multipath. FlexLink uses a CP on the order of $5.8\ \mu s$ for the target multipath conditions.
  • Subcarrier spacing and sampling: Subcarrier spacing in FlexLink is about $f_{sc}\approx 19\ \text{kHz}$ with a sampling rate $F_s\approx 20\ \text{MS/s}$. Those choices determine FFT size and CP length tradeoffs.
  • Single-carrier tradeoffs: The talk contrasts single-carrier PSK/QAM (lower PAPR, simpler amplifiers) with OFDM (robust to frequency-selective fading). FlexLink borrows ideas from both worlds.
  • Synchronization primitives: The waveform begins with an AGC burst (Zadoff–Chu), then Preamble A (frequency-offset estimation) and Preamble B (timing/correlation). Correlation-based detection and phase estimation are demonstrated in Python.
  • Reference signals and resource grid: Periodic reference symbols let the receiver track channel and perform channel estimation; the resource grid defines where references and data live.
  • FEC and modulation: Expect to see LDPC/Polar or convolutional options, and modulation choices like BPSK/QPSK/16-QAM/64-QAM. Control/signal fields are typically robustly coded (e.g., BPSK + CRC).

Glossary

  • OFDM — Orthogonal Frequency Division Multiplexing: multi-carrier modulation that uses parallel narrowband subcarriers and an IFFT/FFT pair.
  • FFT / IFFT — Fast Fourier Transform / Inverse FFT: algorithms to convert between time-domain waveforms and frequency-domain subcarrier symbols.
  • Cyclic Prefix (CP) — A prefix copied from the end of an OFDM symbol to mitigate inter-symbol interference due to multipath.
  • PAPR — Peak-to-Average Power Ratio: a key metric (worse for OFDM) that affects power amplifier efficiency and linearity demands.
  • Zadoff–Chu (ZC) sequence — A constant-amplitude complex sequence used for AGC bursts and synchronization because of its ideal autocorrelation properties.
  • Preamble A — A waveform component designed for coarse frequency-offset acquisition and initial detection (FlexLink uses two summed sinusoids repeating every 32 samples).
  • Preamble B — A timing synchronization preamble (often a bandwidth-limited ZC sequence) used with correlation to find symbol boundaries.
  • AGC burst — A short known burst (here ZC) sent before the packet so the receiver sets ADC gain correctly.
  • Resource grid — The time–frequency layout of resource elements and reference signals (columns = OFDM symbols, rows = subcarriers).
  • FEC (LDPC / Polar) — Forward Error Correction schemes used to protect data blocks: LDPC and Polar codes are modern high-performance choices.

Final note

This presentation strikes a nice balance between practical design choices and executable examples. If you like seeing how theory maps to code and waveforms — especially how preambles and correlation are used to find timing and frequency in noisy, multipath UAV channels — you will come away with concrete techniques to prototype or evaluate a datalink. The Python demos notably make the concepts tangible: you can replay the same impairment scenarios and see how detection, FFT-window alignment, and reference symbols behave. Its a solid, hands-on look at waveform engineering for fast-moving, latency-sensitive links.

M↓ MARKDOWN HELP
italicssurround text with
*asterisks*
boldsurround text with
**two asterisks**
hyperlink
[hyperlink](https://example.com)
or just a bare URL
code
surround text with
`backticks`
strikethroughsurround text with
~~two tilde characters~~
quote
prefix with
>

Philippe
Score: 0 | 1 year ago | no reply

Thank you for the presentation. I am curious as to how much frequency and sampling rate error in ppm can be supported by this preamble design. 20 years ago, I remember having to do coarse then fine frequency offset acquisition followed by phase tracking. It is not obvious that coarse and fine acquisition are both possible in this air interface and the sub carrier spacing is pretty narrow, so I was wondering how this is achieved. Thank you.

Roman_Kucbel
Score: 0 | 1 year ago | 1 reply
This post has been deleted by the author
LeonardSpeaker
Score: 0 | 1 year ago | no reply

He should be in the live Q&A session on the 30th. There are probably some interesting things you can do if the data rate is slow. One thought would be replicate the data or "spread" the data across multiple ofdm symbols and bins. This could allow you to lower the overall signal power output as well. This is meant to be a framework starting point for people that wish to design custom datalinks. We are still refining the "spec" and working on receiver sections. Overall someone could tailor the datalink to operate in lower bands and use less data or bandwidth.