Your question is very vague and that's a problem, because the ideal solution usually depends on exactly what it is that you are trying to actually do.
With polyphase filters you don't decimate as a separate step, rather the whole point of "polyphase" filters is to have a filter with different input and output rates. For the 8:1 downsampling case, you'd collect 8 samples of input, then compute one output sample, then collect another 8 samples of input and compute another output sample. Note that where as with "polyphase upsampling" you'd multiply the input by many different "branches" and then interleave the results, with downsampling you just multiply the input with the whole kernel... but it's the same number of multiply-adds as the upsampling case, because we only do the "dot product" once per output (rather than input) sample.
With polyphase filters you don't decimate as a separate step, rather the whole point of "polyphase" filters is to have a filter with different input and output rates. For the 8:1 downsampling case, you'd collect 8 samples of input, then compute one output sample, then collect another 8 samples of input and compute another output sample. Note that where as with "polyphase upsampling" you'd multiply the input by many different "branches" and then interleave the results, with downsampling you just multiply the input with the whole kernel... but it's the same number of multiply-adds as the upsampling case, because we only do the "dot product" once per output (rather than input) sample.
Statistics: Posted by mystran — Thu Jan 23, 2025 8:43 pm