Differential Coding

Differential coding is necessary to compensate for the errors induced from phase ambiguity, an inherent problem of QPSK systems. As stated previously, differential coding is a part of the data conditioning where complex data is converted to a sequence of two-bit symbols. Differential encoding is then applied to the stream of two-bit symbols and later the decoding process is applied after the I and Q channels have been re-combined at the receiver end. The result is a data sequence corrected of phase ambiguity.
   The encoding process calculates the difference between consecutive symbols and that value is transmitted. This is achieved by putting the symbol sequence through a discrete time integrator. Once the data is transmitted and received, the decoding process begins by feeding the encoded symbols through a discrete time differentiator. Differential coding consists of a total of four Xilinx blocks for implementation and provides a reliable method for correcting phase ambiguity.