Forums

Blind Channel phase offset recovery

Started by Ali A Nasir August 13, 2009
On 13 Aug, 13:48, "Ali A Nasir" <aliarsha...@hotmail.com> wrote:
> Hi! > > &#2013266080; &#2013266080; &#2013266080;I have implemented blind equalization technique like CMA (Constant > Modulus Algorithm) and Dispersion Minimization algorithm but they are > working only for real channel taps. > > &#2013266080; &#2013266080; &#2013266080;Can anyone tell me that if the channel taps are complex
There might be a terminology question here, but what do you mean by 'complex channel taps'? In common DSP terminology, 'tap' refers to coefficients in a FIR filter. If the channel is indeed modeled as a FIR filter, then the coefficients of that FIR filter should be real-valued. So just out of curiosity: Do you really suggest that certain channels have complex-valued responses? Rune
>On 13 Aug, 13:48, "Ali A Nasir" <aliarsha...@hotmail.com> wrote: >> Hi! >> >> =A0 =A0 =A0I have implemented blind equalization technique like CMA
(Cons=
>tant >> Modulus Algorithm) and Dispersion Minimization algorithm but they are >> working only for real channel taps. >> >> =A0 =A0 =A0Can anyone tell me that if the channel taps are complex > >There might be a terminology question here, but what do >you mean by 'complex channel taps'? In common DSP terminology, >'tap' refers to coefficients in a FIR filter. If the channel >is indeed modeled as a FIR filter, then the coefficients of >that FIR filter should be real-valued. > >So just out of curiosity: Do you really suggest that certain >channels have complex-valued responses? >
As far as I know, real- world channels are complex valued. I have not encountered any channel that is real. Chintan
>Rune >
>>>Hi! >>> >>> I have implemented blind equalization technique like CMA
(Constant
>>>Modulus Algorithm) and Dispersion Minimization algorithm but they are >>>working only for real channel taps. >>> >>> Can anyone tell me that if the channel taps are complex i.e. >>channel >>>is introducing phase offset, then how we can implement blind phase >>offset >>>recovery ? I would be grateful if someone could hint me about some
good
>>>research paper on this issue. What I have searched works in Decision >>>directed mode but is there any technique which do recover the phase >>offset >>>blindly ? >>> >>>Regards >>> >> >>I have recently tried adaptive DFE with carrier phase recovery
(provided
>>symbol synch is achieved) on real-time signals. It worked for me but I >had >>to play with step size of NLMS and loop constant for phase correction. >This >>is explained in Proakis Comms. page 700. >> >>Chintan >> > >@ Chintan, > > Thanks for your guidance. Yup, symbol synchronization is achieved in >my case. Have you implemented DFE in a system which was initially
trained
>with some training preamble and then you used DFE to adapt the equalizer >coefficients in decision directed mode ? Actually I have to equalize in >blind environment ( with no training ). The situation is that after ISI >removal and equalization for the channel amplitude, the resultant >constellation is rotated in accordance with the channel phase offset.
But
>that phase offset results in wrong decision at slicer during decoding.
So
>my question is what could be done to mitigate that phase offset ? Can I >find the channel phase offset blindly and then rotate my equalized >constellation accordingly to get accurate detection ? > >
I had to use training of 511 to achieve initial convergence of the equalizer. But I am not sure how to design a complete blind receiver. I personally think that these blind receivers work provided the channel variations are constant during the packet. Chintan
On Aug 14, 3:30&#2013266080;am, Rune Allnor <all...@tele.ntnu.no> wrote:
> On 13 Aug, 13:48, "Ali A Nasir" <aliarsha...@hotmail.com> wrote: > > > Hi! > > > &#2013266080; &#2013266080; &#2013266080;I have implemented blind equalization technique like CMA (Constant > > Modulus Algorithm) and Dispersion Minimization algorithm but they are > > working only for real channel taps. > > > &#2013266080; &#2013266080; &#2013266080;Can anyone tell me that if the channel taps are complex > > There might be a terminology question here, but what do > you mean by 'complex channel taps'? In common DSP terminology, > 'tap' refers to coefficients in a FIR filter. If the channel > is indeed modeled as a FIR filter, then the coefficients of > that FIR filter should be real-valued. > > So just out of curiosity: Do you really suggest that certain > channels have complex-valued responses? > > Rune
They are probably referring to complex baseband representations. The actual physical (passband) channel itself is then still real- valued. Julius
>On Aug 14, 3:30=A0am, Rune Allnor <all...@tele.ntnu.no> wrote: >> On 13 Aug, 13:48, "Ali A Nasir" <aliarsha...@hotmail.com> wrote:
>> >> Rune > >They are probably referring to complex baseband representations. >The actual physical (passband) channel itself is then still real- >valued. > >Julius >
I am sorry for poor choice of words. I meant the same thing what Julius is saying. Chintan
On 8/13/2009 11:40 PM, Ali A Nasir wrote:
>> On 8/13/2009 8:05 AM, julius wrote: >>> On Aug 13, 10:14 am, "Ali A Nasir"<aliarsha...@hotmail.com> wrote: >>>>> On Aug 13, 7:48=A0am, "Ali A Nasir"<aliarsha...@hotmail.com> wrote: >>>>>> Hi! >>>>>> =A0 =A0 =A0I have implemented blind equalization technique like CMA >>>> (Cons= >>>>> tant >>>>>> Modulus Algorithm) and Dispersion Minimization algorithm but they > are >>>>>> working only for real channel taps. >>>>>> =A0 =A0 =A0Can anyone tell me that if the channel taps are complex > i.e. >>>> c= >>>>> hannel >>>>>> is introducing phase offset, then how we can implement blind phase >>>> offset >>>>>> recovery ? I would be grateful if someone could hint me about some >>>> good >>>>>> research paper on this issue. What I have searched works in > Decision >>>>>> directed mode but is there any technique which do recover the phase >>>> offse= >>>>> t >>>>>> blindly ? >>>>>> Regards >>>>> If by "blind" you have no prior information of how the signal >>>>> or data should be, then this is impossible. For example, a >>>>> QPSK constellation rotated by pi/2, or pi, or 3pi/2, all look >>>>> the same. >>>>> In most practical systems you'll have a preamble to >>>>> solve this ambiguity. >>>>> Does that make sense or did I misunderstand your question? >>>>> Julius >>>> I have the information about the constellation that I am using but > not >>>> allowed to use any training or preamble ( since its blind recovery ). > Let >>>> us say I am using pi/4 QPSK >>> Then you are out of luck, unless the data is differentially encoded or >>> something. You'll have to send some sort of sync word to solve the >>> ambiguity. >>> >>> Julius >> If FEC is used sometimes you can use a FEC lock indicator to resolve the > >> phase ambiguity. It adds a little time to the acquisition process, but > >> it can often do the job. >> >> >> -- >> Eric Jacobsen >> Minister of Algorithms >> Abineau Communications >> http://www.abineau.com >> > > > @ Eric > > Thanks for your guidance, Could you please explain some thing about > FEC lock indicator. Is it Frequency Error Correction sort of thing used in > Frequency Locked Loops ?
No. There are techniques to tell whether some FEC decoders are working on valid data or not. This is sometimes done in Viterbi decoders by observing the frequency of register renormalization. Similarly a Reed-Solomon decoder generates a syndrome which can be used to tell whether the codeword was valid or not. The idea, then, is that if the FEC is indicating that it has acquired a valid data stream then the phase ambiguity of the constellation must be correct. -- Eric Jacobsen Minister of Algorithms Abineau Communications http://www.abineau.com
On Aug 15, 10:35&#2013266080;am, Eric Jacobsen <eric.jacob...@ieee.org> wrote:
> On 8/13/2009 11:40 PM, Ali A Nasir wrote:
[snip]
> > &#2013266080; &#2013266080; &#2013266080; Thanks for your guidance, Could you please explain some thing about > > FEC lock indicator. Is it Frequency Error Correction sort of thing used in > > Frequency Locked Loops ? > > No. &#2013266080; There are techniques to tell whether some FEC decoders are working > on valid data or not. &#2013266080; This is sometimes done in Viterbi decoders by > observing the frequency of register renormalization. &#2013266080; Similarly a > Reed-Solomon decoder generates a syndrome which can be used to tell > whether the codeword was valid or not. > > The idea, then, is that if the FEC is indicating that it has acquired a > valid data stream then the phase ambiguity of the constellation must be > correct. > > -- > Eric Jacobsen > Minister of Algorithms > Abineau Communicationshttp://www.abineau.com
Another thing to consider is the use of rotationally-invariant trellis code. But the OP said no preamble. Can you use a code? Julius
On Aug 13, 10:01&#2013266080;am, Eric Jacobsen <eric.jacob...@ieee.org> wrote:
> If FEC is used sometimes you can use a FEC lock indicator to resolve the > phase ambiguity. &#2013266080; It adds a little time to the acquisition process, but > it can often do the job.
A brute force solution would be to run multiple decoders in parallel, one for each ambiguous quadrature phase for instance. That method would trade off higher computational cost for minimized acquisition time. IMHO. YMMV. --- rhn A.T nicholson d.0.t C-o-M
>On Aug 15, 10:35=A0am, Eric Jacobsen <eric.jacob...@ieee.org> wrote: >> On 8/13/2009 11:40 PM, Ali A Nasir wrote: >[snip] >> > =A0 =A0 =A0 Thanks for your guidance, Could you please explain some
thi=
>ng about >> > FEC lock indicator. Is it Frequency Error Correction sort of thing
used=
> in >> > Frequency Locked Loops ? >> >> No. =A0 There are techniques to tell whether some FEC decoders are
workin=
>g >> on valid data or not. =A0 This is sometimes done in Viterbi decoders
by
>> observing the frequency of register renormalization. =A0 Similarly a >> Reed-Solomon decoder generates a syndrome which can be used to tell >> whether the codeword was valid or not. >> >> The idea, then, is that if the FEC is indicating that it has acquired
a
>> valid data stream then the phase ambiguity of the constellation must
be
>> correct. >> >> -- >> Eric Jacobsen >> Minister of Algorithms >> Abineau Communicationshttp://www.abineau.com > >Another thing to consider is the use of rotationally-invariant >trellis code. But the OP said no preamble. Can you use >a code? > >Julius >
Yup Julius, I can use encoding but no initial preamble or training. So you think that rotationally invariant trellis codes or reed solomon coding can help in this regard ?
On Aug 16, 7:07&#2013266080;am, "Ali A Nasir" <aliarsha...@hotmail.com> wrote:
> >On Aug 15, 10:35=A0am, Eric Jacobsen <eric.jacob...@ieee.org> wrote: > >> On 8/13/2009 11:40 PM, Ali A Nasir wrote: > >[snip] > >> > =A0 =A0 =A0 Thanks for your guidance, Could you please explain some > thi= > >ng about > >> > FEC lock indicator. Is it Frequency Error Correction sort of thing > used= > > in > >> > Frequency Locked Loops ? > > >> No. =A0 There are techniques to tell whether some FEC decoders are > workin= > >g > >> on valid data or not. =A0 This is sometimes done in Viterbi decoders > by > >> observing the frequency of register renormalization. =A0 Similarly a > >> Reed-Solomon decoder generates a syndrome which can be used to tell > >> whether the codeword was valid or not. > > >> The idea, then, is that if the FEC is indicating that it has acquired > a > >> valid data stream then the phase ambiguity of the constellation must > be > >> correct. > > >> -- > >> Eric Jacobsen > >> Minister of Algorithms > >> Abineau Communicationshttp://www.abineau.com > > >Another thing to consider is the use of rotationally-invariant > >trellis code. &#2013266080;But the OP said no preamble. &#2013266080;Can you use > >a code? > > >Julius > > &#2013266080; &#2013266080; Yup Julius, I can use encoding but no initial preamble or training. So > you think that rotationally invariant trellis codes or reed solomon coding > can help in this regard ?
It will have the same problem as with any convolutional code without proper start and ending points. You have to at least agree on which one is the first symbol, right? So maybe it's not as bad a problem. Julius