DSPRelated.com
Forums

ADC and undersampling

Started by Pawel January 27, 2004
r.lyons@REMOVE.ieee.org (Rick Lyons) wrote in message news:<40190b23.59185953@news.west.earthlink.net>...
> > Hi, > here are the frequency ranges (in kHz) > within which you can have your Fs sample rate: > > Fs_ranges = > > 150.0000 -to- 276.0000 > 100.0000 -to- 138.0000 > 75.0000 -to- 92.0000 > 60.0000 -to- 69.0000 > 50.0000 -to- 55.2000 > 42.8571 -to- 46.0000 > 37.5000 -to- 39.4286 > 33.3333 -to- 34.5000 > 30.0000 -to- 30.6667 > 27.2727 -to- 27.6000 > 25.0000 -to- 25.0909 > > Zak is right, 48 kHz won't work. > > Good luck, > [-Rick-]
Hello, Thanks for the answers! I did not say I wanted to sample at 48 kHz. I said I have a 144 KHz analog signal that I want to alias to 48 kHz by sampling at Fs=192kHz. Therefore I was looking for an audio 192 kHz ADC for the application. The problem is that they ones I could find have too small analog passband so the udersampling trick would not work. Regards, Pawel
peg@slingshot.co.nz (GPG) wrote in message news:<62069f15.0401280259.e819db3@posting.google.com>...
> ADS1625, ADS1626, ADS8383, AD7679 ??
Hi! Thanks for the info GPG! Yes, I was condsidering to use an ADS1626 for my application and just sample faster to have my 144 kHz below Nyqvist frequency. It can be an alternative solution. But at faster sampling frequencies it has a high power consumption, which is a limitation for me. Lowering Fs would not help since the ADS1626 passband filter scales with Fs so the undersampling trick would not work either, would it? Regards, Pawel
Fred Bloggs wrote:

> > > Rick Lyons wrote: > >> On 27 Jan 2004 12:21:33 -0800, pawel.kluczynski@comhem.se (Pawel) >> wrote: >> >> >>> Hello, >>> >>> As a result of a measurement I obtain a bandlimited signal centered at >>> 144 kHz (12kHz Bandwidth). I was planning to use undersampling >>> (Fs=192kHz) to fold this signal to 48kHz in the digital domain. >>> I am having a difficulty to find an ADC for this purpose. The only >>> ADCs I could find (I need at least 18 bit resolution) that support >>> Fs=192kHz had too small analog bandwidth, f.ex. cirrus CS5361. >>> >>> Is there an ADC that could suit my application? >>> >>> Thanks! >>> >>> Pawel >> >> >> >> Hi, >> here are the frequency ranges (in kHz) >> within which you can have your Fs sample rate: >> >> Fs_ranges = >> >> 150.0000 -to- 276.0000 >> 100.0000 -to- 138.0000 >> 75.0000 -to- 92.0000 >> 60.0000 -to- 69.0000 >> 50.0000 -to- 55.2000 >> 42.8571 -to- 46.0000 >> 37.5000 -to- 39.4286 >> 33.3333 -to- 34.5000 >> 30.0000 -to- 30.6667 >> 27.2727 -to- 27.6000 >> 25.0000 -to- 25.0909 >> >> Zak is right, 48 kHz won't work. >> >> Good luck, >> [-Rick-] >> > > Ummm- maybe you are confused by the term bandwidth. This means Fc+/-6KHz > and -3dB, and at quad speed this is 0.03 x Fs. Looking at the passband > ripple graph which a nominal 0.03dB peak variation- your low sample > rates mean the signal is spread over a correspondingly larger percentage > of the passband- you see the *full* ripple error variation which is of > the same order of magnitude as using the 192KHz Fs. Luck is for dummies > and programmers, analysis is for engineers.
I doubt that Rick is confused at all about acceptable sampling ranges. The best explanation I know of the constraints on sub-band sampling is given in the book "Understanding Digital Signal Processing" by Richard G. Lyons (ISBN 0-201-63467-8), Section 2.3. (Don't run out to buy the book now. There's a second edition coming out soon.) If you check with the equations there, you'll find that Rick is right on. :-) I don't think he directly addresses Pawel's concern, though. 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;
"Pawel" <pawel.kluczynski@comhem.se> wrote in message
news:149bb2c3.0401291133.2ad6508a@posting.google.com...
> r.lyons@REMOVE.ieee.org (Rick Lyons) wrote in message
news:<40190b23.59185953@news.west.earthlink.net>...
> > > > Hi, > > here are the frequency ranges (in kHz) > > within which you can have your Fs sample rate: > > > > Fs_ranges = > > > > 150.0000 -to- 276.0000 > > 100.0000 -to- 138.0000 > > 75.0000 -to- 92.0000 > > 60.0000 -to- 69.0000 > > 50.0000 -to- 55.2000 > > 42.8571 -to- 46.0000 > > 37.5000 -to- 39.4286 > > 33.3333 -to- 34.5000 > > 30.0000 -to- 30.6667 > > 27.2727 -to- 27.6000 > > 25.0000 -to- 25.0909 > > > > Zak is right, 48 kHz won't work. > > > > Good luck, > > [-Rick-] > > Hello, > Thanks for the answers! > I did not say I wanted to sample at 48 kHz. I said I have a 144 KHz > analog signal that I want to alias to 48 kHz by sampling at Fs=192kHz. > Therefore I was looking for an audio 192 kHz ADC for the application. > The problem is that they ones I could find have too small analog > passband so the udersampling trick would not work.
What happens if you sample at something just under 138kHz as Rick suggested? You should end up with an image with bandwidth of 12kHz centered at +/-6kHz. Then you can immediately decimate (with proper filtering) from 138 to something like 30 like how about by a factor of 4 down to 34.5kHz? That leaves plenty of room for filtering between 12kHz and fs/2=17.25kHz. The only thing the digital filter in the ADC does is keep the bandwidth consistent with the sample rate. It doesn't change the input bandwidth, it controls the output bandwidth to be consistent with the output sample rate. So, if the sample rate is 1.25MHz, the bandwidth is limited to below 625kHz at actually 550kHz. If the sample rate is 138kHz, it limits the output bandwidth to (550/1250)*138 = 60.72kHz, which is what you want for that sample rate. The useful information is below 12kHz at this point - so you decimate by 4 thereafter. The other alternative is to go to a complex envelope representation by sampling at 144kHz in quadrature. Rick Lyon's book deals with that very nicely. In fact, the ADC's will do it for you by sampling at 144kHz and all you have to do is alternately grab the output words to get the quadrature results. It's either that or deal with the wider bandwidth as I have done above - and avoid having quadrature channels to deal with. The number of operations thereafter should be pretty close to the same either way because either you have two channels with 1/2 the bandwidth or one channel with full bandwidth. I think that's right..... Fred Fred
"Fred Marshall" <fmarshallx@remove_the_x.acm.org> wrote in message
news:Kb-dneN_vo7nP4TdRVn-vA@centurytel.net...
> > "Pawel" <pawel.kluczynski@comhem.se> wrote in message > news:149bb2c3.0401291133.2ad6508a@posting.google.com... > > r.lyons@REMOVE.ieee.org (Rick Lyons) wrote in message > news:<40190b23.59185953@news.west.earthlink.net>... > > > > > > Hi, > > > here are the frequency ranges (in kHz) > > > within which you can have your Fs sample rate: > > > > > > Fs_ranges = > > > > > > 150.0000 -to- 276.0000 > > > 100.0000 -to- 138.0000 > > > 75.0000 -to- 92.0000 > > > 60.0000 -to- 69.0000 > > > 50.0000 -to- 55.2000 > > > 42.8571 -to- 46.0000 > > > 37.5000 -to- 39.4286 > > > 33.3333 -to- 34.5000 > > > 30.0000 -to- 30.6667 > > > 27.2727 -to- 27.6000 > > > 25.0000 -to- 25.0909 > > > > > > Zak is right, 48 kHz won't work. > > > > > > Good luck, > > > [-Rick-] > > > > Hello, > > Thanks for the answers! > > I did not say I wanted to sample at 48 kHz. I said I have a 144 KHz > > analog signal that I want to alias to 48 kHz by sampling at Fs=192kHz. > > Therefore I was looking for an audio 192 kHz ADC for the application. > > The problem is that they ones I could find have too small analog > > passband so the udersampling trick would not work. > > What happens if you sample at something just under 138kHz as Rick
suggested?
> You should end up with an image with bandwidth of 12kHz centered at
+/-6kHz.
> Then you can immediately decimate (with proper filtering) from 138 to > something like 30 like how about by a factor of 4 down to 34.5kHz? That > leaves plenty of room for filtering between 12kHz and fs/2=17.25kHz. > > The only thing the digital filter in the ADC does is keep the bandwidth > consistent with the sample rate. It doesn't change the input bandwidth,
it
> controls the output bandwidth to be consistent with the output sample
rate.
> So, if the sample rate is 1.25MHz, the bandwidth is limited to below
625kHz
> at actually 550kHz. If the sample rate is 138kHz, it limits the output > bandwidth to (550/1250)*138 = 60.72kHz, which is what you want for that > sample rate. The useful information is below 12kHz at this point - so you > decimate by 4 thereafter. > > The other alternative is to go to a complex envelope representation by > sampling at 144kHz in quadrature. Rick Lyon's book deals with that very > nicely. In fact, the ADC's will do it for you by sampling at 144kHz and
all
> you have to do is alternately grab the output words to get the quadrature > results. It's either that or deal with the wider bandwidth as I have done > above - and avoid having quadrature channels to deal with. The number of > operations thereafter should be pretty close to the same either way
because
> either you have two channels with 1/2 the bandwidth or one channel with
full
> bandwidth. >
Well, I didn't acknowledge here that Rick had suggested sampling at even lower frequencies - and I should have. The filtering necessary while decimating will change if you do that. Fred

Fred Bloggs wrote:
> > GPG wrote: > > Fred Bloggs <nospam@nospam.com> wrote in message news:<4017AD09.9020501@nospam.com>... > > > >>>As a result of a measurement I obtain a bandlimited signal centered at > >>>144 kHz (12kHz Bandwidth). I was planning to use undersampling > >>>(Fs=192kHz) to fold this signal to 48kHz in the digital domain. > >>>I am having a difficulty to find an ADC for this purpose. The only > >>>ADCs I could find (I need at least 18 bit resolution) that support > >>>Fs=192kHz had too small analog bandwidth, f.ex. cirrus CS5361. > >>> > >>>Is there an ADC that could suit my application? > >>> > >> > >>Where are you getting that? The data sheet clearly states that the 0.1dB > >>passband at "quad speed" sampling is 0.24 x Fs which puts you at 46KHz, > >>your 48KHz is 0.25 x Fs - negligible additional attenuation 0.14dB? And > >>this is the digital filter- not the analog passband. > > > > > > The INPUT is 144KHz > > The analog input is aliased into 48KHz in the digital domain, it is > the digital domain that is filtered, not the analog, and that passband > spec refers to the digital domain .
Don't think so. The ADC samples at about 6 MHz. Then it filters so that aliasing will not happen when it decimates down to actual output rate. So 144 KHz will not alias. This is the fine point in oversampling converters with decimation. Analog antialias filter need only be effective for the actual high sample rate. Jarmo
On 29 Jan 2004 11:33:44 -0800, pawel.kluczynski@comhem.se (Pawel)
wrote:

>r.lyons@REMOVE.ieee.org (Rick Lyons) wrote in message news:<40190b23.59185953@news.west.earthlink.net>... >> >> Hi, >> here are the frequency ranges (in kHz) >> within which you can have your Fs sample rate: >> >> Fs_ranges = >> >> 150.0000 -to- 276.0000 >> 100.0000 -to- 138.0000 >> 75.0000 -to- 92.0000 >> 60.0000 -to- 69.0000 >> 50.0000 -to- 55.2000 >> 42.8571 -to- 46.0000 >> 37.5000 -to- 39.4286 >> 33.3333 -to- 34.5000 >> 30.0000 -to- 30.6667 >> 27.2727 -to- 27.6000 >> 25.0000 -to- 25.0909 >> >> Zak is right, 48 kHz won't work. >> >> Good luck, >> [-Rick-] > >Hello, >Thanks for the answers! >I did not say I wanted to sample at 48 kHz. I said I have a 144 KHz >analog signal that I want to alias to 48 kHz by sampling at Fs=192kHz. >Therefore I was looking for an audio 192 kHz ADC for the application. >The problem is that they ones I could find have too small analog >passband so the udersampling trick would not work. > >Regards, > >Pawel
Hi, Oh shoot, I misread your first post. Sorry. [-Rick-]
On 29 Jan 2004 11:33:44 -0800, pawel.kluczynski@comhem.se (Pawel)
wrote:

  (snipped)
> >Hello, >Thanks for the answers! >I did not say I wanted to sample at 48 kHz. I said I have a 144 KHz >analog signal that I want to alias to 48 kHz by sampling at Fs=192kHz. >Therefore I was looking for an audio 192 kHz ADC for the application. >The problem is that they ones I could find have too small analog >passband so the udersampling trick would not work. > >Regards, > >Pawel
Hi, I was thinkin' some more about your question, and darn it, you make me ask a question. If we define: Fc = carrier freq (Pavel's 144 kHz) Fs = sample rate (Pavel's 198 kHz) Fi = the positive center freq of the aliased spectral replication nearest to zero Hz. In Pavel's case: Fi = Fs(1 + {Fc/Fs}) -Fc (1) where {Fc/Fs} means the integer part of Fc/Fs. Using that Eq. (1), Pavel's Fi (in kHz) is: Fi = 192(1 + 0) -144 = 48 which is what he said. So now here's my question: At the risk of lookin' like (as Fred Sanford would say) a big dummy, is there a way to solve the above Eq. (1) for Fs in terms of Fc and Fi? For some reason (maybe Alzheimers) I can't figure out how to handle that {Fc/Fs} operation in algebra. Thanks, [-Rick-]
Rick Lyons wrote:

> On 29 Jan 2004 11:33:44 -0800, pawel.kluczynski@comhem.se (Pawel) > wrote: > > (snipped) > >>Hello, >>Thanks for the answers! >>I did not say I wanted to sample at 48 kHz. I said I have a 144 KHz >>analog signal that I want to alias to 48 kHz by sampling at Fs=192kHz. >>Therefore I was looking for an audio 192 kHz ADC for the application. >>The problem is that they ones I could find have too small analog >>passband so the udersampling trick would not work. >> >>Regards, >> >>Pawel > > > Hi, > I was thinkin' some more about your question, > and darn it, you make me ask a question. > > If we define: > > Fc = carrier freq (Pavel's 144 kHz) > Fs = sample rate (Pavel's 198 kHz) > Fi = the positive center freq of the aliased > spectral replication nearest to zero Hz. > > In Pavel's case: > > Fi = Fs(1 + {Fc/Fs}) -Fc (1) > > where {Fc/Fs} means the integer part of Fc/Fs. > > Using that Eq. (1), Pavel's Fi (in kHz) is: > > Fi = 192(1 + 0) -144 = 48 > > which is what he said. > > So now here's my question: At the risk of lookin' > like (as Fred Sanford would say) a big dummy, > is there a way to solve the above Eq. (1) for Fs > in terms of Fc and Fi? > > For some reason (maybe Alzheimers) I can't > figure out how to handle that {Fc/Fs} operation > in algebra. > > Thanks, > [-Rick-]
A big dummy doesn't know. A big idiot thinks he does but doesn't. I'll risk being branded with the latter title. Solve for {Fc/Fs} first. Then, given the known Fc, see what range of Fs makes that possible. I've introduced another variable, {Fc/Fs}, so it may take some trial and error anyway, but at least it's directed. 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;
On Sat, 31 Jan 2004 12:26:05 GMT, r.lyons@_BOGUS_ieee.org (Rick Lyons)
wrote:

>On 29 Jan 2004 11:33:44 -0800, pawel.kluczynski@comhem.se (Pawel) >wrote: > > (snipped)
Oops, I made a typo. I wrote:
>Fs = sample rate (Pavel's 198 kHz)
It should be Fs = sample rate (Pavel's 192 kHz) Pawel, please pardon me for spelling your name wrong. :-( [-Rick-]
> >