ASRC and Oversampling Filters - diyAudio
Go Back   Home > Forums > Source & Line > Digital Line Level

Digital Line Level DACs, Digital Crossovers, Equalizers, etc.

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 10th February 2009, 04:44 PM   #1
percy is offline percy  United States
diyAudio Member
 
Join Date: Apr 2004
Location: MN
Default ASRC and Oversampling Filters

Is there really any difference between ASRCs (like TI SRC4193/4) and Oversampling Digital Filters (like NPC SM5842/7) in the way they do integer (4x,8x) oversampling ?

I suppose it would be possible to set a integer Fsout/Fsin ratio in an ASRC ? And in that case, is there any difference in the way it accomplishes the oversampled output, as compared to a filter that is a "4x/8x oversampling digital filter" ?

One more question about OS DFs -
Typically they utilize a stepped approach to oversample, so if you wanted 8x oversampling they would first oversample to 2x, then they would oversample that result into 4x and then repeat the same exercise to get 8x. Basically use the result of the previous step as an input to the next step. Now I can understand why they might do that. They might want to make it flexible so the user can use any ratio they want, and it also seems like this method is less demanding in terms of processing power. BUT, my question is -

if there was ample processing power at your disposal, and 8x was the only ratio desired, then would the results(distortion, noise) of doing 8x oversampling at one shot be any different than doing the oversampling in three steps ?
  Reply With Quote
Old 11th February 2009, 04:47 PM   #2
percy is offline percy  United States
diyAudio Member
 
Join Date: Apr 2004
Location: MN
come on, I know there are DSP geeks and gurus around here who can easily answer my second question (about doing 8x v/s doing 2x + 2x + 2x).
  Reply With Quote
Old 11th February 2009, 04:57 PM   #3
diyAudio Member
 
darkfenriz's Avatar
 
Join Date: Jun 2004
Location: Warsaw
Quote:
Is there really any difference between ASRCs (like TI SRC4193/4) and Oversampling Digital Filters (like NPC SM5842/7) in the way they do integer (4x,8x) oversampling ?
To my understanding they both only increase the number of input samples by repeating or zero stuffing and apply a FIR filter.
And both are basically upsamplers, either synchronous or asynchronous. I am not a big expert on this though...
  Reply With Quote
Old 11th February 2009, 11:33 PM   #4
diyAudio Member
 
Join Date: Mar 2003
Location: Mountain View, CA
Hi percy,

From the datasheet, the SRC4192/3 is a conventional 16x-oversampler, followed by a *resampler* and then a conventional (adjustable?) decimator. It doesn't say in the datasheet quite how the resampler works, but I would imagine it to be based on some sort of polynomial interpolation process.

As for the question of which method is best, it's really hard to say. I designed a few filters quickly in MATLAB (one 600-tap 8x oversampling filter and 3 polyphase 2x filters (150-tap, 20-tap and 16-tap) for cascading). I was pretty quick in the designs, but aimed for minimal passband ripple, minimal attenuation at 20kHz and 120-dB stopband attenuation. Overall, the responses of the two approaches in both frequency- and time-domain looked very similar. I would suggest that the 8x filter is somewhat less fiddly to design, but then you're looking at 600 MACs/sample as opposed to about 90 MACs/sample for the cascaded approach. Not really worth the simplicity on that front

To be practical, the cascaded approach would need a quantisation after each filter, as opposed to one single quantisation after the 8x filter, so there'd be 3 times as much quantisation noise in the cascaded version. If you use long enough word-lengths to begin with though, and dither at each truncation (see my many rants on dither on this forum if you don't know about it), then this is a non-issue.

If I were designing an oversampler, I'd not really be able to justify to myself the extra expense of the single-filter solution, even if I had the computing power. The gains just aren't there.
__________________
Wingfeather
  Reply With Quote
Old 12th February 2009, 12:15 AM   #5
banana is offline banana  Hong Kong
diyAudio Member
 
Join Date: Feb 2003
Location: Hong Kong
The plain old AD1890 datasheet have some explanation on the principle of ASRC.

Link to AD1890 datasheet
  Reply With Quote
Old 12th February 2009, 12:15 AM   #6
diyAudio Member
 
Join Date: Dec 2005
Location: Atlanta
Default Re: ASRC and Oversampling Filters

Quote:
Originally posted by percy
Is there really any difference between ASRCs (like TI SRC4193/4) and Oversampling Digital Filters (like NPC SM5842/7) in the way they do integer (4x,8x) oversampling ?

I suppose it would be possible to set a integer Fsout/Fsin ratio in an ASRC ? And in that case, is there any difference in the way it accomplishes the oversampled output, as compared to a filter that is a "4x/8x oversampling digital filter" ?

One more question about OS DFs -
Typically they utilize a stepped approach to oversample, so if you wanted 8x oversampling they would first oversample to 2x, then they would oversample that result into 4x and then repeat the same exercise to get 8x. Basically use the result of the previous step as an input to the next step. Now I can understand why they might do that. They might want to make it flexible so the user can use any ratio they want, and it also seems like this method is less demanding in terms of processing power. BUT, my question is -

if there was ample processing power at your disposal, and 8x was the only ratio desired, then would the results(distortion, noise) of doing 8x oversampling at one shot be any different than doing the oversampling in three steps ?

Classic ASRC thread.
__________________
He's not hi-fi, he's my stereo.
ShinyMetal
  Reply With Quote
Old 12th February 2009, 03:19 PM   #7
percy is offline percy  United States
diyAudio Member
 
Join Date: Apr 2004
Location: MN
Wingfeather's reply is the closest to what I was looking for. I understand how sample rate conversion and oversampling works. I am trying to compare the working of an ASRC with an OSDF. Its intuitive to think they would be the same but apparently not.

Wingfeather, I saw the functional block diagram of the SRC4192/3. Would you agree that the SRC4192/3 does a lot more messing around with the data then a straightforward 8x oversampling filter ? Thanks for giving it a try in matlab though, appreciate that. However -

Quote:
so there'd be 3 times as much quantisation noise in the cascaded version...
you mean out of band noise ?



Quote:
The gains just aren't there.
but isn't that what they said for the "1-Bit" Dac too ?
  Reply With Quote
Old 12th February 2009, 03:25 PM   #8
Telstar is offline Telstar  Italy
diyAudio Member
 
Join Date: Dec 2007
Location: Italy
Quote:
Originally posted by Wingfeather

If I were designing an oversampler, I'd not really be able to justify to myself the extra expense of the single-filter solution, even if I had the computing power. The gains just aren't there.
I would.
Or I could scrap the filter altogether
__________________
"The total harmonic distortion is not a measure of the degree of distastefulness to the listener and it is recommended that its use should be discontinued." D. Masa, 1938
  Reply With Quote
Old 13th February 2009, 12:41 AM   #9
diyAudio Member
 
Join Date: Mar 2003
Location: Mountain View, CA
Quote:
Originally posted by percy
Would you agree that the SRC4192/3 does a lot more messing around with the data then a straightforward 8x oversampling filter ?
That's hard to say without knowing specifically how the resampler block works. If it's simply a zero-order hold (i.e. doesn't actually modify any values), and you're working with the SRC4193 (which has the "Direct Down-Sampler" option) then the ASRC appears to consist only of a single FIR oversampling filter. So the two should be the same. If the resampler is more complex than that (such as a linear/polynomial interpolation et al), then I would agree that it does mess more with the data. If your two clock domains are synchronous and you can thus get away with a pure FIR solution, then that's going to be the cleanest approach.


Quote:
Originally posted by percy
...you mean out of band noise ?
Well no, not really. A lone (dithered) quantiser will produce white quantisation noise. It could be shaped into the stop-band region if a noise-shaping quantiser is used, but on straight FIR filters such as used for oversampling that's not generally the case. There will thus be a white noise floor in the signal coming out of the filter.

With a word length of 32 bits, which is getting more and more common, the noise power from quantisation is of the order of -190dBFS. Having three quantisations (and so three times as much noise power) will degrade this by ~4.77dB - really not a huge problem at this sort of level. So while the quantisation noise is definitely in-band, it's not important provided that enough bits are used.
__________________
Wingfeather
  Reply With Quote
Old 13th February 2009, 01:11 AM   #10
Wodgy is offline Wodgy  United States
diyAudio Member
 
Join Date: Jul 2003
Send a message via AIM to Wodgy
There are good details of the SRC4192 implementation in the associated patent. Go to:
http://patft.uspto.gov/netahtml/PTO/search-bool.html
and search for patent 7,262,716. The patent itself contains references to prior patents describing the techniques used in the AD1896, etc. and some discussion of differences.

I have a decent background in signal processing but I'd have to sit down for an afternoon to answer the original poster's question with any degree of certainty. On first impression, however, the results should be similar. Given that the SRC4192 has jitter rejection issues (whereas the SRC4392 doesn't), I don't see any point in using the SRC4192 just for its own sake, i.e. if you don't need ASRC. The SRC4392 is a good option, but you need a microcontroller.
  Reply With Quote

Reply


Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
ASRC, DAC, Digital Filter for Sale Coulomb Swap Meet 4 30th March 2006 01:01 PM
TDA5141 oversampling or non-oversampling ? Bernhard Digital Source 4 1st September 2004 10:27 AM
New ASRC - TI SRC4192 tiroth Digital Source 1 27th August 2003 10:49 AM
AD1853 ASRC/DAC boards FS? tiroth Digital Source 41 1st January 2003 04:06 PM
ASRC Comparison ? ftorres Digital Source 4 20th February 2002 02:33 PM


New To Site? Need Help?

All times are GMT. The time now is 06:25 PM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Copyright 1999-2014 diyAudio

Content Relevant URLs by vBSEO 3.3.2