In MATLAB there are filters with 0 phase filtfilt and ordinary FIR1. When I filtered a group of simulated data, I found that filtFilt was superior to FIR1 in terms of phase delay. I know the difference. But would there be any essential difference between filtfilt-designed filter and FIR1-designed filter when written into FPGA? Or are they just different in Matlab when it is used to filter data? Besides, could you please tell me how to set the order of filtfilt? I would like to compare the filtering performance difference between FILtFilt and FIR1 of the same order. Thanks!
filtfilt() applies forwards, then backwards filtering using any iir filter you feed it. As such, it only applies to finite length file processing, not realtime stream processing.
fir1 is a method to design fir filters that can subsequently be applied using filter, conv or (unusually) filtfilt.