berfading

Bit error rate (BER) for Rayleigh fading channels

Syntax

ber = berfading(EbNo,modtype,M,divorder)
ber = berfading(EbNo,'fsk',2,divorder,coherence)
ber = berfading(EbNo,'psk',2,1,K,phaseerr)

Graphical Interface

As an alternative to the berfading function, invoke the BERTool GUI (bertool) and use the Theoretical panel.

Description

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).

Examples

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.-');

Limitations

The numerical accuracy of this function's output is limited by

You can generally rely on the first couple of significant digits of the function's output.

See Also

berawgn, bercoding, bersync, Theoretical Performance Results

References

[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.


© 1994-2005 The MathWorks, Inc.