Reply by abal123 May 14, 20152015-05-14
>On Wednesday, May 13, 2015 at 9:23:07 AM UTC-4, abal123 wrote: >> 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 > >When you compute the correlation and find the peak, you get the phase >offset for free. Simply rotate the IQ samples by doing complex trig. >The IQ samples are xn = In+iQn. Multiple them all by exp(-j 2 pi >phaseoffset ). > >I'm having a hard time understanding what you know and what you don't. >Do you know about complex numbers and basic complex multiplies? > >If the freq offset is sufficiently small and the packets are short then >sure, no need to do sequential estimation (PLL or whatever).
Yes, I know enough about complex numbers. Thank you all for your suggestions and the book references. I have to read carefully all your posts, and I'll be back. Thnx again!! --------------------------------------- Posted through http://www.DSPRelated.com
Reply by abal123 May 14, 20152015-05-14
>On Wed, 13 May 2015 08:19:40 -0500, "abal123" <105765@DSPRelated> >wrote: > >>>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 > >I'm not completely certain what you mean when you say that you're >using a matched filter to correlate the signal and then mention a >preamble. > >"Matched filter" in a comm system usually refers to the pulse-shaping >filter. > >I think you mean that you're using a correlator to detect the >preamble. Maybe. > >If so, and depending on the structure of the preamble, which you've >not discussed, and assuming that the system is adequately oversampled, >which you've also not discussed, then the preamble correlator can >provide a simultaneous estimate of the signal phase as well as the >symbol timing. The phase of the peak of the correlator output can >be be used to de-rotate the signal to a desired reference phase. The >time location of the peak can be used as an initial symbol timing >estimate. > >If the preamble is well-designed and sufficiently long and the SNR >high enough the correlator phase estimate may be applied once and held >for the duration of the message, assuming the message is short enough >and the tuned frequency is accurate enough that phase rotation during >the message is negligible. > >The initial timing estimate can be used such that the subsequent >symbol estimates are then taken from the oversampled signal at the >assumed symbol period spacing. This assumes that the symbol rate is >known and that the sample clock drift is insufficient over the >duration of the message to cause performance degradation. > >There are an awful lot of assumptions and conditional "if"s in the >above. One must tread carefully. This could be very simple, and >sometimes it is, usually by careful design, or this could be >difficult, depending. ;) > > >Eric Jacobsen >Anchor Hill Communications >http://www.anchorhill.com
Yes, I use the correlator to detect the preamble. Thank you for the detailed explanation! --------------------------------------- Posted through http://www.DSPRelated.com
Reply by julius May 14, 20152015-05-14
On Wednesday, May 13, 2015 at 9:23:07 AM UTC-4, abal123 wrote:
> 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
When you compute the correlation and find the peak, you get the phase offset for free. Simply rotate the IQ samples by doing complex trig. The IQ samples are xn = In+iQn. Multiple them all by exp(-j 2 pi phaseoffset ). I'm having a hard time understanding what you know and what you don't. Do you know about complex numbers and basic complex multiplies? If the freq offset is sufficiently small and the packets are short then sure, no need to do sequential estimation (PLL or whatever).
Reply by Eric Jacobsen May 13, 20152015-05-13
On Wed, 13 May 2015 08:19:40 -0500, "abal123" <105765@DSPRelated>
wrote:

>>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
I'm not completely certain what you mean when you say that you're using a matched filter to correlate the signal and then mention a preamble. "Matched filter" in a comm system usually refers to the pulse-shaping filter. I think you mean that you're using a correlator to detect the preamble. Maybe. If so, and depending on the structure of the preamble, which you've not discussed, and assuming that the system is adequately oversampled, which you've also not discussed, then the preamble correlator can provide a simultaneous estimate of the signal phase as well as the symbol timing. The phase of the peak of the correlator output can be be used to de-rotate the signal to a desired reference phase. The time location of the peak can be used as an initial symbol timing estimate. If the preamble is well-designed and sufficiently long and the SNR high enough the correlator phase estimate may be applied once and held for the duration of the message, assuming the message is short enough and the tuned frequency is accurate enough that phase rotation during the message is negligible. The initial timing estimate can be used such that the subsequent symbol estimates are then taken from the oversampled signal at the assumed symbol period spacing. This assumes that the symbol rate is known and that the sample clock drift is insufficient over the duration of the message to cause performance degradation. There are an awful lot of assumptions and conditional "if"s in the above. One must tread carefully. This could be very simple, and sometimes it is, usually by careful design, or this could be difficult, depending. ;) Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
Reply by Evgeny Filatov May 13, 20152015-05-13
On 13.05.2015 22:08, Evgeny Filatov wrote:
> 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.
Once again, I'm not an expert here. Of course, there's the difference between data-aided and non-data-aided estimators. The difference is that data-aided estimators and far more accurate, but you can only use them for the preamble. I think the more appropriate link for data-aided estimation of bit timing and carrier phase is 2000 Fu and Willson "A Fast Synchronizer for Burst Modems with Simultaneous Symbol Timing and Carrier Phase Estimations". Data-aided estimators should allow you to get a good initial estimate using the preamble. If it's sufficient to read the packet, you are all set. But what if that's not sufficient to demodulate the entire packet? Then you can use NDA feedforward estimators (which saves you from resorting to PLLs). Evgeny.
Reply by Evgeny Filatov May 13, 20152015-05-13
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.
Reply by Tim Wescott May 13, 20152015-05-13
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
Reply by abal123 May 13, 20152015-05-13
>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
Reply by abal123 May 13, 20152015-05-13
>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
Reply by Tim Wescott May 12, 20152015-05-12
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