Step-by-step visuals from filtering and frame sync through Walsh decoding, phase correction, and frequency-offset estimation.
Figure 1. Magnitude of the RCOS-filtered, 4×-downsampled received signal; red marker indicates the detected frame start using a |rcvd_filt| > 0.95 threshold.
Figure 2. Pilot frame overlaid with the best-matching PN sequence (BPSK-modulated m-sequence) selected via maximum correlation, confirming the transmitter LFSR initial state.
Figure 3. Denoised frames after division by the PN sequence; pilot and data structure are visible across full 255-chip frames before cropping.
Figure 4. Denoised frames cropped to 192 chips (3 × 64-chip characters), removing trailing padding for downstream decoding.
Figure 5. Second frame (real part): full 192-chip sequence, first 64-chip character segment, and its first 8-chip row highlighted—setup for Walsh decoding.
Figure 6. Magnitude of the coded 8×8 chip block c for one character prior to Walsh despreading.
Figure 7. Walsh-decoded matrix x = c' · H: pilot (column 1) and data channel (column 6) are clearly separated after despreading.
Figure 8. Constellation of decoded symbols before phase correction (“rotated data”); a common phase rotation is evident from residual frequency/phase offset.
Figure 9. Constellation after de-rotation using the pilot reference (x / x(:,1)), realigned for BPSK demapping of the data channel.
Figure 10. Unwrapped average phase across frames with linear fit; the slope/(2π·Tf) provides the estimated constant frequency offset in Hz.









