I have IQ data collected This is the beginning of the packet that includes preamble and sync sequence. Red is real part, blue is imaj.

This is the beginning of the packet that includes preamble and sync sequence. Red is real part, blue is imaginary.

Also constellation diagram for this data enter image description here

I don't have access to the radio that transmit this data. I know that this is QPSK modulated data. Preamble and sync sequence should be BPSK modulated, but I cannot demodulate this data, they don't look like a "good" BPSK. I also know that the data have been processed by RRC filter before transmission. What is this phenomenon, and what I can do with this data? Thank you,

  • 1
    $\begingroup$ You need to do channel equalization, then carrier sync and symbol sync, including matched filtering. $\endgroup$ – MBaz Mar 1 at 20:06
  • $\begingroup$ I think that before channel equalization, matching filtering I need to identify a burst position. So I am going to correlate an input signal with my sync sequence processed via matching filter. But I cannot find the peak. I am not sure I am right but I use the same approach for data collected from a different system and it works fine, But this data looks "much better" so I can demodulate it manually. $\endgroup$ – user55960 Mar 1 at 20:19
  • $\begingroup$ Why would you need burst synchronization prior to matched filtering? As soon as you have a good enough frequency synchronization, you can apply the matched filter without loss. $\endgroup$ – Marcus Müller Mar 2 at 9:17
  • $\begingroup$ I thought that performance-wise is better to find burst position before processing an input signal further. Is there any good reference how to implement channel equalization, carrier and symbol sync? I am going to implement it on ARM processor, not DSP, Thanks $\endgroup$ – user55960 Mar 2 at 12:26
  • $\begingroup$ Look up the book "Telecommunications breakdown" by Johnson and Sethares. $\endgroup$ – MBaz Mar 2 at 14:00

In this case you have very clear symbol transitions and the appearance of RRC shaped symbols with a small frequency offset. What you could do is pass the waveform as is through a second RRC filter (matched filter) assuming you know the RRC parameters and then estimate the decision locations in the preamble (since simpler there with just two symbols) as the midpoint between transitions where a 1010 pattern exists and observe successive complex decisions for rotation; from inspection it appears that rotation will indeed be less than 90 degrees from symbol to symbol in which case you should be able to determine the frequency offset and correct that with an opposite complex rotation (stop the symbol decisions from rotating). Once that is done all successive symbols at the decision location should be clustered around their expected positions.

In practice a timing recovery loop (Gardner loop for example) can determine the symbol locations and a carrier recovery loop can remove the carrier offset; along with equalization when significant multipath interference exists- but this waveform looks to be of very good SNR with little distortion that doing it manually as described above will be a good learning exercise as to what those algorithms need to do in a tracking and acquisition loop.

  • $\begingroup$ Tank you for detailed response. I know a parameter of Tx RRC filter and I can build matched Rx filter and run waveform though it (is this the RRC filer that you mentioned as 'second'?). I am a new in signal processing and I am not sure how to estimate the decision locations in the preamble. Could you explain or point to some references? $\endgroup$ – user55960 Mar 4 at 20:18
  • $\begingroup$ Yes that is the second filter I mentioned. Take a look at this post regarding decision locations: dsp.stackexchange.com/questions/40094/… We won't be able to do a detailed back and forth here since this is a simple Q&A site, but email me at boschen at loglin dot com and we can see if what your doing is something I may be able to help you with. $\endgroup$ – Dan Boschen Mar 4 at 21:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.