DSPRelated.com
Forums

Synchronous AM demodulator

Started by spooky April 12, 2005
Greetings.

I want to make a program that does synchronous AM demodulation.

I can't seem to find any good descriptions on the net how this is done.
Could somebody please explain it, or point me to some resources?
Thanks in advance.


		
This message was sent using the Comp.DSP web interface on
www.DSPRelated.com
spooky wrote:
> Greetings. > > I want to make a program that does synchronous AM demodulation. > > I can't seem to find any good descriptions on the net how this is done. > Could somebody please explain it, or point me to some resources? > Thanks in advance. > > > > This message was sent using the Comp.DSP web interface on > www.DSPRelated.com
Multiply the signal by a square wave (+/- 1) at the carrier frequency. The phase which produces a DC null is in quadrature with the phase for demodulating. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Good idea Jerry, that is exactly what a hardware synchronous AM demodulator
does!

Can you also explain how to generate a square wave at the carrier frequency?
I do not think, this is a trivial questions, since we are always talking
about amplitude-discrete AND time-discrete signals in comp.dsp or are we
not?

Best regards
Ulrich Bangert


"Jerry Avins" <jya@ieee.org> schrieb im Newsbeitrag
news:l9GdnSHOnuDzbMbfRVn-qg@rcn.net...
> spooky wrote: > > Greetings. > > > > I want to make a program that does synchronous AM demodulation. > > > > I can't seem to find any good descriptions on the net how this is done. > > Could somebody please explain it, or point me to some resources? > > Thanks in advance. > > > > > > > > This message was sent using the Comp.DSP web interface on > > www.DSPRelated.com > > Multiply the signal by a square wave (+/- 1) at the carrier frequency. > The phase which produces a DC null is in quadrature with the phase for > demodulating. > > Jerry > -- > Engineering is the art of making what you want from things you can get. > &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Hi Jerry,

I am working on NTSC decoding in software using quadrature sampled NTSC
signals (8 Mhz complex samples with audio at 2.75 Mhz and video at
-1.75 Mhz). I have implemented a comb filter, but it is not working
perfectly because of the drift  in video carrier frequency. Can someone
tell me how to estimate the drift and correct it. If I take the phase
of the samples, calculate the inst. freq and apply a complex
exponential, the phase of the whole signal is effectively nulled out.

You can take a look at what I am trying to achive by going to

www.geocities.com/pmd_iitgw/software_radio.htm

Can you please point me to some web resource on the subject or may be
an IEEE paper. I have access to ieeexplore here.

Regards

Prateek

Ulrich Bangert wrote:
> Good idea Jerry, that is exactly what a hardware synchronous AM
demodulator
> does! > > Can you also explain how to generate a square wave at the carrier
frequency?
> I do not think, this is a trivial questions, since we are always
talking
> about amplitude-discrete AND time-discrete signals in comp.dsp or are
we
> not? > > Best regards > Ulrich Bangert > > > "Jerry Avins" <jya@ieee.org> schrieb im Newsbeitrag > news:l9GdnSHOnuDzbMbfRVn-qg@rcn.net... > > spooky wrote: > > > Greetings. > > > > > > I want to make a program that does synchronous AM demodulation. > > > > > > I can't seem to find any good descriptions on the net how this is
done.
> > > Could somebody please explain it, or point me to some resources? > > > Thanks in advance. > > > > > > > > > > > > This message was sent using the Comp.DSP web interface on > > > www.DSPRelated.com > > > > Multiply the signal by a square wave (+/- 1) at the carrier
frequency.
> > The phase which produces a DC null is in quadrature with the phase
for
> > demodulating. > > > > Jerry > > -- > > Engineering is the art of making what you want from things you can
get.
> >
=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF= =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF= =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF
Thank you for your reply but I still don't really get it.

If I multiply the signal by a square wave that is in phase with the
carrier  I get the absolute value of the sample - so I don't really need
to generate a square wave, I can simply get the absolute value of the
sample or am I wrong? Or should I multiply it by a square wave that is
shifted by PI/2 to null the DC part?

Generating a square wave should not be that difficult. In the 0 - 2PI
interval if the phase is below PI the sample value is 1, else the sample
value is -1. All you need to do is correctly update the phase according to
the desired frequency of the square wave. That's just my idea I might be
wrong.

Thanks for all your help in advance.

>Good idea Jerry, that is exactly what a hardware synchronous AM
demodulator
>does! > >Can you also explain how to generate a square wave at the carrier
frequency?
>I do not think, this is a trivial questions, since we are always talking >about amplitude-discrete AND time-discrete signals in comp.dsp or are we >not? > >Best regards >Ulrich Bangert > > >"Jerry Avins" <jya@ieee.org> schrieb im Newsbeitrag >news:l9GdnSHOnuDzbMbfRVn-qg@rcn.net... >> spooky wrote: >> > Greetings. >> > >> > I want to make a program that does synchronous AM demodulation. >> > >> > I can't seem to find any good descriptions on the net how this is
done.
>> > Could somebody please explain it, or point me to some resources? >> > Thanks in advance. >> > >> > >> > >> > This message was sent using the Comp.DSP web interface on >> > www.DSPRelated.com >> >> Multiply the signal by a square wave (+/- 1) at the carrier frequency. >> The phase which produces a DC null is in quadrature with the phase for >> demodulating. >> >> Jerry >> -- >> Engineering is the art of making what you want from things you can
get.
>>
&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295; This message was sent using the Comp.DSP web interface on www.DSPRelated.com
Hi pmd,

If you delay the signal by 90 deg and then take the square root of the
sum of the squared original and the squared delayed signal you should
get the amplitude.

The delay could be fixed because because you are using an IF frequency
that is fixed.

JAT

Regards
Robert

Ulrich Bangert wrote:
> Good idea Jerry, that is exactly what a hardware synchronous AM demodulator > does! > > Can you also explain how to generate a square wave at the carrier frequency? > I do not think, this is a trivial questions, since we are always talking > about amplitude-discrete AND time-discrete signals in comp.dsp or are we > not? > > Best regards > Ulrich Bangert > > > "Jerry Avins" <jya@ieee.org> schrieb im Newsbeitrag > news:l9GdnSHOnuDzbMbfRVn-qg@rcn.net... > >>spooky wrote: >> >>>Greetings. >>> >>>I want to make a program that does synchronous AM demodulation. >>> >>>I can't seem to find any good descriptions on the net how this is done. >>>Could somebody please explain it, or point me to some resources? >>>Thanks in advance. >>> >>> >>> >>>This message was sent using the Comp.DSP web interface on >>>www.DSPRelated.com >> >>Multiply the signal by a square wave (+/- 1) at the carrier frequency. >>The phase which produces a DC null is in quadrature with the phase for >>demodulating. >> >>Jerry >>-- >>Engineering is the art of making what you want from things you can get. >>&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Top posting makes a thread hard to follow, at least the way I read one. Since the lines I write go down the page, I find following simpler when the discussion itself doesn't go the other way. In order to have synchronous demodulation, there must be a synchronous signal. I assumed you had that. (One often does. A lock-in amplifier is an example.) You can derive the synchronous demodulating signal with a PLL. (Costas loop, probably). If the carrier is quite stable, you can extract it with a narrow filter and clip it. (That's an old technique known as "exalted carrier reception.") Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
spooky wrote:
> Thank you for your reply but I still don't really get it. >
If you delay the signal by 90 deg and then take the square root of the sum of the squared original and the squared delayed signal you should get the amplitude. The delay could be fixed because because you are using an IF frequency that is fixed. JAT Regards Robert Reply
pmd wrote:
> Hi Jerry, > > I am working on NTSC decoding in software using quadrature sampled NTSC > signals (8 Mhz complex samples with audio at 2.75 Mhz and video at > -1.75 Mhz). I have implemented a comb filter, but it is not working > perfectly because of the drift in video carrier frequency. Can someone > tell me how to estimate the drift and correct it. If I take the phase > of the samples, calculate the inst. freq and apply a complex > exponential, the phase of the whole signal is effectively nulled out. > > You can take a look at what I am trying to achive by going to > > www.geocities.com/pmd_iitgw/software_radio.htm > > Can you please point me to some web resource on the subject or may be > an IEEE paper. I have access to ieeexplore here. > > Regards > > Prateek
I don't have a reference easily at hand. Are you tracking the color sub-carrier with the color burst in the horizontal blanking interval? That's what it's for. By resetting the demodulating phase at the beginning of each line, drift should be no problem. The transmitter's color-carrier frequency is nearly as good as WWV. Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
spooky wrote:
> Thank you for your reply but I still don't really get it. > > If I multiply the signal by a square wave that is in phase with the > carrier I get the absolute value of the sample - so I don't really need > to generate a square wave, I can simply get the absolute value of the > sample or am I wrong? Or should I multiply it by a square wave that is > shifted by PI/2 to null the DC part? > > Generating a square wave should not be that difficult. In the 0 - 2PI > interval if the phase is below PI the sample value is 1, else the sample > value is -1. All you need to do is correctly update the phase according to > the desired frequency of the square wave. That's just my idea I might be > wrong. > > Thanks for all your help in advance.
If you derive the square wave from the actual signal, then yes: absolute value is the same thing in most cases. Maybe you should think about -- and we should discuss -- why synchronous detection is wanted. Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;