Files
Zcu111ResmReceiver/docs/pl_tx_subsystem.md
2026-04-29 14:11:51 -03:00

3.2 KiB
Raw Blame History

📡 PL Tx Subsystem (Pulse & Continuous LFM Generator)

🏠 Project Home


Overview

The Tx subsystem implements a pulse-based and continuous Linear Frequency Modulated (LFM) chirp generator using a DDS/NCO architecture in the FPGA (PL).

The generator produces complex baseband output:

x[n] = exp(j·φ[n])

and operates deterministically in the PL after a trigger from the PS.


Architecture

TxPulseStart (PS)

pulse_gen_ctrl (FSM)

tx_active

Phase Increment Logic

NCO (DDS)

Complex Output (I/Q)


Operating Modes

The subsystem now supports multiple Tx modes:

1. Pulsed LFM (default)

  • Chirp generated only during pulse window
  • Phase resets at each pulse start
  • Standard radar burst operation

2. CW Mode (Continuous Wave)

  • tx_active = 1 continuously
  • Generates a single-tone output
  • Achieved by setting constant phase increment

3. Continuous LFM (Workaround Implementation)

  • tx_active forced HIGH continuously
  • A 1-cycle LOW pulse is inserted periodically
  • This LOW→HIGH transition resets the NCO

Result:

  • Continuous chirp
  • Bounded bandwidth
  • Periodic repetition of LFM

Chirp Generation Principle

The chirp is generated using a second-order phase accumulator:

Δφ[n] = Δφ[n1] + step
φ[n] = φ[n1] + Δφ[n]

This results in a linear frequency sweep.


Parameterization (PS → PL)

Inputs:

  • Center frequency: Fc
  • Bandwidth: B
  • Pulse width: N (samples)

Derived internally:

f_start = Fc B/2
step = B / (N 1)

These values are converted to DDS phase increments before being written to PL registers.


Pulse Timing (FSM)

States:

  • IDLE: waits for trigger and latches parameters
  • ACTIVE: generates pulses
  • DONE: waits for trigger reset

Timing Behavior

Pulsed Mode

|<------ PRI ------>| |<-- pulse -->| idle |

  • tx_active = 1 → chirp output
  • tx_active = 0 → output zero

Continuous LFM Mode

tx_active behavior:

1 1 1 1 1 0 1 1 1 1 ...

  • 1-cycle LOW inserted at end of chirp period
  • Rising edge resets NCO
  • Defines chirp repetition interval

CW / Continuous LFM Implementation Details

  • CW mode bypasses FSM output
  • A dedicated counter generates periodic reset pulses
  • Reset timing is based on pulse_width_cycles

Important:

  • Reset pulse is exactly 1 clock cycle
  • Ensures deterministic NCO restart
  • Decoupled from PRI/FSM timing

Burst Trigger (PS Interaction)

  • Controlled via TxPulseStart (memory-mapped register)
  • Rising edge triggers burst
  • PL runs autonomously afterward

Key Characteristics

  • Deterministic timing (128 MHz)
  • Efficient DDS (adder-based)
  • Complex output (I/Q)
  • Supports:
    • Pulsed radar mode
    • Continuous wave (CW)
    • Continuous LFM (periodic chirp)

Design Notes

  • FSM controls timing (when to transmit)
  • NCO controls frequency evolution
  • Continuous LFM implemented via tx_active edge reuse
  • Minimal hardware overhead (no additional NCO logic)