Converting 4th order IIR filter to SOS (second-order sections)

I've designed 4th order allpass IIR filter using 'iirgrpdelay' and have the numerator and denominator which are 1-by-5 vectors. Now I want to convert this filter to (biquad) second-order sections (SOS), e.g., cascades of two SOS filters. I've tried with..
(1) dsp.SOSFilter but the function only takes an array with number of columns equal to 3.
(2) Construct allpass filter with 'Hd = dfilt.allpass(num)' and try to convert to 'df2sos', e.g., convert(Hd, 'df2sos').
None of them works for me, unfortunately.
Any function does this? Or any methology of implementing from a higher order IIR filters (e.g., Order N >= 4) to cascades of several SOS filters?

 채택된 답변

Paul
Paul 2023년 11월 15일

0 개 추천

Does tf2sos provide the desired result?

댓글 수: 1

Thanks Paul, this is indeed what I have been looking for.

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

추가 답변 (0개)

카테고리

질문:

Jay
2023년 11월 15일

댓글:

Jay
2023년 11월 15일

Community Treasure Hunt

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

Start Hunting!

Translated by