Перекрытие – метод добавления
В обработке сигналов метод перекрытия-сложения является эффективным способом оценки дискретной свертки очень длинного сигнала. с фильтром с конечной импульсной характеристикой (FIR) :
| ( Уравнение 1 ) |
где для за пределами региона В этой статье используются общие абстрактные обозначения, такие как или при котором подразумевается, что функции следует мыслить в их совокупности, а не в отдельные моменты времени. (см. Convolution#Notation ).
Идея состоит в том, чтобы разделить проблему на несколько витков с короткими сегментами :
где — произвольная длина сегмента. Затем :
и можно записать как сумму коротких сверток : [1]
где линейная свертка равен нулю вне области И по любому параметру [А] это эквивалентно -точечная круговая свертка с в регионе Преимущество состоит в том, что круговая свертка может быть вычислена более эффективно, чем линейная свертка, согласно теореме о круговой свертке :
| ( Уравнение 2 ) |
где :
- DFT N и IDFT N относятся к дискретному преобразованию Фурье и его обратному преобразованию, оцениваемому по дискретные точки и
- обычно выбирают так, что представляет собой целое число, степень двойки, а преобразования для повышения эффективности реализуются с помощью алгоритма БПФ .
Псевдокод
[ редактировать ]Ниже приведен псевдокод алгоритма :
(Overlap-add algorithm for linear convolution)h = FIR_filterM = length(h)Nx = length(x)N = 8 × 2^ceiling( log2(M) ) (8 times the smallest power of two bigger than filter length M. See next section for a slightly better choice.)step_size = N - (M-1) (L in the text above)H = DFT(h, N)position = 0y(1 : Nx + M-1) = 0while position + step_size ≤ Nx do y(position+(1:N)) = y(position+(1:N)) + IDFT(DFT(x(position+(1:step_size)), N) × H) position = position + step_sizeend
Соображения эффективности
[ редактировать ]Когда ДПФ и IDFT реализуются с помощью алгоритма БПФ, приведенный выше псевдокод требует около N (log 2 (N) + 1) комплексных умножений для БПФ, произведения массивов и ОБПФ. [Б] Каждая итерация создает выходные выборки N-M+1 , поэтому количество комплексных умножений на выходную выборку составляет около :
| ( Уравнение 3 ) |
Например, когда и Уравнение 3 равно тогда как прямая оценка уравнения 1 потребует до комплексные умножения на выходную выборку, худший случай — когда оба и являются комплексными. Также обратите внимание, что для любого заданного Уравнение 3 имеет минимум по отношению к На рисунке 2 представлен график значений которые минимизируют уравнение 3 для диапазона длин фильтра ( ).
Вместо уравнения 1 мы также можем рассмотреть применение уравнения 2 к длинной последовательности длины образцы. Общее количество комплексных умножений будет:
Для сравнения, количество комплексных умножений, требуемых алгоритмом псевдокода, равно:
Следовательно, стоимость метода перекрытия-добавления масштабируется почти так же, как в то время как стоимость одной большой круговой свертки почти . Эти два метода также сравниваются на рисунке 3, созданном с помощью моделирования Matlab. Контуры представляют собой линии постоянного соотношения времени, необходимого для выполнения обоих методов. Когда метод перекрытия-добавления работает быстрее, соотношение превышает 1, и видны отношения, достигающие 3.
См. также
[ редактировать ]Примечания
[ редактировать ]- ^ Это условие подразумевает, что сегмент имеет как минимум добавленные нули, что предотвращает циклическое перекрытие переходных процессов повышения и спада выходного сигнала.
- ^ Алгоритм БПФ Кули – Тьюки для N = 2 к требуется (N/2) log 2 (N) – см. БПФ – Определение и скорость
Ссылки
[ редактировать ]- ^ Рабинер, Лоуренс Р.; Голд, Бернард (1975). «2,25» . Теория и применение цифровой обработки сигналов . Энглвуд Клиффс, Нью-Джерси: Прентис-Холл. стр. 63–65 . ISBN 0-13-914101-4 .
Дальнейшее чтение
[ редактировать ]- Оппенгейм, Алан В.; Шафер, Рональд В. (1975). Цифровая обработка сигналов . Энглвуд Клиффс, Нью-Джерси: Прентис-Холл. ISBN 0-13-214635-5 .
- Хейс, М. Гораций (1999). Цифровая обработка сигналов . Серия набросков Шаума. Нью-Йорк: МакГроу Хилл. ISBN 0-07-027389-8 .
- Сенобари, Надер Шакибай; Фаннинг, Гарет Дж.; Кио, Имонн; Чжу, Ян; Да, Чин-Чиа Майкл; Циммерман, Закари; Муин, Абдулла (2019). «Сверхэффективная кросс-корреляция (SEC-C): код быстрой согласованной фильтрации, подходящий для настольных компьютеров» (PDF) . Письма о сейсмологических исследованиях . 90 (1): 322–334. дои : 10.1785/0220180122 . ISSN 0895-0695 .