I designed a digital filter using fdatool of matlab and obtained the filter coefficients from the tool.
The problem is that i designed a 4th order filter. This gave me 5 filter values
h[] = {0.1930,0.2035,0.2071,0.2035,0.1930}
x[k] = Discrete time input signal
Now on using the formula
Output = h[k]*x[n-k];
Output represents the final filtered value.Although the results are coming fine, but I am not able to find out how those coefficients are obtained by matlab and how mere multiplication(convolution) gives the final filtered response for any sample.
Any link or explanation will do. I wish to know the complete back-end working of filter coefficient calculation.
Please comment if i am unclear in my doubt somewhere.
Thanks :)
Answer
We can try a very short introduction:
- Every filter represents a Linear Time Invariant System (LTI)
- Every Linear Time Invariant System can be completely described by it's transfer function or it's impulse response. The two can be converted into each other by the Fourier Transform
- Filter coefficients are derived from impulse response or transfer function
- The exact nature of the filter coefficients depends on the algorithm (there are quite a few of those)
- In the case of the simplest algorithm, the direct convolution FIR (Finite Impulse Response) filter, the filter coefficients are simply the impulse response of the LTI system.
- In most other algorithms the relationship is much more complicated and text book study is indeed required.
- The whole subject of LTI systems, transfer functions, Fourier Transforms, amplitude responses, phase responses etc. is probably another text book worth of stuff
No comments:
Post a Comment