AnsweredAssumed Answered

filtfilt  implementation on SHARC

Question asked by Eranr on Sep 24, 2009
Latest reply on Sep 24, 2009 by PaulB

Hi there

is there an implemen implementation of the FILTFILT function in matlab on the SHARC processors ?







filtfilt - Zero-phase digital filtering


y = filtfilt(b,a,x)


y = filtfilt(b,a,x) performs zero-phase digital filtering by processing the input data, x, in both the forward and reverse directions (see problem 5.39 in [1]). The vector b provides the numerator coefficients of the filter and the vector a provides the denominator coefficients. If you use an all-pole filter, enter 1 for b. If you use an all-zero filter (FIR), enter 1 for a. After filtering the data in the forward direction, filtfilt reverses the filtered sequence and runs it back through the filter. The result has the following characteristics:

  • Zero-phase distortion

  • A filter transfer function, which equals the squared magnitude of the original filter transfer function

  • A filter order that is double the order of the filter specified by b and a


filtfilt minimizes start-up and ending transients by matching initial conditions, and you can use it for both real and complex inputs. Do not use filtfilt with differentiator and Hilbert FIR filters, because the operation of these filters depends heavily on their phase response.