Timeline for Why keep on using causal FIR filters for Real-Time Signal Processing?
Current License: CC BY-SA 4.0
12 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| Sep 30, 2024 at 5:10 | vote | accept | malik12 | ||
| Sep 28, 2024 at 13:50 | answer | added | Hilmar | timeline score: 2 | |
| Sep 27, 2024 at 9:19 | comment | added | malik12 | @hilmar Ah, as the impulse response is the same in either case, there would be essentially no difference in the frequency response, the difference is just a delay in impulse response. My initial thought that having access to the "future" samples in case of no delay would improve the response is totally wrong. Sorry for wasting everyone's time. If this is worthy of an answer post this as such and I will accept and close if not then ill delete the question altogether. Thank you | |
| Sep 26, 2024 at 22:23 | comment | added | Hilmar | @malik12: My point here is: what you are describing is standard practice. Every linear phase filter is implemented this way, It's used all the time. Your question of "why don't we use it more often" is a false premise. It IS used very often already. Most of FIR filter design is done in the "non-causal" domain and you just add delay to make it implementable. | |
| Sep 26, 2024 at 18:05 | history | edited | malik12 | CC BY-SA 4.0 | deleted 4 characters in body |
| Sep 26, 2024 at 18:02 | comment | added | malik12 | @Hilmar Sorry for any misunderstanding, what I meant to say was that in case of causal FIR filter we need current and all past samples, lets say 128 order, now in case of buffered signal what I have is a current sample in midway, future and past values, so in this case given the order was same will the "non-causal" filter have any better performance then its causal counterpart or will the response be same, if it is better then why isn't it used more often than the causal one, yes I understand strictly speaking its not non-causal | |
| Sep 26, 2024 at 14:16 | comment | added | robert bristow-johnson | I think you, @Hilmar meant to say: "Strictly speaking you cannot implement an acausal filter since you can't see into the future. " | |
| Sep 26, 2024 at 12:46 | comment | added | Hilmar | The question appears to be based on a misunderstanding. Strictly speaking you cannot implement a causal filter since you can't see int the future. The buffering you describe simply adds delay, which makes the filter causal (and hence implementable). The vast majority of FIR design tools do exactly that so it's absolutely standard practice. It makes no difference if you add the delay during the filter design or as part of the buffering. In conclusion: you can't implement a zero phase filter, but you can delay it and you end up with a linear phase filter. Otherwise it's the same. | |
| Sep 26, 2024 at 11:19 | history | edited | malik12 | CC BY-SA 4.0 | To clear up any confusion as to the motive |
| Sep 26, 2024 at 9:34 | answer | added | Knut Inge | timeline score: 0 | |
| Sep 26, 2024 at 8:39 | answer | added | Justme | timeline score: 0 | |
| Sep 26, 2024 at 5:35 | history | asked | malik12 | CC BY-SA 4.0 |