There are 7 messages in this thread.
You are currently looking at messages 0 to 7.
Hi, I have come across a lot of literature saying that costas loop is used for phase error correction. I had few questions regarding that. After multiplying and generating a difference signal either cos(phi) or sin(phi) where phi is the phase difference between the incoming and the locally generated signals, how is this translated to an angle which can be given as an input to the VCO?? The output of the carrier discriminator which can be a multiplier is sin(2*phi). I wanted to know what the loop filter does that converts this value to an appropriate value as an input to the VCO. If we consider another discriminator such as arctan then we directly can get a phase difference angle as the input to the VCO. However what is the use of a loop filter in this case?? Are there any higher frequency terms that need to be filtered out? Could you please reply to my questions? I would greatly appreciate your response. Thanking You, Viswanath______________________________
Hello I am also working on a phase tracker (PLL) in matlab. I have to make a coherent OQPSK-demodulator. I have a hard time finding out how to create a signal that can be used as an estimate for the phase-error. The quadrature receiver gives me the coordinates of a rotated vector (x,y) where the rotation angle is the phase-error, but what do I then do? Do you (or any other who reads this) have any suggestions? ---______________________________
viswanath wrote: > Hi, > I have come across a lot of literature saying that costas loop is used > for phase error correction. I had few questions regarding that. After > multiplying and generating a difference signal either cos(phi) or > sin(phi) where phi is the phase difference between the incoming and > the locally generated signals, how is this translated to an angle > which can be given as an input to the VCO?? > The output of the carrier discriminator which can be a multiplier is > sin(2*phi). I wanted to know what the loop filter does that converts > this value to an appropriate value as an input to the VCO. > If we consider another discriminator such as arctan then we directly > can get a phase difference angle as the input to the VCO. However what > is the use of a loop filter in this case?? > Are there any higher frequency terms that need to be filtered out? > Could you please reply to my questions? > I would greatly appreciate your response. > Thanking You, > Viswanath For small phase errors sin(phi) =~ phi, so that's what you use. How the loop locks is a different matter, but that's beyond this post and it's often not a big worry assuming you start fairly close-on in frequency. The loop filter is the same as for any PLL. Generally you'll want to think about using a PI filter. You can filter out higher frequencies if you want, or you can just use a filter that's sampled at the incoming data rate. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com______________________________
Hi The OQPSK-signal that I have to demodulate uses a half-sine pulse shaping function to modulate each basis-function in the signal. The received signal therefore looks like this: s(t) = mi(t) * cos(2*pi*f*t+p)+ mq(t) * sin(2*pi*f*t+p) where mi(t) is the I-phase signal and mq(t) is the Q-phase signal. p is the phase-error. When the signal is received it is sent through two branches (I-branch and Q-branch). In the I-branch s(t) is multiplied by a local carrier wave cos(2*pi*f*t) that comes from a VCO. After that the product is lowpass-filtered. The result is: I(t)=mi(t)*cos(p)+mq(t)*sin(p) In the Q-branch s(t) is multiplied by a local carrier wave sin(2*pi*f*t) (VCO-signal is phaseshifted 90 degrees). After that the product is lowpass-filtered. The result is: Q(t)=mq(t)*cos(p)-mi(t)*sin(p) This is a rotation of the vector [mi(t),mq(t)] Now, my problem is : How do I manipulate with I(t) and Q(t) to produce a phase-error correcting signal that can be fed to the VCO? Thanks. Jakob Denmark______________________________
bamse wrote: > Hi > > The OQPSK-signal that I have to demodulate uses a half-sine pulse shaping > function to modulate each basis-function in the signal. The received signal > therefore looks like this: > > s(t) = mi(t) * cos(2*pi*f*t+p)+ mq(t) * sin(2*pi*f*t+p) > > where mi(t) is the I-phase signal and mq(t) is the Q-phase signal. p is the > phase-error. > > When the signal is received it is sent through two branches (I-branch and > Q-branch). > > In the I-branch s(t) is multiplied by a local carrier wave cos(2*pi*f*t) > that comes from a VCO. After that the product is lowpass-filtered. The > result is: > > I(t)=mi(t)*cos(p)+mq(t)*sin(p) > > In the Q-branch s(t) is multiplied by a local carrier wave sin(2*pi*f*t) > (VCO-signal is phaseshifted 90 degrees). After that the product is > lowpass-filtered. The result is: > > Q(t)=mq(t)*cos(p)-mi(t)*sin(p) > > This is a rotation of the vector [mi(t),mq(t)] > > Now, my problem is : > > How do I manipulate with I(t) and Q(t) to produce a phase-error correcting > signal that can be fed to the VCO? > > Thanks. > > Jakob > Denmark > > This was on the group recently, and now I can't find it. In any case, OQPSK with half-sine shaping just happens, through the magic of trigonometry, to be FSK with the shift exactly equal to 1/2 the data rate. It's known as MSK. It's treatment is documented in these two articles, which I found very helpful in doing my Master's thesis: R De Buda "Coherent Demodulation of Frequency-Shift Keying with Low Deviation Ratio" -- IEEE Transactions, 1972, COM-20 pp 429-435. S Pasupathy, "Minimum Shift Keying: A Spectrally Efficient Modulation" -- IEEE Communications Society Magazine, July 1979, Vol 17, pp 14-22. One of these IIRC had a detailed block diagram and explanation of a Costas loop. I think it was the De Buda article. I practically coded off of the block diagram. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com______________________________
Hi Tim, Thanks for the reply. Could you please direct me to any book or source which deals with how the phases are locked? What would happen if the assumption you took sin(x) = x is not satisfied?? If I am performing a carrier tracking loop at baseband frequencies and I just have the error signals then what is the need for a loop filter after the discriminator and before the VCO? What is its purpose? The VCO should be a function of the input control signal (which in this case is the error signal). Then what is the functionality of the loop filter in a costas loop? Could you please reply to this? I would greatly appreciate your reply. Thanks Viswa Tim Wescott <t...@wescottnospamdesign.com> wrote in message news:<1...@corp.supernews.com>... > viswanath wrote: > > > Hi, > > I have come across a lot of literature saying that costas loop is used > > for phase error correction. I had few questions regarding that. After > > multiplying and generating a difference signal either cos(phi) or > > sin(phi) where phi is the phase difference between the incoming and > > the locally generated signals, how is this translated to an angle > > which can be given as an input to the VCO?? > > The output of the carrier discriminator which can be a multiplier is > > sin(2*phi). I wanted to know what the loop filter does that converts > > this value to an appropriate value as an input to the VCO. > > If we consider another discriminator such as arctan then we directly > > can get a phase difference angle as the input to the VCO. However what > > is the use of a loop filter in this case?? > > Are there any higher frequency terms that need to be filtered out? > > Could you please reply to my questions? > > I would greatly appreciate your response. > > Thanking You, > > Viswanath > > For small phase errors sin(phi) =~ phi, so that's what you use. How the > loop locks is a different matter, but that's beyond this post and it's > often not a big worry assuming you start fairly close-on in frequency. > > The loop filter is the same as for any PLL. Generally you'll want to > think about using a PI filter. You can filter out higher frequencies if > you want, or you can just use a filter that's sampled at the incoming > data rate.______________________________
viswanath wrote: > Hi Tim, > Thanks for the reply. > Could you please direct me to any book or source which deals with how > the phases are locked? Dan H. Wolaver, "Phase-Locked Loop Circuit Design", Prentice-Hall 1991, ISBN 0-13-662743-9. Any PLL book would do, but this is the devil I know. > What would happen if the assumption you took sin(x) = x is not > satisfied?? Then your loop isn't locked. Your loop is locked if x =~ 0, and if x =~ 0 then sin(x) =~ x. How the loop comes into lock is an issue to learn out of a PLL book. > If I am performing a carrier tracking loop at baseband frequencies and > I just have the error signals then what is the need for a loop filter > after the discriminator and before the VCO? What is its purpose? > The VCO should be a function of the input control signal (which in > this case is the error signal). Then what is the functionality of the > loop filter in a costas loop? The loop filter usually includes an integrator, to bring the phase error to zero when there is a frequency offset. > Could you please reply to this? > I would greatly appreciate your reply. > Thanks > Viswa -- snip -- -- Tim Wescott Wescott Design Services http://www.wescottdesign.com______________________________