12
$\begingroup$

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 :)

| improve this question | | | | |
$\endgroup$
  • $\begingroup$ Which filter type is this (you had to specify one in fdatool)? $\endgroup$ – Phonon Jan 26 '12 at 19:11
  • $\begingroup$ Its a low pass filter designed using Least Square Algorithm $\endgroup$ – Prashant Singh Jan 29 '12 at 1:29
  • $\begingroup$ Just to be clear here: multiplication and convolution are COMPLETELY different things, so your equation is technically wrong. Convolution would be something like k=1:FilterLength; y[n] = sum(h[k].*x[n-k]); $\endgroup$ – Hilmar Jan 29 '12 at 17:12
  • $\begingroup$ Sorry, I forgot to put the summation $\endgroup$ – Prashant Singh Jan 30 '12 at 2:43
12
$\begingroup$

We can try a very short introduction:

  1. Every filter represents a Linear Time Invariant System (LTI)
  2. 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
  3. Filter coefficients are derived from impulse response or transfer function
  4. The exact nature of the filter coefficients depends on the algorithm (there are quite a few of those)
  5. 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.
  6. In most other algorithms the relationship is much more complicated and text book study is indeed required.
  7. The whole subject of LTI systems, transfer functions, Fourier Transforms, amplitude responses, phase responses etc. is probably another text book worth of stuff
| improve this answer | | | | |
$\endgroup$
2
$\begingroup$

"The Scientist & Engineer's Guide To DSP" is an exceptional(imo) introductory read. It gives you all the concepts without overwhelming a beginner with all the math.

| improve this answer | | | | |
$\endgroup$
1
$\begingroup$

wow... that question is the subject of an entire university level course in discrete time signals and systems. In a nutshell, h is called the impulse response and is closely related (through a Fourier transform). It characterizes a system (e.g. a filter) in the time domain. In discrete time systems, this is a "sampled" form and the coefficients represent the samples for a "finite impulse response" or FIR filter. Here is a decent article on the topic, but frankly you need a textbook to get a thorough understanding.

| improve this answer | | | | |
$\endgroup$
  • $\begingroup$ Thanks. But it will be too good if you can suggest me the name of the book $\endgroup$ – Prashant Singh Jan 26 '12 at 18:23
  • $\begingroup$ I believe this is the book I learned from: amazon.com/Discrete-Time-Signal-Processing-2nd-Prentice-Hall/dp/… $\endgroup$ – vicatcu Jan 26 '12 at 19:08
  • 3
    $\begingroup$ A much better (and more practical) book for beginners (IMNVHO) is Richard Lyons' Understanding DSP $\endgroup$ – Paul R Jan 26 '12 at 23:02
  • $\begingroup$ Understanding_DSP - seconded! $\endgroup$ – Martin Thompson Jan 27 '12 at 16:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.