How to design a FIR filter without the signal processing toolbox

10 visualizaciones (últimos 30 días)
Oliver Bunn
Oliver Bunn el 16 de Ag. de 2016
Comentada: Star Strider el 17 de Ag. de 2016
I have a wave file with which I need to apply the FIR filter to. However I do not have the toolbox which gives you functions such as 'fir1' or 'filter'.
Does anyone know how to write the transfer function and how to calculate the constants required?

Respuestas (1)

Star Strider
Star Strider el 16 de Ag. de 2016
You can always code it yourself (as we had to do when I took my last signal processing course since we were told we could not use the Toolbox for our assignments).
York University (UK) has provided a filter design site that I’ve recommended in the past and that others have found helpful: Butterworth / Bessel / Chebyshev Filters. These are IIR — not FIR — filters, and should work for you.
Note that the filter function introduces a phase delay, and only coding the filtfilt function yourself will eliminate the phase distortion in the filtered signal. (Bessel filters, that are phase-neutral as continuous filters in hardware, lose that characteristic in their discrete transformations.)
  2 comentarios
Oliver Bunn
Oliver Bunn el 17 de Ag. de 2016
Thank you, however when submitting the form I get a Server Error.
I will try later.
Star Strider
Star Strider el 17 de Ag. de 2016
I just checked it to be sure it still existed. I didn’t try to design a filter with it this time, because I have the Signal Processing Toolbox. You can try emailing ‘anthony’ to see if it can be restored, since it’s a useful site.
The only other possibility I was able to find is Digital Filter Design on the Maple site. There’s a Maple Player that you can download that will let you interact with it, but I don’t know if it will let you actually design the filter and get the coefficients. I usually depend on the Wolfram site, but they don’t have anything on filter design that’s interactive. I can’t find any other sites.
That said, filters aren’t that difficult to design. It’s just inconvenient to write the code. The usual procedure is to design the continuous-time analogue version, then use the bilinear transform to do the discrete conversion.

Iniciar sesión para comentar.

Categorías

Más información sobre Frequency Transformations en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by