# Demodulating QPSK

Started by April 5, 2008
```

> 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?

DSP and Mixed Signal Design Consultant
http://www.abvolt.com
```
```

> 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?

DSP and Mixed Signal Design Consultant
http://www.abvolt.com
```
```

> 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?

DSP and Mixed Signal Design Consultant
http://www.abvolt.com
```
```

> 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?

DSP and Mixed Signal Design Consultant
http://www.abvolt.com
```
```

> 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?

DSP and Mixed Signal Design Consultant
http://www.abvolt.com
```
```

> 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?

DSP and Mixed Signal Design Consultant
http://www.abvolt.com
```
```

> 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?

DSP and Mixed Signal Design Consultant
http://www.abvolt.com
```
```

> 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?

DSP and Mixed Signal Design Consultant
http://www.abvolt.com
```
```

> 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?

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.