DSPRelated.com
Forums

Demodulating QPSK

Started by John E. Hadstate April 5, 2008

John E. Hadstate wrote:


> After extensive tests, I've hit upon one robust, sure-fire system for > demodulating long-duration QPSK. (This system is not especially useful > for signals that occur in short bursts.)
Why reinventing a wheel? Demodulation of the long duration QPSK without noise, fading and frequency wander is a piece of cake task, and there is 10000 solutions for that.
> As always with this type of > system, you will probably need to re-map your recovered dibits based on > some knowledge of the signal's contents and internal structure. > > In my implementation, all filters were two-pole IIR filters. The > low-pass filters were designed by applying the BLT to Butterworth pole > placements from the analog domain.
Minor technical detail. Why does it matter?
> The band-pass filters were designed > with complex-conjugate poles just inside the unit circle and on the > radial lines corresponding to the desired center frequency. All of the > critical frequencies were either a multiple or a fraction of the baud > rate of the dibits.
Too many of the clever scientific words. Understood nothing.
> > Here's the block diagram in text form:
1. What is new about it? 2. Why this is better then a classic approach?
> 1. Re-tune t QPSK signal so that its frequency is an integral > multiple of the baud rate.
Having all frequencies coupled is inflexible and inconvenient.
> To do this, you need to have some estimate > of frequency of the incoming signal. You don't necessarily know the > exact frequency of the original signal, but you must estimate "close > enough". Initialize a frequency accumulator to the re-tuned frequency. > > 2. Square the signal from (1). Bandpass filter around 2x the nominal > (re-tuned) frequency. > > 3. Square the signal from (2). Bandpass filter around 4x the nominal > (re-tuned) frequency.
4-th order loop classics.
> 4. Multiply the signal from (3) by a sin and cos from a quadrature > Numerically Controlled Oscillator (NCO) running at 4x the frequency > indicated by the frequency accumulator. > > 5. Low-pass filter the I and Q arms to remove the 8x component.
Trivial implementation of a bandpass in complex domain.
> Note: At this point you are dealing with frequencies of at least 8x the > re-tuned signal (which might be higher than the frequency of your > original signal). Make sure your sample rate is adequate to handle > these frequencies.
Another stupid limitation.
> 6. Use the first difference of atan2(Q,I) to estimate the > rate-of-change of phase angle between I and Q. Unwrap this result so it > stays between -Pi and +Pi. Using this technique makes your PLL's loop > gain less vulnerable to changes in signal level.
And less noise resistant, too.
> 7. Filter the phase rate-of-change, multiply by a gain constant and > subtract it from the frequency accumulator. (This is the same frequency > accumulator that is multiplied by 4 and used as the control frequency of > the NCO in step (4).
This could be done much simpler.
> At this point, if you've got all the filters right and the gain right, > you will have constructed a PLL that will lock-up fairly quickly at a > frequency of 4x the re-tuned frequency and it will follow changes in the > carrier frequency of the re-tuned signal.
Not any different from the 4-th order Costas Loop.
> The double squaring will have > wiped out most of the effect of modulation on the frequency estimation.
Classics. So what is new?
> 8. Apply the frequency from the frequency accumulator in (7) directly > to another quadrature NCO. It is this NCO that produces the > reconstructed carrier.
So?
> 9. Multiply the re-tuned signal from (1) by the sin and cos from the > NCO in (8).
So?
> 10. Low-pass filter the I and Q arms from (9) to eliminate the 2x > frequency.
So?
> 11. Look at the signs of the signal on the I and Q arms in (10) to > decide which quadrant the signal is in. You have to invent the > necessary logic to synchronize, decimate, and recover the demodulated > dibits. Hint: it helps if you sampled the incoming signal at a rate > that was an integral multiple of the baud rate (in addition to being at > least 16x the re-tuned frequency).
What is the point of this very trivial exersize? Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com

John E. Hadstate wrote:


> After extensive tests, I've hit upon one robust, sure-fire system for > demodulating long-duration QPSK. (This system is not especially useful > for signals that occur in short bursts.)
Why reinventing a wheel? Demodulation of the long duration QPSK without noise, fading and frequency wander is a piece of cake task, and there is 10000 solutions for that.
> As always with this type of > system, you will probably need to re-map your recovered dibits based on > some knowledge of the signal's contents and internal structure. > > In my implementation, all filters were two-pole IIR filters. The > low-pass filters were designed by applying the BLT to Butterworth pole > placements from the analog domain.
Minor technical detail. Why does it matter?
> The band-pass filters were designed > with complex-conjugate poles just inside the unit circle and on the > radial lines corresponding to the desired center frequency. All of the > critical frequencies were either a multiple or a fraction of the baud > rate of the dibits.
Too many of the clever scientific words. Understood nothing.
> > Here's the block diagram in text form:
1. What is new about it? 2. Why this is better then a classic approach?
> 1. Re-tune t QPSK signal so that its frequency is an integral > multiple of the baud rate.
Having all frequencies coupled is inflexible and inconvenient.
> To do this, you need to have some estimate > of frequency of the incoming signal. You don't necessarily know the > exact frequency of the original signal, but you must estimate "close > enough". Initialize a frequency accumulator to the re-tuned frequency. > > 2. Square the signal from (1). Bandpass filter around 2x the nominal > (re-tuned) frequency. > > 3. Square the signal from (2). Bandpass filter around 4x the nominal > (re-tuned) frequency.
4-th order loop classics.
> 4. Multiply the signal from (3) by a sin and cos from a quadrature > Numerically Controlled Oscillator (NCO) running at 4x the frequency > indicated by the frequency accumulator. > > 5. Low-pass filter the I and Q arms to remove the 8x component.
Trivial implementation of a bandpass in complex domain.
> Note: At this point you are dealing with frequencies of at least 8x the > re-tuned signal (which might be higher than the frequency of your > original signal). Make sure your sample rate is adequate to handle > these frequencies.
Another stupid limitation.
> 6. Use the first difference of atan2(Q,I) to estimate the > rate-of-change of phase angle between I and Q. Unwrap this result so it > stays between -Pi and +Pi. Using this technique makes your PLL's loop > gain less vulnerable to changes in signal level.
And less noise resistant, too.
> 7. Filter the phase rate-of-change, multiply by a gain constant and > subtract it from the frequency accumulator. (This is the same frequency > accumulator that is multiplied by 4 and used as the control frequency of > the NCO in step (4).
This could be done much simpler.
> At this point, if you've got all the filters right and the gain right, > you will have constructed a PLL that will lock-up fairly quickly at a > frequency of 4x the re-tuned frequency and it will follow changes in the > carrier frequency of the re-tuned signal.
Not any different from the 4-th order Costas Loop.
> The double squaring will have > wiped out most of the effect of modulation on the frequency estimation.
Classics. So what is new?
> 8. Apply the frequency from the frequency accumulator in (7) directly > to another quadrature NCO. It is this NCO that produces the > reconstructed carrier.
So?
> 9. Multiply the re-tuned signal from (1) by the sin and cos from the > NCO in (8).
So?
> 10. Low-pass filter the I and Q arms from (9) to eliminate the 2x > frequency.
So?
> 11. Look at the signs of the signal on the I and Q arms in (10) to > decide which quadrant the signal is in. You have to invent the > necessary logic to synchronize, decimate, and recover the demodulated > dibits. Hint: it helps if you sampled the incoming signal at a rate > that was an integral multiple of the baud rate (in addition to being at > least 16x the re-tuned frequency).
What is the point of this very trivial exersize? Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com

John E. Hadstate wrote:


> After extensive tests, I've hit upon one robust, sure-fire system for > demodulating long-duration QPSK. (This system is not especially useful > for signals that occur in short bursts.)
Why reinventing a wheel? Demodulation of the long duration QPSK without noise, fading and frequency wander is a piece of cake task, and there is 10000 solutions for that.
> As always with this type of > system, you will probably need to re-map your recovered dibits based on > some knowledge of the signal's contents and internal structure. > > In my implementation, all filters were two-pole IIR filters. The > low-pass filters were designed by applying the BLT to Butterworth pole > placements from the analog domain.
Minor technical detail. Why does it matter?
> The band-pass filters were designed > with complex-conjugate poles just inside the unit circle and on the > radial lines corresponding to the desired center frequency. All of the > critical frequencies were either a multiple or a fraction of the baud > rate of the dibits.
Too many of the clever scientific words. Understood nothing.
> > Here's the block diagram in text form:
1. What is new about it? 2. Why this is better then a classic approach?
> 1. Re-tune t QPSK signal so that its frequency is an integral > multiple of the baud rate.
Having all frequencies coupled is inflexible and inconvenient.
> To do this, you need to have some estimate > of frequency of the incoming signal. You don't necessarily know the > exact frequency of the original signal, but you must estimate "close > enough". Initialize a frequency accumulator to the re-tuned frequency. > > 2. Square the signal from (1). Bandpass filter around 2x the nominal > (re-tuned) frequency. > > 3. Square the signal from (2). Bandpass filter around 4x the nominal > (re-tuned) frequency.
4-th order loop classics.
> 4. Multiply the signal from (3) by a sin and cos from a quadrature > Numerically Controlled Oscillator (NCO) running at 4x the frequency > indicated by the frequency accumulator. > > 5. Low-pass filter the I and Q arms to remove the 8x component.
Trivial implementation of a bandpass in complex domain.
> Note: At this point you are dealing with frequencies of at least 8x the > re-tuned signal (which might be higher than the frequency of your > original signal). Make sure your sample rate is adequate to handle > these frequencies.
Another stupid limitation.
> 6. Use the first difference of atan2(Q,I) to estimate the > rate-of-change of phase angle between I and Q. Unwrap this result so it > stays between -Pi and +Pi. Using this technique makes your PLL's loop > gain less vulnerable to changes in signal level.
And less noise resistant, too.
> 7. Filter the phase rate-of-change, multiply by a gain constant and > subtract it from the frequency accumulator. (This is the same frequency > accumulator that is multiplied by 4 and used as the control frequency of > the NCO in step (4).
This could be done much simpler.
> At this point, if you've got all the filters right and the gain right, > you will have constructed a PLL that will lock-up fairly quickly at a > frequency of 4x the re-tuned frequency and it will follow changes in the > carrier frequency of the re-tuned signal.
Not any different from the 4-th order Costas Loop.
> The double squaring will have > wiped out most of the effect of modulation on the frequency estimation.
Classics. So what is new?
> 8. Apply the frequency from the frequency accumulator in (7) directly > to another quadrature NCO. It is this NCO that produces the > reconstructed carrier.
So?
> 9. Multiply the re-tuned signal from (1) by the sin and cos from the > NCO in (8).
So?
> 10. Low-pass filter the I and Q arms from (9) to eliminate the 2x > frequency.
So?
> 11. Look at the signs of the signal on the I and Q arms in (10) to > decide which quadrant the signal is in. You have to invent the > necessary logic to synchronize, decimate, and recover the demodulated > dibits. Hint: it helps if you sampled the incoming signal at a rate > that was an integral multiple of the baud rate (in addition to being at > least 16x the re-tuned frequency).
What is the point of this very trivial exersize? Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com

John E. Hadstate wrote:


> After extensive tests, I've hit upon one robust, sure-fire system for > demodulating long-duration QPSK. (This system is not especially useful > for signals that occur in short bursts.)
Why reinventing a wheel? Demodulation of the long duration QPSK without noise, fading and frequency wander is a piece of cake task, and there is 10000 solutions for that.
> As always with this type of > system, you will probably need to re-map your recovered dibits based on > some knowledge of the signal's contents and internal structure. > > In my implementation, all filters were two-pole IIR filters. The > low-pass filters were designed by applying the BLT to Butterworth pole > placements from the analog domain.
Minor technical detail. Why does it matter?
> The band-pass filters were designed > with complex-conjugate poles just inside the unit circle and on the > radial lines corresponding to the desired center frequency. All of the > critical frequencies were either a multiple or a fraction of the baud > rate of the dibits.
Too many of the clever scientific words. Understood nothing.
> > Here's the block diagram in text form:
1. What is new about it? 2. Why this is better then a classic approach?
> 1. Re-tune t QPSK signal so that its frequency is an integral > multiple of the baud rate.
Having all frequencies coupled is inflexible and inconvenient.
> To do this, you need to have some estimate > of frequency of the incoming signal. You don't necessarily know the > exact frequency of the original signal, but you must estimate "close > enough". Initialize a frequency accumulator to the re-tuned frequency. > > 2. Square the signal from (1). Bandpass filter around 2x the nominal > (re-tuned) frequency. > > 3. Square the signal from (2). Bandpass filter around 4x the nominal > (re-tuned) frequency.
4-th order loop classics.
> 4. Multiply the signal from (3) by a sin and cos from a quadrature > Numerically Controlled Oscillator (NCO) running at 4x the frequency > indicated by the frequency accumulator. > > 5. Low-pass filter the I and Q arms to remove the 8x component.
Trivial implementation of a bandpass in complex domain.
> Note: At this point you are dealing with frequencies of at least 8x the > re-tuned signal (which might be higher than the frequency of your > original signal). Make sure your sample rate is adequate to handle > these frequencies.
Another stupid limitation.
> 6. Use the first difference of atan2(Q,I) to estimate the > rate-of-change of phase angle between I and Q. Unwrap this result so it > stays between -Pi and +Pi. Using this technique makes your PLL's loop > gain less vulnerable to changes in signal level.
And less noise resistant, too.
> 7. Filter the phase rate-of-change, multiply by a gain constant and > subtract it from the frequency accumulator. (This is the same frequency > accumulator that is multiplied by 4 and used as the control frequency of > the NCO in step (4).
This could be done much simpler.
> At this point, if you've got all the filters right and the gain right, > you will have constructed a PLL that will lock-up fairly quickly at a > frequency of 4x the re-tuned frequency and it will follow changes in the > carrier frequency of the re-tuned signal.
Not any different from the 4-th order Costas Loop.
> The double squaring will have > wiped out most of the effect of modulation on the frequency estimation.
Classics. So what is new?
> 8. Apply the frequency from the frequency accumulator in (7) directly > to another quadrature NCO. It is this NCO that produces the > reconstructed carrier.
So?
> 9. Multiply the re-tuned signal from (1) by the sin and cos from the > NCO in (8).
So?
> 10. Low-pass filter the I and Q arms from (9) to eliminate the 2x > frequency.
So?
> 11. Look at the signs of the signal on the I and Q arms in (10) to > decide which quadrant the signal is in. You have to invent the > necessary logic to synchronize, decimate, and recover the demodulated > dibits. Hint: it helps if you sampled the incoming signal at a rate > that was an integral multiple of the baud rate (in addition to being at > least 16x the re-tuned frequency).
What is the point of this very trivial exersize? Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com

John E. Hadstate wrote:


> After extensive tests, I've hit upon one robust, sure-fire system for > demodulating long-duration QPSK. (This system is not especially useful > for signals that occur in short bursts.)
Why reinventing a wheel? Demodulation of the long duration QPSK without noise, fading and frequency wander is a piece of cake task, and there is 10000 solutions for that.
> As always with this type of > system, you will probably need to re-map your recovered dibits based on > some knowledge of the signal's contents and internal structure. > > In my implementation, all filters were two-pole IIR filters. The > low-pass filters were designed by applying the BLT to Butterworth pole > placements from the analog domain.
Minor technical detail. Why does it matter?
> The band-pass filters were designed > with complex-conjugate poles just inside the unit circle and on the > radial lines corresponding to the desired center frequency. All of the > critical frequencies were either a multiple or a fraction of the baud > rate of the dibits.
Too many of the clever scientific words. Understood nothing.
> > Here's the block diagram in text form:
1. What is new about it? 2. Why this is better then a classic approach?
> 1. Re-tune t QPSK signal so that its frequency is an integral > multiple of the baud rate.
Having all frequencies coupled is inflexible and inconvenient.
> To do this, you need to have some estimate > of frequency of the incoming signal. You don't necessarily know the > exact frequency of the original signal, but you must estimate "close > enough". Initialize a frequency accumulator to the re-tuned frequency. > > 2. Square the signal from (1). Bandpass filter around 2x the nominal > (re-tuned) frequency. > > 3. Square the signal from (2). Bandpass filter around 4x the nominal > (re-tuned) frequency.
4-th order loop classics.
> 4. Multiply the signal from (3) by a sin and cos from a quadrature > Numerically Controlled Oscillator (NCO) running at 4x the frequency > indicated by the frequency accumulator. > > 5. Low-pass filter the I and Q arms to remove the 8x component.
Trivial implementation of a bandpass in complex domain.
> Note: At this point you are dealing with frequencies of at least 8x the > re-tuned signal (which might be higher than the frequency of your > original signal). Make sure your sample rate is adequate to handle > these frequencies.
Another stupid limitation.
> 6. Use the first difference of atan2(Q,I) to estimate the > rate-of-change of phase angle between I and Q. Unwrap this result so it > stays between -Pi and +Pi. Using this technique makes your PLL's loop > gain less vulnerable to changes in signal level.
And less noise resistant, too.
> 7. Filter the phase rate-of-change, multiply by a gain constant and > subtract it from the frequency accumulator. (This is the same frequency > accumulator that is multiplied by 4 and used as the control frequency of > the NCO in step (4).
This could be done much simpler.
> At this point, if you've got all the filters right and the gain right, > you will have constructed a PLL that will lock-up fairly quickly at a > frequency of 4x the re-tuned frequency and it will follow changes in the > carrier frequency of the re-tuned signal.
Not any different from the 4-th order Costas Loop.
> The double squaring will have > wiped out most of the effect of modulation on the frequency estimation.
Classics. So what is new?
> 8. Apply the frequency from the frequency accumulator in (7) directly > to another quadrature NCO. It is this NCO that produces the > reconstructed carrier.
So?
> 9. Multiply the re-tuned signal from (1) by the sin and cos from the > NCO in (8).
So?
> 10. Low-pass filter the I and Q arms from (9) to eliminate the 2x > frequency.
So?
> 11. Look at the signs of the signal on the I and Q arms in (10) to > decide which quadrant the signal is in. You have to invent the > necessary logic to synchronize, decimate, and recover the demodulated > dibits. Hint: it helps if you sampled the incoming signal at a rate > that was an integral multiple of the baud rate (in addition to being at > least 16x the re-tuned frequency).
What is the point of this very trivial exersize? Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com

John E. Hadstate wrote:


> After extensive tests, I've hit upon one robust, sure-fire system for > demodulating long-duration QPSK. (This system is not especially useful > for signals that occur in short bursts.)
Why reinventing a wheel? Demodulation of the long duration QPSK without noise, fading and frequency wander is a piece of cake task, and there is 10000 solutions for that.
> As always with this type of > system, you will probably need to re-map your recovered dibits based on > some knowledge of the signal's contents and internal structure. > > In my implementation, all filters were two-pole IIR filters. The > low-pass filters were designed by applying the BLT to Butterworth pole > placements from the analog domain.
Minor technical detail. Why does it matter?
> The band-pass filters were designed > with complex-conjugate poles just inside the unit circle and on the > radial lines corresponding to the desired center frequency. All of the > critical frequencies were either a multiple or a fraction of the baud > rate of the dibits.
Too many of the clever scientific words. Understood nothing.
> > Here's the block diagram in text form:
1. What is new about it? 2. Why this is better then a classic approach?
> 1. Re-tune t QPSK signal so that its frequency is an integral > multiple of the baud rate.
Having all frequencies coupled is inflexible and inconvenient.
> To do this, you need to have some estimate > of frequency of the incoming signal. You don't necessarily know the > exact frequency of the original signal, but you must estimate "close > enough". Initialize a frequency accumulator to the re-tuned frequency. > > 2. Square the signal from (1). Bandpass filter around 2x the nominal > (re-tuned) frequency. > > 3. Square the signal from (2). Bandpass filter around 4x the nominal > (re-tuned) frequency.
4-th order loop classics.
> 4. Multiply the signal from (3) by a sin and cos from a quadrature > Numerically Controlled Oscillator (NCO) running at 4x the frequency > indicated by the frequency accumulator. > > 5. Low-pass filter the I and Q arms to remove the 8x component.
Trivial implementation of a bandpass in complex domain.
> Note: At this point you are dealing with frequencies of at least 8x the > re-tuned signal (which might be higher than the frequency of your > original signal). Make sure your sample rate is adequate to handle > these frequencies.
Another stupid limitation.
> 6. Use the first difference of atan2(Q,I) to estimate the > rate-of-change of phase angle between I and Q. Unwrap this result so it > stays between -Pi and +Pi. Using this technique makes your PLL's loop > gain less vulnerable to changes in signal level.
And less noise resistant, too.
> 7. Filter the phase rate-of-change, multiply by a gain constant and > subtract it from the frequency accumulator. (This is the same frequency > accumulator that is multiplied by 4 and used as the control frequency of > the NCO in step (4).
This could be done much simpler.
> At this point, if you've got all the filters right and the gain right, > you will have constructed a PLL that will lock-up fairly quickly at a > frequency of 4x the re-tuned frequency and it will follow changes in the > carrier frequency of the re-tuned signal.
Not any different from the 4-th order Costas Loop.
> The double squaring will have > wiped out most of the effect of modulation on the frequency estimation.
Classics. So what is new?
> 8. Apply the frequency from the frequency accumulator in (7) directly > to another quadrature NCO. It is this NCO that produces the > reconstructed carrier.
So?
> 9. Multiply the re-tuned signal from (1) by the sin and cos from the > NCO in (8).
So?
> 10. Low-pass filter the I and Q arms from (9) to eliminate the 2x > frequency.
So?
> 11. Look at the signs of the signal on the I and Q arms in (10) to > decide which quadrant the signal is in. You have to invent the > necessary logic to synchronize, decimate, and recover the demodulated > dibits. Hint: it helps if you sampled the incoming signal at a rate > that was an integral multiple of the baud rate (in addition to being at > least 16x the re-tuned frequency).
What is the point of this very trivial exersize? Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com

John E. Hadstate wrote:


> After extensive tests, I've hit upon one robust, sure-fire system for > demodulating long-duration QPSK. (This system is not especially useful > for signals that occur in short bursts.)
Why reinventing a wheel? Demodulation of the long duration QPSK without noise, fading and frequency wander is a piece of cake task, and there is 10000 solutions for that.
> As always with this type of > system, you will probably need to re-map your recovered dibits based on > some knowledge of the signal's contents and internal structure. > > In my implementation, all filters were two-pole IIR filters. The > low-pass filters were designed by applying the BLT to Butterworth pole > placements from the analog domain.
Minor technical detail. Why does it matter?
> The band-pass filters were designed > with complex-conjugate poles just inside the unit circle and on the > radial lines corresponding to the desired center frequency. All of the > critical frequencies were either a multiple or a fraction of the baud > rate of the dibits.
Too many of the clever scientific words. Understood nothing.
> > Here's the block diagram in text form:
1. What is new about it? 2. Why this is better then a classic approach?
> 1. Re-tune t QPSK signal so that its frequency is an integral > multiple of the baud rate.
Having all frequencies coupled is inflexible and inconvenient.
> To do this, you need to have some estimate > of frequency of the incoming signal. You don't necessarily know the > exact frequency of the original signal, but you must estimate "close > enough". Initialize a frequency accumulator to the re-tuned frequency. > > 2. Square the signal from (1). Bandpass filter around 2x the nominal > (re-tuned) frequency. > > 3. Square the signal from (2). Bandpass filter around 4x the nominal > (re-tuned) frequency.
4-th order loop classics.
> 4. Multiply the signal from (3) by a sin and cos from a quadrature > Numerically Controlled Oscillator (NCO) running at 4x the frequency > indicated by the frequency accumulator. > > 5. Low-pass filter the I and Q arms to remove the 8x component.
Trivial implementation of a bandpass in complex domain.
> Note: At this point you are dealing with frequencies of at least 8x the > re-tuned signal (which might be higher than the frequency of your > original signal). Make sure your sample rate is adequate to handle > these frequencies.
Another stupid limitation.
> 6. Use the first difference of atan2(Q,I) to estimate the > rate-of-change of phase angle between I and Q. Unwrap this result so it > stays between -Pi and +Pi. Using this technique makes your PLL's loop > gain less vulnerable to changes in signal level.
And less noise resistant, too.
> 7. Filter the phase rate-of-change, multiply by a gain constant and > subtract it from the frequency accumulator. (This is the same frequency > accumulator that is multiplied by 4 and used as the control frequency of > the NCO in step (4).
This could be done much simpler.
> At this point, if you've got all the filters right and the gain right, > you will have constructed a PLL that will lock-up fairly quickly at a > frequency of 4x the re-tuned frequency and it will follow changes in the > carrier frequency of the re-tuned signal.
Not any different from the 4-th order Costas Loop.
> The double squaring will have > wiped out most of the effect of modulation on the frequency estimation.
Classics. So what is new?
> 8. Apply the frequency from the frequency accumulator in (7) directly > to another quadrature NCO. It is this NCO that produces the > reconstructed carrier.
So?
> 9. Multiply the re-tuned signal from (1) by the sin and cos from the > NCO in (8).
So?
> 10. Low-pass filter the I and Q arms from (9) to eliminate the 2x > frequency.
So?
> 11. Look at the signs of the signal on the I and Q arms in (10) to > decide which quadrant the signal is in. You have to invent the > necessary logic to synchronize, decimate, and recover the demodulated > dibits. Hint: it helps if you sampled the incoming signal at a rate > that was an integral multiple of the baud rate (in addition to being at > least 16x the re-tuned frequency).
What is the point of this very trivial exersize? Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com

John E. Hadstate wrote:


> After extensive tests, I've hit upon one robust, sure-fire system for > demodulating long-duration QPSK. (This system is not especially useful > for signals that occur in short bursts.)
Why reinventing a wheel? Demodulation of the long duration QPSK without noise, fading and frequency wander is a piece of cake task, and there is 10000 solutions for that.
> As always with this type of > system, you will probably need to re-map your recovered dibits based on > some knowledge of the signal's contents and internal structure. > > In my implementation, all filters were two-pole IIR filters. The > low-pass filters were designed by applying the BLT to Butterworth pole > placements from the analog domain.
Minor technical detail. Why does it matter?
> The band-pass filters were designed > with complex-conjugate poles just inside the unit circle and on the > radial lines corresponding to the desired center frequency. All of the > critical frequencies were either a multiple or a fraction of the baud > rate of the dibits.
Too many of the clever scientific words. Understood nothing.
> > Here's the block diagram in text form:
1. What is new about it? 2. Why this is better then a classic approach?
> 1. Re-tune t QPSK signal so that its frequency is an integral > multiple of the baud rate.
Having all frequencies coupled is inflexible and inconvenient.
> To do this, you need to have some estimate > of frequency of the incoming signal. You don't necessarily know the > exact frequency of the original signal, but you must estimate "close > enough". Initialize a frequency accumulator to the re-tuned frequency. > > 2. Square the signal from (1). Bandpass filter around 2x the nominal > (re-tuned) frequency. > > 3. Square the signal from (2). Bandpass filter around 4x the nominal > (re-tuned) frequency.
4-th order loop classics.
> 4. Multiply the signal from (3) by a sin and cos from a quadrature > Numerically Controlled Oscillator (NCO) running at 4x the frequency > indicated by the frequency accumulator. > > 5. Low-pass filter the I and Q arms to remove the 8x component.
Trivial implementation of a bandpass in complex domain.
> Note: At this point you are dealing with frequencies of at least 8x the > re-tuned signal (which might be higher than the frequency of your > original signal). Make sure your sample rate is adequate to handle > these frequencies.
Another stupid limitation.
> 6. Use the first difference of atan2(Q,I) to estimate the > rate-of-change of phase angle between I and Q. Unwrap this result so it > stays between -Pi and +Pi. Using this technique makes your PLL's loop > gain less vulnerable to changes in signal level.
And less noise resistant, too.
> 7. Filter the phase rate-of-change, multiply by a gain constant and > subtract it from the frequency accumulator. (This is the same frequency > accumulator that is multiplied by 4 and used as the control frequency of > the NCO in step (4).
This could be done much simpler.
> At this point, if you've got all the filters right and the gain right, > you will have constructed a PLL that will lock-up fairly quickly at a > frequency of 4x the re-tuned frequency and it will follow changes in the > carrier frequency of the re-tuned signal.
Not any different from the 4-th order Costas Loop.
> The double squaring will have > wiped out most of the effect of modulation on the frequency estimation.
Classics. So what is new?
> 8. Apply the frequency from the frequency accumulator in (7) directly > to another quadrature NCO. It is this NCO that produces the > reconstructed carrier.
So?
> 9. Multiply the re-tuned signal from (1) by the sin and cos from the > NCO in (8).
So?
> 10. Low-pass filter the I and Q arms from (9) to eliminate the 2x > frequency.
So?
> 11. Look at the signs of the signal on the I and Q arms in (10) to > decide which quadrant the signal is in. You have to invent the > necessary logic to synchronize, decimate, and recover the demodulated > dibits. Hint: it helps if you sampled the incoming signal at a rate > that was an integral multiple of the baud rate (in addition to being at > least 16x the re-tuned frequency).
What is the point of this very trivial exersize? Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com

John E. Hadstate wrote:


> After extensive tests, I've hit upon one robust, sure-fire system for > demodulating long-duration QPSK. (This system is not especially useful > for signals that occur in short bursts.)
Why reinventing a wheel? Demodulation of the long duration QPSK without noise, fading and frequency wander is a piece of cake task, and there is 10000 solutions for that.
> As always with this type of > system, you will probably need to re-map your recovered dibits based on > some knowledge of the signal's contents and internal structure. > > In my implementation, all filters were two-pole IIR filters. The > low-pass filters were designed by applying the BLT to Butterworth pole > placements from the analog domain.
Minor technical detail. Why does it matter?
> The band-pass filters were designed > with complex-conjugate poles just inside the unit circle and on the > radial lines corresponding to the desired center frequency. All of the > critical frequencies were either a multiple or a fraction of the baud > rate of the dibits.
Too many of the clever scientific words. Understood nothing.
> > Here's the block diagram in text form:
1. What is new about it? 2. Why this is better then a classic approach?
> 1. Re-tune t QPSK signal so that its frequency is an integral > multiple of the baud rate.
Having all frequencies coupled is inflexible and inconvenient.
> To do this, you need to have some estimate > of frequency of the incoming signal. You don't necessarily know the > exact frequency of the original signal, but you must estimate "close > enough". Initialize a frequency accumulator to the re-tuned frequency. > > 2. Square the signal from (1). Bandpass filter around 2x the nominal > (re-tuned) frequency. > > 3. Square the signal from (2). Bandpass filter around 4x the nominal > (re-tuned) frequency.
4-th order loop classics.
> 4. Multiply the signal from (3) by a sin and cos from a quadrature > Numerically Controlled Oscillator (NCO) running at 4x the frequency > indicated by the frequency accumulator. > > 5. Low-pass filter the I and Q arms to remove the 8x component.
Trivial implementation of a bandpass in complex domain.
> Note: At this point you are dealing with frequencies of at least 8x the > re-tuned signal (which might be higher than the frequency of your > original signal). Make sure your sample rate is adequate to handle > these frequencies.
Another stupid limitation.
> 6. Use the first difference of atan2(Q,I) to estimate the > rate-of-change of phase angle between I and Q. Unwrap this result so it > stays between -Pi and +Pi. Using this technique makes your PLL's loop > gain less vulnerable to changes in signal level.
And less noise resistant, too.
> 7. Filter the phase rate-of-change, multiply by a gain constant and > subtract it from the frequency accumulator. (This is the same frequency > accumulator that is multiplied by 4 and used as the control frequency of > the NCO in step (4).
This could be done much simpler.
> At this point, if you've got all the filters right and the gain right, > you will have constructed a PLL that will lock-up fairly quickly at a > frequency of 4x the re-tuned frequency and it will follow changes in the > carrier frequency of the re-tuned signal.
Not any different from the 4-th order Costas Loop.
> The double squaring will have > wiped out most of the effect of modulation on the frequency estimation.
Classics. So what is new?
> 8. Apply the frequency from the frequency accumulator in (7) directly > to another quadrature NCO. It is this NCO that produces the > reconstructed carrier.
So?
> 9. Multiply the re-tuned signal from (1) by the sin and cos from the > NCO in (8).
So?
> 10. Low-pass filter the I and Q arms from (9) to eliminate the 2x > frequency.
So?
> 11. Look at the signs of the signal on the I and Q arms in (10) to > decide which quadrant the signal is in. You have to invent the > necessary logic to synchronize, decimate, and recover the demodulated > dibits. Hint: it helps if you sampled the incoming signal at a rate > that was an integral multiple of the baud rate (in addition to being at > least 16x the re-tuned frequency).
What is the point of this very trivial exersize? Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com

Eric Jacobsen wrote:

> On Sat, 31 May 2008 22:48:04 -0400, "John E. Hadstate" > <jh113355@hotmail.com> wrote: > > >>After extensive tests, I've hit upon one robust, sure-fire >>system for demodulating long-duration QPSK.
:))))))
> My guess is that it may not perform well in noise, since the > double-squaring of a noisy signal can get ugly in a hurry. Since > that's the reference for your ultimate demodulation, I suspect > performance in noise or other impairments may suffer.
The suggested solution is the classic Costas Loop of the 4th order, implemented in the awfully awkward way. The joint carrier/symbol sync ML loop will surely perform better. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com