# Convolution using filter: implementation

138 views (last 30 days)
gbernardi on 11 Jul 2012
Hello folks, I have a question about the implementation of convolution using filter.
All the time I've implemented linear filtering in MATLAB using the function filter, I've been using the coefficients' representation of the filter, i.e. I used the coefficients a and b, of denominator and numerator respectively.
Anyway, I was thinking that I should be able to obtain the same result if I used the whole representation of the impulse response (whose transfer function provides a and b) as the vector b.
For example, if my impulse response is an exponential like:
g = A*exp(-k*n)
n being my time vector, it can be represented by:
b = A
a = [1 -exp(-k)]
For what I said above, shouldn't it be the same the result of these two operations?
y = filter(b,a,x);
y = filter(g,1,x);

Honglei Chen on 11 Jul 2012
Your b and a represents an IIR filter while your g represents an FIR filter. Depending on what your original coefficients are, one of them is an approximation of the other.
##### 2 CommentsShowHide 1 older comment
Honglei Chen on 11 Jul 2012
Yes, you are correct.