Предложена оптимизация алгоритма вычисления циклической свертки длины N=2ⁿ на основе быстрого преобразования Уолша (БПУ). Оптимизация заключается в использовании свойства предварительной корректировки сигнала длины M сигналом длины M/2 для получения суммарного результата БПУ двух сигналов на основе одного БПУ длины M . За счет этого уменьшается число БПУ более чем в два раза, что уменьшает сложность по числу операций сложения и вычитания. Показано, что алгоритм поддается распараллеливанию. Алгоритм проиллюстрирован на реализации сверток длины 4 и 8. Приведены оценки сложности при параллельном и последовательном вычислении.
Запропонована оптимізація алгоритму обчислення циклічної згортки довжини N=2ⁿ на основі швидкого перетворення Уолша (ШПУ). Оптимізація полягає у використанні властивості попереднього корегування сигналу довжини M сигналом довжини M/2 для отримання сумарного результату ШПУ двох сигналів на основі одного ШПУ довжини M . За рахунок цього зменшується число ШПУ більш ніж у два рази, що зменшує складність за кількістю операцій додавання та віднімання при послідовному обчисленні. Показано, що алгоритм піддається розпаралелюванню. Алгоритм проілюстровано на реалізації згорток довжини 4 и 8. Наведені оцінки складності при послідовному та паралельному обчисленні.
It is given the optimization of computation algorithm for convolution of length N=2ⁿ based on Fast Walsh transform (FWT). The optimization includes the use of the quality of pre-computational adjustment of multi-digit value of length M by multi-digit value of length M/2 to get the sum of FWTs both multi-digit values based on computation of one FWT multi-digit value of length M . The total number of FWTs is reduced more than twofold. That reduces the number of single precision additions and subtractions on sequential computation. It is shown that it is possible to compute algorithm in parallel. There are examples of computation algorithm of convolutions of length 4 и 8. Complexity of sequential and parallel computations is shown.