| Communications Toolbox | ![]() |
Bit error rate (BER) for Rayleigh fading channels
ber = berfading(EbNo,modtype,M,divorder)
ber = berfading(EbNo,'fsk',2,divorder,coherence)
ber = berfading(EbNo,'psk',2,1,K,phaseerr)
As an alternative to the berfading function, invoke the BERTool GUI (bertool) and use the Theoretical panel.
ber = berfading(EbNo,modtype,M,divorder) returns the BER of differential phase shift keying (DPSK) or coherent phase shift keying (PSK) modulation over an flat Rayleigh fading channel, with no coding. EbNo is the average ratio of bit energy to noise power spectral density, in dB, for each diversity channel. If EbNo is a vector, then the output ber is a vector of the same size, whose elements correspond to the different Eb/N0 levels. modtype represents the type of modulation, and can be either 'dpsk' or 'psk'. The argument M is the alphabet size, which must be a positive integer power of 2. divorder is the diversity order, a positive integer. If divorder exceeds 1, then M must be 2 or 4 because no well-known theoretical results exist for larger values of M.
ber = berfading(EbNo,'fsk',2,divorder,coherence) returns the BER of uncoded frequency shift keying (FSK) modulation over a flat Rayleigh fading channel. coherence indicates whether the function uses coherent or noncoherent demodulation, and can be either 'coherent' or 'noncoherent'.
ber = berfading(EbNo,'psk',2,1,K,phaseerr) returns the BER of binary phase shift keying (BPSK) over an uncoded flat Rician fading channel, with diversity order 1. K is the ratio of specular to diffuse energy (in linear scale). phaserr is the standard deviation of the reference carrier phase error (in rad).
The example below computes and plots the BER for uncoded DQPSK (differential quaternary phase shift keying) modulation over an flat Rayleigh fading channel.
EbNo = 0:5:35; M = 4; % Use DQPSK, so M = 4. divorder = 1; ber = berfading(EbNo,'dpsk',M,divorder); semilogy(EbNo,ber,'b.-');

The numerical accuracy of this function's output is limited by
Approximations in the analysis leading to the closed-form expressions that the function uses
Approximations related to the numerical implementation of the expressions
You can generally rely on the first couple of significant digits of the function's output.
berawgn, bercoding, bersync, Theoretical Performance Results
[1] Proakis, John G., Digital Communications, 4th ed., New York, McGraw-Hill, 2001.
[2] Modestino, James W., and Mui, Shou Y., Convolutional code performance in the Rician fading channel, IEEE Trans. Commun., 1976.
| berconfint | berfit | ![]() |
© 1994-2005 The MathWorks, Inc.