Understanding REW Sweeps

dsnyder0cnn

Member
Thread Starter
Joined
Nov 28, 2017
Messages
76
As many of you know, REW can generate a sweep and save it to a WAV file. If a timing reference is saved with this file, it can be played back on any device (eg., Roon Streaming, CD Player, DAP, cassette deck, etc.) and used as the source for a measurement as long as REW is using an acoustic timing reference. I love this feature because it enables me to perform end-to-end evaluations of correction results and to understand the response and distortion characteristics of different audio components. Here are the sweep parameters I'm using:

39553


This gives me 11.5 octaves (10 to 28,963 Hz), saved as a 24-bit, 96 kHz file that plays for ~15 seconds.

To gain a better understanding of what a "perfect" sweep measurement looks like, I imported this file into REW for analysis (File -> Import -> Import sweep recordings...). I specified the same file for both Stimulus and Response. My first surprise was that REW could not detect a timing reference in the Response file. Strange, because I definitely saved the sweep with a reference, as you can see above and in these preview plots:

39554


When I imported the Response for this sweep file, I got this warning:

39552


This may be the source of my remaining problems, and if so, I'd love to know what else I can try. I see the same thing for different sampling frequencies (96 kHz and 192 kHz), word sizes (24-bits and 32-bits) and lengths (1M, 2M, 4M).

Once the import is complete, frequency response is ruler flat above 100 Hz, but I do see some super tiny ripples below 100 Hz that I was not expecting. (note, vertical scale is only 1 dB):

39555


However, my greatest surprise came from the distortion analysis. I was expecting THD to be, essentially, 0.0000%. Instead, analysis came back with 0.0017% at 20 Hz. 2nd Order harmonic distortion at 20 Hz is only 96.4 dB below the fundamental. At 10 Hz, headroom drops to 72.5 dB. I'm really puzzled by these results. If there was any distortion at all, I was expecting it to be closer to 144 dB below the fundamental for a 24-bit sweep file.

39556


Step response looks about what I would expect since there's no high-pass filter behavior like you see with real-world equipment.

39557


Group delay, again looks a bit odd below 100 Hz. I was expecting a flat line. Of course, the scale is super tiny, so I don't consider this to be significant.

39558


I think the main thing I'm concerned with is the Distortion results. This is of no concern for acoustic measurements, but if I'm assessing the performance of a DAC or other audio component, I want as much dynamic range as possible in the sweep file I'm using for my tests. The analysis above would seem to invalidate my approach of using REW generated sweep files as the source for this testing, but I'd love to get this group's feedback. Thanks for having a look.

P.S. I've attached the *.mdat file to save you time if you want to try reproducing these results.
 

Attachments

  • Sweep File Analysis.mdat
    2.3 MB · Views: 24

jtalden

Senior Member
Joined
May 22, 2017
Messages
887
Location
Arizona, USA
More  
Preamp, Processor or Receiver
Marantz AV7705 Pre/Pro
Main Amp
VTV 6 chnl NC252MP P-amp x 2
Additional Amp
Behringer DCX2496 x 2
Universal / Blu-ray / CD Player
OPPO BDP-103 Universal Player
Front Speakers
DIY SEAS H1456/H1212 Spkr x 5
Subwoofers
DIY JBL 2235H 15" SW x 2
Video Display Device
JVC DLA-X790R
Screen
Da-Lite Da-Snap 39105V - 92"
The window settings are too narrow for this type of measurement. Change the left and right window to 1000 ms to clean up the SPL and GD ripple.
I have no insight as to the distortion question.
 

John Mulcahy

REW Author
Joined
Apr 3, 2017
Messages
7,212
There are three factors at play. Firstly, there is a bug with importing generated files, detected by Bowkey in this thread, which has been fixed for the next build. Secondly, the effects of IR windowing if the LF response is very extended, the time domain truncation of the window will cause frequency domain ripples. A longer right hand window, avoiding the early truncation, will remove them. Thirdly, there is the effect of sweep length on distortion measurement. The greater the sweep length, the more the distortion components are separated from each other and the lower the noise floor of the sweep measurement. There is a lower bound on the distortion that can be measured with a sweep that rises at low frequencies. To measure low levels of low frequency distortion use long sweeps or, for much lower noise floor, stepped sine. This THD overlay, using imported sweep files, shows the effect of sweep length:

39560
 

sam_adams

Member
Joined
May 23, 2017
Messages
285
I think the main thing I'm concerned with is the Distortion results. This is of no concern for acoustic measurements, but if I'm assessing the performance of a DAC or other audio component, I want as much dynamic range as possible in the sweep file I'm using for my tests.

Take a look at the beta help section on REW's RTA. @John Mulcahy has explained its use very well there and it serves as an excellent guide.
 

sm52

Member
Joined
Mar 14, 2019
Messages
863
dsnyder0cnn,
I am exploring the possibility of using the 'acoustic timing reference' function for measurements. For the 'loopback as timing reference' one output is used, for example output 2. To use the 'acoustic timing reference' one output is also needed or the reference signal going to the second loudspeaker should be taken from the second output, for example output 1?
 

dsnyder0cnn

Member
Thread Starter
Joined
Nov 28, 2017
Messages
76
dsnyder0cnn,
I am exploring the possibility of using the 'acoustic timing reference' function for measurements. For the 'loopback as timing reference' one output is used, for example output 2. To use the 'acoustic timing reference' one output is also needed or the reference signal going to the second loudspeaker should be taken from the second output, for example output 1?

When using an acoustic timing reference for speaker measurements, I make sure that the timing reference tone is routed to the same speaker that I'm measuring. If I'm measuring two speakers, I'll create one file with both the timing reference and sweep in the left channel and second file with reference and sweep both in the right channel. Hope this helps.
 

sm52

Member
Joined
Mar 14, 2019
Messages
863
If the speaker consists of two drivers, a tweeter and a midbass, then the tweeter will play the reference signal (HF) first, then the sweep. The midbass will not be able to reproduce the reference signal (HF). Therefore, it is required to use the second output of the sound card for this. Or are you doing not the so?
 

dsnyder0cnn

Member
Thread Starter
Joined
Nov 28, 2017
Messages
76
If the speaker consists of two drivers, a tweeter and a midbass, then the tweeter will play the reference signal (HF) first, then the sweep. The midbass will not be able to reproduce the reference signal (HF). Therefore, it is required to use the second output of the sound card for this. Or are you doing not the so?

From what I can tell, the purpose of the timing reference is to let REW know when to begin recording the sweep. I suppose if you are measuring only the woofer in an active system, an acoustic timing reference will not work; you'd have to use loopback. However, the systems I'm measuring have tweeters and generally use passive crossovers, so there is sufficient bandwidth for REW to detect the timing reference.

In my use case, I use REW's Generator function to save the sweeps to WAV files. I may use these hours, days, or years later, so including a timing reference is essential. This approach allows me to take measurements of systems that add an arbitrary amount of latency to the sweeps. For example, convolution filters with tens of thousands of taps, Dirac, Bluetooth, or even cassette tape.
 

sm52

Member
Joined
Mar 14, 2019
Messages
863
I also assumed that REW should know when to start recording the sweep. And then I thought that if you turn off the time synchronization, then REW will still determine the distance from the speaker to the microphone and record everything correctly. And it will determine the start time from the first peak. Is it so?
 

dsnyder0cnn

Member
Thread Starter
Joined
Nov 28, 2017
Messages
76
I also assumed that REW should know when to start recording the sweep. And then I thought that if you turn off the time synchronization, then REW will still determine the distance from the speaker to the microphone and record everything correctly. And it will determine the start time from the first peak. Is it so?

Without a timing reference, if I recall correctly, REW just starts recording when you start the measurement.
 

sm52

Member
Joined
Mar 14, 2019
Messages
863
I checked. Both variants give the same measurement. Thank you for the conversation. Good luck.
 
Top Bottom