updated doc: Tx subsystem
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
# 📡 PL Tx Subsystem (Pulse Generator)
|
# 📡 PL Tx Subsystem (Pulse & Continuous LFM Generator)
|
||||||
|
|
||||||
[🏠 Project Home](../README.md)
|
[🏠 Project Home](../README.md)
|
||||||
|
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
The Tx subsystem implements a **pulse-based Linear Frequency Modulated (LFM) chirp generator** using a DDS/NCO architecture in the FPGA (PL).
|
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**:
|
The generator produces **complex baseband output**:
|
||||||
|
|
||||||
@@ -24,7 +24,7 @@ pulse_gen_ctrl (FSM)
|
|||||||
↓
|
↓
|
||||||
tx_active
|
tx_active
|
||||||
↓
|
↓
|
||||||
Phase Increment Counter
|
Phase Increment Logic
|
||||||
↓
|
↓
|
||||||
NCO (DDS)
|
NCO (DDS)
|
||||||
↓
|
↓
|
||||||
@@ -32,6 +32,39 @@ Phase Increment Counter
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 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
|
## Chirp Generation Principle
|
||||||
|
|
||||||
The chirp is generated using a second-order phase accumulator:
|
The chirp is generated using a second-order phase accumulator:
|
||||||
@@ -72,7 +105,7 @@ States:
|
|||||||
|
|
||||||
## Timing Behavior
|
## Timing Behavior
|
||||||
|
|
||||||
Within each PRI:
|
### Pulsed Mode
|
||||||
|
|
||||||
|<------ PRI ------>|
|
|<------ PRI ------>|
|
||||||
|<-- pulse -->| idle |
|
|<-- pulse -->| idle |
|
||||||
@@ -80,7 +113,31 @@ Within each PRI:
|
|||||||
- tx_active = 1 → chirp output
|
- tx_active = 1 → chirp output
|
||||||
- tx_active = 0 → output zero
|
- tx_active = 0 → output zero
|
||||||
|
|
||||||
Chirp is reset at each pulse start.
|
---
|
||||||
|
|
||||||
|
### 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
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -97,7 +154,19 @@ Chirp is reset at each pulse start.
|
|||||||
- Deterministic timing (128 MHz)
|
- Deterministic timing (128 MHz)
|
||||||
- Efficient DDS (adder-based)
|
- Efficient DDS (adder-based)
|
||||||
- Complex output (I/Q)
|
- Complex output (I/Q)
|
||||||
- Supports burst-mode radar operation
|
- 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)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user