The IEEE 802.15.4 standard specifies that O-QPSK modulation with half-sine pulse shape (HSS) should be used at the 2.4 GHz band. But according to Wikipedia, O-QPSK modulation uses square pulses, and O-QPSK that encodes each bit as a half sine is just Minimum Shift Keying (MSK). So these seem to be two names for the same thing.
What confuses me is that elsewhere in the literature O-QPSK with HSS is treated as different from MSK. For instance, it is often said that a IEEE 802.15.4 frame can be demodulated either using O-QPSK or MSK. Apparently using O-QPSK allows to achieve higher sensitivity than MSK, but is more complex to implement.
My initial thought that the difference between O-QPSK and MSK is coherent vs. non-coherent receivers, however, both O-QPSK and MSK receivers can be coherent or non-coherent. This article suggests that the difference is that O-QPSK uses zero IF, while MSK uses non-zero IF. I cannot wrap my head around this - where does the non-zero IF come from, and how is it used in the demodulation process?
Can someone explain how is the demodulation process differs between MSK and O-QPSK with HSS?