# Cross-correlation with SDPSK modulation

I'm trying to detect a sync word in a signal using Symmetrical Differential PSK (bit 0 = +90° phase, bit 1 = -90° phase).

Given the signal is encoded in the phase difference between two symbols, the absolute phase is irrelevant. How would I go about using cross-correlation to detect the sync word?

I have four possible orientations for the sequence considering the absolute phase, but for performance reasons, I would prefer not to run the cross-correlation more than once. Should I calculate the phase difference of each symbol with the previous (i.e. extract the bits) and correlate on that or is there a way to do it without first converting the signal to bits?

• Ignore the Symmetric Differential PSK for now and assume that it is straight DPSK. One cannot avoid repeated crosscorrelations if one wishes to detect the start of a known sync sequence of bits. Whether you extract the bits and then search for the start of the sync sequence or process the data as is, is a matter of taste, what the performance criteria are, how much it costs, how much time it takes etc. – Dilip Sarwate Jun 13 '20 at 23:06
• Please post that as an answer :) – Signal Jun 14 '20 at 5:04

## 1 Answer

Convert your input signal to an analytic signal with a Hilbert transformer, if your input signal is real. Then run a single complex cross correlation filter. Assuming no frequency offset, the phase of the correlator output at the correlation peak will be the input signal's phase shift from your reference signal.

• Assuming no frequency offset, if my signal is in phase, the correlation peak will be maximum and positive. If the signal is 180° out of phase, the correlation peak will be maximum and negative. If the phase difference is +/- 90°, the correlation will be zero due to orthogonality. I'm not sure how you would get the phase shift from this without testing 0/180 and +90/-90, which goes back to the statement in the question where I don't want to do more than one correlation, given SDPSK has 4 possible orientations. – Signal Jun 14 '20 at 5:15
• You are assuming a real input signal and a real correlation filter. In that case, sure, the orthogonality of sine and cose will give you 0. However, my answer specifically states that you have to convert a real input signal into an analytic signal (a signal with both I & Q components) using a Hilbert transformer. The complex cross-correlation envelope will not be impacted by the orthogonality of sine and cosine. – Andy Walls Jun 14 '20 at 19:55
• Thanks, I'll give it a try on Monday. It might even help my QPSK receiver acquire the phase faster. – Signal Jun 15 '20 at 0:56
• That works beautifully. Thank you so much! – Signal Jun 15 '20 at 14:55