• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Beta Test: Multitone Loopback Analyzer software

G-K

Member
Joined
Jan 31, 2022
Messages
51
Likes
7
I claimed that distortions >h10 several times already at the E1DA dicord channel and l never got a clear answer whats the reason for that. For levels <20 dBFS the THD performance of AK5572 is better than COSMOS ADC. You can see my measuring results there
THD performance for -0.5dB full scale isnt the most importend value, because if you record sound, most signal value will be less then 0.5dB FS. We are using a dynamic range > 120dB for recordings and a best value measured at -0.5 dBFS doesnt show the full performance of an ADC
 

G-K

Member
Joined
Jan 31, 2022
Messages
51
Likes
7
THD of COSMOS ADC also depends on the sensitivity range. There is differnt distortion due to the input range. I shorted the output resistors of my Victors LDO and observed the distortion by adding parrallel resistors as load resistors. In a measuring range of 3.5V sensitivity, l couldnt see a difference with a load of 300 Ohms parallel at the generator, but differnt THD measurement when l changed to 2.7 range
 

G-K

Member
Joined
Jan 31, 2022
Messages
51
Likes
7
I used the NIHALA 5572 ADC for measuring the differences. The NIHALA ADC is DC coupled and the COSMOS ADC is AC coupled. Maybe thats the reason for the different THD
 
OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,700
Likes
10,386
Location
North-East
THD performance for -0.5dB full scale isnt the most importend value, because if you record sound, most signal value will be less then 0.5dB FS. We are using a dynamic range > 120dB for recordings and a best value measured at -0.5 dBFS doesnt show the full performance of an ADC

Hi G-K, can you please post an example of what you're seeing with high harmonic content with Cosmos? And what's the source of the analog signal?
 

G-K

Member
Joined
Jan 31, 2022
Messages
51
Likes
7
I usually use linear scaling for THD measurements, because its easier to see the harmonics compared to log scaling
 

G-K

Member
Joined
Jan 31, 2022
Messages
51
Likes
7
first l thought the high frequency distortions were coming from my boost converter l used for Victor's LDO, but with battery power its the same
 

G-K

Member
Joined
Jan 31, 2022
Messages
51
Likes
7
My Victor's LDO is single ended, but the same distortion occour wit TOPPING D10b
 

G-K

Member
Joined
Jan 31, 2022
Messages
51
Likes
7
When l heat up the COSMOS ADC housing to 40°C, K3 is better than 10dB as for 27°C housing temperature
 

G-K

Member
Joined
Jan 31, 2022
Messages
51
Likes
7
There must also be a phase difference between left and right channel, because if l switch to mono mode, K2 is lower than K2 in stereo mode for each c
hannel
 

G-K

Member
Joined
Jan 31, 2022
Messages
51
Likes
7
COSMOS ADC is calibrated at 27°C for optimal performance at 0.5dBFS. So if l have a housing temperature of 27°C, l should have the optimal performance, but that isnt. Try to heat up the housing and observr K3
 

Grooved

Addicted to Fun and Learning
Joined
Feb 26, 2021
Messages
679
Likes
441
COSMOS ADC is calibrated at 27°C for optimal performance at 0.5dBFS. So if l have a housing temperature of 27°C, l should have the optimal performance, but that isnt. Try to heat up the housing and observr K3

I can't remember if I tried at several dBFS value, but changing the temperature, I think I got the best results with around 40°C for the ESS chip (the chip, not the ADC housing)
 

DDF

Addicted to Fun and Learning
Joined
Dec 31, 2018
Messages
617
Likes
1,360
IME calibrating the DAC-->ADC (un-embedding the distortion) before inserting the DUT only works reliably to a high degree when
- the level is the same
- the frequency response is the same (mag and phase, and absolute polarity)
- the impedances (DAC load and ADC source) are the same, and the hookup (like mixing balanced and unbalanced)
- there are no warm-up drifts etc

It often may give an improvement but you cannot easily know to what extent the normalization still holds with the DUT in place.

Multitone measures also typically use long FFT windows to gain good frequency resolution but as a result measure non linearity averaged over a large time window. This may not uncover quickly varying signal dependent distortions. For example, device/component heating or circuit operating point changes which are short in duration after transients. I've always wondered how these may contribute to audibility, because it's never measured.

@pkane, have you ever looked at sliding FFTs over the Deltawave output time files? Several passes could be run at different window sizes so that each pass could focus on a different frequency range using the minimum FFT window possible

My thought would be to use a unique peak hold detector for each and every FFT bin, tagged with the time record for the peak. Then display a graph showing the peak for each bin. The result would look just like a regular a noise/distortion graph but one that represents the peak noise/distortion value at every frequency over the entire duration of the window, with minimal averaging out over time. I think something like this would be very interesting because it explores a source of distortion that never gets checked for in audio tests. Who knows what it would uncover?
 
Last edited:
OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,700
Likes
10,386
Location
North-East
@pkane, have you ever looked at sliding FFTs over the Deltawave output time files? Several passes could be run at different window sizes so that each pass could focus on a different frequency range using the minimum FFT window possible
Sure. The FFT Scrubber chart does just that.
 
  • Like
Reactions: DDF

DDF

Addicted to Fun and Learning
Joined
Dec 31, 2018
Messages
617
Likes
1,360
Sure. The FFT Scrubber chart does just that.

Amazing! Please see my edit to my post (sorry, we posted simultaneously). Does it use peak hold? I think that's key to the idea.
Any reports of it uncovering hidden effects? I've been wondering about this for years
 
OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,700
Likes
10,386
Location
North-East
Amazing! Please see my edit to my post (sorry, we posted simultaneously). Does it use peak hold? I think that's key to the idea.
Any reports of it uncovering hidden effects? I've been wondering about this for years
Peak hold is an option for the (normally) averaged FFT, turned on in settings. This works for the entire track being measured.

In FFT Scrubber, each screen is a single SFFT frame display that changes with the time slider, no peak hold. But, I can see the utility of showing the peak value on the same SFFT spectrum display. Maybe with an optional decay function, as well.
 
  • Like
Reactions: DDF

DDF

Addicted to Fun and Learning
Joined
Dec 31, 2018
Messages
617
Likes
1,360
Peak hold is an option for the (normally) averaged FFT, turned on in settings. This works for the entire track being measured.

In FFT Scrubber, each screen is a single SFFT frame display that changes with the time slider, no peak hold. But, I can see the utility of showing the peak value on the same SFFT spectrum display. Maybe with an optional decay function, as well.

A decay measure is a good idea. It takes time for the ear to hear the full level of a stimulus presented to it. If the unwanted distortion is short lived, it would sound notably quieter than indicated by the graph. So a decay parameter could provide a figure of merit of audibility.

The decay time shouldn't be the usual 90%->10% but instead to some fractional power (-6 dB or long term average, which ever is first?), and then a lookup table used to find how much quieter it is due to its short duration and this weight subtracted from the peak. The result is then graphed as a temporal worst case perceptual distortion vs frequency.

I created a weighting function like this once for echo audibility. The problem was very similar, a temporary burst of unwanted signal. The idea was that really short echo bursts would be less audible, allowing better decisions to be made in the echo canceller. Our auditory psychologist ran extensive multi-user DBT statistically valid tests comparing my weighted perceptual metric to actual audibility, but the temporal integration model I provided only achieved ~ 70% correlation. Promising, but we decided to shelve it instead of refining the model. The problem is a really hard one because the ear's temporal integration behaviour is frequency, level and previous signal (forward masking) dependent.

Still, something like this could be a relatively simple refinement to a basic decay parameter and a bit closer to representing audibility
 

Grooved

Addicted to Fun and Learning
Joined
Feb 26, 2021
Messages
679
Likes
441
Hi @pkane

I tried Multitone in Windows 11 and it works, but like in Windows 10, it takes a longer time to appear than in Windows 7

Crash report : in Windows 7 where it works best for me, I was checking the internal SPDIF In/Out using ASIO4ALL of a computer, and it was OK at 44.1, but then I tried at 192 (change the settings in Windows first, then open Mutlitone and select ASIO4ALL and refreshed it) and two times in a row, it recorded the first pass (set 8avg) and freeze, Windows ask if I want to close the software, I click Yes and 5s after that, the computer freezes too. Tried the second time a 96, and same crash.

I'm surprised because using ASIO4ALL for both In and Out with Tone2 Pro and Cosmos ADC, I can use any frequency up to 192 and it works.<
The SPDIF In and Out also works perfectly at 44.1/48/88.2/96/192 on this computer (I just can't select 176.4 at all in any software, and 88.2 can't be selected with Windows mixer, but can with WASAPI exclusive mode)

Any idea ? Let me know if you want me to test something to help on it
 
Last edited:

JohnPM

Senior Member
Technical Expert
Joined
Apr 9, 2018
Messages
344
Likes
920
Location
UK
Hi @Grooved,

The calibration is designed to reduce THD in a DAC/ADC loopback. I'm still testing and working on adding this feature to Multitone. The plan is to make it so that by doing the calibration of your own system, you can reduce THD of the measurement devices (DAC + ADC). Until we test this feature with more devices, I'm not sure this will work for every combination. As you can see from the posts above, the reduction in THD for ADI-2 Pro was over 13dB at 1kHz, so this could help significantly when using ADI-2 for precise measurements.

Right now, I'm trying to simplify the calibration process (automate it) so that the initial corrections can then by fine-tuned manually.
I made it easier to apply this kind of phase inversion compensation in REW in the last build, there is a button on the tone generator distortion panel to get the values from the RTA distortion analysis. It seems to work reasonably well. There will usually be a number of distortion contributors along the path and the measurement is their vector sum, so the cancellation will typically reveal some of the lower level contributors that were too small to have much impact on the vector sum of the dominant sources.

Here is an example from a old, 16-bit only interface I have lying around. Before:

1645799912709.png




After:

1645799959475.png
 
OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,700
Likes
10,386
Location
North-East
I made it easier to apply this kind of phase inversion compensation in REW in the last build, there is a button on the tone generator distortion panel to get the values from the RTA distortion analysis. It seems to work reasonably well. There will usually be a number of distortion contributors along the path and the measurement is their vector sum, so the cancellation will typically reveal some of the lower level contributors that were too small to have much impact on the vector sum of the dominant sources.

Here is an example from a old, 16-bit only interface I have lying around. Before:

View attachment 189059



After:

View attachment 189060

Hi John,

Great mind think alike! :)

I made Multitone start with the amplitude/phase of the harmonics from an initial measurement, just like you did in REW. What I found was that the amplitudes need to be further adjusted (sometimes) to get the best correction.

Since I'm not compensating for specific harmonics at a specific frequencies, the process is a bit more complicated and can take some time while the software tries out different corrections until it finds the one that works the best. I've tried various optimization approaches, but brute force search seems to work best so far. What makes things a bit more complicated is that odd harmonics are often inter-related, just like the even ones. When making a correction for the 3rd harmonic, for example, it often will affect 5th and 7th, etc. This makes my life a bit more complicated :)
 
OP
pkane

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,700
Likes
10,386
Location
North-East
Hi @pkane

I tried Multitone in Windows 11 and it works, but like in Windows 10, it takes a longer time to appear than in Windows 7

Crash report : in Windows 7 where it works best for me, I was checking the internal SPDIF In/Out using ASIO4ALL of a computer, and it was OK at 44.1, but then I tried at 192 (change the settings in Windows first, then open Mutlitone and select ASIO4ALL and refreshed it) and two times in a row, it recorded the first pass (set 8avg) and freeze, Windows ask if I want to close the software, I click Yes and 5s after that, the computer freezes too. Tried the second time a 96, and same crash.

I'm surprised because using ASIO4ALL for both In and Out with Tone2 Pro and Cosmos ADC, I can use any frequency up to 192 and it works.<
The SPDIF In and Out also works perfectly at 44.1/48/88.2/96/192 on this computer (I just can't select 176.4 at all in any software, and 88.2 can't be selected with Windows mixer, but can with WASAPI exclusive mode)

Any idea ? Let me know if you want me to test something to help on it

Don’t really know, @Grooved. The freeze is something that happens due to the driver, usually. So, either ASIO4ALL settings or the underlying driver causing it. It’s hard for me to debug without having the same driver and device.
 
Top Bottom