View Single Post
  #4 (permalink)  
Old November 1st 06, 09:00 AM posted to uk.rec.audio,rec.audio.tech
John Phillips
external usenet poster
 
Posts: 99
Default Vinyl to CD on a PC

On 2006-10-30, Jim Lesurf wrote:
In article , John Phillips
wrote:
I have sometimes wondered about the Philips x4 upsampling DAC in early
CD players (I use "upsampling" here to distinguish from the use of
oversampling in the ADC case).


I'd prefer to call it 'oversampling' in both cases for various reasons. One
being that in some situations 'upsampling' may be a distinctly different
practice.

I assume (but have never looked for proof) that the conversion of a
single 16-bit sample xx..xxYY (YY are the two LSBs) would be
accomplished by replacing the single 16-bit sample by four 14-bit
samples as follows:


xx..xx00: xx..xx, xx..xx, xx..xx, xx..xx


xx..xx01: xx..xx, xx..xx, xx..xx, xx..xx+1


xx..xx10: xx..xx, xx..xx, xx..xx+1, xx..xx+1


xx..xx11: xx..xx, xx..xx+1, xx..xx+1, xx..xx+1


Or something similar. The DAC will effectively interpolate so the LSBs
are not lost. The noise floor will be right for 16 bits because of the
upsampling. ...


The above is essentially the same explanation that I would have given,
but since John puts it quite neatly, I need not bother. :-) A more
detailed explanation is given in the special issue of Philips Tech Rev
that was released at the same time as CD audio was launched, and
describes CD audio and the initial chipsets.

The samples are 'noise shaped'[1] by a process along the lines that the top 14
bits of each sample are DAC converted and fed out as an analog level, and
the 'unused' 2 LSB are fed back and combined with the next sample value.
The simplest method is the one described above, but alternative feedback
shaping processes can be used.

The output filter then acts to take a 'running average'. Four 14 bit values
then sum or average to give a 16-bit result in the passband of the analogue
filtering arrangement.

In principle, the behaviour is the same as when any 'low bit depth' DAC is
used (with oversampling and noise shaping) to get results with higher
depths.

Thus by using oversampling and noise shaping we can symultaneously ease the
burden on the analog reconstruction filter that follows DAC conversion, and
allow the use of a DAC with less than 16 bits. This also is the basis of
other methods like low-bit DAC delta-sigma, 'bitstream', and various other
commercial techniques which use the same general approach to obtain both
a shift of reconstruction images to higher frequencies (thus easing analog
filter requirements) and obtaining high resolutions.

Hence the original Philips 14-bit x4 oversampling system would be able,
in principle, to deliver full 16-bit resolution *if* the chips and the
associated electronics was made with suitable care. As usual, the practical
limits end up being determined by the care put into engineering the
actual implimentation. :-)


I looked up the details of the chipset. It seems that the SAA7030 does
the interpolation and does a large part of the reconstruction filtering.
It has a 96-point FIR filter at 4x input rate with a 28-bit accumulator
(16-bit data, 12-bit coefficients).

The thing that struck me from the datasheet is that the 28 bit accumulator
seems to get truncated without dither to 14 bits and then sent to the DAC
(a TDA1540).

Am I correct in thinking this undithered truncation is likely to generate
significant quantization error?

--
John Phillips