0
$\begingroup$

I want to convolve two discrete functions $f$ and $g$ using convolution stride size $a$ to get the result as $s_{a, i}$:

$$s_{i,a} = \sum_i g_k f_{ai-k}$$

I know that simple convolution with $a=1$ can be calculated via FFT. I can do it even now, but I have to drop out all the points except $ai$. I think this way is not the best.

Cannot you advice me something better?

$\endgroup$
0
$\begingroup$

You can implement the downsampling with a polyphase filter. Have a look at this document, and go to "downsampled polyphase filter". You basically decompose $f_n$ into $a$ ("stride size") subsampled components. If you do that you can move the downsampling operation before the filters, which makes the process more efficient. However, if efficiency is not a big issue, the question is if it's worth the trouble. For real-time applications it certainly is.

| cite | improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.