Vectorize polyphase filter operation

1 view (last 30 days)
Shannon Cherry
Shannon Cherry on 14 Apr 2020
Hi, I have implemented a matlab code for polyphase filter. Is there any way I could vectorize/optimize this code by avoiding nested for loops?
clc;clear;close all;
% Input parameters
input = [2 4 6];
upSamplingFactor = 3;
% filter coefficients
h = 1:9;
%% Polyphase filter without any inbuilt libraries
% Y(n) = sum(X(i)*h(n-Li); where L = upFactor
outputLen = numel(input)*upSamplingFactor;
output = zeros(1,outputLen);
for outIndex = 1:outputLen
nextIndex = 0;
for loopIndex = 0:upSamplingFactor:outIndex-1
output(outIndex) = output(outIndex) + input(nextIndex+1)*h(outIndex-upSamplingFactor*nextIndex);
nextIndex = nextIndex + 1;
end
end

Answers (0)

Community Treasure Hunt

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

Start Hunting!