Phase measurements

C00LM4N

Registered
Thread Starter
Joined
Jun 2, 2020
Messages
4
Hello!
I could not understand what's wrong with my measurements. I'm measuring one speaker with acoustic reference from itself and getting phase shift of 1+ million deg. Calculated delay is somehow 300 ms (measured 10 cm from speaker).
Setting ref time to 0 ms and adding frequency dependent window makes phase graph look more realistic but I'm still not sure if it should be so.

phase 1.jpg

phase 2.jpg
 

John Mulcahy

REW Author
Joined
Apr 3, 2017
Messages
7,213
I'd guess that the timing reference was missed and then falsely triggered on part of the sweep. Did you hear the timing reference before the sweep? Those are not likely to be valid measurements.

Best using the capture button top left of the graph to capture images, that way the axes are included.
 

C00LM4N

Registered
Thread Starter
Joined
Jun 2, 2020
Messages
4
Sure timing reference was audible and clearly seen on input graph.
That's how impulse looks like:

impulse.jpg

What am I doing wrong?
 

C00LM4N

Registered
Thread Starter
Joined
Jun 2, 2020
Messages
4
So it seems to be soundcard/driver related issue.
On my desktop I have Asus Xonar Phoebus. And it constantly crackles using both native ASIO drivers and ASIO4ALL, so I have to use Java sound output.
Just tried to measure using external M-Audio Transit USB. With Java sound output it seems to be the same problem measuring phase:

phase-1.jpg

Though it looks much better than phase from Phoebus.

Impulse looks better too:

phase-2.jpg

And using M-Audio ASIO it seems to be totally fine, smooth phase graph:

phase-3.jpg

So is it absolutely required to use ASIO for phase measurements?
Could I at least measure frequency responce using Java sound output or it's also innacurate?
 

John Mulcahy

REW Author
Joined
Apr 3, 2017
Messages
7,213
That impulse response makes me think the input and output are running at different sample rates, that will not work and is probably why you are getting dropouts when trying to use ASIO4All. ASIO4All is a wrapper around the WDM drivers, you still need to make sure the sample rates are correctly set for the devices you are using. Native ASIO drivers will select the sample rate REW asks for, with Java drivers the OS will try and resample between the device rate and the REW requested rate but it still will not work if input and output rates are different.
 

C00LM4N

Registered
Thread Starter
Joined
Jun 2, 2020
Messages
4
Sample rates are set equal (44 kHz) everywhere.

Do I understand right that this impulse

impulse.jpg

indicates that input and output has different sample rates? May be an Asus driver weird bugs... It's known that changing frequency from 44 to 48 kHz changes sound pitch and playback speed (slows it down) on Phoebus, so there might be other problems.

And what's the reason for huge phase drift when using Java sound output?
Is the last one where phase chart changing smoothly and not jumping over 180* many times only one correct?
 

John Mulcahy

REW Author
Joined
Apr 3, 2017
Messages
7,213
That response has the appearance of being spread out in time, which is symptomatic of a big difference between output and input clocks. that spreading doesn't affect response magnitude but has a huge effect on phase. It isn't really possible to get different input and output clock rates with a single device using an ASIO driver. Java drivers have no direct access to the hardware, they ask the OS for data at the selected sample rate and accept what they get. Probably worth trying with everything set to 48k.
 
Top Bottom