The Leonardo Project
Loudspeaker System Group Delay Distortion And Correction Solutions
Within the framework of the Leonardo project, we decided to establish whether sounds are likely to be affected by phase distortion. We will see in the next section why, in our case, we can call this kind of distortion: “group delay distortion”. A theoretical study and appropriate listening experiments demonstrated justifiably that these effects have not to be neglected. It was decided then to analyse the group delay distortions produced by our loudspeaker systems with the aim of correcting them.
A two-way vented loudspeaker system such as the Epilogue 1 shows three main group delay distortion sources:
- the high-pass filter resulting from the medium and port alignment.
- the low-pass filter resulting from the tweeter high cut-off frequency.
- and the electrical internal crossover.
It appeared that the most noticeable group delay distortion effect was the one produced by the electrical crossover. It was then decided to study first in detail this kind of distortion with the aim of providing a solution to correct it.
The purpose of this paper is to explain our approach of group delay distortion correction, according to the concrete example of the Epilogue 1 crossover specifications.
The figure below is illustrative of group delay distortion phenomenon. It shows the time modification of a half-squared signal passing through the Epilogue 1 internal crossover.
It is worth noting that the amplitude frequency responses of these two signals are absolutely identical. The sole difference comes from the phase response behaviour.
Group Delay Distortion Theory
This section constitutes a summary of accepted equations defining the phenomenon of group delay distortion. Readers familiar with this material can go straight to the next section.
-
Impulse response:
-
Frequency response:
There are two kinds of group delay distortion:
-
Minimum phase (for any
|H(w)|):
(Hilbert equation)
-
Phase excess:
To go further into detail, we can add to our study a third phase distortion, which is not a group delay distortion, called the “phase-intercept distortion”. This distortion may happen at the initial condition t=0, even if Δτg(w) = 0. Given that the latter is non-existent in our case, we are authorized to use the term of “group delay distortion” as a generic term for phase distortion.
In conclusion, we can say that the group delay distortion we have to correct is due to the parameters: Φmin(w), θap(w) and θ0.
As we are describing group delay distortion, it is more convenient to represent it directly from the group delay quantity:
The approach we have chosen comprises correcting the group delay distortion as a whole.
To simplify, we can write the group delay as: τg(w) = T + Δτg(w)
The aim of the phase correction is to add a new group delay, enabling the frequency dependent term Δτg(w) to be compensated without modifying the amplitude response: τg(w) = T + Δτg(w) + Tg - τg(w) = T + Tg
To illustrate the equations, the figure below shows the impulse and frequency responses of the all-pass filter simulating the group delay behaviour of the Epilogue 1 crossover.
τg(w) = Δτg(w)
As we can see, the impulse signal entering the all-pass filter (black curve) is significantly modified (red curve) in spite of a flat amplitude level. This behaviour is explained by the fact that the group delay is not constant according to the frequency.
The figure below shows the response of the same all-pass filter for a delayed entering impulse signal.
τg(w) = T + Δτg(w)
As we can see, the modification of the impulse signal is the same, excepted that it has been delayed in time. That means that a pure delay T corresponding to the number of delayed samples, has been added to the previous filter group delay response.
1. Correction Of The Epilogue 1 Crossover Group Delay Distortion
In the case of the Epilogue 1, it is worth noting that the internal crossover has been calculated in order to obtain a flat on-axis frequency response. That means that the crossover compensates some irregularities peculiar to the medium and tweeter frequency responses. It is therefore important to correct only the group delay response of the Epilogue 1 crossover without touching its amplitude response.
To do that, the first step comprises determining an all-pass filter having a group delay response corresponding to that of the Epilogue 1 crossover.
We have then to calculate the behaviour in amplitude and phase of the Epilogue 1 crossover. The electrical circuit below enables the crossover to be calculated according to resistive loads of 8.2 ohm.
A calculation sheet has been implemented under Matlab, enabling the all-pass filter to be determined according to the Epilogue 1 crossover group delay response. The all-pass filter is determined by its resonance frequency and its group delay at this frequency.
The figure below shows this implementation. This calculation sheet shows, for two different squared signals, the frequency and time responses of:
- the Epi1 crossover amplitude (black curves)
- the Epi1 crossover phase and group delay distortions (blue curves)
- the all-pass filter approximating the crossover phase and group delay (red curves)
- the result after group delay correction (pale blue curves)
The latter comes from the multiplication of the Epi1 all-pass crossover by the inversed of the determined all-pass filter (coefficient inversion).
Now, and in order to take into account the real electrical, mechanical and acoustical loads of the Epilogue 1 system, it is important to readjust the all-pass filter according to the equivalent electrical circuit illustrated below.
As explained above, the correction of the Epilogue 1 group delay distortion comes from the multiplication of its all-pass crossover by the inverse of the chosen all-pass filter (coefficient inversion).
In the case of IIR filters (chosen for their coefficient number), the transfer function of the determined all-pass filter may be written as:
The correction filter will be written simply by inverting the coefficients:
The figure below shows the frequency responses (amplitude, phase and group delay) of H(z) in magenta and 1/H(z) in red.
As we can see, the result of the summation of group delays is equal to zero. The group delay distortion has then been properly corrected.
This filter, however, cannot be implemented as it is, due to its non-causal behaviour. This property is demonstrated by the negative group delay curve, meaning that the correction filter 1/H(z) responds before it receives its triggering signal, which is obviously not possible.
Moreover, the figure below shows that the all-pass correction filter is also unstable. It is illustrated by the fact that its poles are outside the unity circle, meaning that its impulse response goes toward infinity (red curve).
In conclusion, we can say that our IIR correction all-pass filter is non-causal and unstable.
If it is possible to render it causal by introducing a delay before its transfer function, it is impossible to render it stable without touching its amplitude and degrading its phase response.
The solution to this significant problem is provided by the time reversal method.
2. Time Reversal Method
The purpose here is not to explain this method in detail. People interested in analysing this in greater depth can consult us.
This solution offers the advantage of calculating the IIR filter H(z) instead of its non-causal and unstable inverse. The inversion is carried out by inversing the samples before and after the filter H(z).
The complete method has been implemented under Simulink and Matlab in order to verify the theory with the view of a DSP implementation. The figure below shows the Simulink block diagram implementation.
The input signal is acquired in consecutive sections of the length L samples.
The sections are time reversed (input LIFO buffers) and separated in two signals (the sections are taken half the time and completed by zeros to form sections of the length 2L samples).
Both signals are filtered by identical causal and stable IIR all-pass filters, which are initialised at each double section beginning.
Both filtered signals are recombined in leading and trailing sections. The leading sections signal is delayed of 2L samples. Both resulting signals are adding together.
The sections are again time reversed (output LIFO buffers).
The figure below show the curves (calculated under Matlab) related to the different block outputs.
The yellow curve gives the response of the Epilogue 1 crossover excited by the superposed red input signal.
After time reversal computation, the correction all-pass filter is given by the blue curve. In order to verify the group delay correction made by this filter, all we have to do is to cascade the all-pass correction filter (blue) and the all-pass crossover (yellow).
The result is given by the last red curve. As we can see, this curve shows a very high degree of accuracy compared to the excitation signal. The small 4L delay comes from the implementation buffers. These calculations validate the time reversal method.
The method has been then programmed in DSP following the block diagram below.
The figure below shows the DSP computed response of the correction all-pass filter (in blue) for a step excitation (in red).
As we can see, the blue curve fits well with the one calculated previously during the method validation step.
This result concludes with success the first stage of the Leonardo project. We have carried out some preliminary demo listening tests and we can say that the results are extremely impressive...
References
- S.A. Azizi. Realization of linear phase sound processing filters using zero phase IIR filters. AES preprint 4506, March 1997.
- D. Koya. Aural phase distortion detection. Thesis submitted to the University of Miami, May 2000.
- S.R. Powell and P. M. Chau. A technique for Realizing Linear Phase IIR Filters. IEEE Transactions on signal processing, 39(11): 2425-2435, November 1991.

