rePhase, a loudspeaker phase linearization, EQ and FIR filtering tool

TNT

Member
Paid Member
2003-04-26 10:25 pm
Sweden
I would recommend not to use optimization, unless you really need it (ie you don't have enough taps at hand for the task).
Optimization is an iterative process that tries to get the result magnitude response as close as possible to the target one, which often implies loosening the magnitude/phase relation...

That lost relation doesn't seem to show in the dotted phase trace. Would that be possible to indicate?

//
 
Sorry about that, I need to write some documentation, it is overdue :eek:

Optimization is a trade-off, but a good one as magnitude is obviously the most important part in the response.
The more the effect on magnitude the more you risk to loosen the mag/phase relation (eg get preringing on minimum-phase correction).
So if you don't really need it (ie you have enough taps to directly get an accurate result curve) then it will have almost no effect, good or bad :D
 
That lost relation doesn't seem to show in the dotted phase trace. Would that be possible to indicate?

A note about the error will be fine as well. Currently, the app shows maximum amplitude and delay after the filter is calculated. If it could show actual filter error compared to ideal, that would be of a great help. A user will be able to decide if he is fine with this error or not.
 
Hi,


With 4K taps/coeffs, a FIR filter gives (at Fs=48k):
1- 12Hz resolution (pure minimum phase)
2- 24Hz resolution (symetrical impulse/linear phase)
3- 12Hz resolution (pure maximum phase (on the left))
4-xxHz resolution (mixed phase,that is why you can choose "location" with rePhase.) middle,%,etc...

I did the optimization filter, and, with or without it, I cannot hear any difference. Also did 30k taps filters but I cannot hear any difference compared with the 4k taps filters.
No more latency ?
 
Last edited:
What an awesome piece of software. Thank you for making it!

If I may request a small improvement: for the crossover linearisation, can we please set the crossover filter slope freely? Currently the options are limited to 12, 24, 36dB/oct etc, nothing in between. My speakers' crossover seems to be 30dB/oct and I'm unable to get a good correction due to this.

Thanks again.
 
Re: projectwhite

Under the rePhase "Filters Linearization" tab, which is designed to compensate for crossover phase shift typically from analogue crossovers in speakers, you find those typical slopes which are common, hence the limitation of just those steps. Yes, I agree it might be a little more flexible to offer some smaller step increments, for convenience, but I think they're probably intended to get you somewhere in the ballpark, to start with, and then you can go into more fine detail correcting the phase response (from you measurements) exactly using the graph and the paragraphic phase EQ which gives you almost unlimited precise control, so you could probably dial in the exact phase correction you're looking for if you're very patient!

For the main crossover filters (if you're using rePhase to do your crossover slopes...)
If you use rePhase "Linear-Phase Filters" tab, you can already set the crossover slope freely to whatever dB/oct value you wish - just by typing the number directly into the little white box.
It will accept +/-1dB/oct integer steps as smallest increments, eg. 29dB/oct or 30 dB/oct or 31dB/oct.
Gives you plenty of freedom to experiment and bracket test your results. I myself prefer to use 30dB/oct Linkwitz-Riley shape linear-phase slopes after extensive listening tests comparing steepness of slopes.

If however, you use rePhase "Minimum-Phase filters" tab which gives you the classic textbook IIR filters like Linkwitz Riley, Bessel, Butterworth, then by definition, they cannot input anything other than the classic steps of +/-6dB/oct, because that is, by definition, what those filter topologies are by nature.

The most simple first-order (6dB/oct slope) filter is effectively a model of the textbook behaviour of a single resistor and a single capacitor in the textbook circuit layout (resistor in parallel and capacitor in series gives HPF shape, whereas resistor in series and capacitor in parallel gives LPF shape) which by definition produces the 6dB/oct slope, and is the most simple building block.

Stacking and cascading multiple first-order filters (in analogue electronic circuit) is how the higher order filter slopes are achieved, so they naturally stack up in increasing increments of 6dB/oct per step for 1st order, 2nd order, 3rd order, 4th order and so on, as the natural result of the combination of stacked first-order filters.
Those classic textbook filter options are what you'll find in rePhase's "Minimum-Phase Filter" tab hence only offering the natural increments of 6dB/oct slopes.

Obviously, there do exist many interesting variations beside this, and with clever active circuit design, it is possible to build - even in the analogue world - all kinds of unusual filter slopes, and you could indeed construct an analogue 30dB/oct slope crossover circuit if you wanted, just as you could construct a Legendre-Papoulis filter or a Halpern filter or whatever(!) but they are not classic textbook filters, but rather more advanced constructions, so not listed among the basic classic topologies that rePhase offers as Minimum-Phase filters.

The advantage with rePhase is you can ultimately construct anything you want, likewise by combining and cascading multiple filters, both minimum and linear phase and create exactly the hybrid or custom shape function you require. The "Filters Linearization" is perhaps the icing on the cake of being very helpful with phase corrections, but you should be able to get almost the same free manipulations of phase response curve from the paragraphic phase EQ section too.
 
Last edited:
If I may request a small improvement: for the crossover linearisation, can we please set the crossover filter slope freely? Currently the options are limited to 12, 24, 36dB/oct etc, nothing in between. My speakers' crossover seems to be 30dB/oct and I'm unable to get a good correction due to this.
When analyzing a crossover care must be taken not to misinterpret the effect of another filter downward in frequency (eg from a lower crossover point, or from a bass-reflex enclosure, etc.).

The phase shift of a given crossover (in isolation) has to go from a 180° multiple downward in frequency to another 180° multiple upward in frequency.
That implies even order filters, ie 12dB/oct, 24dB/oct 36dB/oct, etc.

Of course you can also form coherent crossovers with quadratic summation (odd order Butterworth, -3dB crossover point and 90° phase difference throughout), but the resulting phase shift of the crossover will be similar to an even order filter in the end.
 
I did some more investigating and the phase issue I attributed to my speakers turns out to be due to a weird implementation problem in the sound card itself (Xonar DGX) even though it was just being used as a digital passthrough. Switching to a different one has resolved the issue, and the crossover is now being nicely corrected via Rephase's 36db/Oct linearisation filter. Thank you both for your help.
 
Obviously, there do exist many interesting variations beside this, and with clever active circuit design, it is possible to build - even in the analogue world - all kinds of unusual filter slopes, and you could indeed construct an analogue 30dB/oct slope crossover circuit if you wanted, just as you could construct a Legendre-Papoulis filter or a Halpern filter or whatever(!) but they are not classic textbook filters, but rather more advanced constructions, so not listed among the basic classic topologies that rePhase offers as Minimum-Phase filters.
A nice example is pink noise (-3dB/oct).
Analog (very close to the theory) or digital domain.