🇫🇷 Version française : LISEZMOI.md
Interactive tutorial of the digital satellite TV chain: from capturing an image to shaping the QPSK signal, following MPEG-2 and DVB-S (EN 300 421). Each step is a standalone HTML page doing the real computations: it loads the file produced by the previous step (JSON or binary), processes it step by step with visualisation, and saves its result for the next step.
No library, no installation. User interfaces in French.
| Step | Launch | Processing | Input → output | Screenshot |
|---|---|---|---|---|
| 00 | Image capture from the webcam | webcam → image | view | |
| 01 | RGB → YCbCr 4:2:0, 16×16 macroblocks (4 Y + 1 Cb + 1 Cr) | image → macroblock JSON | view | |
| 02 | Centring −128, 8×8 2D DCT | macroblocks → coefficients | view | |
| 03 | Division by the quantisation matrix (lossy) | coefficients → quantised integers | view | |
| 04 | Zigzag scan of the 64 coefficients | blocks → 64-value vectors | view | |
| 05 | (run, level) pairs, variable-length codes | vectors → bitstreams | view | |
| 06 | MPEG-2 sequence, GOP, picture headers, slices | bitstreams → .es file | view | |
| 07 | PES packets, PTS timestamps | ES → PES | view | |
| 08 | 188-byte packets, PAT and PMT tables | PES → playable .ts file | view | |
| 09 | Energy dispersal, polynomial 1 + X¹⁴ + X¹⁵, 8-packet super-frame | TS → randomised TS | view | |
| 10 | RS(204,188) shortened from RS(255,239), GF(2⁸) 0x11D, 8 correctable bytes | 188 → 204 bytes | view | |
| 11 | Forney convolutional interleaver, I = 12, M = 17 | RS blocks → interleaved stream | view | |
| 12 | K = 7, rate 1/2, G1 = 171₈, G2 = 133₈, optional puncturing | stream → coded bits | view | |
| 13 | 2 bits → I/Q symbol, Gray coding | bits → I/Q symbols | view | |
| 14 | Square-root raised-cosine pulse shaping | symbols → shaped signal | view |
- Open step 00 (webcam) or 01 (image file).
- At each step: load the file from the previous step, run the processing (at once or step by step), save the output.
- Move on to the next step with that file.
| Version | Change |
|---|---|
| 2026-10-17 | Old SRRC filter removed (only v2 kept), pages renamed without copy suffix, header blocks, home page fixed, README / LISEZMOI rewritten, screenshot of every step |
CC BY-NC 4.0
Eric PERRET — GitHub
