ha ha, that is great! well done!
Delighted to see that it still takes real intelligence to do that reasoning.
Delighted to see that it still takes real intelligence to do that reasoning.
I think it's a matter of definition whether you regard FIR filters as a special case of IIR filters or as a degenerated form that doesn't strictly belong to the set of IIR filters anymore because the impulse response is no longer infinite. I also think it is of no practical relevance.
For argument's sake, suppose we take a strict definition of IIR filter that doesn't allow the denominator to be independent of z. You can then still choose a denominator such that there is one pole at some nonzero but very small value of z, for example z = 0.001. The effect of the pole on the frequency response (magnitude and phase) will then be negligible for most practical purposes, and you can still make whatever causal magnitude and phase response you want to have by choosing a sufficiently long numerator polynomial with whatever coefficients are needed.
For argument's sake, suppose we take a strict definition of IIR filter that doesn't allow the denominator to be independent of z. You can then still choose a denominator such that there is one pole at some nonzero but very small value of z, for example z = 0.001. The effect of the pole on the frequency response (magnitude and phase) will then be negligible for most practical purposes, and you can still make whatever causal magnitude and phase response you want to have by choosing a sufficiently long numerator polynomial with whatever coefficients are needed.
Hi, I do not pretend to understand unit circles, poles, and zeros.....for FIR we have D(z)=1, ie a special case of IIR.
The eclipse article is mainly good but is wrongly alluding that only FIR can do independent control of phase and magnitude. Both FIR and IIR can do that by flipping one or more of the zeros (ie roots of N(z)) from the inside of the unit circle to outside or outside to inside. The zero flipping does not change the magnitude response but changes the phase.
What do you mean by embedding a filter into a file?
I do think I have a good handle on what type filters can be put into DSP processors and PC's.
It's easy for me (or anyone) to see both FIR and IIR can change phase independently of magnitude...witness IIR all-pass.
But only FIR as far as I've encountered, can invert an all-pass and produce maximum-phase.
I think this is what Eclipse is getting at. Which seems totally fair to me.
Saying both can manipulate phase independent of magnitude is relying on just normal all-pass usage (which has far less value that inverse all-pass ime/imo). And no linear-phase capability.
By minimum phase filters embedded into a FIR file, i mean just having the FIR generator build a file that includes whatever min-phase EQ's you want in it.
With an auto target matching generator, that can mean essentially an unlimited number of min phase EQs.
Another big advantage of FIR....get's past the typical DSP limitation on number of filters allowed.
I try to avoid wav files, and stick with FIR files produced as txt or csv.Mark100 points to a particular case where the FIR impulse response array is 'specified' as a wav file.
A string of coefficients...
Ok, I fed your #16 into Leo AI and here's the reply. :)ha ha, that is great! well done!
Delighted to see that it still takes real intelligence to do that reasoning.
A: You're correct in stating that an IIR filter transfer function has a denominator polynomial (D(z)), which is the recursive part, while a FIR filter transfer function only has a numerator polynomial (N(z)). This suggests that FIR filters can be viewed as a special case or subclass of IIR filters where the denominator polynomial is equal to 1, effectively removing the feedback component. This is the theoretical perspective mentioned in post #16. However, in most practical applications, FIR and IIR filters are considered distinct classes due to their unique characteristics and uses.
So basically you have a very energy-inefficient parrot.
that is an interesting hypothesis. I have wondered why FIR gets hyped like curing cancer and IIR is pure trash.In my opinion, there's some kind of perception that an FIR is a superior filter with the IIR being inferior. Manufacturers of processing equipment need to show newer features to get users hooked to their more expensive newer units, which is how I believe FIR filters found their way into the dictionaries of the non-technical masses.
My sub class thing is perhaps a little put on the edge since a FIR filter is a rather degenerate IIR filter (D=1) as Marcel pointed out.
The main point is that whatever a FIR filter can do then an IIR filter can do more thanks to the addition of the 1/D term. This should hopefully make it clear that FIR is not superior to IIR.
this a good point: the freedom to flip zeros (roots of N) on and out of the unit circle gives freedom to manipulate phase independent of magnitude. This goes for both IIR and FIR since both have the numerator N.The effect of the pole on the frequency response (magnitude and phase) will then be negligible for most practical purposes, and you can still make whatever causal magnitude and phase response you want to have by choosing a sufficiently long numerator polynomial with whatever coefficients are needed.
If we flip the poles of D then the filter gets unstable. At least in forward time. Running the IIr in reverse time is a fantastic trick to undo the phase of an all-pass filter.
that is an interesting hypothesis. I have wondered why FIR gets hyped like curing cancer and IIR is pure trash.
My sub class thing is perhaps a little put on the edge since a FIR filter is a rather degenerate IIR filter (D=1) as Marcel pointed out.
The main point is that whatever a FIR filter can do then an IIR filter can do more thanks to the addition of the 1/D term. This should hopefully make it clear that FIR is not superior to IIR.
I heard the following story from someone who knew people who worked on the first Philips CD players:
Originally, Philips intended CD to be a 14 bit system, but Sony insisted on 16 bit. Philips then had to find a way to squeeze 16 bit performance out of their 14 bit audio DAC, the TDA1540. They managed to do that with four times oversampling and a rudimentary type of noise shaping.
As they happened to have a linear-phase FIR design program at their disposal, they chose a linear-phase FIR interpolation filter. Their marketing department then wanted to use the phase linearity of Philips CD players as a selling point, so they also used an analogue filter with a nearly linear phase response over its passband.
How do you do that?Running the IIr in reverse time is a fantastic trick to undo the phase of an all-pass filter.
I still can't see that as practical reality. What does the 1/D term add to a FIR filter? Anything besides turning it into not a FIR filter?The main point is that whatever a FIR filter can do then an IIR filter can do more thanks to the addition of the 1/D term. This should hopefully make it clear that FIR is not superior to IIR.
How do you get the IIR filter to feed forward and duplicate the FIR?
I agree that marketing probably overtouts FIR for the clear reasons you state.In my opinion, there's some kind of perception that an FIR is a superior filter with the IIR being inferior. Manufacturers of processing equipment need to show newer features to get users hooked to their more expensive newer units, which is how I believe FIR filters found their way into the dictionaries of the non-technical masses.
And personally, i kinda abhor marketing and look under the hood for myself.
Ime, put marketing aside.......two clearly superior properties of FIR for multi-way speakers are:
the ability to use linear-phase crossovers,
and the ability to embed essentially unlimited minimum phase EQ's into a FIR file.
Those are very real advantages...which i think are "head-in-the-sand to deny."
I am not pro one or the other. both have their strengths and weaknesses. I agree that phase linear xovers is a great application for FIR. The min phase EQ is best done as IIR (depending on what to EQ of course). Any response with zeros takes a 1/D(z) term to cancel. A speaker driver is modelled extremely well as a minimum phase IIR and its inverse is therefore a minimum phase IIR filter as well.Ime, put marketing aside.......two clearly superior properties of FIR for multi-way speakers are:
the ability to use linear-phase crossovers,
and the ability to embed essentially unlimited minimum phase EQ's into a FIR file.
The simplest is off line: take a track and flip the time axis and run it through the all-pass filter and listen to it with the time axis flipped back. Do no it real time is more challenging and has to be done block based. It adds latency of course. but so does a long FIR phase unwrapping filter which essentially also is an all pass impulse response flipped in time.How do you do that?
Actually there are two dimensions that can be continuous or discrete - time and signal - discrete time continuous signal filters exist, as do the more familiar discrete time digital filters and all-analog filters.FIR and IIR are both LTI filters that obey discrete mathematics, having their own characteristics and areas of application.
One clear strong point of an IIR filter is being able to have very low filter cutoff frequencies with only a few coefficients - for a FIR filter the lowest cutoff frequency is bounded by the number of taps, if you want a 1Hz low pass filter at 44100 SPS a FIR filter needs maybe ~100000 taps, an IIR filter only needs enough for the filter order - though you need higher precision the more extreme you go, but 64 bit precision with 6 terms is a lot cheaper than 16 bit with 100000 terms. Hardware limitations can make this messy though.
As an example the RIAA equalization curve is a simple 3 term IIR, but takes 1000's of taps as a FIR.
But there are many tricks you can pull with FIR filters to redress this imbalance, from partitioned fast convolution using FFT to rate conversion / decimation / interpolation around low-pass filters (polyphase filters, halfband too IIRC).
I'm only pro FIR because it's so damn much easier to get super results, both measurement and sonically ! IIR is tough !I am not pro one or the other. both have their strengths and weaknesses. I agree that phase linear xovers is a great application for FIR. The min phase EQ is best done as IIR (depending on what to EQ of course). Any response with zeros takes a 1/D(z) term to cancel. A speaker driver is modelled extremely well as a minimum phase IIR and its inverse is therefore a minimum phase IIR filter as well.
With regard to how is it best do minimum phase IIR (driver corrections is what I'm addressing)....this is a comparison I've been running just this last week.
Instead of simply letting the FIR generating software automatically embed minimum phase driver corrections, I put in IIR EQ's as preconditioning filters for each driver section. And then compared.
here's a snip showing partial signal flow and the left channel's sub filters (running 3 ch LCR)
So far, only the sub channel makes any difference at all, transfer function or listening, whether IIR is used separately or IIR/min phase is embedded into FIR.
Which makes sense because the FIR filters being used were only 8192 taps @ 48kHz, for about 12Hz frequency resolution. Not so good for <100Hz work !
But fine for higher drivers.
Bottom line imo, is when you can't tolerate latency, or have insufficient frequency resolution from available FIR capacity, use IIR.
Otherwise, FIR rules.
The simplest is off line: take a track and flip the time axis and run it through the all-pass filter and listen to it with the time axis flipped back. Do no it real time is more challenging and has to be done block based. It adds latency of course. but so does a long FIR phase unwrapping filter which essentially also is an all pass impulse response flipped in time.
Thx. If I understand correctly, that means you have to do this / record an individual track. And my guess is gives the same latency as FIR.
If I understand correctly, why would anyone ever do something so cumbersome, compared to straight up FIR?
Which will work in real time???
Can anyone recommend some resources that aren't too math intensive and written like a textbook on finite impulse response? Something like FIR for Dummies? Currently I have IIR, and can only tolerate a small amount of latency compared to video.
Also, from what I understand Hypex gives you the option of 1500 taps per output channel, or 4500 globally both at 93.75khz.
Also, from what I understand Hypex gives you the option of 1500 taps per output channel, or 4500 globally both at 93.75khz.
That is not correct. FIR filters are not inherently linear phase, they're that only when their impulse response is symmetric. I think Artificial Intelligence doesn't really know what it's saying, all it does is copy & paste information from somewhere to cook up an answer that reads well. I prefer Natural Intelligence.They are inherently stable and linear phase, which is beneficial in many applications.
I think someone like @gberchin can provide more credible and scientific comparisons than an AI does.
It's the same thing, hence the word 'array'. An FIR filter is as simple as saying h[n] = {1,2,3,4} that is, a finite-length impulse response as opposed to an infinite one that cannot be listed. You may equivalently specify the coefficients of the frequency response, which is all the same thing !!I try to avoid wav files, and stick with FIR files produced as txt or csv.
A string of coefficients...
But only FIR as far as I've encountered, can invert an all-pass and produce maximum-phase.
Inversion of a transfer function interchanges poles and zeroes. An FIR filter cannot invert an all-pass filter transfer function, as it does not have poles. Moreover, this would imply violating causality. If a large delay is introduced to prevent this violation, then even an IIR filter could do it !!
Read your old thread again, " Why not IIR + global ...".How do you do that?
Now that'ss where I call you honest !! FIR is simply 'convenient' to many people allowing them to be lazier than ever before. IIR requires some work and knowledge. This is because an FIR filter is just a list of numbers, csv or whatever format.I'm only pro FIR because it's so damn much easier to get super results, both measurement and sonically ! IIR is tough !
Last edited:
- Home
- Loudspeakers
- Multi-Way
- Digital Signal Processing - How it affects phase and time domain