# Differential Encoding for M-PSK

Confused about a few topics w.r.t. differential encoding/decoding. First, consider the below BER curve taken from wikipedia ( https://en.wikipedia.org/wiki/Phase-shift_keying ) comparing BPSK/QPSK and DBPSK, DQPSK

I ran some simulations in matlab and found that by including standard differential encoding of my QPSK that my error rate was approx 2x higher than normal QPSK (which seemed correct given the error propagation of the differential coder). However according to this curve, the penalty for DQPSK appears much worse, am I missing something or is there a mistake in this graphic?

EDIT: I'm going to answer this first question - I've conflated terms. The performance in the graph for DQPSK i.e. differential QPSK, is different than differentially encoded QPSK (which is the system I've described in my post). In differential QPSK, I believe the transmitter I described using modulo-M differential encoding is still correct (in that it encodes the information into the phase transitions of the constellation) - however the key difference is that DQPSK at the RX side is assumed to be operating differentially and so detection of the data is done by comparing the current and prev phase of the constellation.

It's clear now my questions are not about DQPSK but instead about differentially encoded QPSK. In this case, we demodulate using a coherent receiver (i.e. including a costas loop) and the differential encoding is only used to resolve the 2*pi/M phase ambiguity. Thus we only get a small BER penalty from the error propagation in the differential encoding.

I'm still interested in the subsequent questions below on the topic of differential encoding schemes.

Secondly, I want to understand two forms of differential encoding for M-PSK that I am aware of. The traditional way as I know it is shown below (assuming perfect timing/freq sync already) where it takes a stream of input bits, groups them into log2(M) chunks, re-maps them via a grey code, differentially encodes them (modulo M), and then maps to symbols (not shown in the flowgraph but the constellation here must be natural, i.e. no mapping). In other words this encodes the data into the transitions of the constellation as opposed to the absolute phase. For QPSK this allows us to correct the 90 degree phase ambiguity problem as seen in the costas loop for example.

The alternate method I am aware of for example with M=4 involves taking the stream of input bits, deinterleaves them (even and odd bit indices) and differentially encodes each stream separately modulo-2, interleaves them back up, groups into chunks of 2-bits, re-maps them via a grey code, and then maps to symbols. This essentially is treating it as two independent DBPSK streams. This is as shown below:

Questions:

1. Is there a common name for the alternate encoding scheme or other reference material on it? I've found none.
2. EDIT: I have since found that the interleaved scheme does not appear to handle 90 degree ambiguity (only 180deg) as I had originally thought. In fact I came across a paper that seemed to state as much as well https://ieeexplore.ieee.org/document/1632094 I still am unclear why exactly this is the case however.. I had originally thought that since each stream could separately handle a 180 degree offset, combined they could handle 90 as well.
3. Is this alternate method acceptable for higher order M-ary PSK?
• The expected difference is 3 dB at higher SNR's as given by the plots see this answer by @DilipSawarte for more details on that specifically: dsp.stackexchange.com/questions/62528/… Aug 4, 2020 at 9:44
• @DanBoschen I think I should clarify, the performance I'm interested is for a coherent, non-differential receiver. I.E. I have a costas loop and my phase is coherent with the transmitter except for a 2*pi/M phase ambiguity. The differential encoding here is thus only used to correct for this phase ambiguity. It was my understanding that in this configuration the BER is only approximately 2x worse which translates to only a fraction of a dB in SNR penalty. Aug 4, 2020 at 14:16
• Got it- so just to be sure, you are not using the implementation I show in my linked question of comparing the actual current sample with the previous to determine the phase transition (where we get non-coherent adding of noise), but are actually multiplying the signal with a (much cleaner) recovered local oscillator that is coherent in phase and frequency? If so I agree with your logic. Aug 4, 2020 at 15:08
• (It also may be better to edit your question rather than provide the answer below in that the non-answered question may attract more eyes. But I believe @DilipSawarte would provide a good answer if he sees this) Aug 4, 2020 at 15:09
• Looks like an interesting problem; will give more thought tomorrow if no one else answers by then. No time for me today to wrap my head around it. Aug 4, 2020 at 16:09

Looking only at the output of a QPSK transmitter, one sees an RF signal whose RF phase has constant value over successive $$T$$-second epochs, but can change abruptly at the transition from one epoch to the next from one value in $$\left\{\frac{\pi}{4},\frac{3\pi}{4}\frac{5\pi}{4}\frac{7\pi}{4}\right\}$$ to another value in $$\left\{\frac{\pi}{4},\frac{3\pi}{4}\frac{5\pi}{4}\frac{7\pi}{4}\right\}$$ (or stay the same, too). For some details, see this answer of mine. Assuming that the signal is a plain vanilla QPSK signal, the (coherent) receiver needs to work hard (using PLLs or Costas loops) to acquire both the carrier frequency and the carrier phase of the incoming signal so that the receiver's local oscillator can be synchronized with the incoming signal and coherent demodulation is possible. With such synchronization, the QPSK system essentially works as two parallel BPSK schemes operating on phase-orthogonal carriers, and the I and Q branches of the receiver make decisions independently as to whether their separate matched-filter outputs correspond to a transmitted $$1$$ or a transmitted $$0$$. Thus, for a given value of $$E_b/N_0$$ (the "bit energy to noise density" or BEND ratio as I like to call it), the BER for coherent demodulation of QPSK is the same as the BER for BPSK. Note however, that the QPSK signal is transmitting $$2$$ bits in $$T$$ seconds and so the signal power is doubled.
Next, let us consider differentially coherent demodulation of the plain vanilla QPSK signal. Here it is not necessary to determine the RF carrier phase -- synchronization in just the carrier frequency suffices -- but all that can be determined is whether the RF phase of the current epoch is the same as the RF phase during the previous epoch, or that the current RF phase differs from the previous RF phase by $$\frac{\pi}{2}$$ or by $$\pi$$ or by $$\frac{3\pi}{2}$$. Now, if we know what the previous dibit was ($$00, 10, 11, 10$$ as the case may be), we could deduce what the current dibit is. But, this notion is fraught with the possibility of not just error in deciding what the current dibit is, but error propagation. If we get the current dibit wrong, the next dibit will be wrong too because its value will be determined from the wrong value of the current dibit, and the next dibit decision will be wrong, and the next ad infinitum until another dibit error of just the right kind fortuitously restores everything back to normal. Moral: Don't try to do differentially-coherent demodulation of plain vanilla QPSK; it doesn't work well at all regardless of what the OP believes.