Alternative for mfilt.iirdecim for decimation factors bigger than 2

조회 수: 1 (최근 30일)
Matthias Witkowski
Matthias Witkowski 2023년 8월 15일
댓글: Matthias Witkowski 2023년 8월 28일
As the documentation of mfilt.iirdecim says, this IIR polyphase decimator will be removed in feature releases. The recommendation is to use dsp.IIRHalfbandDecimator.
As the name states "IIRHalfbandDecimator", this function only supports design for a halfband filter (decimation by a factor of 2), so the realization has only two branches and only two branches can be configured manually. However, the old function "mfilt.iirdecim" allowed an arbitary number of branches/phases to be configured. In this way also decimation factors bigger than 2 were possible.
My question is now, what is the alternative to mfilt.iirdecim for a design with more than 2 branches/phases (a decimation factor >2), where each branch/phase (consisting of allpass cascades) can be configured manually?

답변 (1개)

Sarthak
Sarthak 2023년 8월 21일
Hi Matthias,
As per my understanding, rate conversion filters with a higher decimation factor can be implemented efficiently using multistage decimators. You can use designMultistageDecimator to obtain such efficient multistage designs.
Please refer to the following documentation to understand the implementation of a multistage filter design.
  댓글 수: 1
Matthias Witkowski
Matthias Witkowski 2023년 8월 28일
Hi Sarthak,
I have the impression that my question is not clear enough. I am not looking for alternative ways of implementing higher rate conversion e.g. as pointed out by you through multistage decimators.
My question points specifically at the method "mfilt.iirdecim", which allows for an N-th Band recursive IIR Filter. Each branch consisting of allpass cascades. In other words, "mfilt.iirdecim" works perfectly for me.
However, this IIR polyphase decimator will be removed in feature releases. The help page is pointing to dsp.IIRHalfbandDecimator, which is only a 2-th Band (halfband) filter, and so does not have the full functionallity of "mfilt.iirdecim". So my question is, if I want to have the full functionallity of "mfilt.iirdecim" (which will be removed), is there still a way to do it with any method of "dsp"?
Additionally one downside of mfilt is, that it is not supporting any fixed-point implementation.

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

카테고리

Help CenterFile Exchange에서 Multirate and Multistage Filters에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by