DSPRelated.com
Forums

AM digital demodulation using the absolute value

Started by Benjamin Couillard December 20, 2010
Hi everyone,

I have a question. Assuming we have a band-limited signal from 10-20
MHz with a sampling frequency of 100 MHz. Let's say I want to obtain
the envelope of this signal. One method would be to use a Hilbert
filter, to obtain the quadrature signal and then do the whole envelope
= sqrt(I^2 + Q^2). However, let's assume that I need to use the
absolute value instead. What would happen to the spectrum of the
signal after the absolute value? What would it look like? I did some
tests with Matlab, and basically the shape of the spectrum was not
quite as I expected.

I know that if I take the absolute value of a single sine-wave of 10
MHz, I would get a DC component along with 20 MHz, 40 MHz, 60 MHz,
etc. components. I'm also aware that taking the absolute value on a
signal relatively close to fs/2 will generate harmonics above fs/2
thus creating aliasing.



On 20 d=E9c, 11:41, Benjamin Couillard <benjamin.couill...@gmail.com>
wrote:
> Hi everyone, > > I have a question. Assuming we have a band-limited signal from 10-20 > MHz with a sampling frequency of 100 MHz. Let's say I want to obtain > the envelope of this signal. One method would be to use a Hilbert > filter, to obtain the quadrature signal and then do the whole envelope > =3D sqrt(I^2 + Q^2). However, let's assume that I need to use the > absolute value instead. What would happen to the spectrum of the > signal after the absolute value? What would it look like? I did some > tests with Matlab, and basically the shape of the spectrum was not > quite as I expected. > > I know that if I take the absolute value of a single sine-wave of 10 > MHz, I would get a DC component along with 20 MHz, 40 MHz, 60 MHz, > etc. components. I'm also aware that taking the absolute value on a > signal relatively close to fs/2 will generate harmonics above fs/2 > thus creating aliasing.
The reason why I want to know the spectrum of the signal once "rectified", is to know what cut-off frequency I need for my low-pass filter.

Benjamin Couillard wrote:

> Hi everyone, > > I have a question. Assuming we have a band-limited signal from 10-20 > MHz with a sampling frequency of 100 MHz. Let's say I want to obtain > the envelope of this signal.
Is this an AM signal (i.e. fixed carrier + symmetrical sidebands) or some arbitrary bandlimited signal?
> One method would be to use a Hilbert > filter, to obtain the quadrature signal and then do the whole envelope > = sqrt(I^2 + Q^2). However, let's assume that I need to use the > absolute value instead. What would happen to the spectrum of the > signal after the absolute value? What would it look like? I did some > tests with Matlab, and basically the shape of the spectrum was not > quite as I expected. > > I know that if I take the absolute value of a single sine-wave of 10 > MHz, I would get a DC component along with 20 MHz, 40 MHz, 60 MHz, > etc. components. I'm also aware that taking the absolute value on a > signal relatively close to fs/2 will generate harmonics above fs/2 > thus creating aliasing.
If this is AM, synchronous detector is the right way to demodulate it. If this is an arbitrary signal, then Hilbert and sqrt(I^2 + Q^2) is the only method to get the envelope. If abs() function is used on the arbitrary signal, the post-detector lowpass must be no higher then 2 x lowest frequency of the passband; as you already noticed, there will be a lot of harmonics and aliasing. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
On 20 d=E9c, 12:48, Vladimir Vassilevsky <nos...@nowhere.com> wrote:
> Benjamin Couillard wrote: > > Hi everyone, > > > I have a question. Assuming we have a band-limited signal from 10-20 > > MHz with a sampling frequency of 100 MHz. Let's say I want to obtain > > the envelope of this signal. > > Is this an AM signal (i.e. fixed carrier + symmetrical sidebands) or > some arbitrary bandlimited signal? > > > One method would be to use a Hilbert > > filter, to obtain the quadrature signal and then do the whole envelope > > =3D sqrt(I^2 + Q^2). However, let's assume that I need to use the > > absolute value instead. What would happen to the spectrum of the > > signal after the absolute value? What would it look like? I did some > > tests with Matlab, and basically the shape of the spectrum was not > > quite as I expected. > > > I know that if I take the absolute value of a single sine-wave of 10 > > MHz, I would get a DC component along with 20 MHz, 40 MHz, 60 MHz, > > etc. components. I'm also aware that taking the absolute value on a > > signal relatively close to fs/2 will generate harmonics above fs/2 > > thus creating aliasing. > > If this is AM, synchronous detector is the right way to demodulate it. > If this is an arbitrary signal, then Hilbert and sqrt(I^2 + Q^2) is the > only method to get the envelope. > If abs() function is used on the arbitrary signal, the post-detector > lowpass must be no higher then 2 x lowest frequency of the passband; =A0a=
s
> you already noticed, there will be a lot of harmonics and aliasing. > > Vladimir Vassilevsky > DSP and Mixed Signal Design Consultanthttp://www.abvolt.com
The lowpass cut-off frequency must be less than 2 times the lowest frequency of the passband, but what would be the lower limit for this cut-off frequency?. In my 10 MHz to 20 MHz example, my cut-off frequency should be less than 20 MHz, but how low could I go? Best regards.
I'm sorry for the inappropriate selection of the thread's title. I
should have written, "envelope detection using the absolute value".
On 12/20/2010 08:41 AM, Benjamin Couillard wrote:
> Hi everyone, > > I have a question. Assuming we have a band-limited signal from 10-20 > MHz with a sampling frequency of 100 MHz. Let's say I want to obtain > the envelope of this signal. One method would be to use a Hilbert > filter, to obtain the quadrature signal and then do the whole envelope > = sqrt(I^2 + Q^2). However, let's assume that I need to use the > absolute value instead. What would happen to the spectrum of the > signal after the absolute value? What would it look like? I did some > tests with Matlab, and basically the shape of the spectrum was not > quite as I expected. > > I know that if I take the absolute value of a single sine-wave of 10 > MHz, I would get a DC component along with 20 MHz, 40 MHz, 60 MHz, > etc. components. I'm also aware that taking the absolute value on a > signal relatively close to fs/2 will generate harmonics above fs/2 > thus creating aliasing.
I'm going through this whole thread, and much is not clear. Do you have an AM signal, with a 15MHz carrier modulated by a signal of bandwidth 5MHz? Do you have an arbitrary signal lying in the band from 10 to 20MHz, and you wish to find its envelope as if it were an AM signal? I think you'll find the term "envelope" is a bit slippery here, as your lowest frequency is equal to your bandwidth. That's going to seriously complicate any 'easy' method of finding the envelope, such as taking the absolute value and low-pass filtering -- if you think about it, taking the absolute value is going to smear conversion products all through your intended signal, which is going to mess you up no end. I think you may have to take a Hilbert transform and find the complex absolute value, or perform some other bit of math that will be just as time consuming in the end. If you could start with a 10MHz wide signal on a 100MHz carrier your job would be much easier :-). -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html
On 20 d=E9c, 14:16, Tim Wescott <t...@seemywebsite.com> wrote:
> On 12/20/2010 08:41 AM, Benjamin Couillard wrote: > > > > > > > > > > > Hi everyone, > > > I have a question. Assuming we have a band-limited signal from 10-20 > > MHz with a sampling frequency of 100 MHz. Let's say I want to obtain > > the envelope of this signal. One method would be to use a Hilbert > > filter, to obtain the quadrature signal and then do the whole envelope > > =3D sqrt(I^2 + Q^2). However, let's assume that I need to use the > > absolute value instead. What would happen to the spectrum of the > > signal after the absolute value? What would it look like? I did some > > tests with Matlab, and basically the shape of the spectrum was not > > quite as I expected. > > > I know that if I take the absolute value of a single sine-wave of 10 > > MHz, I would get a DC component along with 20 MHz, 40 MHz, 60 MHz, > > etc. components. I'm also aware that taking the absolute value on a > > signal relatively close to fs/2 will generate harmonics above fs/2 > > thus creating aliasing. > > I'm going through this whole thread, and much is not clear. > > Do you have an AM signal, with a 15MHz carrier modulated by a signal of > bandwidth 5MHz? =A0Do you have an arbitrary signal lying in the band from > 10 to 20MHz, and you wish to find its envelope as if it were an AM signal=
?
> > I think you'll find the term "envelope" is a bit slippery here, as your > lowest frequency is equal to your bandwidth. =A0That's going to seriously > complicate any 'easy' method of finding the envelope, such as taking the > absolute value and low-pass filtering -- if you think about it, taking > the absolute value is going to smear conversion products all through > your intended signal, which is going to mess you up no end. > > I think you may have to take a Hilbert transform and find the complex > absolute value, or perform some other bit of math that will be just as > time consuming in the end. =A0If you could start with a 10MHz wide signal > on a 100MHz carrier your job would be much easier :-). > > -- > > Tim Wescott > Wescott Design Serviceshttp://www.wescottdesign.com > > Do you need to implement control loops in software? > "Applied Control Theory for Embedded Systems" was written for you. > See details athttp://www.wescottdesign.com/actfes/actfes.html
Hi Tim, I have an arbitraty signal with a band of 10 MHz to 20 MHz sampled at 100 MHz. I used the terms "AM demodulation", but that was not a good choice of wording. What I would like to know is what happens to the spectrum, when I perform the absolute value on this signal?. I know that abs(x) =3D sqrt(x^2). I know for example that multiplying the signal by it self is equal to convoluting the spectrum by itself in the frequency domain, but with the square root operation on top of that, I'm not quite sure what will happen. Best regards.
On 12/20/2010 11:38 AM, Benjamin Couillard wrote:
> On 20 d&#4294967295;c, 14:16, Tim Wescott<t...@seemywebsite.com> wrote: >> On 12/20/2010 08:41 AM, Benjamin Couillard wrote: >> >> >> >> >> >> >> >> >> >>> Hi everyone, >> >>> I have a question. Assuming we have a band-limited signal from 10-20 >>> MHz with a sampling frequency of 100 MHz. Let's say I want to obtain >>> the envelope of this signal. One method would be to use a Hilbert >>> filter, to obtain the quadrature signal and then do the whole envelope >>> = sqrt(I^2 + Q^2). However, let's assume that I need to use the >>> absolute value instead. What would happen to the spectrum of the >>> signal after the absolute value? What would it look like? I did some >>> tests with Matlab, and basically the shape of the spectrum was not >>> quite as I expected. >> >>> I know that if I take the absolute value of a single sine-wave of 10 >>> MHz, I would get a DC component along with 20 MHz, 40 MHz, 60 MHz, >>> etc. components. I'm also aware that taking the absolute value on a >>> signal relatively close to fs/2 will generate harmonics above fs/2 >>> thus creating aliasing. >> >> I'm going through this whole thread, and much is not clear. >> >> Do you have an AM signal, with a 15MHz carrier modulated by a signal of >> bandwidth 5MHz? Do you have an arbitrary signal lying in the band from >> 10 to 20MHz, and you wish to find its envelope as if it were an AM signal? >> >> I think you'll find the term "envelope" is a bit slippery here, as your >> lowest frequency is equal to your bandwidth. That's going to seriously >> complicate any 'easy' method of finding the envelope, such as taking the >> absolute value and low-pass filtering -- if you think about it, taking >> the absolute value is going to smear conversion products all through >> your intended signal, which is going to mess you up no end. >> >> I think you may have to take a Hilbert transform and find the complex >> absolute value, or perform some other bit of math that will be just as >> time consuming in the end. If you could start with a 10MHz wide signal >> on a 100MHz carrier your job would be much easier :-). >> >> -- >> >> Tim Wescott >> Wescott Design Serviceshttp://www.wescottdesign.com >> >> Do you need to implement control loops in software? >> "Applied Control Theory for Embedded Systems" was written for you. >> See details athttp://www.wescottdesign.com/actfes/actfes.html > > Hi Tim, > > I have an arbitraty signal with a band of 10 MHz to 20 MHz sampled at > 100 MHz. I used the terms "AM demodulation", but that was not a good > choice of wording. What I would like to know is what happens to the > spectrum, when I perform the absolute value on this signal?. I know > that abs(x) = sqrt(x^2). I know for example that multiplying the > signal by it self is equal to convoluting the spectrum by itself in > the frequency domain, but with the square root operation on top of > that, I'm not quite sure what will happen.
The best technical term that I can think of is that it munges things up in the frequency domain. Basically if you have two signal components, one at f_a and the other at f_b, you'll have components at n * f_a + m * f_b, with n, m equal to all possible integers. There will be some drop off in amplitude as n and m get large, but it's hard to really put limits on how quickly that'll be. Since you have possible frequency pairs where f_a could be 1/2 f_b, you're going to be running your signal through a mixmaster. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html
On Dec 20, 2:38=A0pm, Benjamin Couillard <benjamin.couill...@gmail.com>
wrote:
> On 20 d=E9c, 14:16, Tim Wescott <t...@seemywebsite.com> wrote: > > > > > > > On 12/20/2010 08:41 AM, Benjamin Couillard wrote: > > > > Hi everyone, > > > > I have a question. Assuming we have a band-limited signal from 10-20 > > > MHz with a sampling frequency of 100 MHz. Let's say I want to obtain > > > the envelope of this signal. One method would be to use a Hilbert > > > filter, to obtain the quadrature signal and then do the whole envelop=
e
> > > =3D sqrt(I^2 + Q^2). However, let's assume that I need to use the > > > absolute value instead. What would happen to the spectrum of the > > > signal after the absolute value? What would it look like? I did some > > > tests with Matlab, and basically the shape of the spectrum was not > > > quite as I expected. > > > > I know that if I take the absolute value of a single sine-wave of 10 > > > MHz, I would get a DC component along with 20 MHz, 40 MHz, 60 MHz, > > > etc. components. I'm also aware that taking the absolute value on a > > > signal relatively close to fs/2 will generate harmonics above fs/2 > > > thus creating aliasing. > > > I'm going through this whole thread, and much is not clear. > > > Do you have an AM signal, with a 15MHz carrier modulated by a signal of > > bandwidth 5MHz? =A0Do you have an arbitrary signal lying in the band fr=
om
> > 10 to 20MHz, and you wish to find its envelope as if it were an AM sign=
al?
> > > I think you'll find the term "envelope" is a bit slippery here, as your > > lowest frequency is equal to your bandwidth. =A0That's going to serious=
ly
> > complicate any 'easy' method of finding the envelope, such as taking th=
e
> > absolute value and low-pass filtering -- if you think about it, taking > > the absolute value is going to smear conversion products all through > > your intended signal, which is going to mess you up no end. > > > I think you may have to take a Hilbert transform and find the complex > > absolute value, or perform some other bit of math that will be just as > > time consuming in the end. =A0If you could start with a 10MHz wide sign=
al
> > on a 100MHz carrier your job would be much easier :-). > > > -- > > > Tim Wescott > > Wescott Design Serviceshttp://www.wescottdesign.com > > > Do you need to implement control loops in software? > > "Applied Control Theory for Embedded Systems" was written for you. > > See details athttp://www.wescottdesign.com/actfes/actfes.html > > Hi Tim, > > I have an arbitraty signal with a band of 10 MHz to 20 MHz sampled at > 100 MHz. I used the terms "AM demodulation", but that was not a good > choice of wording. What I would like to know is what happens to the > spectrum, when I perform the absolute value on this signal?. =A0I know > that abs(x) =3D sqrt(x^2). I know for example that multiplying the > signal by it self is equal to convoluting the spectrum by itself in > the frequency domain, but with the square root operation on top of > that, I'm not quite sure what will happen. > > Best regards.- Hide quoted text - > > - Show quoted text -
Abs(x) is nonlinear thus will create harmonics. But they may end up far enough away from your frequencies of interest so as to not create a problem. Is your AM signal of the type like standard broadcast AM of the form (1+m(t))*carrier(t) where -1<m(t)<1 ?? Because standard AM is quite easy to demodulate - i.e., the rectifier followed with a low pass filter model used by basic analog AM receivers. Here your abs(t) function will suffice. If your AM is a form of QAM, you will need more to demodulate it properly. Another way to think about it is your modulation representable as multiplication of the carrier by a positive numbers? This is what basic AM uses as this simplifies hardware. If your modulation includes multiplication by negative numbers, then use a quadrature approach. A bandpass approach to creating analytic signals is described here: http://www.claysturner.com/dsp/ASG.pdf IHTH, Clay Clay
On Dec 20, 11:41&#4294967295;am, Benjamin Couillard <benjamin.couill...@gmail.com>
wrote:
> Hi everyone, > > I have a question. Assuming we have a band-limited signal from 10-20 > MHz with a sampling frequency of 100 MHz. Let's say I want to obtain > the envelope of this signal. One method would be to use a Hilbert > filter, to obtain the quadrature signal and then do the whole envelope > = sqrt(I^2 + Q^2). However, let's assume that I need to use the > absolute value instead. What would happen to the spectrum of the > signal after the absolute value? What would it look like? I did some > tests with Matlab, and basically the shape of the spectrum was not > quite as I expected. > > I know that if I take the absolute value of a single sine-wave of 10 > MHz, I would get a DC component along with 20 MHz, 40 MHz, 60 MHz, > etc. components. I'm also aware that taking the absolute value on a > signal relatively close to fs/2 will generate harmonics above fs/2 > thus creating aliasing.
What assurance do you have that the samples you take the absolute value of lie anywhere near the peaks of the carrier? You would do well to calculate the ratio of sample rate to carrier frequency needed to guarantee that at least one sample in every carrier cycle lies within, say, 5% of the peak. Jerry