DSPRelated.com
Forums

How to get envelope from AM signal without phase shift

Started by WWalker March 7, 2010

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].
JFYI: AM = A [1 + M cos (wm t)] cos (wc 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.
You do weird things in the weird ways. VLV
WWalker 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. >> >> 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.
Any operation takes time, thus incurring a delay which, at any given frequency, is a phase shift. Working with captured data, that doesn't matter. (Think of the phase shifts caused by a CD between the recording studio and the listener!) In any event, if you want to see the result of a difference between group- and phase velocities, the shift that matters is between the envelope and the carrier. You have to compare the modulated signals before and after the passage through the dispersive medium. Then you will see a (probaby slight) shift of the peak of the envelope relative to a peak of the carrier.
> 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.
The quadrature signal that the HT creates is delayed. The original carrier providing the in-phase signal must be delayed an equal amount, of course. If your HT contains an odd number of taps, the signal at the middle tap will be a properly delayed in-phase signal. You could delay the carrier by that amount as well. I assume that your HT is long enough and that you use a window (Nuttall?) if the coefficients are computed by simple formula. Every filter, for whatever purpose, has start and end transients. Only when a transversal filter is filled with actual data does it give the computed result you expect.
> 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.
It probably wouldn't show what I think you want even if it did. Jerry -- Physics is like sex: sure, it may give some practical results, but that's not why we do it. -- Richard P. Feynman (Nobel Prize, Physics) ������������������������������������������������������������������������
Jerry Avins wrote:
> 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?
Oops! you *are* the OP. Jerry -- Physics is like sex: sure, it may give some practical results, but that's not why we do it. -- Richard P. Feynman (Nobel Prize, Physics) ������������������������������������������������������������������������
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.
W, Let me use your suggestion of an offset to encourage you to think things through more thoroughly. The carrier varies from some peak positive value to a peak negative value of equal magnitude. The added "offset" must exceed this peak value in order to ensure that the sum is never zero. What does the math look like now? Jerry -- Physics is like sex: sure, it may give some practical results, but that's not why we do it. -- Richard P. Feynman (Nobel Prize, Physics) ������������������������������������������������������������������������
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.
Multiplying by the carrier is an accepted and worthwhile practice. There are numerous useful extensions of this, many of which are to deal with the phase noise issue, and with selective fading that includes the carrier -- search on "exalted carrier" and "synchronous AM" to see the variations. -- Tim Wescott Control system and signal processing consulting www.wescottdesign.com
Tim Wescott 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. > > Multiplying by the carrier is an accepted and worthwhile practice. There > are numerous useful extensions of this, many of which are to deal with > the phase noise issue, and with selective fading that includes the > carrier -- search on "exalted carrier" and "synchronous AM" to see the > variations.
I think W wants to explore the effects of a dispersive channel with constant group delay in the band of interest. I don't think any kind of demodulation is useful for that. Jerry -- Physics is like sex: sure, it may give some practical results, but that's not why we do it. -- Richard P. Feynman (Nobel Prize, Physics) ������������������������������������������������������������������������
On Mar 8, 5:57&#4294967295;am, "WWalker" <william.wal...@imtek.de> 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". &#4294967295;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
When you say it can not be "phase shifted", do you include a simple time delay (known number of samples) as a "phase shift"? Dirk
On Mar 8, 2:53&#4294967295;pm, "WWalker" <william.wal...@imtek.de> 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. > > Thanks
Use a PLL to get the carrier frequency and multiply and then low-pass filter. Synchronous demodulation. For supressed carrier you need to square the signal first then lock onto 2f then divide by two and multiple - filter. For low carrier to noise ratios you may need a different method. Hardy
Hi Hardy,

Unfortunately, the LPF will phase shift the modulation. So this technique
will not work for me. Do you know of any other way to extract the
modulation without using a filter? 

William

>On Mar 8, 2:53=A0pm, "WWalker" <william.wal...@imtek.de> 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. >> >> Thanks > >Use a PLL to get the carrier frequency and multiply and then low-pass >filter. Synchronous demodulation. >For supressed carrier you need to square the signal first then lock >onto 2f then divide by two and multiple - filter. >For low carrier to noise ratios you may need a different method. > >Hardy >
On 21 Mar, 20:38, "WWalker" <william.walker@n_o_s_p_a_m.imtek.de>
wrote:
> Hi Hardy, > > Unfortunately, the LPF will phase shift the modulation. So this technique > will not work for me.
That's a claim that needs justification. A lot of DSP newbies and amateurs as similar questions as yours, because the term "phase shift" somehow seems scary, imperfect, or awkward. Too bad - it's a fact of life. So make sure you understand *why* you want to avoid phase shifts: "Sounds scary", "don't want to deal with them" or "don't understand what they are or what causes them" are perfectly valid *subjective* reasons. Which, of course, can be attributed to poor education. However, "phase shifts invalidates my analysis" is a totally different cup of tea: It *sounds* as being objective (but is almost always really caused by one or more of the subjective reasons listed), and as such it requires objective, substantiated arguments in support. Rune