View Single Post
Old 13 October 2016, 15:01   #48
pandy71
Registered User
 
Join Date: Jun 2010
Location: PL
Posts: 1,546
Quote:
Originally Posted by meynaf View Post
Appears you didn't get it. How it works is simple : it finds three 4-bit values for every wanted output level (there are 256), and attempts to remove the level transition "spikes" (due to the fact the cpu is too slow) by choosing in which order the three levels are changed.
Thank you for explanation - so 3x 4 bit DAC are required to recreate sub 8 bit DAC... it is quite similar to what i pointed - can't stack 2x 8 bit DAC and call them 16 or 14 bit...

Quote:
Originally Posted by meynaf View Post
Of course some of them are lost, but not as many as 60000.
How do you know - did you checking every code word or only some of them - perhaps only 2 LSB from upper part and 2 MSB from lower part?
To linearize DAC you need to check every code, also you need to address dynamic distortion of a DAC - this prevent simplistic approach stacking multiple low accuracy converters to form single high accuracy (but you may improve dynamics by paralleling multiple DAC's - each doubling gives you something like 3dB improved dynamics).

Reducing level by 6.0203dB means you loosing half of level values... so from 65356 there is only 32768 left - it is nothing wrong as 1 bit giving you 6.0203dB SNR but 2 bits giving you 12.0406dB SNR (so from 2 values you have now 4 values). So yes, there can be only 1500 - 5000 useful sample values in 2x 8 bit DAC stacked after calibration and this is enough to drastically improve quality as single DAC may have something like 150 - 200 useful sample values - see this from this point not inherently stable digital arithmetic...

Quote:
Originally Posted by meynaf View Post
We do not start with 14 bits ! We start with 16 !
We start with 16 but this means nothing as they overlap i.e. same bits represent same signal level (2 LSB from upper 8 bit are covered by 2 MSB's from lower 8 bit part - AUDxVOL on lower half is set to fixed -36dB attenuation in analogue domain and thanks to PWM this it is stable and almost perfect as such less problems for calibration).

Quote:
Originally Posted by meynaf View Post
If you care about noise that can't be heard at all, maybe.
Well... this is called psychoacoustic and that's why every human hear slightly different.


Quote:
Originally Posted by meynaf View Post
Things making lots of electromagnetic garbage, like pc cpu.
And this is confirmation for things already pointed by me - with default Amiga M/B design 14 bit quality is unrealistic, i would rather agree for something between 10 and 12 bits maximum.

Quote:
Originally Posted by meynaf View Post
Isolated from any complete computer then measured, doesn't count.
The D/A may be the best in the world, if its output gets parasite signal it won't help.
Why isolated? You always testing whole system as even software quirks may change overall result.
Yes, it is true, DAC can be best but bad application of DAC will ruin everything (and this is another thing pointed by me that Amiga IC Paula design is probably far from best DAC design as designers need to squeeze lot of audio not related logic within same chip).


Quote:
Originally Posted by meynaf View Post
How many times will i have to repeat you that the resolution isn't 14 bit but 16 ???
How many times i need to repeat that with 8 bit on one DAC and 8 bit in another with attentuation -35.9868109891dB there are values that overlapped so finally you will have 14 not 16 bits.
And side to this how many times i need to repeat to not use terms resolution as accuracy - resolution of DAC can be even 32 bits but it may have less than few bits accuracy if you put lot of bad resistors inside.
Imagine that you building own 16 bit DAC (like this one https://hifiduino.wordpress.com/2014...he-rest-of-us/ ) and you using +-5 or +-10% resistors - at the end what quality you expect at the DAC output...?

And what kind of quality (tolerance) those internal resistors have in Paula (10 bit? maybe 12? or perhaps 14?) - this was my question from very beginning - what kind of quality can be expected from for example 8364R4 - i seriously doubt that 8 bit DAC in Paula has better accuracy than +-0.5LSB - it may be +-0.75LSB or +-1 LSB.

Once again - fact that you feeding to DAC register value 200 doesn't mean that at the DAC analog output you will receive voltage equal to Vref*(200/255) as it depends on DAC quality and can be for example equal to code 198 or 203 or for example 201.76. This should be clear for everyone - for typical low quality DAC errors can be between +-4LSB or low as +-0.25LSB for good DAC.

Quote:
Originally Posted by meynaf View Post
Oh, so you mean that our poor 8 bit DAC aren't linear but nowadays 16 bit ones are, even cheapo chinese ones ?
So i mean that 8 bit DAC has usually 8 bit (or less) linearity and 16 bit DAC usually have 16 bit linearity (or less) - even if you link together multiple Opel Corsa you will never create Formula 1 race car (even if from your perspective combined power of all Corsa engines will be same as in F1 engine) and China is not guilty of this - they can produce good and bad quality - all depends from customer (his requirements and his quality control).
pandy71 is offline  
 
Page generated in 0.09461 seconds with 9 queries