Chord Hugo M-Scaler Measurements and Technical Evaluation

Content and analysis made possible thanks to support from https://headphones.com, and https://patreon.com/goldensound supporters

Contents/Index:


– Video Reviews
– What is the M-Scaler, and what is Upsampling?:
– Design and I/O
– Measurements: Overall Behaviour
– Measurements: Jitter & Noise
– Measurements: Upsampling
– HQPlayer Comparison
– Conclusion

Summary:

This post is going to be a long one and might be a bit much for many people. If you want a quick TLDR:
The M-Scaler is a very interesting product and I REALLY wish there were more competitors to it, as upsamplers like this are something I personally would love to see more of as I do think that upsampling makes a nice improvement and having more convenient options would be a blessing.
It is not a particularly ideal digital source with high levels of jitter on both the standard SPDIF and dual BNC outputs, though this does not affect Chord DACs much due to their extremely high jitter resistance/rejection.
However the upsampling filter is fantastic and it will most definitely provide a nice upgrade to any DAC you use it with, though it is beaten in performance by tools such as HQPlayer and PGGB.

If you are explicitly wanting something plug and play then the M-Scaler is great, but if you are happy to spend the time to set it up, both PGGB and HQPlayer will provide objectively (and in my opinion subjectively) better results as they have higher tap count filters, more advanced noise shaping, and more configuration options to get the most from your DAC. But the convenience of the MScaler cannot be ignored, and the MScaler still stands far and above the performance of any inbuilt DAC oversampling.


Video reviews of the M-Scaler and DAVE/M-Scaler combo are available here:



What is the M-Scaler, and what is Upsampling?:

The Chord Hugo M-Scaler is a device that sits in a bit of a unique category.
This is NOT a DAC, this is NOT a streamer, this is an ‘upscaler’ or ‘upsampler’.
This device has one purpose: Take the standard 44.1khz/48khz content from your player, and upsample it using as high a quality filter as possible to upto 768khz. Outputting the digital result to the DAC for conversion.

Now right off the bat, many people will disregard upsampling as snakeoil, nonsense, or something that is simply not needed, when in fact this couldn’t be further from the truth.
Upsampling is something that 99% of DACs do internally. Unless you have a DAC that is specifically advertised as ‘NOS’ or ‘Non-Oversampling’, your DAC will be upsampling/oversampling.

Why? Because PCM audio is based on the assumption that you will upsample. Nyquist theorem, which is the basis for modern PCM audio, states that you can perfectly reconstruct the original waveform up to half of the sampling frequency. So for 44.1khz audio, you should be able to perfectly reconstruct all signal content upto 22.05khz.
But the key word here is ‘reconstruct’.
You cannot simply just output the sampled data as-is, you must reconstruct the signal by filtering out all content above 22.05khz.
And to do this, we must oversample to a higher rate so that the digital information describes a wider range of audio frequencies. We oversample and apply a filter to eliminate any and all content over 22.05khz.

But there is a challenge: We cannot instantaneously and/or instantaneously attenuate without infinite computing power, and given as a DAC chip has quite limited computing power, usually the filter inside your DAC will only have a few hundred taps (coefficients) at best, resulting in a slower, less steep, less deep attenuation, which means that the signal reconstruction will not be as accurate.

For example a ‘shorter’, lower tap-count, less intensive, and less effective filter might attenuate in a fashion as shown below:

Wide view, filter starts attenuating around 20khz, but rolls off slowly.
Zoomed in view

Whereas a high tap-count, more advanced and effective filter will look like this:

Near instantaneous attenuation before the nyquist frequency for very accurate signal reconstruction.
Zoomed in view

The M-Scaler takes the approach of throwing more computing power at the problem, using a high-performance FPGA which costs over £200 just for that part alone (think about how much the average PC CPU costs in relation to that!) to do the heavy lifting and allow it to run a filter with over one million taps and therefore provide better reconstruction accuracy. Something which would be impossible on any typical DAC chip.

Upsampling is not something you can avoid unless you buy a NOS DAC. With 99% of DACs on the market you can simply either upsample using the built in filter, or do it BEFORE the DAC with something more advanced and feed the high sample-rate result to the DAC to convert.

Design and I/O:

The M-Scaler follows Chord’s typical design philosophy with a machined metal chassis and colour illuminated buttons for control.
On the rear we have from left to right:

– 15v DC Input
– 2x BNC SPDIF inputs (you can connect RCA SPDIF or AES to these with an adapter)
– 2x Optical SPDIF inputs
– USB Input
– Optical Output
– BNC SPDIF output (Upto 384khz output, though most DACs are limited to 192khz input via SPDIF)
– Chord’s proprietary Dual-BNC output (upto 768khz with a Chord DAC)

M-Scaler IO

Plenty of IO here which is lovely and this should slot easily into just about any setup, BUT, it is a shame that you can only upsample all the way to 768khz with a Chord DAC, and in most situations you’ll be limited to 192khz with anything else. An I2S output capable of 768khz, or a USB output if possible would have been nice to see, perhaps something that we may see in the successor to the M-Scaler?

On the front we have several controls which are detailed in the image below:

Of note here is the ‘Video Mode’, which sets the M-Scaler to use a less advanced upsampling method with lower delay. This is useful because the delay between input and output on the M-Scaler is just over 0.7 seconds, making it effectively useless for watching movies through as the audio will be completely out of sync with the image.
In ‘Video Mode’, the delay is reduced to 130ms. Still not perfect, but much better.



Measurements:

Test Setup:

– Audio Precision APx555 B-Series Analyzer
– AudioQuest Carbon and Wave High Fidelity BNC Cables
– Intel PC as USB source via Intona 7055-C Isolator
– 44.1khz and 48khz real music played through device during measurement

Being a digital device, the M-Scaler will not introduce harmonic distortion like a DAC/Amp. It is a digital device and as such there are four key aspects to measure on the M-Scaler.


Filter performance – How fast is the attenuation of the M-Scaler filter, how far does it attenuate to, what type of dithering is it using, and are there any other quirks we uncover along the way? Additionally, how does it perform against other alternatives such as HQPlayer?

Jitter – How good is the M-Scaler as a DDC/digital source? Given as the M-Scaler outputs only SPDIF/Dual-BNC, the quality of its clocking will have an impact on the performance of the DAC, and therefore we can compare the jitter at the output of the M-Scaler to other DDCs such as the Singxer SU6, Audio-GD DI20HE, or Mutec MC3+.

– Delay – How much additional delay does the M-Scaler add when in the chain?

– Noise – How much noise is fed to the connected device?


One other test I would usually do on a DDC is a bit-perfect test. ie: is the digital audio coming out of the DDC un-altered. This is to ensure a DDC is not doing any hidden DSP to alter the sound of the music. The M-Scaler however is INTENDED to alter and upsample the audio so this test does not apply. Though I still did some other tests to ensure it was not adding any harmonics or altering frequency response in any way.
The only two alterations I found were:

– TDPF dithering is applied to all audio (more on this later).

– All audio is reduced in volume by -2.781dB, including in passthrough mode

All audio content lowered by -2.781dB

This reduction is to prevent ‘intersample clipping’ when upsampling, and I’m guessing Chord chose to apply this to the passthrough mode as well so that there was not a sudden volume change when switching to it, which would also make fair comparisons between passthrough and upsampling impossible.



Delay/Latency:

Regular Operation: 719ms
Video Mode: 139ms

Video mode delay is substantially less than the regular mode, though still quite high and enough to de-sync speech from someone on screen talking to a noticeable degree. It’d be nice if this were lower, perhaps even using a REALLY basic filter to ensure latency was <10ms.


Upsampling Evaluation:

When testing an upsampling filter, one of the first things you’d typically do is an impulse response test. This is an intentionally ‘illegal’ signal consisting of a single sample at full scale with silence either side. This represents ALL frequencies at maximum level, and therefore by passing it through the oversampling filter you can see what frequencies are filtered out and examine various aspects of its design. You can directly derive the frequency response from an impulse response.

Single sample impulse
Typical upsampled result

However, it seems the M-Scaler has test-detection measures built in, as when I feed an impulse through it it simply spits out a ‘Zero Order Hold’ result, copying that impulse a few times and giving a square result as shown below:

M-Scaler Impulse response test doesn’t work due to anti-testing measures built in
Raw samples shown

This is of course not the actual upsampling method the M-Scaler normally uses, it’s simply a method of preventing anyone from being able to potentially gain too much information or closely examine the impulse response. Potentially even being able to reverse engineer the exact design of the filter and windowing given enough time and expertise.

Luckily however, we can get around this by using other signals which do not trigger the M-Scaler’s test-detection.
By using white noise we can derive the impulse response from it, and the result is below:

This is an extremely long (1 million tap) sinc filter.
Next lets look at the attenuation of the filter:

M-Scaler – White noise @ 44.1khz input – 176.4khz Digital Output
256k FFT with heavy averaging
Zoomed in heavily. 32k point FFT with >50 averages to clearly show the attenuation profile.

We can see an extremely fast attenuation. With over 100dB attenuation in less than 15hz!
This is as expected a very high performance filter, and is considerably higher performance than the inbuilt filter of just about any DAC, including ones with higher end oversampling built in such as the Rockna Wavedream. The Wavedream (and most DACs) take several thousand hz to attenuate over 100dB. So the MScaler is several hundred times faster.

Rockna Wavedream filter attenuation (measured from analog output, do not directly compare noise floor to the digital M-Scaler results). Slower rolloff than M-Scaler.

With this insight into the filter design, we can actually do a bit of a deeper diver into the WTA filter.
User ‘Soumya’ on SuperBestAudioFriends actually did a reconstruction of the WTA window using the graphs I’d put up.
And using this, we can see the time window design for the filter:

The WTA is a convolution of a rectangular window with cosine tapers. Giving excellent time domain accuracy, though at the expense of increased spectral (frequency domain) leakage.
Filter windows are always a trade off and there is no perfect design. The WTA filter just is heavily geared toward time domain accuracy.
Though with such a high tap count the window itself is of less importance anyway and you will get better time AND frequency domain accuracy than a lower tap count filter built into a DAC.

Additionally we can see from the flat noise floor that the M-Scaler seems to be using standard TDPF dithering. This is a bit surprising as I’d expected it would be using a more advanced noise shaping option given the compute power in this device. It could simply be that Chord feels their DAC’s internal noise shapers for the PWM stage make this irrelevant, but for use with other DACs it would be nice if there was a higher quality dithering/noise shaping method built in.

There are some software alternatives to the M-Scaler, which both offer even MORE advanced filters, with upto 16 million taps in HQPlayer (though upto 4 million for the sinc filters), and upto 8 BILLION via PGGB, (though PGGB cannot be used in real time), as well as more advanced dithering/noise shaping options.
Using HQPlayer we can apply advanced 15th order noise shaping for example:

MScaler using TDPF dither
HQPlayer LNS15 noise shaping

On the MScaler, the (digital) noise floor is roughly 130dB below the white noise and is completely flat due to being basic TDPF dither, whereas the HQPlayer LNS15 noise shaping produces a noise floor upto 220dB below the white noise, with the noise shaped out past 140khz.
This of course won’t have an equal measurable effect on a real device as the device itself will have noise introduced by analog components, but still would have been nice to see a higher performance noise shaper as many people (Including Rob Watts himself!) feel that noise shapers for the digital date accurate to beyond the analog noise floor, are audible. In fact the DAVE actually uses a noise shaper for its PWM converter accurate to below -300dB!

You can choose to use TDPF in HQP if you wanted to but it’d be a waste not to use the better options.



Jitter:

To measure jitter, the device is connected to the digital input of the APx555, and the analyzer is set to analyze jitter, not audio content.
These measurements do not show audio/analog info, but instead show the spectrum of jitter, ie: time-domain inconsistencies.
This is the primary factor that a good streamer or DDC will seek to improve, and this applies to the M-Scaler too.

44.1khz Jitter, USB input, passthrough mode
48khz Jitter, USB input, passthrough mode

Not off to a great start….
Jitter is unexpectedly high, and seems to be unusually shaped. There are no clear ‘spikes’ but instead a significant quantity of random jitter centred around about 800hz. The M-Scaler is absolutely trumped in jitter performance by various DDC’s such as a DI20HE:


If the MScaler had a USB output option it may have even been worth routing the output of the MScaler through a high quality DDC.
Unfortunately, given the use of Chord’s proprietary dual-BNC output, this is not possible unless you’re happy to stick to 192khz upsampling.
Luckily, this does not really affect Chord DACs specifically as their design makes them highly resistant to jitter.

Chord DAVE jitter fed by MScaler.
Practically perfect

48khz Jitter is marginally better than 44.1khz. This is common on many devices and usually because USB runs on a 48Mhz clock speed, and therefore is more easily divided into 48khz than 44.1khz.

What about when we enable upsampling?

44.1khz Jitter, USB Input, Upsampling
48khz Jitter, USB Input, Upsampling

Jitter sees a very slight reduction when upsampling, though not by much and this could potentially be due entirely to the word clock fundamental frequency (88.2khz/96khz) being moved out of the 20hz-100khz analysis range.

Jitter on the SPDIF output and Dual-BNC output was identical to within margin of error in all cases.

The M-Scaler also features SPDIF inputs, so what happens when we use those instead of USB?

44.1khz Jitter, SPDIF input, Passthrough mode
48khz Jitter, SPDIF input, Passthrough mode
44.1khz Jitter, SPDIF input, Upsampled
48khz Jitter, SPDIF input, Upsampled

Regardless of what source device I used, be it the analyzer itself, the Singxer SU6 and on both Optical and BNC SPDIF, we can see very poor jitter performance. If you have an M-Scaler, I would STRONGLY suggest using the USB input as it performs substantially better than the SPDIF input in any situation.
Overall, it unfortunately seems that the MScaler’s jitter performance is fairly poor.

Noise:

Noise on SPDIF output of M-Scaler

The noise output on the very low going by RMS and peak values, though it’s interesting how high the ~50hz area is in comparison to other sources.
Overall though very good.

In summary, the MScaler is let down by poor jitter performance but has absolutely fantastic upsampling. It’s not the ultimate option in quality as there are higher performance options such as HQPlayer and PGGB available but we’re really splitting hairs at this point and the convenience factor of the MScaler compared to software like PGGB and HQP cannot be ignored.

2 thoughts on “Chord Hugo M-Scaler Measurements and Technical Evaluation”

  1. Just one tip. Now PGGB have realtime upscaling as a plugin for Foobar. The amount of taps is limited by your processing power but is in hundreds of millions, maybe you could test ir later. Regards!

    Reply
  2. You can measure jitter performance etc etc but how many coefficients are as per sinc function and close the wave is to original you can’t test. As per rob watts m scaler has lot more parallel processing going on than is possible in a PC. So may be the m scaler is more accurate than hq player and even pggb in this regard.

    Reply

Leave a Reply

%d bloggers like this: