Multitone distortion chart

dcibel

Member
Thread Starter
Joined
Sep 10, 2017
Messages
162
Hello,
More of a general inquiry / feature request. I am wondering if there is any plan to add a multitone distortion plot, similar to what Klippel shows here:

Most of the functionality already exists in REW through the generator and RTA functions, I would think it's just a matter of integrating between the peaks of a multitone measurement to create the chart.
 

John Mulcahy

REW Author
Joined
Apr 3, 2017
Messages
7,342
Have you tried saving a multitone capture from the RTA and looking at the distortion graph? :)
 

dcibel

Member
Thread Starter
Joined
Sep 10, 2017
Messages
162
I think you know that I had not :)

Amazing stuff John, thanks! You've opened a whole new can of worms in my loudspeaker evaluations.
 

dcibel

Member
Thread Starter
Joined
Sep 10, 2017
Messages
162
Ok, follow up question / feature ask. In the RTA Stepped Measurement, there is THD vs Frequency, THD vs level, IMD vs level, but not IMD vs frequency.

The idea would be to run subsequent RTA in a similar manner to THD vs frequency, so a relative IMD level could be determined per set of two-tone IMD measurements. For this stepped measurement, one frequency tone would remain constant, for example a bass tone of 100 Hz, and then a second frequency stepped from 700Hz to 7kHz with log spacing of each step. Is this doable?
 

dcibel

Member
Thread Starter
Joined
Sep 10, 2017
Messages
162
Just one more thing to note. REW 5.31 is generating an out of bounds exception when I run stepped measurement for THD vs frequency. The measurement continues despite the error.
1712438846716.png


REW V5.31 running Azul Systems, Inc. JRE 1.8.0_402 64-bit on Windows 10 Locale: language en, keyboard CA, windows-1252 at 96 DPI Running in C:\Program Files\REW


Message:
java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException: -4
Stack Trace:
java.lang.ArrayIndexOutOfBoundsException: -4
java.util.concurrent.FutureTask.report(FutureTask.java:122)
java.util.concurrent.FutureTask.get(FutureTask.java:192)
javax.swing.SwingWorker.get(SwingWorker.java:602)
roomeqwizard.YJ$_B.done(y:757)
javax.swing.SwingWorker$5.run(SwingWorker.java:737)
javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:832)
sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112)
javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(SwingWorker.java:842)
javax.swing.Timer.fireActionPerformed(Timer.java:313)
javax.swing.Timer$DoPostEvent.run(Timer.java:245)
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
java.awt.EventQueue.access$500(EventQueue.java:97)
java.awt.EventQueue$3.run(EventQueue.java:709)
java.awt.EventQueue$3.run(EventQueue.java:703)
java.security.AccessController.doPrivileged(Native Method)
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by:
java.lang.ArrayIndexOutOfBoundsException: -4
-4
roomeqwizard.qH.C(y:2053)
roomeqwizard.YJ.A(y:2323)
roomeqwizard.YJ.A(y:3480)
roomeqwizard.YJ$_B.D(y:1666)
roomeqwizard.YJ$_B.doInBackground(y:97)
javax.swing.SwingWorker$1.call(SwingWorker.java:295)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
javax.swing.SwingWorker.run(SwingWorker.java:334)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
java.lang.Thread.run(Thread.java:750)
 
Last edited by a moderator:

John Mulcahy

REW Author
Joined
Apr 3, 2017
Messages
7,342
I've fixed the error for the next build. I haven't seen any standard for the swept IMD you asked about, is there one?
 

dcibel

Member
Thread Starter
Joined
Sep 10, 2017
Messages
162
There may be some information in IEC 60268-21, but I don't have a copy of it, rather pricey document to purchase.

The references I am looking at are from Klippel. Page 16-19 of this presentation, with calculations from IEC 60268-21 shown on page 25:

You will see in the screenshot on page 16 how Klippel is set up for this measurement. f2 setting is the constant tone, and f1 defines a sweep range and number of points for the stepped measurement.

And the accompanying video.

Discussion of IMD vs frequency starts around 15:28 mark:
 
Last edited:

John Mulcahy

REW Author
Joined
Apr 3, 2017
Messages
7,342
So a variation of the DIN or SMPTE IMD test with a varying f2. I'll put it on the list to look at.
 
Top Bottom