3 ms·
Impulse response is sort of overkill here. If you design a filter bank in the first place, you can just implement that filter bank much cheaper than doing even
by thrtythreeforty 2y ago
Impulse response is sort of overkill here. If you design a filter bank in the first place, you can just implement that filter bank much cheaper than doing even an FFT-based convolution. Convolution is useful when you don't know the underlying filter transfer function.
- cycomanic 2y agoI'm not sure I understand. How would you apply your FIR filter? Are you suggesting there is a different way than to either do convolution in the time domain or a multiplication in the frequency domain?
- colanderman 2y agoPresumably GP is suggesting IIR filters?
- manawyrm 2y agoREW can generate a set of peaking/shelf equalizer filters, but why would I want to do that instead of just applying the inverse impulse response instead? It's just more work for a less perfect solution/result...
- Retr0id 2y ago> Convolution is useful when you don't know the underlying filter transfer function But we don't?
- smj-edison 2y agoPerhaps it's simpler to configure with a single impulse response vs multiple filters?
- gmueckl 2y agoThis depends entirely on the length of the impulse response, doesn't it? A very short time domain convolution isn't actually more computationally expensive than a bank of crossover filters.
- Sesse__ 2y agoIt really depends on what your filter bank looks like. If it's a 4-band parametric EQ, then sure, you can have four biquad IIR filters and that's it. But if you've measured an impulse response and want its inverse (e.g. through a Wiener filter), that's not what you have; you simply have another impulse response (effectively closer to a N-band graphical EQ where N >= 100), not a parametric EQ. As a nitpick: You always know the filter transfer function, it's the DFT of the impulse response (and without the impulse response, you obviously cannot convolve).
- thrtythreeforty 2y agoAgreed - I read this bit in the article: > generating a filter curve for a 300Hz slope, both channels were divided (A/B) against that curve as defining a parametric EQ band. If you just generally want to invert a measured impulse response, then yeah, you don't know the underlying transfer function.
- Sesse__ 2y agoWell, immediately after that, they say they inverted the entire curve (through a naïve 1/|X| and then un-FFT, presumably) and saved it as an impulse response. I think the 300Hz slope is to _keep_ the rolloff in that area, so that the system doesn't try to boost bass by 40 dB and just end up clipping madly. Since these operations sort-of commute, it is easier to understand if you invert the order of operations: 1. Invert the spectrum (ideally through something less sensitive to noise than what's done here). Now you have an impulse response that will, in theory, give you a perfectly flat frequency response. 2. Apply a 300 Hz slope. Now you gave up some of that flatness, but you have something that's physically realizable without murdering your speakers.
- manawyrm 2y agoExactly correct, that was my thought process while doing it. I tried it without that 300 Hz slope first of course, but that did try to murder my speakers. :)
- thrtythreeforty 2y ago