From: gretzteam on
Hi,
I'm having trouble understanding the similarities/differences/advantages of
various AM digital demodulation methods, which makes me incapable of
deciding what to use. I would like to go throug a few methods here and here
your thoughts.

First, I assume the common goal of all those techniques is to shift the
carrier back down to DC and there are a few ways to do this that have
different behavior. Right?

Method 1)
-Bandpass filter around the carrier.
-Take the absolute value. THIS is what shifts the carrier down to DC.
-Low-pass filter.
Now I guess taking the absolute value is not a very good way to shift the
carrier down to DC and is sensitive to anything other signal in the stream.
This is why we need to bandpass?
Is the performance of the system pretty much only dominated by the bandpass
filter? In other words, is taking the abs() value messing up my data EVEN
if there was only the carrier/data in the stream?

Method 2)
-Multiply incoming stream with sin(wc*t) and cos(wc*t) sample by sample.
-Lowpass filter each output. This gives I and Q.
-Calculate sqrt(I^2+Q^2).

Here, the carrier is perfectly shifted down to DC no matter what the stream
contains, which is why we don't need the bandpass filter. Can we say that
the performance of such a system is only dependent on the lowpass filter?
What about the precision of the sin(wc*t) and cos(wc*t)? Keeping only one
bit here would mean using a square wave, which can't be really good. Is
there any way to know how much this affects performance?

And probably most importantly, how can I measure performance of the system?
Is there a standard way. I'm not yet looking for complicated theoretical
explanations...something intuitive is better to learn at first - at least
for me!

Thanks!

From: Vladimir Vassilevsky on


gretzteam wrote:
> Hi,
> I'm having trouble understanding the similarities/differences/advantages of
> various AM digital demodulation methods, which makes me incapable of
> deciding what to use. I would like to go throug a few methods here and here
> your thoughts.
>
> First, I assume the common goal of all those techniques is to shift the
> carrier back down to DC and there are a few ways to do this that have
> different behavior. Right?

Not quite. There are two methods to demodulate AM: use carrier from
incoming signal as it is or regenerate carrier locally and demodulate
synchronously. There is a gazillion of ways to implement either method.

> Method 1)
> -Bandpass filter around the carrier.
> -Take the absolute value.

> Method 2)
> -Multiply incoming stream with sin(wc*t) and cos(wc*t) sample by sample.
> -Lowpass filter each output. This gives I and Q.
> -Calculate sqrt(I^2+Q^2).

Method 1 === Method 2. Both do non-synchronous demodulation. (1) does it
in real domain, (2) does it in complex domain.

> And probably most importantly, how can I measure performance of the system?

For analog system, the figure of merit is S/(THD + N). For digital
system, the figure of merit is BER.


Vladimir Vassilevsky
DSP and Mixed Signal Design Consultant
http://www.abvolt.com
From: Jerry Avins on
On 4/23/2010 9:53 AM, gretzteam wrote:
> Hi,
> I'm having trouble understanding the similarities/differences/advantages of
> various AM digital demodulation methods, which makes me incapable of
> deciding what to use. I would like to go throug a few methods here and here
> your thoughts.
>
> First, I assume the common goal of all those techniques is to shift the
> carrier back down to DC and there are a few ways to do this that have
> different behavior. Right?

Wrong. The object is to extract the modulating signal.

> Method 1)
> -Bandpass filter around the carrier.
> -Take the absolute value. THIS is what shifts the carrier down to DC.
> -Low-pass filter.

There is a potentially serious flaw here. You must not assume that your
samples are anywhere near the carrier peaks.

> Now I guess taking the absolute value is not a very good way to shift the
> carrier down to DC and is sensitive to anything other signal in the stream.
> This is why we need to bandpass?

If you bandpassed adequately, the only other signal would overlay the
signal you hoped to recover. That's called "interference" (hams call it
QRM) and is outside the scope of your question.

> Is the performance of the system pretty much only dominated by the bandpass
> filter? In other words, is taking the abs() value messing up my data EVEN
> if there was only the carrier/data in the stream?

No. You must not assume that your samples are anywhere near the carrier
peaks.

> Method 2)
> -Multiply incoming stream with sin(wc*t) and cos(wc*t) sample by sample.
> -Lowpass filter each output. This gives I and Q.
> -Calculate sqrt(I^2+Q^2).

You can think of this another way. Sqrt(I^2+Q^2) gives the magnitude of
the envelope, exactly what you want.

> Here, the carrier is perfectly shifted down to DC no matter what the stream
> contains, which is why we don't need the bandpass filter.

Of course you need the bandpass filter. You want to operate on the
carrier and its sidebands only, not on every frequency from power line
to X-rays. If there is more than one signal in the passband, that's
still QRM, and the signal is contaminated.
> Can we say that
> the performance of such a system is only dependent on the lowpass filter?
> What about the precision of the sin(wc*t) and cos(wc*t)? Keeping only one
> bit here would mean using a square wave, which can't be really good. Is
> there any way to know how much this affects performance?

Try it and see.

> And probably most importantly, how can I measure performance of the system?
> Is there a standard way. I'm not yet looking for complicated theoretical
> explanations...something intuitive is better to learn at first - at least
> for me!

Before you can measure or calculate performance, you need a definition
of it.

Jerry
--
"It does me no injury for my neighbor to say there are 20 gods, or no
God. It neither picks my pocket nor breaks my leg."
Thomas Jefferson to the Virginia House of Delegates in 1776.
���������������������������������������������������������������������
From: brent on
On Apr 23, 9:53 am, "gretzteam" <gretzteam(a)n_o_s_p_a_m.yahoo.com>
wrote:
> Hi,
> I'm having trouble understanding the similarities/differences/advantages of
> various AM digital demodulation methods, which makes me incapable of
> deciding what to use. I would like to go throug a few methods here and here
> your thoughts.
>
> First, I assume the common goal of all those techniques is to shift the
> carrier back down to DC and there are a few ways to do this that have
> different behavior. Right?
>
> Method 1)
> -Bandpass filter around the carrier.
> -Take the absolute value. THIS is what shifts the carrier down to DC.
> -Low-pass filter.
> Now I guess taking the absolute value is not a very good way to shift the
> carrier down to DC and is sensitive to anything other signal in the stream.
> This is why we need to bandpass?
> Is the performance of the system pretty much only dominated by the bandpass
> filter? In other words, is taking the abs() value messing up my data EVEN
> if there was only the carrier/data in the stream?
>
> Method 2)
> -Multiply incoming stream with sin(wc*t) and cos(wc*t) sample by sample.
> -Lowpass filter each output. This gives I and Q.
> -Calculate sqrt(I^2+Q^2).
>
> Here, the carrier is perfectly shifted down to DC no matter what the stream
> contains, which is why we don't need the bandpass filter. Can we say that
> the performance of such a system is only dependent on the lowpass filter?
> What about the precision of the sin(wc*t) and cos(wc*t)? Keeping only one
> bit here would mean using a square wave, which can't be really good. Is
> there any way to know how much this affects performance?
>
> And probably most importantly, how can I measure performance of the system?
> Is there a standard way. I'm not yet looking for complicated theoretical
> explanations...something intuitive is better to learn at first - at least
> for me!
>
> Thanks!

Method 2 is solid. After implementing method 2 you can try to do
tricks that may give you some improvements. One trick I know of is to
sychronize the carrier with a digital PLL. This is tough, it has some
other aspects to it that can go wrong and you get a maximum 3 dB
improvement over method 2. If you are in a hurry and have enough
signal to noise ratio use method 2.
From: Jerry Avins on
On 4/23/2010 11:54 AM, brent wrote:
> On Apr 23, 9:53 am, "gretzteam"<gretzteam(a)n_o_s_p_a_m.yahoo.com>
> wrote:
>> Hi,
>> I'm having trouble understanding the similarities/differences/advantages of
>> various AM digital demodulation methods, which makes me incapable of
>> deciding what to use. I would like to go throug a few methods here and here
>> your thoughts.
>>
>> First, I assume the common goal of all those techniques is to shift the
>> carrier back down to DC and there are a few ways to do this that have
>> different behavior. Right?
>>
>> Method 1)
>> -Bandpass filter around the carrier.
>> -Take the absolute value. THIS is what shifts the carrier down to DC.
>> -Low-pass filter.
>> Now I guess taking the absolute value is not a very good way to shift the
>> carrier down to DC and is sensitive to anything other signal in the stream.
>> This is why we need to bandpass?
>> Is the performance of the system pretty much only dominated by the bandpass
>> filter? In other words, is taking the abs() value messing up my data EVEN
>> if there was only the carrier/data in the stream?
>>
>> Method 2)
>> -Multiply incoming stream with sin(wc*t) and cos(wc*t) sample by sample.
>> -Lowpass filter each output. This gives I and Q.
>> -Calculate sqrt(I^2+Q^2).
>>
>> Here, the carrier is perfectly shifted down to DC no matter what the stream
>> contains, which is why we don't need the bandpass filter. Can we say that
>> the performance of such a system is only dependent on the lowpass filter?
>> What about the precision of the sin(wc*t) and cos(wc*t)? Keeping only one
>> bit here would mean using a square wave, which can't be really good. Is
>> there any way to know how much this affects performance?
>>
>> And probably most importantly, how can I measure performance of the system?
>> Is there a standard way. I'm not yet looking for complicated theoretical
>> explanations...something intuitive is better to learn at first - at least
>> for me!
>>
>> Thanks!
>
> Method 2 is solid. After implementing method 2 you can try to do
> tricks that may give you some improvements. One trick I know of is to
> sychronize the carrier with a digital PLL. This is tough, it has some
> other aspects to it that can go wrong and you get a maximum 3 dB
> improvement over method 2. If you are in a hurry and have enough
> signal to noise ratio use method 2.

Use it, but understand it. Understand the implication of in-band
interference. Understand the need to exclude out-of-band signals from
the demodulation process. (The baseband low-pass filter can't remove
aliases.) Replacing sinusoids with square waves adds harmonics that may
or may not matter. There are some quick-and-dirty ways to calculate
sqrt(I^2+Q^2) that might be good enough if some distortion is tolerable.
See http://www.dspguru.com/dsp/tricks/magnitude-estimator.

Jerry
--
"It does me no injury for my neighbor to say there are 20 gods, or no
God. It neither picks my pocket nor breaks my leg."
Thomas Jefferson to the Virginia House of Delegates in 1776.
���������������������������������������������������������������������