Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

5
  • 2
    $\begingroup$ 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. $\endgroup$ Commented Sep 26, 2024 at 12:46
  • 1
    $\begingroup$ I think you, @Hilmar meant to say: "Strictly speaking you cannot implement an acausal filter since you can't see into the future. " $\endgroup$ Commented Sep 26, 2024 at 14:16
  • $\begingroup$ @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 $\endgroup$ Commented Sep 26, 2024 at 18:02
  • $\begingroup$ @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. $\endgroup$ Commented Sep 26, 2024 at 22:23
  • $\begingroup$ @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 $\endgroup$ Commented Sep 27, 2024 at 9:19