Minimum phase

Thierry Barnay

Registered
Thread Starter
Joined
Oct 11, 2017
Messages
4
Hi,
Just to report a little bug.
Seems the latest Beta version of REW is showing minimum phase far from theory.
Also,unwrap phase tab rise up absolute value to infinity.

Here,a example,with the minimum phase extracted from an impulse (rePhase) LR8 lowpass,(do not take in account the phase shift at the upper limit (ripple)).
-720° phase shift was expected (so excess phase is a very random criterium to define driver offset,time domain is more reliable,once coeff start to rise with loopback measurement)

http://www.casimages.com/i/171201044401394674.jpg.html

mini_171201044401394674.jpg
 
Last edited:

John Mulcahy

REW Author
Joined
Apr 3, 2017
Messages
7,324
Are you saying it is different to earlier versions? Easier to examine if you attach the mdat file.
 

Thierry Barnay

Registered
Thread Starter
Joined
Oct 11, 2017
Messages
4

Attachments

  • impulseLowpass1K.mdat
    997.2 KB · Views: 9
Last edited:

John Mulcahy

REW Author
Joined
Apr 3, 2017
Messages
7,324
Thanks. If you use rectangular or Tukey windows you should get rid of the ripple.

The main issue looks to be dynamic range of the IR. Because of the steep roll off the response hits the noise floor of the data by around 8 kHz and flattens off at the noise floor from there, that flattening of the response means the phase must change correspondingly. I have added support for 32-bit and 64-bit float format impulse response imports in the next beta version, if the IR can be generated in that format the response may follow the correct shape across the whole frequency span and give the expected result. If you already have or can generate a response in that format post it here and I'll try it out.
 

Thierry Barnay

Registered
Thread Starter
Joined
Oct 11, 2017
Messages
4
Ok.
Here some IEEE standard impulses.
LP LR48 @1KHz.
32 bits + 64 bits (and 48K + 96K sampling frequency).

replace .txt extension by .wav (.wav format with attached file is not supported).

rectangular (or other) windows do not allow to get rid of the (very) low magnitude of the ripple.
Not really important.(or a option like HOLM impulse "hide phase below -xxx dB" ?).
 

Attachments

  • impulse32b 48K.txt
    64.2 KB · Views: 7
  • impulse32b 96K.txt
    64.2 KB · Views: 9
  • impulse64b 48k.txt
    128.2 KB · Views: 11
  • impulse64b 96K.txt
    128.2 KB · Views: 11

John Mulcahy

REW Author
Joined
Apr 3, 2017
Messages
7,324
Those files look like conversions from 32-bit PCM data rather than data originated as float, they don't have any more dynamic range than the original.
 

Thierry Barnay

Registered
Thread Starter
Joined
Oct 11, 2017
Messages
4
I understand.

a file with mantissa+exp ?
Like C float array.
But need to reorder coeff in a single column.
noise floor,in every case of float format,IEEE,754,C arrays is extremely low (more than -250dB).As shown below.

http://www.casimages.com/i/171203062556576435.png.html

Change .txt extension with .c file.(can open it with any text editor).
 

Attachments

  • C32impulselow96K.txt
    391.6 KB · Views: 15
Last edited:

jtalden

Senior Member
Joined
May 22, 2017
Messages
888
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"
I'm not understanding the issue for sure, but...
The minimum phase calculation appears to be correct to me given the applied bit depth setting. [This discussion may well be below my bit depth ability however, i.e., over my head.]
The only question I see is that REW sets the IR location for the minimum phase response in some manor. It appears to be at the initial rise of the impulse. It cannot be changed in REW. I have no idea what manor is most correct, but we would normally expect to see the minimum phase continually falling with this filter as shown in rePhase. Is that the issue for you? If so, then the phase discrepancy is just the REW choice of impulse location. If we moved the minimum phase impulse approximately 0.135 ms to the right the phase would appear as it does in rephase. We can see that impact using the actual phase itself. That is how I determined the amount of needed shift - by looking at a copy of the actual impulse.

See below the change in phase resulting from that shift:
Phase.jpg

IR Shift.jpg
 

John Mulcahy

REW Author
Joined
Apr 3, 2017
Messages
7,324
a file with mantissa+exp ?
Like C float array.
But need to reorder coeff in a single column.
Sorry, but I can't use that. The size of the declaration crashes the java compiler if I try and include it directly and reformatting the file and writing code to import it seems to be a lot of trouble just to prove a point. What I was after was a WAV file in PCM_FLOAT format with the desired data in it.
 
Top Bottom