Distortion Surface: old measurement, new approach

Discussion in 'Audio Science' started by atomicbob, Sep 4, 2023.

  1. atomicbob

    atomicbob dScope Yoda

    Pyrate BWC MZR
    Joined:
    Sep 27, 2015
    Likes Received:
    18,921
    Trophy Points:
    113
    Location:
    On planet
    The red dot depicts where a particular "scientist" inappropriately tests for SINAD to judge amplifiers.
    The black square encompasses the typical operating area where many headphones produce between 75 and 90 dB SPL.

    33 Distortion surface iFi Diablo 300R ECO 5 dBu max annotated.png

    34 Distortion surface + contour DSHA-3F 300R annotated.png

    To be very clear:
    2Vrms = 8.23 dBu
    The particular THD=N (SINAD) test referenced is a single operating point measurement:
    2Vrms @ 1 KHz
     
    • Like Like x 10
    • Epic Epic x 8
    • heart heart x 2
    • List
    Last edited: Sep 7, 2023
  2. Pancakes

    Pancakes Friend

    Pyrate Contributor
    Joined:
    Aug 13, 2020
    Likes Received:
    1,428
    Trophy Points:
    93
    Location:
    Atl
    I'd up my patreon donation for that.
     
  3. Johnston98

    Johnston98 Facebook Friend

    Joined:
    Jun 16, 2019
    Likes Received:
    145
    Trophy Points:
    33
    Location:
    Michigan
    So If I read these plots correctly, the DSHA-3F has more relative distortion in the sub 100Hz region than the iFi Diablo for headphone SPL between 75 and 90db? And, the overall distortion of the DSHA-3F would be "better" at higher dBu levels?

    If I understand these plots, It is curious that the AmirNAD does suggest in this particular scenario that the Diablo would be amp with less distortion. What would be a real world scenario for this plot? Would this suggest that a transducer under these conditions could have relatively higher distortion in the mid and lower bass with the DSHA-3F?

    This is fascinating stuff. Thanks @atomicbob
     
  4. purr1n

    purr1n Desire for betterer is endless.

    Staff Member Pyrate BWC
    Joined:
    Sep 24, 2015
    Likes Received:
    90,050
    Trophy Points:
    113
    Location:
    Padre Island CC TX
    Yes, AmirNAD would suggest Diablo still. But what does Pink Panther know about audio?

    Food for thought: does -55db deserve a red color? Maybe -40db or 1% THDN is more deserving of the red color.
     
    • Like Like x 4
    • Agreed, ditto, +1 Agreed, ditto, +1 x 1
    • List
  5. atomicbob

    atomicbob dScope Yoda

    Pyrate BWC MZR
    Joined:
    Sep 27, 2015
    Likes Received:
    18,921
    Trophy Points:
    113
    Location:
    On planet
    The plots were created with default automatic settings which spreads the colors over the range of the data rather than a fixed level. I'm working through the program to see if I can fix the range and colors such that the plots would be consistent across devices measured. Currently each device has its own color map which makes comparisons tricky as mentioned by @Wilewarer .

    This visualization is by no means mature yet and requires a lot of manual effort. And keep in mind that so far I have been showing only THD+N contours which are still oversimplifications. When I can automate the process better it will be far more informative to look at D2, D3 and 4+HD+N contours.
     
    • Like Like x 2
    • Epic Epic x 1
    • List
  6. Si_1967

    Si_1967 New

    Joined:
    Sep 8, 2023
    Likes Received:
    5
    Trophy Points:
    3
    Location:
    United Kingdom
    Hey guy's, just joined to say a big thank you to AtomicBob & all the other great contributions to this thread
    I do ( VERY begrudgingly) have a look at a few measurements on ASR & although I know they are limited & rushed (a reflection on the guy doing the measurements sadly), it's good to see some objective stuff.
    What really pis**s me off is the ridiculous refusal to understand the measurements should explain what we hear & not suggest what we should hear.
    All the silly 'if you don't agree' shite, 'it's obviously your preference' is really tedious.
    Thank you all for trying to advance our actual understanding of what our perception actually looks like
     
  7. Johnston98

    Johnston98 Facebook Friend

    Joined:
    Jun 16, 2019
    Likes Received:
    145
    Trophy Points:
    33
    Location:
    Michigan
    I wholeheartedly agree that the Pink Panther is an idol for the Temple of SINAD zealots. I didn't mean to infer otherwise. Nor do I think I could hear distortion at -55db at 100Hz.

    I'm trying to wrap my brain around the plots. Thanks for clarifying.
     
  8. Polygonhell

    Polygonhell Acquaintance

    Joined:
    Nov 27, 2019
    Likes Received:
    74
    Trophy Points:
    18
    Location:
    Redmond, WA
    Would be interesting to test a SE tube amp, I suspect it would be the the exact opposite of the IFI, with distortion increasing with volume rather than decreasing. I guess if it was transformer based you'd also see distortion increases in the bass regions.

    Would also be interesting to see how the various harmonic distortions are represented across the volume curve, my simulating of a lot of tube circuits seems to imply that while distortion increases with volume, the 2nd Harmonic becomes more dominant as volume increases.
     
  9. atomicbob

    atomicbob dScope Yoda

    Pyrate BWC MZR
    Joined:
    Sep 27, 2015
    Likes Received:
    18,921
    Trophy Points:
    113
    Location:
    On planet
    Ok, I think I have a reasonable template for future contour visualizations. Here are the same two contour maps seen many times above with color map fixed scales such that the two may be directly compared:

    Distortion surface iFi Diablo 300R ECO 10 dBu max v2 annotated small.png

    Distortion contour DSHA-3F 300R v2 annotated small.png

    This is still a very manual process. As I automate both the dScope sweep measurement data capture and hopefully can template the visualization such that I need only import new data sets from various components, more components will have such distortion visualizations presented. But for now I must return to finishing iFi iDSD Diablo technical measurement series and post both it and KTE Spring 3 data. Very behind.

    Choice of iFi Diablo and DSHA-3F for visualization experimentation occurred because they have both been on the lab bench for some time.
     
    • Like Like x 12
    • Epic Epic x 3
    • heart heart x 1
    • List
    Last edited: Sep 8, 2023
  10. rfernand

    rfernand Almost "Made"

    BWC Contributor
    Joined:
    Oct 10, 2022
    Likes Received:
    731
    Trophy Points:
    93
    Location:
    Kirkland, WA
    Here is a quick example of what you could do with gnuplot:

    sample.png

    The above image was created out of the "DSHA-3F THD+N vs Amplitude" sweep files. "Bin" is not necessary, so I removed that and the comment column. Each file in your set represents an isoline to the program, so I line-separated each set in the input (see "sample.dat"). Left-to-right, you have Frequency (which was not in your files, it was in the name of the file), Level, and Distortion.

    The contour plot implements a few of suggestions made in thread: (1) how to fix the scale for any input (here shown, -100 to -40 for distortion, with -50 not-so-bad-red), and (2) the axes as people like to see them. I even left space to the right for your avatar ;)

    The gnuplot commands are as follows:

    Code:
    set size square # The output image will be square
    set title 'DSHA-3F THD+N vs Amplitude'
    set pm3d map
    set pm3d interpolate 0,0 # Smooth!
    set logscale x 10 # Sets x axis to be log10
    set xrange [50:10000] # Frequency min/max
    set yrange [-30:10] # Level min/max
    set cbrange [-100:-40] # Distortion min/max
    set palette maxcolors 128 # Colors to be used for contour
    set palette rgb 33,13,10 # Palette - blue to red
    set xlabel 'Frequency (Hz)'
    set ylabel 'Level (dBu)'
    set cblabel 'Distortion (dB)'
    splot 'sample.dat' # File (see format if you want to automate)
    

    The input file:

    Code:
    50    -30    -48.51479815
    50    -28    -47.74858161
    50    -26    -47.38059715
    50    -24    -47.47525402
    50    -22    -48.04836509
    50    -20    -49.03736438
    50    -18    -49.99591043
    50    -16    -51.23152167
    50    -14    -52.60510213
    50    -12    -54.0152624
    50    -10    -55.40206164
    50    -8    -56.65650518
    50    -6    -57.87432279
    50    -4    -59.24633334
    50    -2    -57.18654718
    50    0    -56.75745403
    50    2    -56.48788358
    50    4    -55.72566967
    50    6    -55.43529034
    50    8    -54.65228057
    50    10    -53.92999866
     
    100    -30    -59.89135551
    100    -28    -59.86837688
    100    -26    -57.52696806
    100    -24    -56.22405152
    100    -22    -55.35803236
    100    -20    -54.96147586
    100    -18    -55.04115706
    100    -16    -55.68650288
    100    -14    -56.51233777
    100    -12    -57.48859502
    100    -10    -58.62781461
    100    -8    -59.84965092
    100    -6    -61.1913031
    100    -4    -62.45204197
    100    -2    -62.76842082
    100    0    -62.66055872
    100    2    -61.71304081
    100    4    -60.98641783
    100    6    -60.29687346
    100    8    -59.29387378
    100    10    -57.95342954
     
    500    -30    -60.33623605
    500    -28    -62.18568117
    500    -26    -64.28832067
    500    -24    -66.03018054
    500    -22    -68.08766237
    500    -20    -70.23228748
    500    -18    -72.29692042
    500    -16    -74.11572427
    500    -14    -74.92185923
    500    -12    -74.28957691
    500    -10    -73.07816127
    500    -8    -72.30038032
    500    -6    -71.85548543
    500    -4    -72.2509223
    500    -2    -72.78784767
    500    0    -73.68648935
    500    2    -74.66281453
    500    4    -75.67402534
    500    6    -76.75559422
    500    8    -77.61575289
    500    10    -78.23267602
     
    1000    -30    -60.34501535
    1000    -28    -62.46392228
    1000    -26    -64.15739909
    1000    -24    -66.21813687
    1000    -22    -68.1544676
    1000    -20    -70.34821644
    1000    -18    -72.21987075
    1000    -16    -74.27940442
    1000    -14    -75.70231126
    1000    -12    -78.05092004
    1000    -10    -80.11954597
    1000    -8    -81.28357202
    1000    -6    -81.50255882
    1000    -4    -80.51319829
    1000    -2    -79.76956866
    1000    0    -79.33508855
    1000    2    -79.58771539
    1000    4    -80.16713476
    1000    6    -81.05159297
    1000    8    -81.56148062
    1000    10    -81.82427992
     
    5000    -30    -60.15360923
    5000    -28    -62.40522227
    5000    -26    -63.93379879
    5000    -24    -65.91176666
    5000    -22    -68.24585106
    5000    -20    -69.93239776
    5000    -18    -72.35688333
    5000    -16    -74.49378262
    5000    -14    -75.92106051
    5000    -12    -78.6050384
    5000    -10    -79.99937262
    5000    -8    -81.99965654
    5000    -6    -84.10073114
    5000    -4    -85.94936673
    5000    -2    -87.85180537
    5000    0    -89.93172999
    5000    2    -90.73948094
    5000    4    -93.4042793
    5000    6    -95.66991653
    5000    8    -96.92917294
    5000    10    -97.78605221
    
    Edit: fixed data source snafu (Thanks, @Biodegraded!)
     
    • Like Like x 7
    • Epic Epic x 4
    • List
    Last edited: Sep 9, 2023
  11. Biodegraded

    Biodegraded Friend

    Pyrate Contributor
    Joined:
    May 28, 2017
    Likes Received:
    8,101
    Trophy Points:
    113
    Location:
    Vancouver BC
    Looks nice, but looking at Bob's graph and the version of his data I have, I think your 500 Hz column is off - it should be in the -60 t0 -78 dB range, not down below -87. Edit: fix noted :)

    I must learn GNUPlot. I'm guessing it'd be easier with a GUI, e.g. JAGPI.
     
    • Like Like x 1
    • Agreed, ditto, +1 Agreed, ditto, +1 x 1
    • List
    Last edited: Sep 9, 2023
  12. rfernand

    rfernand Almost "Made"

    BWC Contributor
    Joined:
    Oct 10, 2022
    Likes Received:
    731
    Trophy Points:
    93
    Location:
    Kirkland, WA
    Nice catch! I copied the wrong file it seems. Will fix and edit post. Tnx!

    Edit: Now fixed code, data, and image.
     
    Last edited: Sep 9, 2023
  13. Armaegis

    Armaegis Friend

    Pyrate BWC
    Joined:
    Sep 27, 2015
    Likes Received:
    7,560
    Trophy Points:
    113
    Location:
    Winnipeg
    You know how we have compensation curves for raw FR? I wonder if we could do something similar with distortion.

    Maybe not so much with these surface plots, but with stuff like how 2nd order generally sounds benign while 3rd order is harsher, etc. I suppose it would be more obvious on the individual harmonics charts, and maybe consolidated into a THD/whatever plot maybe that would alter data into new trends or we'd see certain areas pop out more. Of course, people would then fight over the compensation curves, but hey it's a nugget of thought.
     
    • Agreed, ditto, +1 Agreed, ditto, +1 x 1
    • List
  14. rfernand

    rfernand Almost "Made"

    BWC Contributor
    Joined:
    Oct 10, 2022
    Likes Received:
    731
    Trophy Points:
    93
    Location:
    Kirkland, WA
  15. Clemmaster

    Clemmaster Friend

    Pyrate Contributor
    Joined:
    Sep 28, 2015
    Likes Received:
    3,274
    Trophy Points:
    113
    Maybe try Matplotlib instead?

    Matlab has nice color maps (jet or parula are both easy to read).
     
  16. rfernand

    rfernand Almost "Made"

    BWC Contributor
    Joined:
    Oct 10, 2022
    Likes Received:
    731
    Trophy Points:
    93
    Location:
    Kirkland, WA
    Oh man, I haven’t had a Matlab license since… hmm.. Macs had PowerPC chips…

    but yeah, choices abound.

    Regardless of plotting software and cost, I think agreeing on what we look at for comparisons (fixed axis, etc), what we call “bad”, etc is going to be very important moving forward. We can automate anything.

    The other thing that would be useful is to set up a GitHub or something for the community to share datasets, collection parameters and methodologies, and plotting scripts. Reproducibility, after all, is a desirable property in science. If there is interest (especially from data generators) I can help.
     
    Last edited: Sep 10, 2023
  17. mitochondrium

    mitochondrium Friend

    Pyrate
    Joined:
    Sep 1, 2017
    Likes Received:
    1,119
    Trophy Points:
    93
    Location:
    A Cell
    @atomicbob awesome as always

    Anyone here have a SAS JMP license?
     
  18. earnmyturns

    earnmyturns Smartest friend

    Pyrate
    Joined:
    Sep 25, 2016
    Likes Received:
    3,253
    Trophy Points:
    113
    Location:
    Palo Alto
    Home Page:
    I had a couple of play hours this afternoon/evening and I set myself to reboot my very rusty knowledge of Python's matplotlib. More work to do (I didn't bother to place legends yet), but I'm now in control of what needs to be done to create comparable visualizations. Here's what it looks like, I can tweak as needed.

    [​IMG]
     
  19. Serious

    Serious Inquisitive Frequency Response Plot

    Pyrate BWC MZR
    Joined:
    Sep 28, 2015
    Likes Received:
    2,594
    Trophy Points:
    113
    Location:
    near Munich, Germany
    There's the BBC weighted harmonic distortion as described here:
    https://superbestaudiofriends.org/i...y-51-technical-measurements.8387/#post-274738
     
  20. dasman66

    dasman66 Self proclaimed lazy ass - friend

    Pyrate Contributor
    Joined:
    Mar 13, 2018
    Likes Received:
    2,506
    Trophy Points:
    113
    Location:
    NW Pennsylvania
    I assume its simply a difference in graphing programs, but I'm surprised that @atomicbob 's graph appears to show different results than the others when all three are using the same data.

    Eg.,
    Atomicbob's has a well defined low distortion (~-100db) area that appears centered near -5dbu and 12000Hz 3000Hz... that area appears to be missing on the other two plots. Are the other two programs smoothing the plot too much? or is the software used in the first plot too coarse?

    ------edit------
    because graphs confuse me
     
    • Agreed, ditto, +1 Agreed, ditto, +1 x 1
    • List
    Last edited: Sep 11, 2023

Share This Page