questions regarding timing reference

baskind

Registered
Thread Starter
Joined
Jul 7, 2017
Messages
5
Dear all,

First congratulations for this really good piece of software which I've been using for years.

I'm facing a simple problem by measuring impulse responses for which I still did not find a consistent solution (despite my previous post): if "no timing reference" is selected, the impulse response seems to be automatically time-shifted so that the peak is at t=0, and thus whatever the value of the setting "set t=0 at IR peak" is. This is also the case while importing sweep recordings, and thus even if the option "For imports set t=0 at first sample" is selected.

I observed this problem with both last official version (5.19) and beta version (5.20 beta 10).

On a different level, I also sometimes encounter problems with using loopback as a timing reference: typically, pre-ringing sometimes appears on the estimated IR. Therefore I assume that the estimated transfer function is divided by the transfer function of the loopback channel (or maybe only its allpass component), and that artefacts appear during the spectral division. Am I right? If yes, wouldn't it be possible, as an alternative method, to correct the estimated transfer function with a pure linear phase shift (i.e. a pure delay), that could for instance be estimated thanks to correlation on the loopback channel?

Best regards,

Alexis Baskind
 

John Mulcahy

REW Author
Joined
Apr 3, 2017
Messages
7,297
if "no timing reference" is selected, the impulse response seems to be automatically time-shifted so that the peak is at t=0, and thus whatever the value of the setting "set t=0 at IR peak" is. This is also the case while importing sweep recordings, and thus even if the option "For imports set t=0 at first sample" is selected.
It works according to the setting for me. Very short files (< 1 second) or files where the peak is very close to the start of the file are padded with zero samples but that doesn't affect where t=0 is placed. If a particular file is causing a problem please attach it.

On a different level, I also sometimes encounter problems with using loopback as a timing reference: typically, pre-ringing sometimes appears on the estimated IR. Therefore I assume that the estimated transfer function is divided by the transfer function of the loopback channel (or maybe only its allpass component), and that artefacts appear during the spectral division. Am I right? If yes, wouldn't it be possible, as an alternative method, to correct the estimated transfer function with a pure linear phase shift (i.e. a pure delay), that could for instance be estimated thanks to correlation on the loopback channel?
No, the loopback is only used to establish a timing reference, it is not used to perform any kind of correction and plays no role in determining the transfer function of the measurement channel. You can expect to see pre-ringing on any response which has frequency content that extends to half the sampling frequency, that is the nature of a sampled system.
 

baskind

Registered
Thread Starter
Joined
Jul 7, 2017
Messages
5
Dear John,

thanks for your quick and informative answer.

For the first point, let me give you one simple example: I configured a DAW (Reaper) with two mono tracks: one, the one which path has be measured, has a pure delay plugin (100ms). The second one is a pure passthrough. REW and Reaper are connected to each other thanks first to a virtual audio driver (Loopback from Rogue Amoeba), and in another test with a hardware loopback (using the imbedded feature from a RME Fireface’s Totalmix).

In both cases (software and hardware loopback), the measured IR is correct (i.e. an impulse at 100ms) with the option « use loopback as timing reference », but with the option « no timing reference », the impulse is centered at 0ms. I would have expected in the latter case something like 100ms + twice the buffer size + extra I/O latency for RME. But even in the latter case, the « scope » shows clearly a delay between the input and the output sweep, so the problem comes not from the signals themselves. In the second cases it behaves as if the option « Set t=0 at IR peak » is selected. The attached screenshots show what I mean.

Regarding the second point: you mention the case where the frequency content extends Nyquist. But this should be prevented by the converters, but I think you have a point: I did further experiments to try to reproduce the problem and I could observe that the problem occurs at least (maybe also in other conditions) when there is a mismatch between the sample rate set in REW and the actual sample rate of the driver: if for instance the SR is set to 44,1 kHz in REW, and then is modified to 48k by another software, then REW seems not to take the change into account (at least on Mac), and pre-ringing appears in the IR. By the way, when I did those tests with manually changing the sample rate, the problem mentioned in the first point (IR centered to t=0) occured even with the option « use loopback as timing reference ». I had to restart REW to get it work again.

UPDATE: I just did exactly the same tests (with RME hardware loopback) on Windows 7, same version of Reaper and REW, and I lead to the same results: with the option « no timing reference », the impulse is centered at 0ms.

best regards,

Alexis

(REW 5.19 on Mac 10.11.6)
 

Attachments

  • IR - no timing reference.png
    IR - no timing reference.png
    47.1 KB · Views: 17
  • IR - with loopback timing reference.png
    IR - with loopback timing reference.png
    53.4 KB · Views: 18
  • scope - no timing reference.png
    scope - no timing reference.png
    59.8 KB · Views: 16
  • scope - with loopback timing reference.png
    scope - with loopback timing reference.png
    69.8 KB · Views: 15
Last edited:

John Mulcahy

REW Author
Joined
Apr 3, 2017
Messages
7,297
If the sample rate set in REW differs from that the system is running at the OS will resample.

I'm not following your comments regarding impulse position. You earlier referred to the setting for imported impulse responses, that only applies for files imported using File -> Import -> Import impulse response. It does not apply to measurements. For measurements there are three options for timing reference, none, acoustic or loopback. If the option is not to use a timing reference REW will place t=0 at either the IR peak or the estimated IR start based on removing any estimated delay, according to the setting of the corresponding analysis parameter. From the help for V5.19:

The Set t=0 at IR peak selection controls whether REW sets the zero time for the impulse response to correspond to the location of the peak. If this is not set REW will estimate any time delay in the impulse response, remove it and set the t=0 time accordingly.

It is operating as intended, there is no other option without a timing reference since input and output buffering latencies vary from measurement to measurement, there is no concept of absolute time in the absence of a timing reference.
 

baskind

Registered
Thread Starter
Joined
Jul 7, 2017
Messages
5
OK, I was indeed confused when reading this help: I thought that the sentence you mentioned refers to the option "use acoustic timing reference", now I understand better.

Thanks,

Alexis
 
Top Bottom