How to design a FIR filter without the signal processing toolbox

조회 수: 11 (최근 30일)
Oliver Bunn
Oliver Bunn 2016년 8월 16일
댓글: Star Strider 2016년 8월 17일
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?

답변 (1개)

Star Strider
Star Strider 2016년 8월 16일
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
Oliver Bunn
Oliver Bunn 2016년 8월 17일
Thank you, however when submitting the form I get a Server Error.
I will try later.
Star Strider
Star Strider 2016년 8월 17일
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.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Frequency Transformations에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by