Before this:SNR, EVM & BER
Error correction & framing
Key takeaways Recovered bits are noisy and shapeless. Framing gives them structure — a sync word marks where each frame begins. Interleaving scrambles bit order so a burst of errors is spread thin. Forward error correction (FEC) — convolutional codes with Viterbi decoding, or Reed–Solomon — adds redundancy that repairs flipped bits with no retransmission. Together they turn a link with a nonzero BER into trustworthy data.
Symbol recovery gave us bits; some are wrong. This lesson is the layer that makes those bits reliable — the bridge from DSP into protocol decoding. It follows directly from SNR/EVM/BER and hands off to the digital-trunking module’s framing, FEC & interleaving.
Framing: finding structure in a stream
After symbol recovery you have an unbroken river of bits with no markers. Framing imposes structure. The transmitter groups bits into frames of a fixed layout and prefixes each with a sync word — a known pattern the receiver searches for by sliding a comparison along the stream until it matches.
Once aligned, the fixed layout tells the decoder where the header, addresses, and payload sit — the boundary where DSP ends and protocol decoding begins.
Interleaving: defeating burst errors
Radio errors rarely come one at a time. A fade or a burst of interference corrupts a run of consecutive bits — and a long burst can overwhelm any error-correcting code, which can only fix so many errors in one block. Interleaving is the clever countermeasure: shuffle the bit order before transmission and unshuffle it at the receiver.
sent order (interleaved): 1 5 9 2 6 10 3 7 11 4 8 12
a burst hits 3 in a row: X X X
de-interleaved back to order: 1 2 3 4 5 6 7 8 9 10 11 12
the 3 errors are now: X X X (spread out)
A tight burst becomes scattered single errors after de-interleaving — and scattered single errors are exactly what FEC handles well.
Forward error correction: repair without a resend
Broadcast radio has no back-channel; the receiver can’t ask “say that again.” So the transmitter sends redundancy up front — forward error correction. Extra, mathematically related bits let the receiver detect and reconstruct a bounded number of flipped bits by itself. Two families dominate:
| Scheme | Style | Good at |
|---|---|---|
| Convolutional (Viterbi-decoded) | continuous, over a sliding window | scattered random bit errors |
| Reed–Solomon | block, over groups of symbols | correcting whole bad symbols/short bursts |
Systems often stack them — Reed–Solomon over a convolutional inner code, with interleaving between — so each mops up what the other misses. The payoff shows in the metrics: FEC lets a raw BER of, say, one in a thousand decode to zero errors, which is why a link can sound clean well below the SNR at which the raw symbols are perfect.
The pipeline in order
Putting it together, the receive side is: recover symbols → find the sync word → de-interleave → FEC decode → trustworthy frame. That last output is what the digital trunking module parses into calls, talkgroups, and control messages.
Quick check: what does interleaving accomplish?
Recap
- Framing gives bits structure; a sync word marks where each frame begins.
- Interleaving shuffles bit order so a burst becomes scattered single errors.
- FEC (convolutional/Viterbi, Reed–Solomon) repairs flipped bits with no resend.
- The chain — sync → de-interleave → FEC — turns a nonzero BER into trustworthy frames.
Next up: making all of this run live — block processing, ring buffers, and latency.
Frequently asked questions
What is a sync word and why is it needed?
A sync word is a fixed, known bit pattern the transmitter inserts at the start of each frame. The receiver, which has been reading a continuous stream of symbols with no idea where a frame begins, slides along looking for that pattern. When it matches, the receiver knows exactly where the frame — and every field inside it — starts. Without a sync word the bits would be a meaningless stream with no structure.
How does forward error correction fix errors without asking for a resend?
Forward error correction adds carefully computed redundant bits before transmission. Those extra bits let the receiver detect and reconstruct a bounded number of flipped bits entirely on its own, with no return channel and no retransmission. A convolutional code plus a Viterbi decoder, or a Reed-Solomon block code, are the classic schemes — essential for one-way broadcast radio where asking for a resend is impossible.