matlabsignal-processingdigital-filter

Digital Filter Design Matlab sptool/fdatool


What is the best method for selecting design properties for a digital filter in Matlab with the GUI sptool? More specifically, if I have a signal, how do I go about determining which filter values will yield the best solution.

Example:

For my signal A:

One possible filter could have properties:

  1. Design Method: FIR, Window
  2. Window Type: Gaussian
  3. Order: 10
  4. Fs: 100 5: Fc: 10

Another possible filter could have properties:

  1. Design Method: FIR, Window
  2. Window Type: Hamming
  3. Order: 7
  4. Fs: 64 5: Fc: 28

There are infinitely more possible filters.

I assume that one of the solutions yields a "better" answer than all others and it is that solution that I am trying to find. I know that I can try a brute force method, but I would rather not. Please suggest a methodology for selecting the filter properties that gives this "best" solution.


Solution

  • You're going to have to give some details about the signal type that you want.

    There are always certain tradeoffs depending on the type of filters you use. In general, you will have to at least provide us with the frequencies you are interested in, how sharp the cut off needs to be, computing requirements, and phase linearity.

    In general, I will simply turn you towards the wiki page on filters: Picking filters

    As you can see from the page, there are classes of filters (Take a look particularly at the Chebyshev, Butterworth, Bessel, and Elliptic models) that try to provide certain characteristics based upon what you need. You should also note the computational complexity of each type of filter.

    Personally, I'm lazy and not usually computationally limited so I just do:

    signal -> FFT -> multiply with desired frequency response -> IFFT.