View Single Post
Old 13 October 2016, 16:41   #49
meynaf
son of 68k
meynaf's Avatar
 
Join Date: Nov 2007
Location: Lyon / France
Age: 44
Posts: 2,457
Quote:
Originally Posted by pandy71 View Post
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...
The situation isn't the same. You forget that these 2x 8 bit DAC have 6-bit volume control.


Quote:
Originally Posted by pandy71 View Post
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).
Yes, checking code words.
What do you think the calibration program is doing ?


Quote:
Originally Posted by pandy71 View Post
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...
Again, you seem to forget that one of the DAC has its output shifted 6 times.
Even if there are only 150 useful sample values - which i seriously doubt - the first sample (8 bit) would have 150, the other (6 bit) 150/4, and that would lead us to 150*(150/4) =5625 values at the end (which is a minimum, for 200 it goes up to 10000), that's many more than your 1500-5000 claim here.

Btw. If we reduce to 14 bits before calibrating, it implies that non-calibrated 14bit has more unique output levels than calibrated...


Quote:
Originally Posted by pandy71 View Post
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).
They do not overlap. Same bits don't represent same signal level. If they did, they would be called linear.


Quote:
Originally Posted by pandy71 View Post
Well... this is called psychoacoustic and that's why every human hear slightly different.
This has nothing to do here. Other ppl confirmed here that the noise level of our amigas is low.


Quote:
Originally Posted by pandy71 View Post
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.
You see a confirmation where there is none. Components on the miggy don't make that much noise.


Quote:
Originally Posted by pandy71 View Post
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).
Yes, isolated. You're speaking about the DAC, the DAC, and the DAC, totally forgetting that it's not the DAC that produce the 14 bit effect.


Quote:
Originally Posted by pandy71 View Post
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.
Repeat as many times as you want, it won't change the fact that what you say here is true only if these DAC are linear, which they are not.

But you're not just saying we can't go above 14 bit. You're saying we can't even reach that. Then a 16-bit DAC fed with 14-bit data (2 low bits cleared) would give significantly better results than pseudo 14-bit on the amiga. Experience shows that it does not.

If there were so much value overlapping, the calibrated output routine wouldn't be able to use many possible values in the 65536 possible ones. How many do you think it uses ?


Quote:
Originally Posted by pandy71 View Post
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.
Then define what you call accuracy. As resolution is easy to check but nothing is perfectly accurate.


Quote:
Originally Posted by pandy71 View Post
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.
The lowest output levels required to do 14bit aren't generated by Paula.
Internal resistors, as you call them, don't need more than 8 bit quality. Paula outputs 8 bit, and doesn't need to output anything else.


Quote:
Originally Posted by pandy71 View Post
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.
And this is exactly the reason why more than 16384 output values can be obtained.


Quote:
Originally Posted by pandy71 View Post
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).
This implies that a 16-bit DAC would play 8-bit samples (that have been zero-extended to 16 bits) with better quality than a 8-bit DAC.

Accurary is never perfect, it is always within a tolerance level.
Where one expects 1V output, it may be 1.00033V or 0.99995V.
If you have 44100Hz samples it will never be exactly that, for the simple reason no clock is perfect.
So "14 bit accuracy" is meaningless, or you have to define it.

You may pretend accuracy is below 14bit - i can't prove you wrong. Doing so would require precise measurements and i can't do that - i guess you can't either. Perhaps someone else should, settling the matter once and for all ('coz it's starting to be a bit long, in case you haven't noticed).

But if you pretend resolution drops below 14bit - it can be proven right or wrong. And you seem to do so, because you said "only 16383 are usable and after calibration there is even less".
meynaf is offline  
 
Page generated in 0.16929 seconds with 9 queries