2. Линейная свертка конечных последовательностей
Рассмотрим две конечные последовательности x(n) и h(n) длины по N1 и N2 отсчетов.
Последовательность x(n) отлична от нуля при 0 n N1 – 1, a последовательность h(n) — при 0 n N2 – 1. Линейной или апериодической сверткой этих последовательностей x(n) и h(n) называют последовательность y(n), определяемую соотношением
y(n) = h(m) x(n – m), (5)
здесь h(m) и x(n – m) равны нулю вне соответствующих интервалов.
Последовательность y(n) конечная – имеет длину (N1 + N2 – 1) отсчетов – рис. 2.
Обратным преобразованием Фурье произведения ДПФ двух конечных последовательностей получаем такой же результат, как при круговой свертке эквивалентных периодических последовательностей, образованных из данных конечных последовательностей. Исходя из этого, можно получить линейную свертку двух конечных последовательностей – рис. 1. Свертка периодических последовательностей периодична и имеет тот же период, что и сами последовательности.
Рис. 2. Линейная (апериодическая) свертка
Период свертки y(n) равен (N1 + N2 – 1) отсчетам, поэтому для получения такого периода при круговой свертки необходимо, чтобы x(n) и h(n) содержали по (N1 + N2 – 1) отсчетов, что достигается дополнением каждой из двух последовательностей соответствующим числом нулевых отсчетов – рис. 2. После этого можно найти (N1 + N2 – 1)-точечных ДПФ дополненных последовательностей, перемножить их и выполнить обратное ДПФ произведения. В результате получается искомая свертка y(n). На рис. 6.3 изображены эквивалентные периодические последовательности, используемые при вычислении круговой свертки; дополнение исходных последовательностей конечной длины x(n) и h(n) нулевыми отсчетами доводит период до нужной величины и позволяет устранить круговые наложения, характерные для круговой свертки. В результате каждый период последовательности yp(n) совпадает с последовательностью y(n) – рис. 3 и 2.
Рис.3. Вычисление линейной свертки с помощью круговой свертки
Метод вычисления свертки двух конечных последовательностей с применением алгоритма ДПФ называется быстрой сверткой в противоположность методу прямого вычисления суммы (5), называемому прямой или медленной сверткой. Термин «быстрая» применяется потому, что ДПФ можно вычислить быстро и аффективно, используя один из алгоритмов быстрого преобразования Фурье (БПФ). Можно показать, что даже при умеренных величинах (N1 + N2 – 1) (например, порядка 30) быстрая свертка оказывается эффективнее прямой. Поэтому рассмотренная методика – полезное вычислительное средство при обработке сигналов.
Для практических приложений важно отметить, что в рассмотренном выше примере размер ДПФ не обязательно ограничивать величиной (N1 + N2 – 1). ДПФ можно выполнять по любому числу отсчетов L, удовлетворяющему условию L N1 + N2 – 1. Если это условие удовлетворяется, то в отличие от вышеописанной методики последовательности x(n) и h(n) дополняются другим числом нулевых отсчетов. В результате эквивалентная периодическая последовательность yp(n) имеет в конце периодов (L – N1 – N2 + 1) нулей – эти отличия никак не искажают желаемого результата. Возможность произвольного выбора L существенна, поскольку практические алгоритмы вычисления ДПФ при разных L имеют неодинаковую эффективность. Так, например, для некоторых алгоритмов необходимо, чтобы L равнялось степени 2. В этом случае в качестве L приходится выбирать число, равное степени 2 и не меньшее, чем (N1 + N2 – 1).
Do'stlaringiz bilan baham: |