Polyphase decimation filter: Simulink implementation of commutator variant not as expected
Show older comments
Hi,
I am modelling a polyphase decimation filter in Simulink. In literature there are 2 variant implementations:
- with a commutator
- with extra delay elements and decimators
Slide 25 shows block diagram with commutator and slide 24 without in below presentation:
The attached PolyphaseDecimation2.slx is the version without commutator that gives correct results.
In the attached PolyphaseDecimation.slx I try to simulate the commutator variant. But there is a huge difference between normal filter followed by decimation versus my polyphase implementation. The sine generator makes frames of 4 samples and with a demux I unpack such a frame to four values. Let's calculate the first output value. For the full filter this is the value input(0)*h(0) that will be selected by the decimator as the delay elements are initialized with zeros. The next 3 values coming out of the filter will be discarded. For my filter it is input(0)*h(0)+input(1)*h(1)+input(2)*h(2)+input(3)*h(3). This is clearly different and this is because the input(1:3) are directly used without a delay element.
So probably my interpretation of a polyphase decimator with commutator is not correct? Or are the two variants really different?
Kind regards, Bert
Accepted Answer
More Answers (0)
Categories
Find more on Multirate and Multistage Filters in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!