Даже при наличии мощного процессора непосредственный подсчет всех нужных значений
является трудоемкой задачей. Для уменьшения числа умножений используется следующий подход. Образец заменяется последовательностью
длины
. Из входной последовательности образуют последовательности длины
,
. После этого подсчитывается циклическая свертка 
Для отыскания значений свертки используется БПФ. Для этого число
должно обладать соответствующими арифметическими свойствами. Покажем теперь, как по найденным значениям
подсчитываются значения
. Это проще всего продемонстрировать на примере
. Имеем
, 
. Точно также, 
. Теперь мы можем найти значения 






