Adds section 7 covering preamble-less frame sync using syndrome
screening, which was missing from the original report.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Comprehensive report for FPGA partner covering:
- System architecture and channel model
- LDPC decoder hardware blocks
- Code optimization journey (5.23 -> 1.03 photons/slot)
- SC-LDPC threshold saturation results
- RTL implementation plan and area estimates
Includes 10 figures: system architecture, channel model,
degree distributions, FER curves, threshold progressions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implement position-aware density evolution for SC-LDPC codes:
- sc_density_evolution(): flooding-schedule DE tracking per-position
error rates, demonstrating the wave decoding effect
- compute_sc_threshold(): binary search for SC-LDPC threshold
Uses flooding schedule (not layered) to avoid belief divergence
from cross-position message interference in the coupled chain.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Run FER validation at Z=128 with normalized min-sum (alpha=0.875).
Best alpha found via sweep: 0.875 (threshold 2.90 photons/slot).
Z=128 matrix achieves girth=8 vs girth=6 at Z=32.
Add Z=128 vs Z=32 FER comparison plot.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implement windowed_decode() for SC-LDPC codes using flooding
min-sum with sliding window of W positions. Supports both
normalized and offset min-sum modes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implement spatially-coupled LDPC code construction with:
- split_protograph(): split base matrix edges into w components
- build_sc_chain(): build full SC-LDPC H matrix with L positions
- sc_encode(): GF(2) Gaussian elimination encoder for SC chain
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Make validate_matrix() and run_full_pipeline() accept z parameter
instead of using hardcoded Z=32. Thread cn_mode/alpha to validation.
Add --z/--cn-mode/--alpha CLI options to full pipeline.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add optimize_alpha() function that sweeps hardware-friendly alpha
values to find the best DE threshold with normalized min-sum.
Add alpha-sweep CLI subcommand and --z/--cn-mode/--alpha options
to the full pipeline.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Thread cn_mode and alpha parameters through the entire DE pipeline:
de_cn_update_vectorized(), density_evolution_step(), run_de(),
compute_threshold(), and compute_threshold_for_profile().
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add cn_mode ('offset'/'normalized') and alpha parameters to
min_sum_cn_update() in ldpc_sim.py and generic_decode() in
ldpc_analysis.py. Normalized mode scales magnitudes by alpha
(default 0.75) instead of subtracting a fixed offset, which
is better suited for low-rate codes.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Covers all five studies: rate comparison, base matrix quality,
quantization sweep, Shannon gap, and frame synchronization.
Includes interpretation, recommendations, and reproduction steps.
Key findings: 9 dB gap to Shannon, matrix degree distribution is
the primary bottleneck, 6-bit quantization validated, frame sync
tractable at ~30 us acquisition cost.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fixed improved staircase: below-diagonal connections preserve full
parity rank (col7->row0 s3, col1->row4 s15)
- Fixed PEG matrix: staircase backbone with cross-connections,
all parity cols dv>=2, VN degrees [7,3,3,3,2,2,2,2]
- Clean up VN degree display (remove np.int64 wrapper)
- Ran all four analyses with 200 frames per point
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implements four LDPC code analyses for photon-starved optical channels:
- Rate sweep: compare FER across 1/2, 1/3, 1/4, 1/6, 1/8 IRA staircase codes
- Matrix comparison: original staircase vs improved staircase vs PEG ring
- Quantization sweep: 4-16 bit and float precision impact on FER
- Shannon gap: binary-input Poisson channel capacity limits via binary search
Core infrastructure includes generic IRA staircase builder, GF(2) Gaussian
elimination encoder for non-triangular matrices, parameterized layered
min-sum decoder with variable check degree, and BFS girth computation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Covers frame synchronization prototype (acquisition + re-sync)
and four code analysis studies: rate comparison, base matrix
quality, quantization sweep, and Shannon gap computation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
IRA staircase structure: col 0 = info (dv=7), cols 1-7 = parity (dv=1-2).
RTL decoder core still needs CN update rework for variable degree.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fixed cyclic shift convention (QC-LDPC P_s is left shift, not right)
- Fixed encoder to solve rows sequentially (row 0 first for p1, then 1-6)
- Fixed decoder to only gather connected columns per CN (staircase has dc=2-3)
- Fixed LLR sign convention: positive = bit 0 more likely
- Decoder validates at lam_s >= 4 photons/slot (~90% frame success)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>