Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am currently working on a product(cant disclose too much details of the actual project) in which some data is being sent via audible(but on the higher freq) sound that is encoded with dqpsk.

However, it gets very inaccurate at times since the receiver and the broadcaster does not have the same sampling windows. I am not trained academically for DSP and therefore having a lot of problem finding out what are the correct terms to search for.

Basically after a lot of debugging and simulation, i found that the most major issue is that the phase information gets more and more inaccurate as the output and the input gets more out of sync... Are there some techniques to find the beginning of the actual signal in the samples? The data isnt contained in just one sample window(they can span through quite a lot of windows)

Thanks! (I would appreciate any sort of help, even if it is just some term i should use to search on google... )

And on a seperate note, when the timing is relatively accurate, I am already able to get the data properly decoded, so I am not really having much problem with the psk side

share|improve this question
Look for qpsk synchronization or symbol synchronization or Costas loop. If you have dqpsk, then you don't need carrier phase synchronization, just carrier frequency synchronization (arbitrary phase error is OK) and knowledge of the symbol boundaries, i.e. symbol synchronization. – Dilip Sarwate Nov 1 '12 at 12:01
You can use the I/Q zero crossings to help you figure out where the symbol boundaries are. – Jim Clay Nov 1 '12 at 13:56
When you say the "phase information gets more and more inaccurate", do you mean that the constellation at the receiver gradually rotates? What is the exact symptom that you see? – Jim Clay Nov 1 '12 at 13:57
It's very unclear from the OP what is being asked, but it sounds to me like he does not have accurate symbol synchronization. He is right, as you increase the amount of symbol synchronization error, then the phase values you see will not lie on the constellation points that you expect; in practice, you don't see the instantaneous switching between phase values that you might see in textbook examples. – Jason R Nov 2 '12 at 2:35
Thanks for all the answers! let me maybe make it a little clear with erm... some... diagrams? the input sampling (. is silence, * is signal, i sample at 1024, and lets say every two * is one window in the output, therefore every 2 (. or * ) is one sampling window) .****. so basically cause the input sampling and the output does not start at the same time, the input sampling has to detect when it starts and also, try and synchronize. @DilipSarwate do you guys happen to have some place where there are diagrams or code that shows some of that? – Wong Shek Hei Felix Nov 2 '12 at 3:15

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.