Finite Impuse Response filtering functions
Implements the following function, which is a FIR filter
y[n] = sum(k=0,M) h[k]*x[n-k]
We implement the fir function with five helper functions, depending on the type of the filter. In the following functions, we use the O&S convention that m is the order of the filter, which is equal to the number of taps minus one.