Ultimate Audio Playback => Phasure NOS1 DAC => Topic started by: PeterSt on January 20, 2014, 12:23:57 pm

Title: Phasure NOS1 USB Special Measurements
Post by: PeterSt on January 20, 2014, 12:23:57 pm

This topic will show some special measurements all taken from the outputs (1m XLR interlinks) of the Phasure NOS1 USB D/A converter.

A few rather important notices on how to read measurements (and/or how to apply them) with one clear emphasis : These measurements try to show the worst scenarions instead of the best (and with that fooling you). Proof of that : All measurements put up anywhere by us (this forum, others) where about 16 bit Redbook data. This is because we hunt for the best Redbook (CD) playback. This, however, does not show the best figures hence what the NOS1 is capable of while other manufacturers do (and fool you without clear notice). So, this topic shows that similar but still not to fool you.
Worst scenario's : For example show noise where noise really is instead of using a very deep FFT which would fool you where noise really is (because a deep FFT shows noise lower than where it really is. But also the other way around : When harmonic spuria are there we can often only show them by means of a deep FFT. So, now the noise floor drops and the spuria come forward. This is how the various plots show noise at a different level. This is why we will start with just showing the noise.

All measurements have been taken by means of just playing "tracks". No signal generators have been used, and what you see is as honest as can be because it is just playback through the same means otherwise used for playing music. The software used is our own XXHighEnd and 16x Arc Prediction upsampling/filtering is used unless noted otherwise.
Worst scenario again : The audio analyser is a DSCopeIII with 192KHz sampling rate (bit depth 24). This means that all what you see will be better in practice. For example, where THD+N figures will be better at 8x upsampling/filtering (D/A conversion operates at 352.8KHz) and better again at 16x (705.6Khz) the analyser will not be able to show better figures beyond 4x upsampling/filtering. So, 4x, 8x and 16x will all show the same, while 16x is actually way better than 4x.

Worst scenario once more : All the test signals are 44.1KHz (or 48KHz depending on the availability of test signal files (tracks)). This is done to closey resemble the Arc Prediction upsampling/filtering which now is *needed*. So for example, with 88.2/96KHz sampling the filtering would not be needed to show possible artifacts in the audio band. 44/1/48 will show those, if there (with the objective of nothing being there).

Lastly keep in mind that no spuria etc. can not be seen beyond 96KHz because again the analyser operates at 192KHz which allows analysis up to half of that (Nyquist limit). However, from what happens under 96KHz it can be extrapolated what happens beyond that (needs signal processing knowledge though).

Noise Interpretation

(http://www.stordiau.nl/XXHighEnd/System Noise 8K x4.png)
This can be regarded normal FFT settings. In this case this means an FFT depth of 8K and 4 times averaging.

(http://www.stordiau.nl/XXHighEnd/System Noise 256K x4.png)
Now the FFT is 256K deep and you see the noise is lower. However, this is not for real now, and it is just math which does this. The reason ? dig out clear frequencies which normallty reside under the noise floor.

(http://www.stordiau.nl/XXHighEnd/System Noise 256K x16.png)
Now the FFT is 256K deep again but "averaging" is 16x (previous plots 4x). This means that spikey noise is averaged over more frequency bands and it looks better. But notice, this is not about looking better (though it sure is used for that) but again about detecting clear frequencies better.
As you can see here, just totally nothing is there.

Now let's look at the first plot again, but now with the 48KHz bas oscillator (previous set was 44.1KHz based) :

(http://www.stordiau.nl/XXHighEnd/System Noise 8K x4 - 48KHz.png)
No difference to be seen eh ? Well, let's look again :

(http://www.stordiau.nl/XXHighEnd/System Noise 256K x16 - 48KHz.png)
Aha ! So now the noise is perceivedbly very low (you are fooled) but we now suddenly can see an anomaly in the 48KHz clock arrangement.
Which of the plots fool more ?
So you see, the manufacturer should show what's really there. We just did so for the NOS1. The real fooling would happen when only the deepest FFT would have been shown as happened a few plots back, to next imply ultra low noise and no problem anywhere.

Always keep this in mind when looking at FFTs which may have been put up to explicitly fool you.
Below more plots can be for better interpretation what you actually look at for FFT depth (remember, the more depth the more "false" the noise level will show) :

(http://www.stordiau.nl/XXHighEnd/1000Hz 8K x4 - 9600.png)
This shows a 1000Hz test signal. FFT depth and averaging shows reality. Notice the width of the signal.

(http://www.stordiau.nl/XXHighEnd/1000Hz 8K x4 - 96000.png)
Same FFT settings. However, where the previous plot showed a range from 0Hz up to 9600Hz, this one goes from 0Hz to 96000Hz. So, with the same screen size all is 10x more thin.
Btw notice that the largest peaks in there are spuria from the Arc Prediction filtering; they emerge at the base sampling rate (44.1KHz) and at plus and minus that 44.1Kz and the test signal's frequency (so, at 43100Hz and 45100Hz).
Now watch this one :

See the width of the signal ? Also very thin now. But what was done here was applying an FFT depth of 256K again (and 16x averaging). Aha.
So with carefully judging the frequency range squeezed into the picture (it is 9600Hz again just like two picture above), you can predict how deep the FFT is by looking at the width of the signal.
In the mean time the noise shows "too low", so don't dig that.

And when we're at it anyway, see that little triangle under the signal ? this is how jitter manifests. Compare with the previous plot and notice that you there can not see this (because jitter is way lower than the normal noise level (there). This means that the FFT needs to be deep to show this. Well, in the case of the NOS1. So, also compare with plots you run into on the net which most often will show you pictures with an FFT depth of the previous plot shown here, but now with sidelobes alrready (meaing : jitter will be high).
Caveat : This depends on the so called "windowing" used which is all related to how good the FFT can dig out real spuria from system noise. Therefore the "depth" of the FFT is about how many frequency bins are used to "catch" different frequencies and the more bins (like 256K (~256000)) the higher the granularity. But this is not all because of this "windowing" which is a subject in itself.
We use Prism's (proprietary) "Prism-7 - Maximum Dynamic Range". Want to be fooled ?

(http://www.stordiau.nl/XXHighEnd/No Windowing - 8K 4x.png)
Here you are. FFT depth is just 8K again and averaging the normal 4x. Now no "windowing" is applied. Noise looks lower ! But with the same settings a signal looks like this :

(http://www.stordiau.nl/XXHighEnd/No Windowing - 8K 4x - 1000Hz.png)
So this is how te "windowing" math is required to dig out what we want.

But without thinking about how we can be fooled, it sure is about which FFT settings need what to show.

24 bit Jtest


This test signal is 48KHz and although looking very good it also shows previously mentioned spuria in the 48KHz clock arrangement (left side). So this is not the least significant bit toggling (which is part of Julian Dunn's "JTest"). Main signal is 12KHz (half of the Nyquist limit (limit = 24KHz = half of the sampling rate (48KHz)).

IMD 19KHz + 20KHz

The track used for this is from Stereophile TestCD2. This is 16bits.

24 bit resolvement

1000Hz test signal attenuated at -126dBFS. This is just shown to compare with the below.

1000Hz test signal attenuated at -132dBFS.
This tells that a nice 6dB more attennuation shows as intended. See below to understand the importance of this.

1000Hz test signal attenuated at -138dBFS.
As you can see there is no(t sufficient) difference with the -132dBFS version. So it does not show at -138dB where it should, but rather at something like -135dB. This means that the Phasure NOS1 resolves to 22 bits and maybe a little more. (-144dBFS would be 24 bits);
The fact that we still see the signal - and especially, say, unchanged compared to the -132dBFS version, implies that what we see from of -138dBFS and further down is glitching energy. Notice that glitching energy happens at the same frequency as that of the signal, especially when the signal is so low that only minus to plus voltage changes have impact. Otherwise glitching energy happens per half cycle and below you see an example of that :

(http://www.stordiau.nl/Phasure NOS1/LSB02.png)
Notice : This is NOT from the NOS1 nor is it from the PCM1704 D/A chip; the chip shown here carries a real high glitching energy.

More to be added in due time.

Title: Phasure NOS1 USB Special Measurements - Dirac pulses
Post by: PeterSt on February 03, 2014, 06:02:32 pm
So here's a set of namiew measurements;
They partly emerged to learn a few things from again, partly for implicitly showing what the Phasure NOS1 is capable of, but maybe merely to refer to when it is in order (at random forums); Some things are hard to explain while pictures tell a 1000 words and with both it should be more easy for me to explain whenever needed.

These measurements are about the impulse response of the NOS1 and we use Dirac pulses for it.
Dirac pulses : One shot samples which pose (only) positive Voltage in this case 2V. So, while Redbook is about 16/44.1 and thus 44100 samples exist in the (music) file per second, this is about 1 sample of it and it goes all the way up from 0V to 2V. It may represent a transient of one sample long (which will not exist in real music), but it will show how the electronics can follow (should follow) and we'lll make some comparisons with more common behaviour. You will see ...

All measurements were taken from the (left channel) output of the NOS1 at the end of 2m single ended (RCA) coax cable (the same used for playback here).

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-01.png)
Here you see a way zoomed out picture of such a Dirac signal, and the 2V samples are spaced just under 1ms apart. Notice the horizontal (time) resolution which is 1ms.
The sampling rate of the analyser is 2Gs (2 giga samples per second).

Important to understand for later : This is a native 16/44.1 signal which has not been upsampled. This is how the one-sample spikes remain that. We'll understand this better later.

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-02.png)
Here you see the same signal in the frequency domain;
Analyser now samples at 10Ms (10 mega samples per second) which allows looking up to 5Mhz of frequency (Nyquist);

The signal is the most square, which implies odd harmonics (3, 5,7, etc.) of infinite frequency. So, a square builds form sines and the more square the square is (read : the more steep its slopes are) the more odd harmonics need to be represented.
So here you see them up to 5Mhz with the notice that no filtering has been applied to the analyser (this counts for all the pictures unless told otherwise).

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-03.png)
Here you see the same, but now up to 450KHz.

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-05.png)
And the audio band.

Now let's see how this looks like when the first picture above is zoomed in :

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-06.png)
Here the horizontal resolution is 10us; analyser's sampling rate is 20Ms. This looks quite straight up, right ? Well, although you cab already see it, it really isn't. Look :

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-07.png)
Now the horizontal resolution is 1us.

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-08.png)
Or something like 50ns.
Actually this tells that it takes your NOS1 90ns to go from zero voltage to the maximum (of ~2V).

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-09.png)
And ~160nV to go from 2V to zero.

This all tells that we deal with electrical limits with thus the notice that in digital all is as steep as steep can be.

Btw for your interest, this is how squares need "infinite" frequency :

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-10.png)
Look at the mouse arrow which actually points to where the horizontal part of the "square" is going to fall and how this looks in detail; The horizontal resolution is now around 270ns and the frequency you see near the bottom is something like 4 wave cycles par that, meaning 270/4 = 69ns. This should be 14.493.753Hz or over 14MHz.
(if my math is wrong here let me know; easy to make mistakes with all the recalculations from plot interpretations)

Here you see the same picture zoomed out somewhat, and you can see how even a down-going Voltage needs an upwards shot first to do that :

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-11.png)
This depends on how much the Voltage needs to go down, which in this case is this 2V in one big bang. You can see in the left Voltage scale that 160mV is going up first.
Similar happens with up-going Voltage but that needs a swing down first.

The moral of the above pictures is that apatrt from that one swing there's no real ringing. This all should indicate your NOS1 is very fast.

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-12.png)
Here is our one sample wide Dirac pulse again. I didn't do the math but the width of this should be 1/44100 = 0.0000227 seconds or 0.0227ms = 20us. But now look here :

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-13.png)
This is now 2x upsampled/filtered by means of XXHighEnd's Arc Prediction.

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-14.png)
And this is 4x.

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-15.png)

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-16.png)

But let's now look what happened to the frequency domain :

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-17.png)
You might want to open this post in another browser instance so you can compare this picture and the below two with the same sequence as shown at the start of this post.
So what you see here is a lot of less "hash" beyond the audio band up to 5MHz.

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-18.png)
Or how it now looks up to 450KHz.

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-19.png)
Or just in-band.
But careful now;
This seems wrong while actually it is right ! It actually shows how square(-ish) music data is rendered as such. So, in-band nothing much changed, while out of band a lot of hash has disappeared. This *is* what we want.

Let's review this one again :

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-16.png)
This is our 16x Arc Prediction upsampled/filtered Dirac pulse, and it looks like it now perceived "ringing" from the upsampling. But does it really ? Look back at this detail :

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-07.png)
Really quite the same, and all what happend is that electrical behaviour was now mimiced by (Arc Prediction) software but *now* it is under our control !

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-20.png)
This is the top of our Dirac pulse zoomed in some more (compare to two pictures above).

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-21.png)
And here very much zoomed in; Also see in the top right corner and where the mouse arrow is (and how round it looks from there). So what we see here is how the one sample spike has been spread over 16 samples (that's what happened with 16x upsampling/filtering) and how now hardly any overshoots are there any more and how the one spike has been broken down into elements. All near to perfect for symmetry.

So, done ?
Not yet. Because now we are going to see what happens when it is not Arc Prediction doing this all, but how a normal oversampling DAC plus its filtering behaves.

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-22.png)
Here you go. This is 4x upsampled with XXHighEnd's Anti Image upsampling/Filtering which is fairly common to what a normal DAC will show;
Here too the one sample has been broken down into 4 (count the ones above zero Volt) but now there's also something like -500mV "utilized" (compare with the Arc Prediction pictures). That's now 25% in the wrong direction. And the ringing ? So *that* is ringing.
Shall we zoom in on that part between the two pulses ? Watch out :

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-23.png)
Ohh sh*t. Look where the mouse pointer is and try to see the less than 1mm cut of the wave made (if look you closely you can see it, but it's really 1mm or so).
Now let's think again; This is still that 1200Hz spaced Dirac pulse. Thus, we originally had a one spike "transient" of one sample wide, and now it spreads forever. This means that while we should hear transients (the most brief ticks - vinyl like) at an on/off rate of 1200Hz (and this is my famous "Transient music" (ahum) this is now first smeared (the ringing you clearly see) while in between the two spikes (happening at a rate of 1200 times per second) it is not even silent.

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-24.png)
And might you be interested : this one is similarly zoomed at the top of the real spike shown with Arc Prediction more above, while is is the "silent" part in the middle (see mouse arrow). This is a sheer 19mV you know ...

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-25.png)
Here's the plot till 5MHz again to show that this didn't even help much (the contrary);

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-26.png)
The 450KHz which rather shows nice Dutch tulips which only show the anomalies (instead of consistent behaviour).

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-27.png)
And the audio band which still looks quite nice (meaning : as intended), but which now also shows the fairly steep filtering applied. So yes this implies ringing on behalf of the better impulse response, but we're still not finished with this.

This will be the last sequence and it will show you how even steep filtering will not preserve the transients of audio while in the mean time now *all* is molested. Let's start with this one :

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-28.png)
Here I deliberately lowered the sample rate so the "stepping" does not show. But doesn't this look like a sine ?
Notice this is still Anti Imaging fairly normal filtering.

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-29.png)
Here you see a time resolution of 0.1ms per devision and one cycle occupies that. This means a 10KHz (still) Dirac pulse is in order here.
Notice that while this is originally is a +2V signal (no negative) the range now spans something like +1.2V / -0.8V. Hmm ...

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-30.png)
Zoomed out the signal. Chr*st, what's happening here then ?
Ok, this is a too low sampling rate, but it's the lead in to show you better what occurs here. Look :

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-31.png)
Here the sampling rate is sufficiently high again and with some more wave cycles showing per division something nasty is going on. But I have been mean, and I created a Dirac pulse train where the ringing of the frequency runs into the next pulse and now the filtering can't cope (the math doesn't work anymore - and it is not my math). Look :

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-32.png)
See that downward excursion ? Same as one of those 5 you see in the previous picture.
Also notice (and try to grasp) that the enrgy at positive voltage sort of anti-compensates for negative. In the previous picture you can see it better, but in this one it is just the same. But why ?

I fooled the filter with presenting real music !
Well, sort of. The frequency of 10Khz is not a constant one, and once in the x-many pulses the space is different.
But now be careful : This is not a normal frequency as such - it is transients only. Remember, that phenomenon of which millions exist in a track. And now you can see how nornal filtering deals with that.
Not so with Arc Prediction, per which means you finally understand the real picture of what happened in the above ones. Here :

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-33.png)
Aha ! *Now* you'll understand. So see the third cycle and the more space at the bottom. Remember, that's zero volt and it denotes the spaces between the still one sample long pulses.
Not only the bottom = silent part is superbly there, but also the tops are totally even.  And also not to forget : no ringing. And no real damage to the frequency domain either.

The above is again 16x Arc Predcition. Below is the native 16/44.1 signal of this :

(http://www.stordiau.nl/xxhighend/phasure NOS1 Dirac-34.png)
Is that beautiful or not ?! Notice the longer space is at the third cycle (sample) again.
So, 100% beautiful, but the frequency domain is not at its best. To see that again, scroll back ...
Keep in mind : no filtering of *any* kind was applied in the analyser in any of the measurements.

Lastly for this sequence :
Although it sometimes seemed to be, this is NOT about squares. It's single shot transients and they happen in music all over and they *can* be represented by 16/44.1 very well. Hopefully you just saw it happening.
You also saw how the distance of the samples (pulses) mangles with normal filtering - the ringing just runs into the next sample and it destroys good filtering (or good sound quality if you want);
Now, real squares are a complete different beast because there the samples run into eachother inherently; squares just connect, contrary to these pulses which in the digital data do not connect, need not connect when properly filtered but will when not. So squares do, and this is for another round of measurements.

Now I'll see whether my NOS1 still can produce music after a complete day of processing these Dirac pulses (which btw are really harder for a D/A converter than "swinging sines" and even "swinging squares").