Wireless Protocols

CR 4/7

/ see-ar foor-sevenths /
One of the four selectable forward-error-correction coding rates in the LoRa physical layer, written as the ratio of data bits to transmitted bits. At this setting the radio sends three Hamming parity bits for every four payload bits, so 4 of every 7 coded bits carry information and the effective code rate is 4/7 ≈ 0.571. The added redundancy lets the receiver correct short bursts of symbol errors from interference or fading, improving link robustness beyond the lighter CR 4/5 and CR 4/6 modes at the cost of 75% coding overhead and proportionally longer time-on-air. It is signaled in the explicit LoRa header as the value n = 3 in the relationship 4/(4+n), and works together with the spreading factor and bandwidth to set the overall throughput and sensitivity of an LPWAN link.
Category: Wireless Protocols
Code Rate: 4/7 ≈ 0.571
Header value n: 3

How CR 4/7 Shapes a LoRa Link Budget

LoRa transmits payload data in nibbles (4-bit groups) and applies a shortened Hamming block code before interleaving and Gray mapping onto chirp symbols. The coding rate selects how many parity bits are appended to each nibble: CR 4/5 adds one bit, CR 4/6 adds two, CR 4/7 adds three, and CR 4/8 adds four. With three parity bits per data nibble, CR 4/7 produces 7-bit code words, so the coded payload grows by the factor 7/4 = 1.75 relative to the raw data. That 75% overhead is the price for letting the demodulator correct, not merely detect, isolated symbol errors that slip past the spread-spectrum processing gain.

The error-correction benefit interacts directly with the rest of the LoRa modulation chain. The chirp spread-spectrum waveform already buys roughly 10*log10(2^SF / SF) dB of processing gain, pulling weak signals out of the noise. CR 4/7 then cleans up the residual symbol errors that remain near the demodulator threshold, which in practice extends usable range by a fraction of a dB to a couple of dB of additional fade margin compared with CR 4/5. Because the diagonal interleaver spreads each nibble across several consecutive chirp symbols, a burst of interference that wipes out one or two symbols can still be reconstructed from the surviving code-word bits.

The trade-off is airtime. Every extra parity bit lengthens the on-air packet, raising energy per message and consuming more of a node's regulatory duty-cycle allowance in bands like EU 868 MHz. For a battery sensor reporting infrequently over a clean channel, CR 4/5 is usually the right default; CR 4/7 earns its overhead on links that sit near the sensitivity floor or share a congested industrial band.

Coded Payload and Time-on-Air

Code rate (LoRa header value n, n = 1 to 4):
Rcode = 4 / (4 + n) →  n = 3 gives Rcode = 4/7 ≈ 0.571

Coding overhead:
Overhead = (4 + n)/4 − 1 = 3/4 = 75%

Payload symbol count (LoRa, with header):
npayload = 8 + max( ⌈(8·PL − 4·SF + 28 + 16 − 20·H) / (4·(SF − 2·DE))⌉ × (4 + CRn), 0 )

Time-on-air:
Tpacket = (npreamble + 4.25 + npayload) × (2SF / BW)

Where PL = payload bytes, SF = spreading factor, H = 0 for explicit header, DE = low-data-rate optimize flag, CRn = n (1 to 4), BW = bandwidth in Hz. Example: PL = 20 B, SF = 9, BW = 125 kHz, CR 4/7 → Tpacket ≈ 0.31 s versus ≈ 0.23 s at CR 4/5.

Coding-Rate Comparison

Coding RateHeader nRcodeParity bits / nibbleOverheadTypical Use
CR 4/510.8001 (detect only)25%LoRaWAN default, clean channels
CR 4/620.667250%Light interference, energy-sensitive
CR 4/730.571375%Cell-edge or moderately noisy links
CR 4/840.5004100%Severe bursty interference, max robustness
Common Questions

Frequently Asked Questions

How much extra airtime does CR 4/7 add versus CR 4/5?

The coded payload scales with the factor (4 + n)/4, so CR 4/5 (n = 1) uses a 1.25 multiplier and CR 4/7 (n = 3) uses 1.75, a 40% increase in coded payload symbols. For a 20-byte payload at SF9 and 125 kHz, time-on-air typically grows roughly 30 to 40%, from about 0.23 s to 0.31 s, raising energy per packet and duty-cycle consumption in the same proportion.

Does CR 4/7 use a real error-correcting code or just parity?

It applies a shortened Hamming block code at nibble granularity with interleaving and Gray mapping. CR 4/5's single bit gives detection only, but CR 4/7's three parity bits per four-bit word allow single-bit correction within a code word plus extra detection. Combined with the diagonal interleaver that spreads a nibble across multiple chirp symbols, it recovers from short bursts of corrupted symbols rather than only flagging them.

When should I choose CR 4/7 instead of CR 4/8 on a LoRaWAN node?

CR 4/7 is the middle ground when a link sees occasional interference but cannot afford the full 100% overhead of CR 4/8. Use it for fixed sensors in moderately noisy industrial bands or cell-edge links a few dB above the demodulator floor. Step to CR 4/8 only for severe bursty interference. Note that standard LoRaWAN channels fix the rate at CR 4/5, so CR 4/7 is most relevant to proprietary point-to-point or fixed-rate private networks.

LPWAN & IoT RF

Building a Long-Range Wireless Link?

From sub-GHz LoRa front ends to millimeter-wave backhaul, RF Essentials supplies low-noise amplifiers, filters, and integrated assemblies tuned to your LPWAN link budget. Talk to our engineers about your coding-rate and sensitivity targets.

Get in Touch