DSPRelated.com
Forums

derotating IQ vectors

Started by abal123 May 12, 2015
Hi,

I try to demodulate a received bpsk signal. In order to achive sync, I do
a cross correlation of the received signal with a matched filter (which
contains a known preamble).
The correlation works well, and I managed to detect a peak at time t0.

What is the next step in order to synchronize my receiver?
If I compute the phase theta at time t0,   how can I do the derotation?

Thank you


---------------------------------------
Posted through http://www.DSPRelated.com
On Tue, 12 May 2015 08:06:33 -0500, abal123 wrote:

> Hi, > > I try to demodulate a received bpsk signal. In order to achive sync, I > do a cross correlation of the received signal with a matched filter > (which contains a known preamble). > The correlation works well, and I managed to detect a peak at time t0. > > What is the next step in order to synchronize my receiver? > If I compute the phase theta at time t0, how can I do the derotation?
Compute the unit vector with the opposite phase at t0. Then multiply your incoming IQ data by that vector. That'll work for as long as you have carrier synchronization -- if you have much noise, or if your packets are long compared to your carrier frequency error then you'll need to do carrier phase correction as you go. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
On Tue, 12 May 2015 08:06:33 -0500, "abal123" <105765@DSPRelated>
wrote:

>Hi, > >I try to demodulate a received bpsk signal. In order to achive sync, I do >a cross correlation of the received signal with a matched filter (which >contains a known preamble). >The correlation works well, and I managed to detect a peak at time t0. > >What is the next step in order to synchronize my receiver? >If I compute the phase theta at time t0, how can I do the derotation? > >Thank you
Are you trying to maintain phase synch or timing synch? Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
>On Tue, 12 May 2015 08:06:33 -0500, "abal123" <105765@DSPRelated> >wrote: > >>Hi, >> >>I try to demodulate a received bpsk signal. In order to achive sync, I >do >>a cross correlation of the received signal with a matched filter >(which >>contains a known preamble). >>The correlation works well, and I managed to detect a peak at time t0. >> >>What is the next step in order to synchronize my receiver? >>If I compute the phase theta at time t0, how can I do the >derotation? >> >>Thank you > >Are you trying to maintain phase synch or timing synch? > > >Eric Jacobsen >Anchor Hill Communications >http://www.anchorhill.com
I need both --------------------------------------- Posted through http://www.DSPRelated.com
On Tue, 12 May 2015 17:11:26 -0500, "abal123" <105765@DSPRelated>
wrote:

>>On Tue, 12 May 2015 08:06:33 -0500, "abal123" <105765@DSPRelated> >>wrote: >> >>>Hi, >>> >>>I try to demodulate a received bpsk signal. In order to achive sync, I >>do >>>a cross correlation of the received signal with a matched filter >>(which >>>contains a known preamble). >>>The correlation works well, and I managed to detect a peak at time t0. >>> >>>What is the next step in order to synchronize my receiver? >>>If I compute the phase theta at time t0, how can I do the >>derotation? >>> >>>Thank you >> >>Are you trying to maintain phase synch or timing synch? >> >> >>Eric Jacobsen >>Anchor Hill Communications >>http://www.anchorhill.com > >I need both
Do you need to track synch after you acquire or is the signal short enough that you can use the initial estimates? Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
On Tue, 12 May 2015 17:11:26 -0500, abal123 wrote:

>>On Tue, 12 May 2015 08:06:33 -0500, "abal123" <105765@DSPRelated> >>wrote: >> >>>Hi, >>> >>>I try to demodulate a received bpsk signal. In order to achive sync, I >>do >>>a cross correlation of the received signal with a matched filter >>(which >>>contains a known preamble). >>>The correlation works well, and I managed to detect a peak at time t0. >>> >>>What is the next step in order to synchronize my receiver? >>>If I compute the phase theta at time t0, how can I do the >>derotation? >>> >>>Thank you >> >>Are you trying to maintain phase synch or timing synch? >> >> >>Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com > > I need both --------------------------------------- Posted through > http://www.DSPRelated.com
Y'know, I think you might be well served by finding a book on this subject, or at least a good series of web pages. What you're asking is pretty basic, and would be taken care of in a few chapters of a general digital communications book. You can pull this out of us bit by bit, but the information will be fragmentary and come in fits and starts. A good book will give it to you, as well as all the background you need. -- www.wescottdesign.com
>On Tue, 12 May 2015 17:11:26 -0500, "abal123" <105765@DSPRelated> >wrote: > >>>On Tue, 12 May 2015 08:06:33 -0500, "abal123" <105765@DSPRelated> >>>wrote: >>> >>>>Hi, >>>> >>>>I try to demodulate a received bpsk signal. In order to achive sync, >I >>>do >>>>a cross correlation of the received signal with a matched filter >>>(which >>>>contains a known preamble). >>>>The correlation works well, and I managed to detect a peak at time >t0. >>>> >>>>What is the next step in order to synchronize my receiver? >>>>If I compute the phase theta at time t0, how can I do the >>>derotation? >>>> >>>>Thank you >>> >>>Are you trying to maintain phase synch or timing synch? >>> >>> >>>Eric Jacobsen >>>Anchor Hill Communications >>>http://www.anchorhill.com >> >>I need both > >Do you need to track synch after you acquire or is the signal short >enough that you can use the initial estimates? > > >Eric Jacobsen >Anchor Hill Communications >http://www.anchorhill.com
The signal is short, I don't want to use PLL --------------------------------------- Posted through http://www.DSPRelated.com
>On Tue, 12 May 2015 17:11:26 -0500, abal123 wrote: > >>>On Tue, 12 May 2015 08:06:33 -0500, "abal123" <105765@DSPRelated> >>>wrote: >>> >>>>Hi, >>>> >>>>I try to demodulate a received bpsk signal. In order to achive sync, >I >>>do >>>>a cross correlation of the received signal with a matched filter >>>(which >>>>contains a known preamble). >>>>The correlation works well, and I managed to detect a peak at time >t0. >>>> >>>>What is the next step in order to synchronize my receiver? >>>>If I compute the phase theta at time t0, how can I do the >>>derotation? >>>> >>>>Thank you >>> >>>Are you trying to maintain phase synch or timing synch? >>> >>> >>>Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com >> >> I need both --------------------------------------- Posted through >> http://www.DSPRelated.com > >Y'know, I think you might be well served by finding a book on this >subject, or at least a good series of web pages. What you're asking is > >pretty basic, and would be taken care of in a few chapters of a general > >digital communications book. > >You can pull this out of us bit by bit, but the information will be >fragmentary and come in fits and starts. A good book will give it to >you, as well as all the background you need. > >-- >www.wescottdesign.com
Any specific suggestion? I didn't find any book chapter that describes how to sync without PLL. Just with a matched filter and the derotation process --------------------------------------- Posted through http://www.DSPRelated.com
On Wed, 13 May 2015 08:23:05 -0500, abal123 wrote:

>>On Tue, 12 May 2015 17:11:26 -0500, abal123 wrote: >> >>>>On Tue, 12 May 2015 08:06:33 -0500, "abal123" <105765@DSPRelated> >>>>wrote: >>>> >>>>>Hi, >>>>> >>>>>I try to demodulate a received bpsk signal. In order to achive sync, >>I >>>>do >>>>>a cross correlation of the received signal with a matched filter >>>>(which >>>>>contains a known preamble). >>>>>The correlation works well, and I managed to detect a peak at time >>t0. >>>>> >>>>>What is the next step in order to synchronize my receiver? >>>>>If I compute the phase theta at time t0, how can I do the >>>>derotation? >>>>> >>>>>Thank you >>>> >>>>Are you trying to maintain phase synch or timing synch? >>>> >>>> >>>>Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com >>> >>> I need both --------------------------------------- Posted through >>> http://www.DSPRelated.com >> >>Y'know, I think you might be well served by finding a book on this >>subject, or at least a good series of web pages. What you're asking is >> >>pretty basic, and would be taken care of in a few chapters of a general >> >>digital communications book. >> >>You can pull this out of us bit by bit, but the information will be >>fragmentary and come in fits and starts. A good book will give it to >>you, as well as all the background you need. >> >>-- >>www.wescottdesign.com > > Any specific suggestion? I didn't find any book chapter that describes > how to sync without PLL. Just with a matched filter and the derotation > process
I'm a bad person to ask, because I just picked the information up from here and there, with lots of scratching on spare envelopes to make sure I understood. If you've got good enough phase and bit timing information from your matched filter, and your packet is short enough, then it's pretty simple. Where you need book chapters is if you're going to need carrier or bit timing PLLs. I'm assuming that you're getting I & Q in, that you're treating it as a complex vector, and that your matched filter is a FIR. In that case, then you should be detecting a magnitude peak in your filter output, and that magnitude peak should be a complex number. Let the filter output at that magnitude peak be x_p. Then find the unit vector x_r = (x_p')/|x_p|, where x_p' is the complex conjugate and |x_p| is the absolute value. Now just filter for your bits with the appropriate matched filter, and multiply the filter output by x_r to derotate it. Then ignore the imaginary part and use the sign of the real part as your bit decisions. It would be VERY WISE to double-check that you do not need carrier synchronization, however. You should know how much your actual carrier frequency will vary from your receiver's reference carrier (don't forget doppler and the expected precision of your receiver's oscillator). You can use that to calculate how much the carrier will rotate against the reference in one packet time. I'm not sure where you'd want to draw the line, but 90 degrees of rotation would definitely make things useless, and 45 is extreme. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
On 13.05.2015 20:26, Tim Wescott wrote:
> On Wed, 13 May 2015 08:23:05 -0500, abal123 wrote: > >>> On Tue, 12 May 2015 17:11:26 -0500, abal123 wrote: >>> >>>>> On Tue, 12 May 2015 08:06:33 -0500, "abal123" <105765@DSPRelated> >>>>> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> I try to demodulate a received bpsk signal. In order to achive sync, >>> I >>>>> do >>>>>> a cross correlation of the received signal with a matched filter >>>>> (which >>>>>> contains a known preamble). >>>>>> The correlation works well, and I managed to detect a peak at time >>> t0. >>>>>> >>>>>> What is the next step in order to synchronize my receiver? >>>>>> If I compute the phase theta at time t0, how can I do the >>>>> derotation? >>>>>> >>>>>> Thank you >>>>> >>>>> Are you trying to maintain phase synch or timing synch? >>>>> >>>>> >>>>> Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com >>>> >>>> I need both --------------------------------------- Posted through >>>> http://www.DSPRelated.com >>> >>> Y'know, I think you might be well served by finding a book on this >>> subject, or at least a good series of web pages. What you're asking is >>> >>> pretty basic, and would be taken care of in a few chapters of a general >>> >>> digital communications book. >>> >>> You can pull this out of us bit by bit, but the information will be >>> fragmentary and come in fits and starts. A good book will give it to >>> you, as well as all the background you need. >>> >>> -- >>> www.wescottdesign.com >> >> Any specific suggestion? I didn't find any book chapter that describes >> how to sync without PLL. Just with a matched filter and the derotation >> process > > I'm a bad person to ask, because I just picked the information up from > here and there, with lots of scratching on spare envelopes to make sure I > understood. > > If you've got good enough phase and bit timing information from your > matched filter, and your packet is short enough, then it's pretty simple. > Where you need book chapters is if you're going to need carrier or bit > timing PLLs. > > I'm assuming that you're getting I & Q in, that you're treating it as a > complex vector, and that your matched filter is a FIR. In that case, then > you should be detecting a magnitude peak in your filter output, and that > magnitude peak should be a complex number. > > Let the filter output at that magnitude peak be x_p. > > Then find the unit vector x_r = (x_p')/|x_p|, where x_p' is the complex > conjugate and |x_p| is the absolute value. > > Now just filter for your bits with the appropriate matched filter, and > multiply the filter output by x_r to derotate it. Then ignore the > imaginary part and use the sign of the real part as your bit decisions. > > It would be VERY WISE to double-check that you do not need carrier > synchronization, however. You should know how much your actual carrier > frequency will vary from your receiver's reference carrier (don't forget > doppler and the expected precision of your receiver's oscillator). You > can use that to calculate how much the carrier will rotate against the > reference in one packet time. I'm not sure where you'd want to draw the > line, but 90 degrees of rotation would definitely make things useless, and > 45 is extreme. >
Ok, I'm not an expert on this. An useful book is "Synchronization techniques for digital receivers" by Mengali and D'Andrea. Second, a few classic links about feedforward estimators: (1) For carrier phase estimation, see 1983 Viterbi and Viterbi "Nonlinear estimation of PSK-modulated carrier phase with application to burst digital transmission". (2) For timing estimation, 1988 Oerder and Meyr "Digital Filter and Square Timing Recovery" (note also that there are modern estimators working with 2 samples / symbol, e.g. 2002 Lee "A New Non-Data-Aided Feedforward Symbol Timing Estimator Using Two Samples per Symbol"). (3) For carrier frequency estimation, see 1998 Morelli and Mengali "Feedforward Frequency Estimation for PSK: a Tutorial Review". (4) Then, there's the carrier derivative of frequency estimator that everybody references but I cannot find the link. Most probably you won't need it. Note also that burst receivers were previously discussed in this group e.g. in the 2013 thread named "TED selection and comparison". Evgeny.