• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Minimum Phase vs Linear Phase

MediumRare

Major Contributor
Forum Donor
Joined
Sep 17, 2019
Messages
1,956
Likes
2,283
Location
Chicago
The pre ringing is a huge red herring that has surfaced over recent years. ....

Another thing to consider is that real musics HF content (not illegal test signals) around this frequency and into the transition band is very low in level, maybe - 70dB. So any generated ripple is going to be much lower again.

So basically it's at a frequency above your hearing range at a volume thats too low to hear even if you could hear ultrasonics.
Have you even seen a null test between filters?
 

Julf

Major Contributor
Forum Donor
Joined
Mar 1, 2016
Messages
3,032
Likes
4,042
Location
Amsterdam, The Netherlands
Basically quickly changing filters, and restarting the track in under 10 seconds, once I even used a apod linear phase filter with roll off starting around 22.05 , and it was even more obvious, weirdly enough I can only detect the change in some songs, mostly in amateur recordings, or older songs from around year 2000. There was no change in output level so I ruled out that

So sighted, serial listening?
 

MediumRare

Major Contributor
Forum Donor
Joined
Sep 17, 2019
Messages
1,956
Likes
2,283
Location
Chicago
Well we do already know some filters roll off early into the audible band, but it might reveal other things. Any volunteers?
Do some filters create distortion in the audio band instead of pushing it to UHF? I have a weak understanding of this Pre-echo/ringing issue.
 

pos

Addicted to Fun and Learning
Forum Donor
Joined
Feb 13, 2018
Messages
574
Likes
720
The phase shift caused by a minimum-phase reconstruction filter compared to a linear-phase one will sure result in a non-null result in the audible range in such a test, but that does not mean the two can be distinguished.

Not sure I am clear here: the fact that the difference (A-B) can be heard does not mean the two can be distinguished (A != B)
 

RichB

Major Contributor
Forum Donor
Joined
May 24, 2019
Messages
1,959
Likes
2,624
Location
Massachusetts
The phase shift caused by a minimum-phase reconstruction filter compared to a linear-phase one will sure result in a non-null result in the audible range in such a test, but that does not mean the two can be distinguished.

Not sure I am clear here: the fact that the difference (A-B) can be heard does not mean the two can be distinguished (A != B)

I encourage anyone with an Oppo 20x to change the filters during playback and observe the differences. I have compared Minimum Phase Fast and Linear Phase Fast on the 205 and they are distinguishable. The Oppo MediaControl app can be used by someone else for a simple single-blind test. There are no level matching issues.

- Rich
 

scott wurcer

Major Contributor
Audio Luminary
Technical Expert
Joined
Apr 24, 2019
Messages
1,501
Likes
2,822
The phase shift caused by a minimum-phase reconstruction filter compared to a linear-phase one will sure result in a non-null result in the audible range in such a test, but that does not mean the two can be distinguished.

Audacity uses a linear phase RIAA filter while the RIAA pre-emphasis is always minimum phase by the specification. In this case the difference is well into the audible range, and I have never seen anyone complain.
 

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,700
Likes
10,386
Location
North-East
Have you even seen a null test between filters?

The magic words 'null test' make me appear in any thread where they are mentioned :)

OK, so null test between minimum phase and linear phase filter. That should be easy enough. I used HQPlayer to apply the filter, then used DeltaWave to measure the delta, IR sweep response using REW.

HQPlayer Poly-sinc filter (linear):
poly-sinc-ir.png


Poly-sinc-mp (minimum phase). Obviously less pre-ringing:
poly-sinc-mp-ir.png

Now, comparing the two results on a music file (44.1k/24 bit recording played and captured at 192k) using DW.

Actual nulls are not great -- at -45dB RMS and 50dB correlated null depth. On a well-matching files, even those sent through DAC/ADC loop, these values are usually better than 70dB and sometimes better than 90dB on quality DACs/ADCs.

Delta of the spectra of the two files seems to get bit larger past about 7kHz, so possibly becomes audible in that range:
1574534161294.png


Spectrum of the resulting null (delta) file:
1574534616699.png



Phase difference is obvious here (blue is the original phase difference, white is corrected by DW):
1574534337166.png


When playing the delta waveform, I had to raise the gain by +30dB from normal listening levels to hear it clearly. It sounds like a somewhat mechanical noise, with a very, very small hint of the actual music playing.

Delta spectrogram shows some differences in the audible range towards the end of the file, where the levels become greater but also towards the higher frequencies:
1574535362151.png
 
Last edited:

dc655321

Major Contributor
Joined
Mar 4, 2018
Messages
1,597
Likes
2,235
The magic words 'null test' make me appear in any thread where they are mentioned :)

OK, so null test between minimum phase and linear phase filter. That should be easy enough. I used HQPlayer to apply the filter, then used DeltaWave to measure the delta, IR sweep response using REW.

HQPlayer Poly-sinc filter (linear):
View attachment 39962


Poly-sinc-mp (minimum phase). Obviously less pre-ringing:
View attachment 39963

Now, comparing the two results on a music file (44.1k/24 bit recording played and captured at 192k) using DW.

Actual nulls are not great -- at -45dB RMS and 50dB correlated null depth. On a well-matching files, even those sent through DAC/ADC loop, these values are usually better than 70dB and sometimes better than 90dB on quality DACs/ADCs.

Delta of the spectra of the two files seems to get bit larger past about 7kHz, so possibly becomes audible in that range:
View attachment 39965

Spectrum of the resulting null (delta) file:
View attachment 39969


Phase difference is obvious here (blue is the original phase difference, white is corrected by DW):
View attachment 39967

When playing the delta waveform, I had to raise the gain by +30dB from normal listening levels to hear it clearly. It sounds like a somewhat mechanical noise, with a very, very small hint of the actual music playing.

Delta spectrogram shows some differences in the audible range towards the end of the file, where the levels become greater but also towards the higher frequencies:
View attachment 39988

For completeness, would you please post plots of the frequency response of the two filters? Thanks.
 

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,700
Likes
10,386
Location
North-East
For completeness, would you please post plots of the frequency response of the two filters? Thanks.

From the REW sweep, the two have exactly the same frequency response, which is why I didn't post it. Here's what it looks like:

filter-fr.png


Here's the frequency response from DW null analysis using the music recording (white is minimum phase, blue - linear):
1574535595841.png
 

RayDunzl

Grand Contributor
Central Scrutinizer
Joined
Mar 9, 2016
Messages
13,250
Likes
17,193
Location
Riverview FL
Do some filters create distortion in the audio band instead of pushing it to UHF? I have a weak understanding of this Pre-echo/ringing issue.

The Party Line (as understood and rebabbled by me):

Ringing occurs with an illegal signal - single sample byte pulse - consider it a diagnostic tool - that doesn't, or exceptionally rarely, occurs in a musical signal.

The ringing is at 1/2 the sample rate - 22.05, 24, 48, 96kHz etc as the sample rate rises.

---

Does some "distortion" that might be attributable to "ringing" show up in the measurements of any of the high performance DACs measured here? All use some variation of filters...
 

dc655321

Major Contributor
Joined
Mar 4, 2018
Messages
1,597
Likes
2,235
From the REW sweep, the two have exactly the same frequency response, which is why I didn't post it. Here's what it looks like:

View attachment 39990

Here's the frequency response from DW null analysis using the music recording (white is minimum phase, blue - linear):
View attachment 39991

Damn. I keep forgetting that "frequency response" usually elicits only the magnitude response.
I meant, magnitude and phase responses (or group delay).
Or post the IR coefficients somewhere downloadable (if not proprietary), where I can poke my nose into them without having to bother you? :)
 

tmtomh

Major Contributor
Forum Donor
Joined
Aug 14, 2018
Messages
2,771
Likes
8,150
I encourage anyone with an Oppo 20x to change the filters during playback and observe the differences. I have compared Minimum Phase Fast and Linear Phase Fast on the 205 and they are distinguishable. The Oppo MediaControl app can be used by someone else for a simple single-blind test. There are no level matching issues.

- Rich

I am not a big believer in the audibility of differences between different filters. However, I have an Oppo UDP-205 and have tried the filter-switching exercise you describe on a few occasions, and like you I have heard what I perceive as a subtle but real difference. Now, these were sighted listening comparisons, so take it with a grain of salt. That said, the minimum phase and/or slow filters (sorry, can't remember exactly which - it was a while ago) had a slightly softer sound to them that I initially found more pleasant every single time - and that I quickly got tired of about 5-10 minutes into my listening session, also every single time. The Linear Phase Fast (or whatever the default filter is - I think it's that) is the one I keep returning to, as over extended listening it sounds snappier and (subjectively I admit) more accurate on transients.

While this was not blind or in any way scientific, it does comport with what we know about how the slow/minimum phase filters (like those used by MQA) can negatively impact transient reproduction.
 

RichB

Major Contributor
Forum Donor
Joined
May 24, 2019
Messages
1,959
Likes
2,624
Location
Massachusetts
I am not a big believer in the audibility of differences between different filters. However, I have an Oppo UDP-205 and have tried the filter-switching exercise you describe on a few occasions, and like you I have heard what I perceive as a subtle but real difference. Now, these were sighted listening comparisons, so take it with a grain of salt. That said, the minimum phase and/or slow filters (sorry, can't remember exactly which - it was a while ago) had a slightly softer sound to them that I initially found more pleasant every single time - and that I quickly got tired of about 5-10 minutes into my listening session, also every single time. The Linear Phase Fast (or whatever the default filter is - I think it's that) is the one I keep returning to, as over extended listening it sounds snappier and (subjectively I admit) more accurate on transients.

While this was not blind or in any way scientific, it does comport with what we know about how the slow/minimum phase filters (like those used by MQA) can negatively impact transient reproduction.

That is interesting. If done as a SBT, it helps validate the finding of a difference.
Preference is a separate matter.

IMO, filtering differences are the most likely source for audible differences in MQA and HD Audio.
That makes much more sense to hearing extremely low-level signals in human inaudible frequencies.
The other possibility is that ultrasonics are modulating into the audible range (from electronics of speakers), which seems like something to be avoided ;)

- Rich
 

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,700
Likes
10,386
Location
North-East
Damn. I keep forgetting that "frequency response" usually elicits only the magnitude response.
I meant, magnitude and phase responses (or group delay).
Or post the IR coefficients somewhere downloadable (if not proprietary), where I can poke my nose into them without having to bother you? :)

Phase is also flat and without a difference between the MP and linear filters in REW.
poly-sinc-mp-phase.png


I assume the filters are proprietary, as they are built into a commercial product, HQPlayer. But there is a phase difference (group delay) that is visible on the DeltaWave comparison of the two filters derived from the music file. That was in my original post:

index.php
 

scott wurcer

Major Contributor
Audio Luminary
Technical Expert
Joined
Apr 24, 2019
Messages
1,501
Likes
2,822
The Party Line (as understood and rebabbled by me):

Ringing occurs with an illegal signal - single sample byte pulse - consider it a diagnostic tool - that doesn't, or exceptionally rarely, occurs in a musical signal.

Technically it is not illegal but rather unrealizable because it is a limiting case of an ideal sampler gated exactly in phase fed from a perfect linear phase brickwall filter. Feed a single impulse at 44.1K into an upsampler say to 96K there is virtually no (at least in Audition) frequency content beyond 22.05K. If you convert the result back to 44.1K it is very close to the original single sample. You will see the difference as an error of approximation not theory.

On needs to be careful about differentiating between something like time domain "distortion" of a signal envelope caused by shifting of phases at different frequencies and true non-linear distortion effects which create signals at new frequencies.
 

March Audio

Master Contributor
Audio Company
Joined
Mar 1, 2016
Messages
6,378
Likes
9,321
Location
Albany Western Australia
I encourage anyone with an Oppo 20x to change the filters during playback and observe the differences. I have compared Minimum Phase Fast and Linear Phase Fast on the 205 and they are distinguishable. The Oppo MediaControl app can be used by someone else for a simple single-blind test. There are no level matching issues.

- Rich
I have performed listening tests on filters and the ones that were distinguishable to me were the ones that rolled off early in the audible band.
 

UpTo11

Member
Joined
Nov 17, 2019
Messages
15
Likes
8
Here is my Python code I used to generate the plot.
Python:
import numpy as np
from scipy import signal
import matplotlib.pyplot as plt

# Create low-pass filter (8th order Butterworth, f_cutoff = 20 kHz)
fs = 192000
N = 8
f_cutoff = 20000
butter_sos = signal.butter(N=N, Wn=f_cutoff, btype='low', output='sos', fs=fs)

# 2 kHz square wave band-limited to its first 5 terms
f_signal = 2000
duration = 1.0
omega = 2 * np.pi * f_signal

t = np.linspace(0.0, duration, int(duration * fs), endpoint=False)
n_pts = t.shape[0]
x = np.empty([5, t.size])
for idx, k in enumerate([1, 3, 5, 7, 9]):
    x[idx, :] = (4 / np.pi) * np.sin(k * omega * t) / k
x_sum = np.sum(x, axis=0)

# Band-limited square wave filtered by the low-pass filter
x_butter = signal.sosfilt(butter_sos, x_sum)

# Plot original and filtered square waves
plot_pts = np.arange(int(3 * fs / f_signal)) + int(3 * fs / f_signal)

fig2, ax = plt.subplots(figsize=(8, 5))
ax.plot(t[plot_pts], x_sum[plot_pts], label='$x_{orig}$')
ax.plot(t[plot_pts], x_butter[plot_pts], label='$x_{butter}$')

ax.legend(loc='upper right')
plt.tight_layout()
plt.show()

Thank you very much!
Sorry for the late answer, I didn't receive any notification for your reply, I don't know why.
 
Top Bottom