3. Секционированные свертки
Во многих практических задачах необходимо вычислять свертку двух конечных последовательностей, когда одна из них гораздо длиннее другой (скажем, N1 » N2 или N2 » N1). Конечно, всегда можно выбрать L = N1 + N2 – 1, но такой подход неэффективен и по ряду причин неудобен. Во-первых, перед вычислением свертки нужно иметь всю более длинную последовательность. На практике, например в радиолокации или при обработке речевых сигналов, это условие не всегда выполнимо. Во-вторых, поскольку обработка начинается только после приема всей последовательности, то результат получается с большой задержкой. И наконец, при слишком больших (N1 + N2 – 1) вычисление ДПФ значительно усложняется, – требуется большой объем памяти и возникают некоторые другие, чисто практические трудности, связанные с алгоритмами БПФ.
От перечисленных недостатков свободны два метода вычисления свертки: метод перекрытия с суммированием и метод вычисления линейной свертки последовательностей. Методы основаны на разбиении длинной последовательности на секции и вычислении частичных сверток, из которых затем формируется искомая выходная последовательности.
Первый из двух методов, называемый методом перекрытия с суммированием, иллюстрируется рисунком 6.4. Для простоты положим, что последовательность x(n) не ограничена, а последовательность h(n) содержит N2 отсчетов. Разделим последовательность x(n) на смежные секции длиной по N3 отсчетов – рис. 4.
Выбор N3 довольно сложен, но хорошие результаты получаются, если N3 – величина того же порядка, что и N2. Входная последовательность x(n) представляется в виде
x(n) = xk(n), (6)
где xk(n) =
Линейная свертка последовательностей x(n) и h(n)
y(n) = h(m) xk(n – m)
или y(n) = h(n)*xk(n) = yk(n). (7)
Рис. 4. Метод перекрытия с суммированием
Каждая из частичных сверток в сумме (7) длиной (N1 + N2 – 1) отсчетов содержит участок длиной в (N2 – 1) отсчетов, на котором k-я и
(k + 1)-я частичные свертки перекрываются, поэтому их отсчеты на участке перекрытия нужно сложить.
Рис. 5. Метод перекрытия с суммированием
На рис. 5 показано расположение и суммирование соседних частичных сверток yk(n). Каждая из частичных сверток вычисляется методом быстрой свертки (с помощью БПФ). Рассмотренный метод был назван методом перекрытия с суммированием именно потому, что промежуточные частичные свертки перекрываются и для получения конечного результата их необходимо сложить.
Рис. 6. Метод перекрытия с накоплением
Другой метод вычисления линейной свертки последовательностей, одна из которых значительно длиннее другой, также основан на секционировании более длинной последовательности. Его называют методом перекрытия с накоплением, причем в данном случае перекрываются входные, а не выходные секции. Ошибочные отсчеты круговых сверток отдельных секций отбрасываются. Остальные отсчеты накапливаются и из них формируется конечный результат.
Рассмотрим пример – рис. 6. Последовательность h(n) содержит N2 отсчетов, а последовательность x(n) разделена на секции xk(n) длиной по (N3 + N2 – 1) отсчетов, перекрывающиеся друг с другом на участках длиной по (N2 – 1) отсчетов. (Отметим, что участок перекрытия находится в конце последовательности xk(n). Это удобно для вычисления круговой свертки с помощью ДПФ.) Здесь перекрытие носит условный характер: последние (N2 – 1) отсчетов секции повторяют первые (N2 – 1) отсчетов предыдущей секции. Для каждой секции вычисляется круговая свертка последовательностей h(n) и xk(n), содержащая (N3 + N2 – 1) отсчет. В результате получается набор последовательностей yk(n) – рис. 7
Последние (N2 – 1) отсчетов каждой из последовательностей yk(n) отбрасываются (они неверны из-за циклического характера свертки), а остальные присоединяются к правильным отсчетам последовательности yk–1(n) и т. д. В результате получается искомая последовательность, тождественная свертке y(n). Итак, используя метод перекрытия с суммированием или метод перекрытия с накоплением, можно сравнительно легко найти свертку короткой и очень длинной последовательностей, причем результат получается в виде отдельных небольших секций, которые объединяются соответствующим образом в одну последовательность.
Рис. 7. Метод перекрытия с накоплением
Лекция 6
Цифровые фильтры
1. Уравнения цифровых фильтров
Связь между входной x(n) и выходной y(n) последовательностями дискретного преобразователя задается некоторым оператором {}:
Do'stlaringiz bilan baham: |