FIR filter decomposition (single rate)?
6 次查看(过去 30 天)
显示 更早的评论
I have a long single rate FIR filter. Due to a hardware limitation, I want to decompose it into two or more cascaded FIR filters with smaller taps. For example, I have 200 taps single rate FIR filter. What I want to do is decomposing the original 200-tap FIR filter into two or more cascaded 100-tap FIR filters. Does MATLAB have a related function or toolbox?
2 个评论
Mathieu NOE
2025-5-13
hello
maybe you can truncate your FIR filter if you can afford some tolerance in how the filter curve behaves in the lower frequency range (depends of your application)
splitting in two may not give you any benefit because shorter filters = less accuracy in lower freqs and having two instead of one filter may not be as accurate as the original filter anyway
or you could change to IIR filter for a much more compact realization (implement it as SOS (biquad) sections)
回答(1 个)
AH
2025-5-27
I suggest you use tf2zpk and zp2ctf. Use tf2zpk and zp2ctf. Let's say that the long FIR filter coefficients are stored in the row vector b. Then, [z,p,k] = tf2zpk(b,1); [num,den] = zp2ctf(z,p,k);. The function zp2ctf has name-value pairs that provides you with some nubs to control the order of sections.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Digital Filter Design 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!