MATLAB: When using the Communications Blockset 2.5.1 (R13SP1), why is the BER with GMSK twice the BER of BPSK when, theoretically, they should be the same

berbpskcommunications blockseterrorgmskhighratesamesimulationsnrtheoreticaltheorytwice

Normally GMSK with BT = 0.5 should give the same performance as BPSK. For Eb/N0 = 4, and 8 samples per symbol , the corresponding SNR for the simulation is -5.03 dB.
The theoretical BER for Eb/No = 4 dB of BPSK is 0.0125 and that works for the BPSK case. If I switch to GMSK, the BER is around 0.025, which is about twice of what I expect.

Best Answer

"True" MSK has BER performance exactly as described. However, this is because our Communications Blockset 2.5.1 (R13SP1) (and the literature) describes and models MSK as a signal whose phase is piecewise continuous, with pi/2 changes every bit interval. This phase continuity is achievable only by implicitly differentially encoding the input data stream.
At the receiver end, the data needs to be differentially decoded, which is an FIR operation involving the current received bit and the previous received bit. One bit error in the absolutely decoded bit stream is propagated into two bit errors in the differentially decoded bit stream. Thus, you experience a BER twice what you expected.
However, if the MSK signal is modeled as an OQPSK signal with sinusoidal pulse weighting, WITHOUT any differential encoding, you should be able to reproduce QPSK BER results.
You should be able to do this with our OQPSK modulator, along with a multiplier block that multiplies the I and Q channels of the OQPSK signal by a sine wave that advances by pi radians each I and Q symbol. At the receiver, you can multiply the signal by that same sine wave followed by an integrate and dump.
Related Question