Measuring horn reflections back into the throat

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.

ICG

Disabled Account
Joined 2007
Only a short answer, maybe I'll write later a bit more.

The example in the YT video was emphased (by extreme filter settings) to clearly hear what preringing is, that helps immensely to regognize it if it appears less pronounced. The more complex and steep the filter, the more distinctively it will appear in the reproduction. There are a lot of situations where it is not a problem or just minor so other advantages may be more important and give a better overall result. With the complex and difficult situations regarding the horn reflections the need for two or multiple of these filters may appear, you already need two, one for the crossover and one for one reflection, likely also EQing. The major thing here is, each of them adds preringing to the signal. That means, you have to be really careful what it actually does, especally since you've already had excluded the effect and importance as almost nonexistant and put it aside without a second thought. In audio physics there is no such thing as 'free lunch'. Everything you do, got at least two sides.
 
Sorry i don't have enough knowledge for proper argument, but what i have interpreted from Gunnes paper the individual properties are identified and adressed separately, such as a horn reflection. Crossover and EQ can be done with IIR filters if one wants to, and it is another topic.

What goes to steep frequency filters I don't think they are needed if we are thinking a reflected sound from say horn mouth back to throat. since does steep acoustic filters exists in nature? I'm thinking that the horn reflection is not identical in frequency response as the original signal but certainly doesn't have that radical high/low pass in it. If we simplify radically and think ideal situation when the reflection is exactly as the original impulse, do you know a term what information I should Google for regarding preconditioning FIR filter that out? I'v been checking out echo cancellation stuff, but cannot guite connect the bits and pieces together :) Maybe I should try to generate some simple system with echo cancellation in matlab to get a path to understand how it all comes together.

I'm stuck with the FIR filters since thats what Gunnes succesfully does ;)

Anyway, lets keep measuring and try to identify a two-port system (horn reflection) first.
 

ICG

Disabled Account
Joined 2007
Sorry i don't have enough knowledge for proper argument, but what i have interpreted from Gunnes paper the individual properties are identified and adressed separately, such as a horn reflection. Crossover and EQ can be done with IIR filters if one wants to, and it is another topic.

Actually, it cannot, since both causes phase shifts and both Gunnes' as Iborra's work is based on linear phase. Gunnes explains which filter is required (FIR) in his paper at section 3.4 (p8), Iborra implemented the compensation completely on IFFT and FIR/filters too. That means, how much pre-ringing is introduced/added to the signal depends on how much correction and crossover filters is needed.

since does steep acoustic filters exists in nature?

What got that to do with it? If it doesn't exist in nature, it may not be used in sound reproduction? :confused: I'm quite annoyed by such sidetracks. But yes, they do exist in nature. Think about voice cords and throat, tongue, lips and according cavities and pipes, they are even quite variable. ;) The same goes for the ears (think more about animals), they cut off some frequencies very steep by shape and size of ear conches, drum, shape, length and positionin of the hair etc.

I'm thinking that the horn reflection is not identical in frequency response as the original signal but certainly doesn't have that radical high/low pass in it. If we simplify radically and think ideal situation when the reflection is exactly as the original impulse,

You've just contradicted yourself. Yes, the reflection got ofcourse a different response than the original signal, that's the whole point we're having this thread! Only parts of the wave gets reflected and only some frequency range (or even just a very narrow band in some cases or more of them). And neither the original signal nor the reflections are of the same magnitude, depending on how they are located within the geometrical area, the whole cross-section is not coherent and neither the sound wave. The perfectly cylindrical or shpherical sound wave of different, 'perfect' horn types is a myth. That's also the reason why I asked for a mic within the horn, to get informations from which direction the reflections come and in which part(s) of the cross-section they are located. Unfortunately introduces a mic capsue within the horn changes in behaviour of it and the measured error can be of a great magnitude or even caused by the capsule or wires itself.

I'm stuck with the FIR filters since thats what Gunnes succesfully does ;)

Yes, ofcourse. It does not work with other filters.
 
Only a short answer, maybe I'll write later a bit more.

The example in the YT video was emphased (by extreme filter settings) to clearly hear what preringing is, that helps immensely to regognize it if it appears less pronounced. The more complex and steep the filter, the more distinctively it will appear in the reproduction. There are a lot of situations where it is not a problem or just minor so other advantages may be more important and give a better overall result. With the complex and difficult situations regarding the horn reflections the need for two or multiple of these filters may appear, you already need two, one for the crossover and one for one reflection, likely also EQing. The major thing here is, each of them adds preringing to the signal. That means, you have to be really careful what it actually does, especally since you've already had excluded the effect and importance as almost nonexistant and put it aside without a second thought. In audio physics there is no such thing as 'free lunch'. Everything you do, got at least two sides.

All you say makes sense.
I guess I just have less concern about pre-ringing. I must have built a thousand different FIR filters trying stuff on 4-ways, coaxials, and line arrays recently (a real bitch btw). Only occasionally have I heard pre-ringing.
But yes, when correction gets overdone, it sounds bad, but so does over correction with IIR. The nice thing about FIR though, is I can add correction stage by stage, and then have the corrections' sum available for analysis to see if things look overcooked. Hard to do with multiple stages of IIR. That's what I'm hoping to do with the returning horn reflections, just multiply the basic starting correction by the reflections' correction. And make sure the sum doesn't look or sound whacky.
 

ICG

Disabled Account
Joined 2007
See, I didn't say FIR is bad in general. It strongly depends on how it's used and the case. I just want to rise awareness there actually are issues that can become problematic and not close the eyes before them, you need to look at it at a whole. Often it's better to leave a little squiggle in the response than to try to overcompensate and take other disadvantages unintentionally because they were overlooked or underestimated.

The FIR filters for such an untertaking are quite complex and that might become a problem. Aside from preringing, I expect it to use up a lot of the DSPs processing power, not every DSP able to implement FIR filters is powerful enough to handle everything you throw at it, they got limits. FIR filters are already more complex than IIR ones, maybe it helps to set a goal if you check how much can be implemented, # of filters etc and how the dsp behaves, what happens if you exceed its processing power.
 
The FIR filters for such an untertaking are quite complex and that might become a problem. Aside from preringing, I expect it to use up a lot of the DSPs processing power, not every DSP able to implement FIR filters is powerful enough to handle everything you throw at it, they got limits. FIR filters are already more complex than IIR ones, maybe it helps to set a goal if you check how much can be implemented, # of filters etc and how the dsp behaves, what happens if you exceed its processing power.

I've found it is very easy to figure out if a processor has enough FIR power to meet goals, just by looking at processor FIR specs.
It basically distills down to channel and tap counts needed (@ whatever sample rate). And of course having the experience to know how many taps are needed ;)

Fortunately, complexity of the FIR filter doesn't really enter into the number of taps needed, as far as processing power needs.

For example, the focus of this thread... reflection negation...shouldn't require any more taps than is necessary to already tune the direct response of the CD on the horn....probably <400 taps @ 48kHz.

The greatest number of taps needed on any channel, is invariably determined by the lowest frequency correction/crossover desired for that channel.
If the channels low corner needs are met, all frequency content higher up is normally covered quite well.

Really imo, the benefits of FIR so far outweigh the drawbacks / trade-offs, it's a shame that people often let hearsay concerns override experimentation.
 
Horn Artifacts

Could use some help from those in the know about this...


How do you measure the reflections that bounce back into a horn's throat ?

I'd like to determine the frequency of the reflections, and their arrival time at the throat vs the original signal.


What measurements .... impulse, spectrogram, etc, would you use?
Any examples of how to do this, in a quasi anechoic testing environment, would be greatly appreciated...



Many Thanks in advance! mark
Including back wave particulars may be determined by comparison of frequency sweeps using the same compression driver mounted to both a PWT and the target horn. WHG
 

ICG

Disabled Account
Joined 2007
No, that's what's cool, doesn't matter how many !:)

No more than it mattered to combine the first reflection with direct response !

I am not sure how you'd implement that. I mean, if there are several reflections they will either be the same with an additional running distance or at a different position (distance) of the horn. In any case, these will occur at a different time. Yes, you can pre-condition it in the same process but the signal length to process will be longer and that means it has to process a lot more data in advance in realtime, which means it actually does cost more processing power and it increases at the same time the group delay - or am I wrong? If so, please explain why.
 
I am not sure how you'd implement that. I mean, if there are several reflections they will either be the same with an additional running distance or at a different position (distance) of the horn. In any case, these will occur at a different time. Yes, you can pre-condition it in the same process but the signal length to process will be longer and that means it has to process a lot more data in advance in realtime, which means it actually does cost more processing power and it increases at the same time the group delay - or am I wrong? If so, please explain why.

First, let me say I am a million miles away from being any kind of expert of how FIR filters actually work....but here's my laymen's take....

A FIR filter is a filter where each output sample is simply a weighted sum of a history of input samples. If the filter spans a sufficient number of samples to cover a given time window, it can accomplish corrections for both mag and phase throughout that time window. The weights, the set of sample coefficients, can be a single set that corrects for direct response, and also correct for reflections occurring subsequently.
So bottom line, one file can do it all.

Again, my laymens take on something over my head technically...
I've just been measuring and hearing that it works..while trying to understand..
 

ICG

Disabled Account
Joined 2007
A FIR filter is a filter where each output sample is simply a weighted sum of a history of input samples. If the filter spans a sufficient number of samples to cover a given time window, it can accomplish corrections for both mag and phase throughout that time window. The weights, the set of sample coefficients, can be a single set that corrects for direct response, and also correct for reflections occurring subsequently.
So bottom line, one file can do it all.

Yes, one file can do it all. BUT: The number of files does not matter. It's the sum of the simultanously processed tasks (as in 'things to do') does. With every further reflection the distance in time (aswell as in physical space) - and therefore the number of samples - increases. Because the 'sequence' of the data becomes longer and the incoming data accumulates further, the needed processing power rises expotentially. Modern dsps can partly compensate for that with parallel processing and channeling but in the end it comes down to longer sequence to be processed = vastly more resources needed. It depends on the architecture of the dsp, how (or if) it can cope with the load. More recent dsps can likely take on more complex tasks with less impact on the performance. The group delay is one indicator how much data has to be processed, the complexity of the filters is another one. Victor Manuel Catala Iborra used 100 order polynomials in his correction file (which is a lot). With a different horn/driver combination it could be less but potentially even more. And with a coaxial driver that doubles. Gunnes paper was released in 2005, I'd expect large developments regarding dsp power since then. But then again, it depends on what hardware you're using. Some of the DSPs got developed just to make it cheaper, others increased the performance greatly, some of it is ofcourse eaten up by increasing the sample rate and resolution though.

Again, my laymens take on something over my head technically...
I've just been measuring and hearing that it works..while trying to understand..

I'm by no means an expert on DSPs. I've read about the programming and capabilities of dsps in the end of the 90s and early 00s without learning how to program it myself but starting to understand what the limiting factors are and what difficult (processing power intense) tasks are and what's practically 'automatically' done. At that time I didn't have the money for the hardware or a source of informations for diving deeper into it so I left it at that for the time being.

In the last few years I've got several (cheap) DSPs but did not program it myself, I just used the buttons on the unit or an application with a GUI to create my settings, I did nothing as complex as you are planning, I just encountered their limitations pretty quickly. I solved that by minimizing the number of applied filters or by using more DSPs for different channels (instead of one for all) but quickly came back to the basics as in 'what you fix physically on the speaker doesn't need processing power' and 'find your compromise, don't fix EVERYTHING'. Especally the latter is very important. Absolute perfection can't be reached in acoustics. Well, at least so far, maybe that changes in the future.

See, I'm not saying 'it doesn't work', I'm saying 'maybe check if can be realized with that complexity'. You can't force everything, sometimes it's better to change or optimize some of the physical circumstances (driver, horn, adapters or, very important, the room!) to reach your goals. So far I don't think your path is unreasonable, there's a lot we all can learn. I just like to check from time to time if it's realistic what I do or if there isn't a more simple way to get to the goal. I don't know how critical the processing power of your dsp is, maybe it's not even worth a concern, I simply don't know, I don't even know what you are using. I just wanted to say, it's probably worth to check that first.
 
If we simplify, take mouth reflection, ~15cm deep horn, reflections is back to diaphragm at 1ms, 48kHz its 48 samples. If it is tap per sample, it seems that the EQ part of such filter would dominate the taps, not the delay?

Throat reflection would be earlier, longer reflections wouldn't be correctable, so the 1ms was the longest reflection of concern in this example setup? I would think that if most of the 1ms reflected signal was cancelled at the diaphragm, there are no subsequent re-reflections (enough attenuation already) from that reflection so no need for more than 1ms delay.
 
Last edited:
Sorry my short text it is missing the details. I'm thinking the reflections very simplified, since Gunnes says something like this about the horn reflections: "Some of the reflections are fixable to some extent, such as abrupt change in throat"*. He doesn't say anything more (at least I haven't seen) about horn reflections other than "only some of the reflections are two-port LTI and fixable by pre-conditioning"* and then there is a picture of a throat reflection. Maybe the mouth reflections are not even included in his list?

Anyway, in reality the horn has all sorts of reflections and then more as ICG has said many times, but only some of them are fixable by Gunnes. This led me to mental model where I discard all but the most simplified reflections I can think of.

If we are thinking a mouth reflection back to throat, the reflected signal propably does all kinds of new reflections on the way traveling to the throat and then reflect back to mouth (from the throat) and so forth. I can't think that we could do anything for those complex reflections with pre-conditioning filter, and so I have understood from ICGs posts as well. So, as mouth reflection I'm only thinking the fraction that returns directly from the mouth all the way to the diaphragm. This led to the idea to measure the reflection with the driver, can't stick microphone inside the driver.

If we are thinking too complex, can we get anywhere with this?:) If a most simplest / dominant mouth reflection, to the diaphragm could be identified, we could try to fix that with a pre-condition filter.

* not direct quote, its what I've understood from the papers.
 
Last edited:
I'm very naive thinking like that, but gotta start somewhere. Maybe it is not necessary or possible to extract the "first arrival" from the mouth back to diaphragm? I think ICG has said it on some reply already. I think I'll concentrate figure out how to use the gnu octave (matlab) to find one. Crosscorrelation and synchrosqueesing seem to be some tools for the task. Gotta admit, I'm way over my head :D
 

ICG

Disabled Account
Joined 2007
I've dug a bit and found this explanation:

  • Tap – A FIR “tap” is simply a coefficient/delay pair. The number of FIR taps, (often designated as “N”) is an indication of 1) the amount of memory required to implement the filter, 2) the number of calculations required, and 3) the amount of “filtering” the filter can do; in effect, more taps means more stopband attenuation, less ripple, narrower filters, etc.
  • Multiply-Accumulate (MAC) – In a FIR context, a “MAC” is the operation of multiplying a coefficient by the corresponding delayed data sample and accumulating the result. FIRs usually require one MAC per tap. Most DSP microprocessors implement the MAC operation in a single instruction cycle.
  • Transition Band – The band of frequencies between passband and stopband edges. The narrower the transition band, the more taps are required to implement the filter. (A “small” transition band results in a “sharp” filter.)

Which confirms what I've said, the more correction filters you are applying and the closer they are, the narrower will be the bandwidth and required transition bands, which increases the taps.

And yes, I agree, to reduce the complexity and needed processing power, it would be best to fix only the most dominant reflections and EQing it selectively, to get to an acceptable close approach.
 
If we are thinking too complex, can we get anywhere with this?:) If a most simplest / dominant mouth reflection, to the diaphragm could be identified, we could try to fix that with a pre-condition filter.

This is my thinking, my goal too. As simple as possible to start.
If I can just identify the most dominant mouth reflection, I want to make a pre-condition FIR filter in opposition to that reflection.

Then, with the pre-condition filter in place, I will measure the CD/horn normally for its direct output, and build the usual FIR correction filter.

Then combine the two FIRs into one file, and compare that total direct output measurement to..
..the normal everyday direct output FIR correction I typically build.

And probably find i didn't accomplish a dang thing LoL

Hope that made sense...
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.