Digital Filters by Richard Hamming

This book showed me the beauty of digital signal processing, introduced magical world of filter design. Back then I was struggling with modern DSP books, which mostly focusing on facts and definitions (or even worse – Matlab) rather than underlying ideas and concepts.

Hamming’s book is of different kind. It starts slowly with several examples from numerical analysis – smoothing, differentiation, integration. All of them are based on polynomial interpolation which gives us very little freedom in building different methods with different properties tailored for particular application. All we can get is approximation order in terms of sampling step h. And, well … that is it. Not much really.

Picture changes drastically if we try to see how these classical methods behave on complex exponent e^{i\omega\,t}. For example, for simple 5-tap averaging we get

    \begin{align*} S(e^{ i\omega\,t}) &= e^{ i\omega\,t}\,\frac{1}{5}( e^{-2\,i\omega}+ e^{-i\omega}+1+ e^{i\omega}+ e^{2\,i\omega})\\ &= e^{ i\omega\,t}\,\frac{1}{5}(1+2\cos\,\omega+2\cos\,2\omega) \end{align*}

We see that averaging just multiplies source function by some value (expression in the brackets). Parameter \omega of complex exponent is a frequency, and multiplier – just shows how our filter reacts on that frequency. Running through all values of \omega we can evaluate transfer function of the filter

    \[ H(\omega)= \frac{1}{5}(1+2\cos\,\omega+2\cos\,2\omega) \]

Data can be presented as a sum of complex exponents (with different frequencies) and now we can see how filter will alter source data containing particular set of frequencies.

Further we can consider filter’s coefficients as parameters

    \[ H(\omega)= (c_0+2c_1\,\cos\,\omega+2c_2\,\cos\,2\omega) \]

Now we can easily derive {c_i} with any desired properties for particular data depending on frequency content in it.

Actually we just built framework for smoothing filter design. H(\omega) is Fourier transform of our ‘digital’ filter, and we moved our task to frequency domain.

Personally I’ve never saw such gentle and lucid introduction of frequency domain and filter design ideas.

Book is full of such simple explanations of difficult concepts. Must read for anyone interested in the subject. Highly recommended.

Here is another masterpiece of the same author: Hamming. You and Your Research.pdf.

1 Star2 Stars3 Stars4 Stars5 Stars (7 votes, average: 5.00)
Loading...

One Comment

  1. Jason Nicholson
    Posted March 24, 2014 at 3:06 am | #

    Pavel,

    Now I see where you got your start on Digital Filters. Thanks for posting this. I just ordered the book.

    Sincerely,
    Jason Nicholson

Post a Comment

Your email is never published nor shared.

Use native LaTeX syntax to include formulas: $ ... $, \[ ... \], etc. Do not forget to preview comment before posting.

Also you may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Subscribe without commenting