DSPRelated.com
Forums

How to get envelope from AM signal without phase shift

Started by WWalker March 7, 2010
Hi,

Does any one know how to extract the envelope of an amplitude modulated
signal without a phase shift, distortions, and able to determine the
envelope in between the signal cycles. One way that almost works is to
simply devide the signal by the carrier but, this technique is too
sensitive to phase noise. I have also tried using the Hilbert transform
but, I get some leakage distortions.

Thanks


WWalker wrote:
> Hi, > > Does any one know how to extract the envelope of an amplitude modulated > signal without a phase shift, distortions, and able to determine the > envelope in between the signal cycles. One way that almost works is to > simply devide the signal by the carrier but, this technique is too > sensitive to phase noise. I have also tried using the Hilbert transform > but, I get some leakage distortions.
Extracting the envelope of an AM signal is called "demodulation" or less rigorously, "detection". There are many reasons for dividing by the carrier not working, but extreme non-linearity is probably the best one. What do you do with your Hilbert transform? It is part of a technique that works very well provided the needed computation can be done in time. Jerry -- It matters little to a goat whether it be dedicated to God or consigned to Azazel. The critical turning was having been chosen to participate. �����������������������������������������������������������������������
On Mar 7, 10:37&#4294967295;pm, Jerry Avins <j...@ieee.org> wrote:
> WWalker wrote: > > Hi, > > > Does any one know how to extract the envelope of an amplitude modulated > > signal without a phase shift, distortions, and able to determine the > > envelope in between the signal cycles. One way that almost works is to > > simply devide the signal by the carrier but, this technique is too > > sensitive to phase noise. I have also tried using the Hilbert transform > > but, I get some leakage distortions. > > Extracting the envelope of an AM signal is called "demodulation" or less > rigorously, "detection". There are many reasons for dividing by the > carrier not working, but extreme non-linearity is probably the best one.
dunno why you can't rectify (abs value) and LPF. unless overmodulated or it's suppressed carrier.
> What do you do with your Hilbert transform? It is part of a technique > that works very well provided the needed computation can be done in time.
one thing i would like to figure out is what the OP means by "without phase shift". if he/she means no delay in the detection alg, then Hilbert is out of the picture completely. r b-j
robert bristow-johnson wrote:
> On Mar 7, 10:37 pm, Jerry Avins <j...@ieee.org> wrote: >> WWalker wrote: >>> Hi, >>> Does any one know how to extract the envelope of an amplitude modulated >>> signal without a phase shift, distortions, and able to determine the >>> envelope in between the signal cycles. One way that almost works is to >>> simply devide the signal by the carrier but, this technique is too >>> sensitive to phase noise. I have also tried using the Hilbert transform >>> but, I get some leakage distortions. >> Extracting the envelope of an AM signal is called "demodulation" or less >> rigorously, "detection". There are many reasons for dividing by the >> carrier not working, but extreme non-linearity is probably the best one. > > dunno why you can't rectify (abs value) and LPF. unless overmodulated > or it's suppressed carrier.
What guarantee is there that the sample instants will coincide with the peaks of the carrier? It's conceivable (but most unlikely) that all the samples will nearly coincide with zero crossings of the carrier.
>> What do you do with your Hilbert transform? It is part of a technique >> that works very well provided the needed computation can be done in time. > > one thing i would like to figure out is what the OP means by "without > phase shift". if he/she means no delay in the detection alg, then > Hilbert is out of the picture completely.
I would like to understand what dividing by the carrier would do. I almost get it, but the carrier is zero twice a cycle. Jerry -- It matters little to a goat whether it be dedicated to God or consigned to Azazel. The critical turning was having been chosen to participate. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
>WWalker wrote: >> Hi, >> >> Does any one know how to extract the envelope of an amplitude modulated >> signal without a phase shift, distortions, and able to determine the >> envelope in between the signal cycles. One way that almost works is to >> simply devide the signal by the carrier but, this technique is too >> sensitive to phase noise. I have also tried using the Hilbert transform >> but, I get some leakage distortions. > >Extracting the envelope of an AM signal is called "demodulation" or less >rigorously, "detection". There are many reasons for dividing by the >carrier not working, but extreme non-linearity is probably the best one. > >What do you do with your Hilbert transform? It is part of a technique >that works very well provided the needed computation can be done in time. > >Jerry >-- >It matters little to a goat whether it be dedicated to God or consigned >to Azazel. The critical turning was having been chosen to participate.
----------------------------------------------------
>
First I should say I am tryting to extract the envelope of an amplitude modulated signal that has been captured by an oscilloscope. I am doing some wave propagation experiments and I need to measure the time delay of the envelope very accurately. As you mentioned, dividing by the carrier is not a good way to do it, but it does demonstrate that it should be possible to come up with a technique to extract the envelope without a phase shift of the envelope, negligible distortions, and able to determine the envelope in between signal cycles. Regarding the Hilbert Transform method, I squared the signal and added it to the square of the Hilbert transform of the signal. Then I took the square root of the result. This technique extracts the envelope without a phase shift, but it does introduce problematic oscillations near the beginning and end of the signal. I do not want to use a filter to get rid of the oscillations because it will add a phase shift to the envelope. Another method I am considering is to curvefit the known form of the AM signal, provided the everything is known about the signal except the unkown modulation amplitude. But I am not sure if this technnique will work with real signals that have some noise. William
>robert bristow-johnson wrote:
>I would like to understand what dividing by the carrier would do. I >almost get it, but the carrier is zero twice a cycle. > >Jerry
----------------------------------- Given an AM signal: Sig = A Cos[wm t]*Cos[wc t]. Then the modulation envelope can be obtained by simple dividing by the carrier: Sig/Cos[wc t] = A Cos[wm t]. But the problem is that when the carrier goes to zero the result goes to infinity. One way arround the problem is to add an offset to the carrier so that the carrier never goes to zero, but this completely changes the signal. William
>On Mar 7, 10:37=A0pm, Jerry Avins <j...@ieee.org> wrote:
>one thing i would like to figure out is what the OP means by "without >phase shift". if he/she means no delay in the detection alg, then >Hilbert is out of the picture completely. > >r b-j
------------------------ I simply want a very good match when I overlay the AM Signal with the calculated envelope. In order for this to work the calculated envelope can not be phase shifted. William
> Regarding the Hilbert Transform method, I squared the signal and added it > to the square of the Hilbert transform of the signal. Then I took the > square root of the result. This technique extracts the envelope without a > phase shift, but it does introduce problematic oscillations near the > beginning and end of the signal. I do not want to use a filter to get rid > of the oscillations because it will add a phase shift to the envelope.
Both I and Q components shall be fed through the same low pass filter that your Hilbert filter was designed from. From your description it seems like your I component is fed directly without low pass filtering. Maybe the oscillation is an effect the impulse response of your low pass filter? Vojtech
WWalker wrote:
>> robert bristow-johnson wrote: > >> I would like to understand what dividing by the carrier would do. I >> almost get it, but the carrier is zero twice a cycle. >> >> Jerry > ----------------------------------- > > Given an AM signal: Sig = A Cos[wm t]*Cos[wc t]. Then the modulation > envelope can be obtained by simple dividing by the carrier: > Sig/Cos[wc t] = A Cos[wm t]. But the problem is that when the carrier goes > to zero the result goes to infinity. One way arround the problem is to add > an offset to the carrier so that the carrier never goes to zero, but this > completely changes the signal.
I understand the math, but I don't understand the process. the OP implied that the method works in the absence of significant noise. It must have been a Matlab solution. Otherwise, where would he have gotten a bit-accurate replica of the unmodulated carrier? Jerry -- It matters little to a goat whether it be dedicated to God or consigned to Azazel. The critical turning was having been chosen to participate. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
WWalker wrote:
>> On Mar 7, 10:37=A0pm, Jerry Avins <j...@ieee.org> wrote: > >> one thing i would like to figure out is what the OP means by "without >> phase shift". if he/she means no delay in the detection alg, then >> Hilbert is out of the picture completely. >> >> r b-j > ------------------------ > I simply want a very good match when I overlay the AM Signal with the > calculated envelope. In order for this to work the calculated envelope can > not be phase shifted.
Of course it can. Delay the signal an equal amount. Jerry -- It matters little to a goat whether it be dedicated to God or consigned to Azazel. The critical turning was having been chosen to participate. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;