Lesson 24 of 30 intermediate 4 min read

Before this:Constellations & symbol mappingDecibels & dynamic range

SNR, EVM & BER

Key takeaways Three numbers grade a digital link, each one step downstream of the last. SNR (in dB) is how far the signal sits above the noise. That noise scatters symbols off their ideal constellation points — EVM measures the scatter as a percentage. When scatter pushes a symbol into the wrong decision region, a bit flips — BER counts those flips per bit. Lower SNR → higher EVM → higher BER.

You can see link health on a constellation; these three metrics quantify it. This lesson ties them together and builds on decibels and constellations. It mirrors the RF path’s noise & SNR.

SNR: signal above noise

Signal-to-noise ratio is the ratio of signal power to noise power, almost always quoted in decibels. It is the root cause metric — everything else follows from it. A high SNR means the wanted signal towers over the background; a low SNR means it is nearly buried. Because it’s a power ratio it uses the 10·log₁₀ form: 20 dB SNR is 100× more signal power than noise.

EVM: scatter on the constellation

Noise doesn’t stay abstract — it knocks each received symbol off its ideal point. Error-vector magnitude measures exactly that: for each symbol, draw the vector from where it should be to where it landed; EVM is the size of that error vector, averaged and expressed as a percentage of the ideal signal amplitude.

ideal point error vector
EVM is the length of the error vector from a symbol's ideal point to where it actually landed — the scatter that noise and distortion cause, as a percent.

Low EVM (a few percent) is a tight cluster; high EVM is a fuzzy blob. GopherTrunk’s own diagnostics report demod EVM — for example the project’s field notes cite a channel locking at EVM ≈ 7.4% but failing at ≈ 22.5%, a concrete threshold between decode and no-decode.

BER: bits that actually flipped

Push EVM high enough and a symbol crosses into a neighbour’s decision region — the decoder picks the wrong symbol, and (thanks to Gray coding) usually one bit flips. Bit error rate is the count of flipped bits over total bits:

BER = (bits received wrong) / (total bits)
e.g. 3 bad bits in 10,000  ->  BER = 3e-4

BER is the bottom-line metric — it is what actually breaks a message. And it is where error correction enters: FEC can repair a bounded number of flips, so a link with a modest raw BER can still deliver perfect decoded data.

How they chain

Metric Measures Units Position
SNR signal vs noise power dB cause
EVM symbol scatter from ideal % effect on symbols
BER fraction of bits wrong ratio effect on data

Read them as one story: noise sets SNR, SNR sets how far symbols scatter (EVM), scatter sets how often bits flip (BER). Improve the front-end SNR and all three improve together.

Quick check: what does EVM measure?

Recap

  • SNR (dB) is signal power over noise power — the root-cause quality metric.
  • EVM (%) is how far symbols scatter from their ideal constellation points.
  • BER is the fraction of bits that actually flipped — the bottom line.
  • They chain: lower SNR → higher EVM → higher BER; FEC can still rescue a modest BER.

Next up: overlaying symbol periods into a single picture — the eye diagram.

Frequently asked questions

How are SNR, EVM, and BER related?

They measure the same link health at three stages. SNR, in decibels, is how far the signal sits above the noise. That noise scatters each symbol away from its ideal constellation point, and EVM measures that scatter as a percentage. When the scatter grows large enough that symbols cross into a neighbour’s decision region, bits flip — and BER counts those flips as a fraction of all bits. Lower SNR means higher EVM means higher BER.

What EVM or SNR do I need to decode a signal?

It depends on the modulation. A robust two- or four-level scheme tolerates a lot of scatter and decodes at fairly low SNR, while a dense QAM constellation packs points close together and needs a much cleaner signal. Forward error correction lowers the required SNR further by fixing a bounded number of bit errors, so the raw BER can be nonzero and the decoded data still be perfect.