Digital Signal Processing - How it affects phase and time domain

which introduces a phase shift of 360 degrees around the crossover point, the system at least does not produce anything different being ON axis or OFF axis. Is my assumption incorrect?
The essence of lobing could be described as the result of the physical offset of drivers, and the delay/phase differences at different (usually vertical) angles. The result being a variation of power relative to the direct sound.
 
EDIT: for this thought experiment, let's assume a mathematical perfect system, or maybe the next closest physical analog, a coaxial speaker system.
If we have a perfect point source, seems to me the on and off axis phase response would be the same.
So if point source has a IIR LR4 on-ax phase rotation, same for off-ax.
And if linear on, linear off.

Center-to-center driver distances of course muck up off-ax phase summations, and hence off-ax mag, ....be it IIR with phase rotation or linear phase.
So I'm a believer in minimizing c2c...along with lin phase xovers😀
Get rid of all muck, acoustic design or electric filters.!!!
 
An idea came to my mind that should solve the problem of pre-ringing in FIR. In fact, as I understand it, the reason for the presence of ringing is that in the initial conditions of the FIR filter is empty, there is no data in it, and when the input signal appears, the filter needs to be completely filled with numbers, which the filter wastes each cycle, as the filter is filled with numbers, it forms this pre-ringing, and when the entire filter is filled with numbers, the ringing ends. So, it seems to me that at the software level such a problem is very easily solved, you just need to disconnect the filter output from the DAC while it is filling, and when the filter is full, connect its output to the DAC, and voila, there is no pre-ringing at the DAC output. After-ringing is not so important, and You don't have to do anything with it.
 
isnt fir pre ringing going on continously while music is playing? With every impulse reproduced. So you cannot turn the signal off and on at will.
Yes, that's true, but my idea solves the problem of the crossover pre-ringing, which is easy to hear when the speakers in a multi-band speaker system are not located at the optimal distance according to their acoustic centers and the crossover frequency.

As I understand from the reviews, the problem is caused by the pre-ringing, which can sometimes be heard when the speaker system is not optimally designed and the FIR filter is long.
 
I have a feeling this isn't how it really works..?
Good point.

I suspect that different cases have different shortcomings. For example, people often FIR phase-align the low-frequency band, and in this case it is very easy to make many mistakes that will eventually lead to an audible distortion of the perception of the low-frequency band, not because of filter pre-ringing, but because of incorrect phase correction. But in general, I think I should agree that with a very long filter, its "inertia" will manifest itself more clearly.
 
While you can't invert spk IR perfectly, you can certainly improve it. You'll need however to know a lot of recent math from Kernel Based System Identification. Then you can control pre-echo vs better inversion.

It will look like this:
room.png
 

Attachments

I did not read into the script as it looked like a tiresome thing to do, but anyone interested please note that all MATLAB functions have online documentation on the Mathworks website.

To anyone who couldn't open the files attached by mikets42: These're MATLAB files, open with Wordpad or equivalent.
 
would you care to explain the graphs? what is the trade off between pre echo and ‘better inversion’ ?

cheers

Lars
The graph shows the original spk+room IR as blue, The correction filter (which is indeed a reverse of the original IR) as red, and the result of correction as yellow. The closer the peak of correction is to the middle of the correcting filter, the lower ||err|| will be, if everything else is the same.

I apologize for the pathetic explanations, it is easier for me to do things than to explain how and why I've done it.

Let me show a less abstract example, and I hope it will help. Let's take a planar tweeter (AMT-920), and measure it in a room from 0.5m. Then, could we prefilter the signal in DSP by an FIR so that on the output it behaves as its idealized version? Yes, almost. a picture is better than a thousand words:
amt920-fr.png

amt920-ir.png

amt920-irdb.png

Here you can see that giving ample lookahead to IR inversion allows for longer but lower pre-echo (-110 dB) and some room echo dereverberation.
The last picture may also explain why Dirac is a scam. It's a lot of noise about nothing, totally ignoring the fact that an ear is not an omni.

The code is 20 lines... but I am afraid they are cryptic to the uninitiated.