# Complex AM demodulation- simple question

Started by April 17, 2012
```To demodulate AM, I use the formula am = sqrt(I*I + Q*Q)

I am mixing an AM IF signal to baseband, i.e. carrier plus 2 sidebands. My
test signal is modulated at 800Hz.

When I look at the demodulation, it looks OK when I mix perfectly to 0Hz,
but as the transmitted signal moves up or down frequency, I end up with 2
frequencies in the demodulated signal.
i.e. I get a demodulated signal of 200Hz and 600Hz when the carrier is at
200Hz.

Is what I am seeing correct or have I got some other mixing products from
somewhere?

The demod scheme is 10.7MHz into an AtoD into an FPGA at 8.56MHz.  This
gives me 2.14MHz alias.  I lowpass filter.  I then mix with 2.14MHz
(1,0,-1,0 at 8.56MHz) to give me I & Q at baseband.  I filter again.
At this point I capture blocks of I & Q data to check what I'm getting.

regards

```
```On Apr 17, 1:15&#2013266080;am, "konrad" <konradb@n_o_s_p_a_m.btinternet.com>
wrote:
> To demodulate AM, I use the formula am = sqrt(I*I + Q*Q)
>
> I am mixing an AM IF signal to baseband, i.e. carrier plus 2 sidebands. My
> test signal is modulated at 800Hz.
>
> When I look at the demodulation, it looks OK when I mix perfectly to 0Hz,
> but as the transmitted signal moves up or down frequency, I end up with 2
> frequencies in the demodulated signal.
> i.e. I get a demodulated signal of 200Hz and 600Hz when the carrier is at
> 200Hz.
>
> Is what I am seeing correct or have I got some other mixing products from
> somewhere?
>
> The demod scheme is 10.7MHz into an AtoD into an FPGA at 8.56MHz. &#2013266080;This
> gives me 2.14MHz alias. &#2013266080;I lowpass filter. &#2013266080;I then mix with 2.14MHz
> (1,0,-1,0 at 8.56MHz) to give me I & Q at baseband. &#2013266080;I filter again.
> At this point I capture blocks of I & Q data to check what I'm getting.
>
> regards

I do not fully understand your question, but the AM demodulator should
be immune to some carrier shift relative to your internal LO.

It is possible that your I and Q signals are not really true I and Q
signals.

I have an AM demodulator modeled here (bottom program):

http://www.fourier-series.com/IQMod/index.html

It might be useful to you.
```
```On 17.4.12 8:15 , konrad wrote:
> To demodulate AM, I use the formula am = sqrt(I*I + Q*Q)
>
> I am mixing an AM IF signal to baseband, i.e. carrier plus 2 sidebands. My
> test signal is modulated at 800Hz.
>
> When I look at the demodulation, it looks OK when I mix perfectly to 0Hz,
> but as the transmitted signal moves up or down frequency, I end up with 2
> frequencies in the demodulated signal.
> i.e. I get a demodulated signal of 200Hz and 600Hz when the carrier is at
> 200Hz.
>
> Is what I am seeing correct or have I got some other mixing products from
> somewhere?
>
> The demod scheme is 10.7MHz into an AtoD into an FPGA at 8.56MHz.  This
> gives me 2.14MHz alias.  I lowpass filter.  I then mix with 2.14MHz
> (1,0,-1,0 at 8.56MHz) to give me I&  Q at baseband.  I filter again.
> At this point I capture blocks of I&  Q data to check what I'm getting.
>
> regards

Are you mixing with an image-suppressing mixer, using both I and Q
phases?

You are probably seeing the beat frequency from the mixing image.

--

Tauno Voipio

```
```On Tue, 17 Apr 2012 00:15:25 -0500, konrad wrote:

> To demodulate AM, I use the formula am = sqrt(I*I + Q*Q)
>
> I am mixing an AM IF signal to baseband, i.e. carrier plus 2 sidebands.
> My test signal is modulated at 800Hz.
>
> When I look at the demodulation, it looks OK when I mix perfectly to
> 0Hz, but as the transmitted signal moves up or down frequency, I end up
> with 2 frequencies in the demodulated signal. i.e. I get a demodulated
> signal of 200Hz and 600Hz when the carrier is at 200Hz.
>
> Is what I am seeing correct or have I got some other mixing products
> from somewhere?
>
> The demod scheme is 10.7MHz into an AtoD into an FPGA at 8.56MHz.  This
> gives me 2.14MHz alias.  I lowpass filter.  I then mix with 2.14MHz
> (1,0,-1,0 at 8.56MHz) to give me I & Q at baseband.  I filter again. At
> this point I capture blocks of I & Q data to check what I'm getting.
>
> regards

Like Brent, I think you're not getting true I and Q.  You are separately
mixing, with 1, 0, -1, 0 to get I, and 0, 1, 0, -1 to get Q?  Yes?  You
need to be doing something similar to get I and Q.

Just a side note: I'd be trying synchronous demodulation, if for no other
reason than to say that I'd done it.  But first you need to get what you
have working.

--
My liberal friends think I'm a conservative kook.
My conservative friends think I'm a liberal kook.
Why am I not happy that they have found common ground?

Tim Wescott, Communications, Control, Circuits & Software
http://www.wescottdesign.com
```