Calculate bit error rate (BER) using semianalytic technique
ber = semianalytic(txsig,rxsig,
modtype
,M
,Nsamp)
ber = semianalytic(txsig,rxsig,modtype
,M
,Nsamp,num,den)
ber = semianalytic(txsig,rxsig,modtype
,M
,Nsamp,EbNo)
ber = semianalytic(txsig,rxsig,modtype
,M
,Nsamp,num,den,EbNo)
[ber,avgampl,avgpower] = semianalytic(...)
ber = semianalytic(txsig,rxsig,
returns
the bit error rate (BER) of a system that transmits the complex baseband
vector signal modtype
,M
,Nsamp)txsig
and receives the noiseless
complex baseband vector signal rxsig
. Each of these
signals has Nsamp
samples per symbol. Nsamp
is
also the sampling rate of txsig
and rxsig
,
in Hz. The function assumes that rxsig
is the input
to the receiver filter, and the function filters rxsig
with
an ideal integrator. modtype
is the modulation
type of the signal and M
is the alphabet
size. The table below lists the valid values for modtype
and M
.
Modulation Scheme  Value of modtype  Valid Values of M 

Differential phase shift keying (DPSK)  'dpsk'  2, 4 
Minimum shift keying (MSK) with differential encoding  'msk/diff'  2 
Minimum shift keying (MSK) with nondifferential encoding  'msk/nondiff'  2 
Phase shift keying (PSK) with differential encoding, where the phase offset of the constellation is 0  'psk/diff'  2, 4 
Phase shift keying (PSK) with nondifferential encoding, where the phase offset of the constellation is 0  'psk/nondiff'  2, 4, 8, 16, 32, or 64 
Offset quaternary phase shift keying (OQPSK)  'oqpsk'  4 
Quadrature amplitude modulation (QAM)  'qam'  4, 8, 16, 32, 64, 128, 256, 512, 1024 
'msk/diff'
is
equivalent to conventional MSK (setting the 'Precoding'
property
of the MSK object to 'off'
), while 'msk/nondiff'
is
equivalent to precoded MSK (setting the 'Precoding'
property
of the MSK object to 'on'
).
Note:
The output

When the function computes the BER, it assumes that symbols are Graycoded. The function calculates the BER for values of E_{b}/N_{0} in the range of [0:20] dB and returns a vector of length 21 whose elements correspond to the different E_{b}/N_{0} levels.
Note:
You must use a sufficiently long vector 
ber = semianalytic(txsig,rxsig,
is
the same as the previous syntax, except that the function filters modtype
,M
,Nsamp,num,den)rxsig
with
a receiver filter instead of an ideal integrator. The transfer function
of the receiver filter is given in descending powers of z by the vectors num
and den
.
ber = semianalytic(txsig,rxsig,
is
the same as the first syntax, except that modtype
,M
,Nsamp,EbNo)EbNo
represents E_{b}/N_{0},
the ratio of bit energy to noise power spectral density, in dB. If EbNo
is
a vector, then the output ber
is a vector of the
same size, whose elements correspond to the different E_{b}/N_{0} levels.
ber = semianalytic(txsig,rxsig,
combines
the functionality of the previous two syntaxes.modtype
,M
,Nsamp,num,den,EbNo)
[ber,avgampl,avgpower] = semianalytic(...)
returns
the mean complex signal amplitude and the mean power of rxsig
after
filtering it by the receiver filter and sampling it at the symbol
rate.
A typical procedure for implementing the semianalytic technique is in Procedure for the Semianalytic Technique. Sample code is in Example: Using the Semianalytic Technique.
The function makes several important assumptions about the communication
system. See When to Use the Semianalytic Technique to find out
whether your communication system is suitable for the semianalytic
technique and the semianalytic
function.
As an alternative to the semianalytic
function,
invoke the BERTool GUI (bertool
) and use the Semianalytic tab.
[1] Jeruchim, M. C., P. Balaban, and K. S. Shanmugan, Simulation of Communication Systems, New York, Plenum Press, 1992.
[2] Pasupathy, S., "Minimum Shift Keying: A Spectrally Efficient Modulation," IEEE Communications Magazine, July, 1979, pp. 14–22.