In modern embedded signal processing, where we often work with buffered signals and have access to past and future data, I’m curious about the continued emphasis on designing causal FIR filters. Given that non-causal FIR filters could potentially offer improved performance by utilizing future data, why do we still prioritize causal FIR filters for most practical applications? Are there specific reasons or constraints that make causal FIR filters still more advantageous despite the availability of buffered signals? as in modern FPGAs or GPUs we can easily implement non-causal FIR filters as well. I will appreciate insights into any trade-offs or considerations that influence this choice. Hope this is not a redundant question..
Edit after a couple of potential answers: My assumption is that when using a non-causal FIR filter I can have better performance (sharper cutoffs, high attenuations etc.) than a causal FIR filter given the same filter length