How to design a FIR filter without the signal processing toolbox
12 次查看(过去 30 天)
显示 更早的评论
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?
0 个评论
回答(1 个)
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 个评论
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 Center 和 File Exchange 中查找有关 Frequency Transformations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!