diff --git a/README.md b/README.md
index 674d5a3..f76822c 100644
--- a/README.md
+++ b/README.md
@@ -4,81 +4,63 @@
This project is based on the RFSoC SoC Blockset reference design, adapted as a prototype for a Radar Electronic Support Measures (R-ESM) receiver.
-### Current Status
+The system implements a high-throughput signal chain in the FPGA (PL) and performs frame-based processing in the processor (PS).
-- Tx subsystem: simple tone generator (to be replaced by LFM pulse generator)
+---
+
+## Current Status
+
+- Tx subsystem: LFM pulse generator (DDS-based, complex output)
- Rx subsystem: fully functional channelizer pipeline (PFB-based)
-- PL → PS interface: AXI4-Stream + DMA working
+- PL → PS interface: AXI4-Stream + DMA operational
- PS processing: frame-based algorithm (RMS + peak detection)
---
## System Architecture
-ADC → Channelizer (PFB, 512 bins)
-→ FFT_Capture (frame control)
-→ FIFO Serializer (4 FIFOs → 1 stream)
-→ AXI4-Stream (uint64)
-→ DMA (S2MM)
-→ PS Memory
-→ Processor Algorithm (frame-based)
+ADC → Channelizer (PFB, 512 bins)
+→ FFT_Capture (frame control)
+→ FIFO Serializer (4 FIFOs → 1 stream)
+→ AXI4-Stream (uint64)
+→ DMA (S2MM)
+→ PS Memory
+→ Processor Algorithm
---
## Key Parameters
-- ADC Sampling Rate: 4096 MSPS
-- Decimation: 8
-- Effective BW: 512 MHz
-- Channels (FFT size): 512
-- Samples per clock: 4
-- FPGA clock: 128 MHz
-- Frame size (PS): 512 samples
+- ADC Sampling Rate: 4096 MSPS
+- Decimation: 8
+- Effective BW: 512 MHz
+- Channels (FFT size): 512
+- Samples per clock: 4
+- FPGA clock: 128 MHz
+- Frame size (PS): 512 samples
---
-## DMA (PL → PS)
+## 📚 Documentation
-- Data type: uint64
-- Frame size: 512
-- Buffers: 16
-- Memory: PS DDR
+### FPGA (PL)
-Each TLAST corresponds to one DMA frame.
+- [Tx Subsystem (Pulse Generator)](docs/pl_tx_subsystem.md)
+- [Rx Subsystem (Channelizer)](docs/pl_rx_subsystem.md)
+
+### Processor (PS)
+
+- [PS Subsystem](docs/ps_subsystem.md)
---
-## Processor (PS)
+## System Flow
-- Event-driven execution (triggered by DMA)
-- No task queueing
-- Frames may be dropped if processing is slower than input rate
+Tx → Rx → PS
----
-
-## Data Path in PS
-
-- Stream Read → uint64[512]
-- Bit extraction → real/imag
-- Conversion → complex vector
-- Processing → RMS + peak detection
-
----
-
-## Performance Notes
-
-- Bottleneck: unpacking + type conversion
-- PS cannot keep up with full-rate stream
-- Frames are skipped under load
-
----
-
-## FrFT Integration Plan
-
-- Replace Processor Algorithm with FrFT
-- Keep all other components unchanged
-- Input: complex single [512x1]
-- Accept dropped frames initially
+- Tx generates waveform
+- Rx captures and channelizes
+- PS processes frames
---
diff --git a/docs/pl_rx_subsystem.md b/docs/pl_rx_subsystem.md
new file mode 100644
index 0000000..2ab9ad9
--- /dev/null
+++ b/docs/pl_rx_subsystem.md
@@ -0,0 +1,34 @@
+# 📡 PL Rx Subsystem (Channelizer)
+
+## Overview
+
+Implements PFB channelizer and FFT processing.
+
+---
+
+## Architecture
+
+ADC → PFB → FFT → Capture → FIFO → AXI → DMA
+
+---
+
+## Processing
+
+- 4096 MSPS input
+- Decimation 8
+- FFT 512 bins
+
+---
+
+## Output
+
+- AXI4-Stream
+- uint64 format
+- TLAST per frame
+
+---
+
+## 🔗 Related Components
+
+- [PL Tx Subsystem](pl_tx_subsystem.md)
+- [PS Subsystem](ps_subsystem.md)
diff --git a/docs/pl_tx_subsystem.md b/docs/pl_tx_subsystem.md
new file mode 100644
index 0000000..c48712e
--- /dev/null
+++ b/docs/pl_tx_subsystem.md
@@ -0,0 +1,49 @@
+# 📡 PL Tx Subsystem (Pulse Generator)
+
+## Overview
+
+The Tx subsystem implements a pulse-based LFM chirp generator using a DDS/NCO architecture.
+
+---
+
+## Architecture
+
+TxPulseStart → pulse_gen_ctrl → tx_active → NCO → Output
+
+---
+
+## Chirp Generation
+
+Δφ[n] = Δφ[n−1] + step
+φ[n] = φ[n−1] + Δφ[n]
+
+---
+
+## Parameterization
+
+- Fc (center frequency)
+- B (bandwidth)
+
+Derived:
+f_start = Fc − B/2
+step = B / (N − 1)
+
+---
+
+## Pulse Timing
+
+|<------ PRI ------>|
+|<-- pulse -->| idle |
+
+---
+
+## Trigger
+
+Controlled via TxPulseStart (from PS subsystem)
+
+---
+
+## 🔗 Related Components
+
+- [PS Subsystem](ps_subsystem.md)
+- [PL Rx Subsystem](pl_rx_subsystem.md)
diff --git a/docs/ps_subsystem.md b/docs/ps_subsystem.md
new file mode 100644
index 0000000..e56b583
--- /dev/null
+++ b/docs/ps_subsystem.md
@@ -0,0 +1,32 @@
+# 🧠 PS Subsystem
+
+## Overview
+
+Handles control and processing.
+
+---
+
+## Control
+
+- Writes parameters
+- Triggers Tx (TxPulseStart)
+
+---
+
+## Processing
+
+DMA → unpack → complex → RMS/peak
+
+---
+
+## Execution
+
+- Event-driven
+- Frame drops possible
+
+---
+
+## 🔗 Related Components
+
+- [PL Tx Subsystem](pl_tx_subsystem.md)
+- [PL Rx Subsystem](pl_rx_subsystem.md)
diff --git a/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/rW25SbP5jRWeIzL7_iMpZrrygYkd.xml b/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/rW25SbP5jRWeIzL7_iMpZrrygYkd.xml
new file mode 100644
index 0000000..4356a6a
--- /dev/null
+++ b/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/rW25SbP5jRWeIzL7_iMpZrrygYkd.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/rW25SbP5jRWeIzL7_iMpZrrygYkp.xml b/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/rW25SbP5jRWeIzL7_iMpZrrygYkp.xml
new file mode 100644
index 0000000..9947c60
--- /dev/null
+++ b/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/rW25SbP5jRWeIzL7_iMpZrrygYkp.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/8i67CMLFhpgTFLAi_RBlc2P1lI0d.xml b/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/8i67CMLFhpgTFLAi_RBlc2P1lI0d.xml
new file mode 100644
index 0000000..4356a6a
--- /dev/null
+++ b/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/8i67CMLFhpgTFLAi_RBlc2P1lI0d.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/8i67CMLFhpgTFLAi_RBlc2P1lI0p.xml b/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/8i67CMLFhpgTFLAi_RBlc2P1lI0p.xml
new file mode 100644
index 0000000..45c1012
--- /dev/null
+++ b/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/8i67CMLFhpgTFLAi_RBlc2P1lI0p.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/XVu9f1ZjVk2AJ99l5f9CAU_dcMEd.xml b/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/XVu9f1ZjVk2AJ99l5f9CAU_dcMEd.xml
new file mode 100644
index 0000000..4356a6a
--- /dev/null
+++ b/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/XVu9f1ZjVk2AJ99l5f9CAU_dcMEd.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/XVu9f1ZjVk2AJ99l5f9CAU_dcMEp.xml b/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/XVu9f1ZjVk2AJ99l5f9CAU_dcMEp.xml
new file mode 100644
index 0000000..810e052
--- /dev/null
+++ b/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/XVu9f1ZjVk2AJ99l5f9CAU_dcMEp.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/mT-GHnZui1JHuHyjd1ddvO5o-Tsd.xml b/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/mT-GHnZui1JHuHyjd1ddvO5o-Tsd.xml
new file mode 100644
index 0000000..4356a6a
--- /dev/null
+++ b/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/mT-GHnZui1JHuHyjd1ddvO5o-Tsd.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/mT-GHnZui1JHuHyjd1ddvO5o-Tsp.xml b/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/mT-GHnZui1JHuHyjd1ddvO5o-Tsp.xml
new file mode 100644
index 0000000..01cb34e
--- /dev/null
+++ b/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/mT-GHnZui1JHuHyjd1ddvO5o-Tsp.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/uS1pkYbM9dJDnKGtwfzZHrJKyTYd.xml b/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/uS1pkYbM9dJDnKGtwfzZHrJKyTYd.xml
new file mode 100644
index 0000000..4356a6a
--- /dev/null
+++ b/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/uS1pkYbM9dJDnKGtwfzZHrJKyTYd.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/uS1pkYbM9dJDnKGtwfzZHrJKyTYp.xml b/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/uS1pkYbM9dJDnKGtwfzZHrJKyTYp.xml
new file mode 100644
index 0000000..ab1d05c
--- /dev/null
+++ b/resources/project/rW25SbP5jRWeIzL7_iMpZrrygYk/uS1pkYbM9dJDnKGtwfzZHrJKyTYp.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file