DSPRelated.com

Eb/No

Category: Comms-dsp | Also known as: Eb/N0, Energy per bit to noise

Eb/N0 (energy per bit to noise spectral density ratio) is a normalized measure used in digital communications to characterize the power efficiency of a modulation or coding scheme, independent of bit rate and bandwidth. It expresses the energy delivered per information bit (Eb, in joules) relative to the noise power spectral density (N0, in watts per hertz) -- by convention, N0 is typically the one-sided PSD, though some references use a two-sided convention -- making it a dimensionless ratio commonly expressed in decibels.

In practice

Eb/N0 is the standard figure of merit when comparing modulation schemes such as BPSK, QPSK, 8-PSK, and QAM variants, or when evaluating forward error correction (FEC) codes. Because it is normalized to bit rate and noise density rather than to a specific bandwidth, it lets you compare, say, a BPSK link at 1 kbps against a 16-QAM link at 4 kbps on more consistent footing, provided that other factors such as coding rate, pulse shaping, and occupied bandwidth are also accounted for. Theoretical bit-error-rate (BER) curves are often plotted against Eb/N0, though some references instead use SNR, Es/N0, or C/N depending on context, so it is important to check the axis definition before making comparisons.

In embedded radio and modem designs, Eb/N0 shows up when validating link budgets, tuning receiver AGC thresholds, and setting demodulator decision thresholds. A common pitfall is conflating Eb/N0 with SNR (signal-to-noise ratio measured in a specific noise bandwidth) or with Ec/N0 (energy per chip, used in spread-spectrum systems like CDMA and GPS). The relationships between these metrics depend on the modulation order, the spectral shaping filter, and whether the SNR is measured before or after matched filtering. The EmbeddedRelated article "Understanding and Relating Eb/N0, SNR, and other Power Efficiency Metrics" works through these conversions in detail.

Simulation work requires care when setting up noise sources. If you inject AWGN at a fixed power level without accounting for your simulation's sample rate and signal power normalization, the Eb/N0 at the demodulator input will not match your intended value. The EmbeddedRelated article "Setting Carrier to Noise Ratio in Simulations" addresses this setup process directly. A related pitfall occurs when measuring noise power experimentally: using a simple RMS measurement instead of a power spectral density estimate (for example, via Welch's method) can introduce bandwidth-dependent errors into the inferred N0.

Discussed on DSPRelated

Frequently asked

What is the difference between Eb/N0 and SNR?
SNR is the ratio of signal power to noise power measured within a specific bandwidth, so its numerical value depends on how you define that bandwidth. Eb/N0 normalizes both the signal and noise differently: Eb is total received signal power divided by bit rate, and N0 is noise power spectral density (power per hertz). The two are related by Eb/N0 = SNR * (BW / bit_rate), where BW is the noise reference bandwidth, but this conversion holds only under specific assumptions about how SNR and bandwidth are defined; modulation order, coding rate, oversampling, and filter bandwidth can all affect the relationship. For a given system these can be converted into each other once those parameters are known, but they are not interchangeable without that context.
Why do BER curves use Eb/N0 on the x-axis rather than SNR?
Using Eb/N0 allows BER curves to be plotted in a way that is independent of bit rate, bandwidth, and receiver noise figure, making them more broadly comparable across different systems and modulation schemes. An SNR-based BER curve would only be valid for one specific bandwidth definition, making cross-system comparison ambiguous.
What is the difference between Eb/N0 and Es/N0?
Es/N0 is the energy per symbol to noise spectral density ratio. For a modulation scheme carrying k bits per symbol, Es/N0 = Eb/N0 + 10*log10(k) in decibels. For BPSK (1 bit per symbol) they are equal. For QPSK (2 bits per symbol) Es/N0 is 3 dB higher than Eb/N0. When reading BER curves, check which metric is on the x-axis, as the choice can shift a curve by several decibels.
How do I calculate Eb/N0 in a simulation?
A reliable approach is: (1) normalize your transmitted signal so its power is known (e.g., unity), (2) compute Eb = signal_power / bit_rate, (3) set the AWGN noise variance per sample to N0/2 = Eb / (2 * target_Eb_N0_linear) * (sample_rate / bit_rate) -- the sample rate factor accounts for the fact that noise power scales with bandwidth in a discrete-time simulation. Alternatively, use N0 = Eb / Eb_N0_linear and compute noise variance as N0 * sample_rate / 2. The EmbeddedRelated article 'Setting Carrier to Noise Ratio in Simulations' covers this setup in detail.
What is a typical required Eb/N0 for common modulation schemes?
For a BER of 1e-3 with no FEC and AWGN, theoretical requirements are roughly: BPSK/QPSK ~6.8 dB, 8-PSK ~10.5 dB, 16-QAM ~10.5 dB, 64-QAM ~15.5 dB. These are theoretical minimums; real implementations add an implementation loss of 1-3 dB or more depending on filtering, synchronization imperfections, and hardware noise. Adding FEC can reduce the required Eb/N0 by several decibels at the cost of increased bandwidth or processing.

Differentiators vs similar concepts

Eb/N0 is frequently confused with three adjacent metrics. SNR (signal-to-noise ratio) is a bandwidth-dependent power ratio; Eb/N0 is normalized to bit rate and noise spectral density, making it more portable across system comparisons, though converting between Eb/N0 and a measured SNR still requires knowing the relevant bandwidth definition. Es/N0 (energy per symbol) differs by a factor of log2(M) in dB for an M-ary scheme. Ec/N0 (energy per chip) is the spread-spectrum analog used in CDMA and GPS receivers, where the reference unit is the chip period rather than the information bit period. Mixing these up when reading datasheet BER curves or link budget tables is a common source of multi-decibel errors.