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?

 Accepted Answer

Does tf2sos provide the desired result?

More Answers (0)

Asked:

Jay
on 15 Nov 2023

Commented:

Jay
on 15 Nov 2023

Community Treasure Hunt

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

Start Hunting!