1D convolução rápida sem FFT
Preciso de uma convolução 1D contra 2 grandes matrizes. Estou usando esse código em c #, mas leva muito tempo para executa
Eu sei eu sei! As convulsões da FFT são muito rápidas. Mas neste projeto eu não posso usá-lo. É uma restrição do projeto não usar o FFT (por favor, não pergunte o porquê: /).
Este é o meu código em C # (portado de matlab, a propósito):
var result = new double[input.Length + filter.Length - 1];
for (var i = 0; i < input.Length; i++)
{
for (var j = 0; j < filter.Length; j++)
{
result[i + j] += input[i] * filter[j];
}
}
ntão, alguém conhece algum algoritmo de convolução rápida widthout FF