# DSP Measurements and Rising Noise Floor

OP
M

#### mdsimon2

##### Major Contributor
Forum Donor
And an updated summary table based on tests run so far:

Michael

#### Rottmannash

##### Major Contributor
Forum Donor
You do often see 96dB dynamic range stated for undithered 16bit audio (you said 98dB but Wikipedia says 96dB like just about everywhere else) but that doesn't really make sense if you think about it. 96dB comes from the calculation 6dB x 16 = 96dB, i.e. every bit gives additional 6dB SNR. However, with audio we're always talking about AC signals and one of the 16bits represents the polarity of the signal. The smallest AC signal you could encode would be oscillating from -1 to +1 (1 least significant bit or LSB). And the largest would be +32767 to -32767. The amplitude difference between these is 20*log10(32767) = 90.3dB.

Textbook dither to avoid noise modulation and quantisation distortion is +-1 LSB of TPDF dither. The RMS level of this signal is around 0.5 LSB. If we take the largest possible sinewave peaking at +-32767 LSB the RMS level of this signal is 32767/sqrt(2) LSB. The dynamic range of this system is 20*log10(32767/sqrt(2)/0.5) = 93.32dB.

This may seem like a strange way to look at things because it means that the dynamic range increases by 3dB when you add dither... but this is true!!!! https://www.aes.org/e-lib/browse.cfm?elib=4523

I recall that there's a great online demo of this somewhere.... wish I could find it now.
I just realized you're the Head of Acoustics for KEF. Thanks for being here and sharing your knowledge and experience.

#### capslock

##### Active Member
You do often see 96dB dynamic range stated for undithered 16bit audio (you said 98dB but Wikipedia says 96dB like just about everywhere else) but that doesn't really make sense if you think about it. 96dB comes from the calculation 6dB x 16 = 96dB, i.e. every bit gives additional 6dB SNR. However, with audio we're always talking about AC signals and one of the 16bits represents the polarity of the signal. The smallest AC signal you could encode would be oscillating from -1 to +1 (1 least significant bit or LSB). And the largest would be +32767 to -32767. The amplitude difference between these is 20*log10(32767) = 90.3dB.

Textbook dither to avoid noise modulation and quantisation distortion is +-1 LSB of TPDF dither. The RMS level of this signal is around 0.5 LSB. If we take the largest possible sinewave peaking at +-32767 LSB the RMS level of this signal is 32767/sqrt(2) LSB. The dynamic range of this system is 20*log10(32767/sqrt(2)/0.5) = 93.32dB.

This may seem like a strange way to look at things because it means that the dynamic range increases by 3dB when you add dither... but this is true!!!! https://www.aes.org/e-lib/browse.cfm?elib=4523

I recall that there's a great online demo of this somewhere.... wish I could find it now.
Well, the wikipedia article I linked says 1.76 dB + 6.02 dB * # of bits, which gives you 98 dB for 16 bits. This is the formula I remember from signal theory class except I don't have a good explanation where the offset of 1.76 dB comes from (I mean, how can you have no bits, hence no signal but still a SNR > 0?!?) and I haven't opened that textbook in maybe 25 years.

I suppose you can encode a +1/0 signal. The small DC will be thrown out by the coupling cap or servo. I am not clear how the filter decides whether to use a +1/0 or a 0/-1 signal, though. Maybe dither is the answer

I am confused now about the SNR after dithering. It makes intuitive sense to me that when you use a small amount of dither, you can resolve below 1 LSB which should increase SNR. Yet you were saying yesterday that it adds about 3 dB of noise.

Last edited:

#### Marc v E

##### Major Contributor
I recall that there's a great online demo of this somewhere.... wish I could find it now.
I don't know if you meant this post, but maybe it helps. I found it very helpful and clear.

#### jackocleebrown

##### Member
Technical Expert
Audio Company
Well, the wikipedia article I linked says 1.76 dB + 6.02 dB * # of bits, which gives you 98 dB for 16 bits. This is the formula I remember from signal theory class except I don't have a good explanation where the offset of 1.76 dB comes from (I mean, how can you have no bits, hence no signal but still a SNR > 0?!?) and I haven't opened that textbook in maybe 25 years.
This was a mystery to me too but I've done a little digging and the " 1.76 dB + 6.02 dB * # of bits" formula is explained here. It is based on work by a chap named Bennett. Note that this is "signal-to-quantization-noise ratio", rather than dynamic range. Without dither, Bennett calculated that the RMS quantisation noise amplitude is approximately 1 LSB / sqrt(12). The RMS amplitude of the max sine signal that you can encode is exactly as we wrote before 32767 * LSB / sqrt(2). The total calculation is then SNR = 20*log10(32767 / sqrt(2) * sqrt(12)) = 98.09dB

I suppose you can encode a +1/0 signal. The small DC will be thrown out by the coupling cap or servo. I am not clear how the filter decides whether to use a +1/0 or a 0/-1 signal, though. Maybe dither is the answer
Oh yes, you're right - I didn't consider this.

I am confused now about the SNR after dithering. It makes intuitive sense to me that when you use a small amount of dither, you can resolve below 1 LSB which should increase SNR. Yet you were saying yesterday that it adds about 3 dB of noise.
You're right, what I wrote was rather unclear and I confused myself by talking about the LSB level. We're also getting mixed up between dynamic range (smallest to largest signal) and SNR (largest signal compared to noise level).

No dither
SNR = 20*log10(32767 / sqrt(2) * sqrt(12)) = 98.09dB
DNR = 20*log10(2*32767) = 96.329dB¹

With +-1LSB TPDF dither
SNR = 20*log10(32767 / sqrt(2) / 0.4) = 95.26dB²
DNR of dithered audio is I guess technically the same as SNR, but what not everyone appreciates is that with correctly applied dither you can encode signals below the noise floor.

¹This is using your suggestion to add 1/2 LSB of DC to the signal before quantisation so that it peaks between 1 and 0
²Since writing the previous post I did the RMS calculation for TPDF dither and it's actually 0.4 LSB rather than 0.5 LSB.

#### Geertidow

##### Active Member
Just so I understand this correctly: all the measurments of the MiniDSP as compared to Camilla are higher in noise, but fall in the inaudible range?

#### jackocleebrown

##### Member
Technical Expert
Audio Company
I don't know if you meant this post, but maybe it helps. I found it very helpful and clear.

Thanks for the link but that's not the one I was thinking of. It was a series of audio files that audibly demonstrated how dither can remove distortion and allows signals to be encoded below the smallest bit. I quickly knocked up something similar and attach the files. All files are 8bit 44.1kHz and are of a 1050Hz 10 second sine tone. There are three levels each with and without TPDF dither added before quantisation: peak amplitude of 2 LSB, 1 LSB and 0.5 LSB. Hopefully interesting for someone. Shaped dither can do even better than this.

Anyhow, I feel like we're straying away from the thread topic so should probably get back to the original topic.

#### Attachments

• Dither Example Flacs.zip
247.8 KB · Views: 35
OP
M

#### mdsimon2

##### Major Contributor
Forum Donor
Just so I understand this correctly: all the measurments of the MiniDSP as compared to Camilla are higher in noise, but fall in the inaudible range?

All DSPs tested so far (other than CamillaDSP using 32 bit floats) with this filter set applied clear 16 bit fidelity. I personally think this means the noise is inaudible, others may disagree. I would be comfortable using any of the these DSPs to apply these filters.

I would love for people to test other filters they have applied to see if they are seeing similar degradation and also test other DSP platforms, in particular the miniDSP Flex and SHD which are also SHARC based. For miniDSPs with bi-directional USB audio (2x4HD, Flex, SHD) this is very easy to do and requires no additional hardware other than the miniDSP itself.

There probably is also something to say about "chasing SINAD" by using a digital output miniDSP like the Flex Digital or SHD Studio in to SOTA DACs. It appears like the noise degradation observed will be the governing issue in such a system. Although important to note that all of these DSPs still achieve low noise floor at low input levels which is one of the most important factors for avoiding hiss.

Michael

Last edited:

#### Sokel

##### Major Contributor
All DSPs tested so far (other than CamillaDSP using 32 bit floats) with this filter set applied clear 16 bit fidelity. I personally think this means the noise is inaudible, others may disagree. I would be comfortable using any of the these DSPs to apply these filters.

I would love for people to test other filters they have applied to see if they are seeing similar degradation and also test other DSP platforms, in particular the miniDSP Flex and SHD which are also SHARC based. For miniDSPs with bi-directional USB audio (2x4HD, Flex, SHD) this is very easy to do and requires no additional hardware other than the miniDSP itself.

There probably is also so something to say about "chasing SINAD" by using a digital output miniDSP like the Flex Digital or SHD Studio in to SOTA DACs. It appears like the noise degradation observed will be the governing issue in such a system. Although important to note that all of these DSPs still achieve low noise floor at low input levels which is one of the most important factors for avoiding hiss.

Michael
If anyone is interested to see some (newbie) sloppy measurements with similar analog (electronic xover) filters just for the comparison (as much as it can be cause analog sins seems uglier) let me know,I have some ready.

OP
M

#### mdsimon2

##### Major Contributor
Forum Donor
If anyone is interested to see some (newbie) sloppy measurements with similar analog (electronic xover) filters just for the comparison (as much as it can be cause analog sins seems uglier) let me know,I have some ready.

Yes, please do! I expect the differences between filters and no filters to be smaller when making analog measurements? Is that what you observed?

Michael

#### Sokel

##### Major Contributor
Yes, please do! I expect the differences between filters and no filters to be smaller when making analog measurements? Is that what you observed?

Michael
Problem is that can't give you "no filters" cause that would make no sense to it,it's kind of fix in it.
It's an analog xover,no DSP
But just for the shake of it here we go:

48K Bandwidth all Multitones,20-20K for the rest (but you can see as much as 48K there too).

30Hz-96K

100Hz-96K

MT32-96K

30Hz-48K

100Hz-48K

MT32-48K

*Bonus* (as lower=more difficult):

20Hz-96K

20Hz-48K

FR

-60 to -3db sweep (TDH+N plus separate for noise)

Any suggestions-corrections,etc,let me know!

Last edited:
OP
M

#### mdsimon2

##### Major Contributor
Forum Donor
Problem is that can't give you "no filters" cause that would make no sense to it,it's kind of fix in it.
It's an analog xover,no DSP

Ah, sorry, I misunderstood, I thought this was your Flex. So this is DAC in to an analog x-over in to an ADC?

The reason for the no filter baseline is it gives a feel for the resolution of your measurement rig. Still given that this doesn't look at that great (about -95 dB noise) I assume that the analog x-over is governing the measurement.

Thank you for sharing.

Michael

#### Sokel

##### Major Contributor
Ah, sorry, I misunderstood, I thought this was your Flex. So this is DAC in to an analog x-over in to an ADC?

The reason for the no filter baseline is it gives a feel for the resolution of your measurement rig. Still given that this doesn't look at that great (about -95 dB noise) I assume that the analog x-over is governing the measurement.

Thank you for sharing.

Michael
Yes,it's DAC > xover >6 meter cable >ADC (I like to measure them as they sit in real conditions,gives me peace of mind).
Added a sweep too,SINAD and the (obvious) combined noise of the rig.

OP
M

#### mdsimon2

##### Major Contributor
Forum Donor
And a few more measurements.

First CamillaDSP (using 64 bit floats as is the standard) at 96 kHz with 16K FIR taps per channel. Results are exactly the same as with IIR. Only interesting attribute is that you do not get any high frequency warping with FIR and you can see this in the low channel frequency response.

I didn't bother to make stepped sines as they take a long time and the -1 dBFS results are identical. I did run a quick check at -60 dBFS to confirm that the noise level was the same and it was.

Sub - CamillaDSP FIR + MOTU Ultralite Mk5

Base: Input RMS -1.00 dBFS, THD: -151.4 dB based on 49 harmonics [20..22000 Hz], N: -147.8 dB [20..22000 Hz], THD+N: -146.2 dB [20..22000 Hz]
Sub: Input RMS -7.26 dBFS, THD: -163.1 dB based on 49 harmonics [20..22000 Hz], N: -142.2 dB [20..22000 Hz], THD+N: -142.1 dB [20..22000 Hz]

Low - CamillaDSP FIR + MOTU Ultralite Mk5

Base: Input RMS -1.00 dBFS, THD: -151.4 dB based on 49 harmonics [20..22000 Hz], N: -147.7 dB [20..22000 Hz], THD+N: -146.2 dB [20..22000 Hz]
Low: Input RMS -5.21 dBFS, THD: -155.2 dB based on 49 harmonics [20..22000 Hz], N: -144.2 dB [20..22000 Hz], THD+N: -143.8 dB [20..22000 Hz]

High - CamillaDSP FIR + MOTU Ultralite Mk5

Base: Input RMS -1.00 dBFS, THD: -151.9 dB based on 21 harmonics [20..22000 Hz], N: -147.9 dB [20..22000 Hz], THD+N: -146.4 dB [20..22000 Hz]
High: Input RMS -10.63 dBFS, THD: -152.1 dB based on 21 harmonics [20..22000 Hz], N: -138.4 dB [20..22000 Hz], THD+N: -138.2 dB [20..22000 Hz]

Michael

OP
M

#### mdsimon2

##### Major Contributor
Forum Donor
Now for something a bit more interesting, OpenDRC running at 48 kHz using FIR. I thought I should be able to get up to 12K taps in mono mode but for some reason it was limiting me to 6K. As a result this is with 6K taps which as you can see still provides enough frequency resolution for these filters. Here is a comparison of the frequency response of CDSP IIR at 96 kHz, OpenDRC IIR at 48 kHz and OpenDRC FIR at 48 kHz. As with the CDSP FIR example there is no high frequency warping with FIR despite the lower sample rate.

Where this gets interesting is the noise performance is vastly improved when using FIR but there is also an increase in THD. As a result in the stepped sines I also included THD to show when THD overtakes noise. I also included the OpenDRC IIR response in green in the FFTs for comparison.

Sub - OpenDRC FIR

Base: Input RMS -1.03 dBFS, THD: -148.1 dB based on 49 harmonics [20..22000 Hz], N: -124.4 dB [20..22000 Hz], THD+N: -124.4 dB [20..22000 Hz]
Sub: Input RMS -7.29 dBFS, THD: -110.5 dB based on 49 harmonics [20..22000 Hz], N: -123.3 dB [20..22000 Hz], THD+N: -110.3 dB [20..22000 Hz]

Low - OpenDRC FIR

Base: Input RMS -1.03 dBFS, THD: -148.8 dB based on 49 harmonics [20..22000 Hz], N: -124.5 dB [20..22000 Hz], THD+N: -124.4 dB [20..22000 Hz]
Low: Input RMS -5.24 dBFS, THD: -115.2 dB based on 49 harmonics [20..22000 Hz], N: -121.6 dB [20..22000 Hz], THD+N: -114.3 dB [20..22000 Hz]

High - OpenDRC FIR

Base: Input RMS -1.02 dBFS, THD: -151.1 dB based on 20 harmonics [20..22000 Hz], N: -124.6 dB [20..22000 Hz], THD+N: -124.6 dB [20..22000 Hz]
High: Input RMS -10.65 dBFS, THD: -132.7 dB based on 20 harmonics [20..22000 Hz], N: -120.4 dB [20..22000 Hz], THD+N: -120.2 dB [20..22000 Hz]

Michael

Last edited:
OP
M

#### mdsimon2

##### Major Contributor
Forum Donor
And an updated summary. Probably need an asterisk on the OpenDRC FIR as the THD+N is about 10 dB worse at 30 and 100 Hz due to elevated THD. All others are pretty much THD+N = N because they are noise dominated.

Michael

#### John_Siau

##### Active Member
Technical Expert
Audio Company
All DSPs tested so far (other than CamillaDSP using 32 bit floats) with this filter set applied clear 16 bit fidelity. I personally think this means the noise is inaudible, others may disagree. I would be comfortable using any of the these DSPs to apply these filters.

I would love for people to test other filters they have applied to see if they are seeing similar degradation and also test other DSP platforms, in particular the miniDSP Flex and SHD which are also SHARC based. For miniDSPs with bi-directional USB audio (2x4HD, Flex, SHD) this is very easy to do and requires no additional hardware other than the miniDSP itself.

There probably is also so something to say about "chasing SINAD" by using a digital output miniDSP like the Flex Digital or SHD Studio in to SOTA DACs. It appears like the noise degradation observed will be the governing issue in such a system. Although important to note that all of these DSPs still achieve low noise floor at low input levels which is one of the most important factors for avoiding hiss.

Michael
In our testing here at Benchmark, we found that the miniDSP SHD series has a headroom problem. It will clip audibly when it encounters an intersample over when playing 44.1 kHz or 48 kHz material. I suspect many of the other boxes you tested will have a similar problem. You ran tests at -1 dBFS, so this problem would not show up in your tests. Try an 11.025 kHz +3.01 dBFS test tone and see if it is passed cleanly. I suspect you will see lots of distortion from many of these devices. In some cases, this can be cured by turning down an input gain setting, but in the case of the miniDSP SHD, the clipping still occurs when the input gain is turned down.

We use the miniDSP SHD in our listening rooms, but we reduce the signal level by 3 dB before it is fed to the miniDSP SHD. It it transparent when we feed it a reduced signal level (-3 dB), and we find the device quite useful for implementing crossovers and other filters. We stream our music with a Roon network and this has the ability to reduce the level of the music by 3 dB before it is streamed to the SHD (which functions as a Roon endpoint).

The cause of the clipping problem is that the first operation in the SHD is a fixed-point upsample to 96/24. This sample rate conversion happens before the input gain control. As a result, the sample rate converter will clip badly when it encounters an intersample peak exceeding 0 dBFS. Digital devices need to be able to handle intersample peaks as high as +3 dBFS because these are commonly found in 44.1 kHz recordings. When I say "clip badly" what I really mean is that the miniDSP SHD creates bursts of non-harmonic distortion that splatter across the entire audio spectrum at high amplitudes. The filter taps in the DSP overload creating these bursts of non-harmonic distortion.

The bottom line is that these DSP devices must be tested with a +3 dBFS test tone before concluding that they are transparent.

Intersample Overs - Application Note by John Siau, Benchmark Media Systems

Last edited:

#### ElNino

##### Addicted to Fun and Learning
In our testing here at Benchmark, we found that the miniDSP SHD series has a headroom problem. It will clip audibly when it encounters an intersample over when playing 44.1 kHz or 48 kHz material. I suspect many of the other boxes you tested will have a similar problem. You ran tests at -1 dBFS, so this problem would not show up in your tests. Try an 11.025 kHz +3.01 dBFS test tone and see if it is passed cleanly. I suspect you will see lots of distortion from many of these devices. In some cases, this can be cured by turning down an input gain setting, but in the case of the miniDSP SHD, the clipping still occurs when the input gain is turned down.

We use the miniDSP SHD in our listening rooms, but we reduce the signal level by 3 dB before it is fed to the miniDSP SHD. It it transparent when we feed it a reduced signal level (-3 dB), and we find the device quite useful for implementing crossovers and other filters. We stream our music with a Roon network and this has the ability to reduce the level of the music by 3 dB before it is streamed to the SHD (which functions as a Roon endpoint).

The cause of the clipping problem is that the first operation in the SHD is a fixed-point upsample to 96/24. This sample rate conversion happens before the input gain control. As a result, the sample rate converter will clip badly when it encounters an intersample peak exceeding 0 dBFS. Digital devices need to be able to handle intersample peaks as high as +3 dBFS because these are commonly found in 44.1 kHz recordings. When I say "clip badly" what I really mean is that the miniDSP SHD creates bursts of non-harmonic distortion that splatter across the entire audio spectrum at high amplitudes. The filter taps in the DSP overload creating these bursts of non-harmonic distortion.

The bottom line is that these DSP devices must be tested with a +3 dBFS test tone before concluding that they are transparent.

Intersample Overs - Application Note by John Siau, Benchmark Media Systems

I'm curious why you choose 3dBFS here (or 3.5dBFS as you mention in the article you linked to). It's entirely possible for intersample x-overs to exceed 3.5dBFS; it's just less common.

OP
M

#### mdsimon2

##### Major Contributor
Forum Donor
In our testing here at Benchmark, we found that the miniDSP SHD series has a headroom problem. It will clip audibly when it encounters an intersample over when playing 44.1 kHz or 48 kHz material. I suspect many of the other boxes you tested will have a similar problem. You ran tests at -1 dBFS, so this problem would not show up in your tests. Try an 11.025 kHz +3.01 dBFS test tone and see if it is passed cleanly. I suspect you will see lots of distortion from many of these devices. In some cases, this can be cured by turning down an input gain setting, but in the case of the miniDSP SHD, the clipping still occurs when the input gain is turned down.

We use the miniDSP SHD in our listening rooms, but we reduce the signal level by 3 dB before it is fed to the miniDSP SHD. It it transparent when we feed it a reduced signal level (-3 dB), and we find the device quite useful for implementing crossovers and other filters. We stream our music with a Roon network and this has the ability to reduce the level of the music by 3 dB before it is streamed to the SHD (which functions as a Roon endpoint).

The cause of the clipping problem is that the first operation in the SHD is a fixed-point upsample to 96/24. This sample rate conversion happens before the input gain control. As a result, the sample rate converter will clip badly when it encounters an intersample peak exceeding 0 dBFS. Digital devices need to be able to handle intersample peaks as high as +3 dBFS because these are commonly found in 44.1 kHz recordings. When I say "clip badly" what I really mean is that the miniDSP SHD creates bursts of non-harmonic distortion that splatter across the entire audio spectrum at high amplitudes. The filter taps in the DSP overload creating these bursts of non-harmonic distortion.

The bottom line is that these DSP devices must be tested with a +3 dBFS test tone before concluding that they are transparent.

Intersample Overs - Application Note by John Siau, Benchmark Media Systems

I think your link is incorrect, it takes me to a product page for the HPA4 firmware upgrade kit. I imagine you meant this one -> https://benchmarkmedia.com/blogs/application_notes/intersample-overs-in-cd-recordings.

Good points on intersample overs, especially as it relates to "transparency" claims, as you note the ASRC in the miniDSPs can definitely have issues with this. However, to me that is a pretty well known issue and was not the point of these tests. As you note I specifically chose lower levels to avoid this. What I wanted to learn more about was the potential for elevated noise / distortion when applying filters.

Michael

#### John_Siau

##### Active Member
Technical Expert
Audio Company
I'm curious why you choose 3dBFS here (or 3.5dBFS as you mention in the article you linked to). It's entirely possible for intersample x-overs to exceed 3.5dBFS; it's just less common.
If you scan a library of lossless CD tracks with an upsampling reconstruction filter, you will find that most overs are less than +2 dBFS. I haven't seen any over +3 dBFS, and I'm not entirely sure that anything above 3.01 dBFS is possible when the input signal has been properly band limited. In any event, 3 dB of headroom is sufficient.

We used 3.5 dB in the DAC2 converters and then backed this down to 3.0 dB in the DAC3 converters because we concluded that 3.5 dB was overkill. Every dB reserved for intersample overs reduces the SNR of the DAC by 1 dB, so you don't want to reserve more than is necessary. I have not found a CD recording with an over that exceeds +3.0 dBFS, but one might exist.

Replies
29
Views
4K
Replies
4
Views
790
Replies
1
Views
453
Replies
161
Views
30K
Replies
29
Views
7K