DSPRelated.com
Forums

Compensating DAC for low bit-resolution with high sample rate

Started by bmearns November 11, 2007
I have a DAC with 12 bit resolution that I want to use to playback an
audio clip with 16 bits/sample. Obviously, I'm going to loose some
quality, but I was wondering if it's possible to improve the quality a
little by increasing the playback rate. For instance, my audio clip
has 44,100 samples pers second, 16 bits per sample: If I played back
with 12 bits per sample, but, say, 88,200 samples per second by
interpolating mid points for every other sample, or something along
these lines. Does anything have any thoughts or inputs on doing this?

Thanks,
-Brian

bmearns wrote:
> I have a DAC with 12 bit resolution that I want to use to playback an > audio clip with 16 bits/sample. Obviously, I'm going to loose some > quality, but I was wondering if it's possible to improve the quality a > little by increasing the playback rate. For instance, my audio clip > has 44,100 samples pers second, 16 bits per sample: If I played back > with 12 bits per sample, but, say, 88,200 samples per second by > interpolating mid points for every other sample, or something along > these lines. Does anything have any thoughts or inputs on doing this?
Useful Google searches would be for "noise shaping" and "dithering". These are both methods which can reduce the audible effect of moving to a lower sample resolution. As for increasing the playback rate, you'll want to search for "oversampling" (or "upsampling"). Linear interpolation works up to a point, but doesn't entirely remove the high-frequency images that result from the increase in sample rate. With more processing power, a much better oversampling filter may be used. -- Oli
bmearns wrote:
> I have a DAC with 12 bit resolution that I want to use to playback an > audio clip with 16 bits/sample. Obviously, I'm going to loose some > quality, but I was wondering if it's possible to improve the quality a > little by increasing the playback rate. For instance, my audio clip > has 44,100 samples pers second, 16 bits per sample: If I played back > with 12 bits per sample, but, say, 88,200 samples per second by > interpolating mid points for every other sample, or something along > these lines. Does anything have any thoughts or inputs on doing this?
It's possible, but probably not worth while. Each time you quadruple the rate, you can -- with the right approach and an accurate enough DAC -- get another bit's worth of resolution. You can get all four bit's worth back if you go 256 times as fast and the levels that your DAC puts out have 16-bit accuracy. The best practical approach would be rounding and dithering. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Thanks a lot for the help, I had no idea what to google after, so that
was a big help!

-Brian

On Sun, 11 Nov 2007 12:07:32 -0500, Jerry Avins wrote:

> bmearns wrote: >> I have a DAC with 12 bit resolution that I want to use to playback an >> audio clip with 16 bits/sample. Obviously, I'm going to loose some >> quality, but I was wondering if it's possible to improve the quality a >> little by increasing the playback rate. For instance, my audio clip >> has 44,100 samples pers second, 16 bits per sample: If I played back >> with 12 bits per sample, but, say, 88,200 samples per second by >> interpolating mid points for every other sample, or something along >> these lines. Does anything have any thoughts or inputs on doing this? > > It's possible, but probably not worth while. Each time you quadruple the > rate, you can -- with the right approach and an accurate enough DAC -- > get another bit's worth of resolution. You can get all four bit's worth > back if you go 256 times as fast and the levels that your DAC puts out > have 16-bit accuracy. > > The best practical approach would be rounding and dithering. >
Of course, if you take this approach you'll start finding that most 12-bit DACs are only accurate to 12 bits -- you'll have 16 bits of resolution, but not necessarily 16 bits of sound quality. -- Tim Wescott Control systems and communications consulting http://www.wescottdesign.com Need to learn how to apply control theory in your embedded system? "Applied Control Theory for Embedded Systems" by Tim Wescott Elsevier/Newnes, http://www.wescottdesign.com/actfes/actfes.html
bmearns <bmearns@coe.neu.edu> writes:

> I have a DAC with 12 bit resolution that I want to use to playback an > audio clip with 16 bits/sample. Obviously, I'm going to loose some > quality, but I was wondering if it's possible to improve the quality a > little by increasing the playback rate. For instance, my audio clip > has 44,100 samples pers second, 16 bits per sample: If I played back > with 12 bits per sample, but, say, 88,200 samples per second by > interpolating mid points for every other sample, or something along > these lines. Does anything have any thoughts or inputs on doing this? > > Thanks, > -Brian
It is definitely POSSIBLE to improve the quality, just as it is POSSIBLE to increase the horsepower of a stock 2008 Honda Civic by 20 percent. The issue is TIME and MONEY. For the cost of a computer/laptop, you can have >16-bit audio. Why do you want to attempt to improve a 12-bit DAC on your own? -- % Randy Yates % "Bird, on the wing, %% Fuquay-Varina, NC % goes floating by %%% 919-577-9882 % but there's a teardrop in his eye..." %%%% <yates@ieee.org> % 'One Summer Dream', *Face The Music*, ELO http://www.digitalsignallabs.com
Tim Wescott <tim@seemywebsite.com> writes:

> Of course, if you take this approach you'll start finding that most 12-bit > DACs are only accurate to 12 bits -- you'll have 16 bits of resolution, > but not necessarily 16 bits of sound quality.
Assuming the DAC performance is reasonable at the upsampled rate, and that you don't do anything stupid in the analog (e.g., that would introduce intermodulation distortion), you will indeed get 16 bits of sound quality. -- % Randy Yates % "Maybe one day I'll feel her cold embrace, %% Fuquay-Varina, NC % and kiss her interface, %%% 919-577-9882 % til then, I'll leave her alone." %%%% <yates@ieee.org> % 'Yours Truly, 2095', *Time*, ELO http://www.digitalsignallabs.com
bmearns <bmearns@coe.neu.edu> writes:

> I have a DAC with 12 bit resolution that I want to use to playback an > audio clip with 16 bits/sample. Obviously, I'm going to loose some > quality, but I was wondering if it's possible to improve the quality a > little by increasing the playback rate. For instance, my audio clip > has 44,100 samples pers second, 16 bits per sample: If I played back > with 12 bits per sample, but, say, 88,200 samples per second by > interpolating mid points for every other sample, or something along > these lines. Does anything have any thoughts or inputs on doing this?
You might find some of the followign information useful: http://www.digitalsignallabs.com/presentation.pdf See specifically figure 9, which gives you a great overview of the improvements you can get as a function of oversampling ratio and modulator order. -- % Randy Yates % "With time with what you've learned, %% Fuquay-Varina, NC % they'll kiss the ground you walk %%% 919-577-9882 % upon." %%%% <yates@ieee.org> % '21st Century Man', *Time*, ELO http://www.digitalsignallabs.com
Randy Yates wrote:
> Tim Wescott <tim@seemywebsite.com> writes: > >> Of course, if you take this approach you'll start finding that most 12-bit >> DACs are only accurate to 12 bits -- you'll have 16 bits of resolution, >> but not necessarily 16 bits of sound quality. > > Assuming the DAC performance is reasonable at the upsampled rate, and > that you don't do anything stupid in the analog (e.g., that would > introduce intermodulation distortion), you will indeed get 16 bits of > sound quality.
You need to pay careful attention to the DAC's linearity. It needs to be as good as a 16-bit DAC with the 4 LSBs tied to ground. You can usually count on it to be 13 bits good, and can probably select on that's 14 bits good. If you find one that is 16 bits good, it was probably built that way on purpose. 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;
Randy Yates wrote:
> bmearns <bmearns@coe.neu.edu> writes: > >> I have a DAC with 12 bit resolution that I want to use to playback an >> audio clip with 16 bits/sample. Obviously, I'm going to loose some >> quality, but I was wondering if it's possible to improve the quality a >> little by increasing the playback rate. For instance, my audio clip >> has 44,100 samples pers second, 16 bits per sample: If I played back >> with 12 bits per sample, but, say, 88,200 samples per second by >> interpolating mid points for every other sample, or something along >> these lines. Does anything have any thoughts or inputs on doing this? > > You might find some of the followign information useful: > > http://www.digitalsignallabs.com/presentation.pdf > > See specifically figure 9, which gives you a great overview of > the improvements you can get as a function of oversampling ratio > and modulator order.
Modulator? Think R-2R ladder. 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;