Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Моднейший справочник по ТИ.pdf
Скачиваний:
114
Добавлен:
05.06.2015
Размер:
439.43 Кб
Скачать

31)Цифровые свёртки, секционированные свёртки, быстрые свёртки

32)Вычисление линейной свёртки через круговую

а) Круговая (периодическая) или циклическая {б) Линейная( )} = 0, (апер1 иодическая)

{ ( )},, = 0, 1

Примечание:

Круговая свертка осуществляется над последовательностями одинаковой длины!

Основной период

(последовательность от него продолжается в обе стороны до бесконечности)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

−1

 

 

−1

 

 

 

 

 

 

 

 

 

 

( ) =

( ) ( ) = ( ) ( ) = ( ) ( )

 

 

 

 

=0

 

 

=0

Примечание:

 

— обозначение операции свертки.

Пример (круговая свертка):

{ ( )} = [1 2 6 3]

Основной период

{ ( )} = [1 1 2 3]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

−1

 

 

 

 

 

 

 

 

 

 

 

 

 

( ) = ( ) ( )

 

=0

(0)

3

 

 

 

 

 

 

 

 

 

 

 

 

 

= ( ) () = 1 1 + 2 3 + 6 2 + 3 1 = 1 + 6 + 12 + 3 = 22

 

=0

(1)

3

 

 

 

 

 

 

 

 

 

 

 

 

 

= ( ) (1 ) = 1 1 + 2 1 + 6 3 + 3 2 = 1 + 2 + 18 + 6 = 27

 

=0

(2)

3

 

 

 

 

 

 

 

 

 

 

 

 

 

= ( ) (2 ) = 1 2 + 2 1 + 6 1 + 3 3 = 2 + 2 + 6 + 9 = 19

 

=0

(3)

3

 

 

 

 

 

 

 

 

 

 

 

 

 

= ( ) (3 ) = 1 3 + 2 2 + 6 1 + 3 1 = 3 + 4 + 6 + 3 = 16

=0

Ответ: { ( )} = [22; 27; 19; 16]

Пример (линейная свертка):

{ ( )} = [1 2 6 5 3] { ( )} = [1 2 3]

( ) = ( ) ( )

=0

(0) = 0 ( ) () = 1

=0

(1) = 1 ( ) (1 ) = 1 2 + 2 1 = 2 + 2 = 4

=0

(2) = 2 ( ) (2 ) = 1 3 + 2 2 + 6 1 = 3 + 4 + 6 = 13

=0

(3) = 3 ( ) (3 ) = 1 0 + 2 3 + 6 2 + 5 1 = 6 + 12 + 5 = 23

=0

(4) = 4 ( ) (4 ) = 1 0 + 2 0 + 6 3 + 5 2 + 3 1 = 18 + 10 + 3 = 31

=0

(5) = 5 ( ) (5 ) = 1 0 + 2 0 + 6 0 + 5 3 + 3 2 + 0 1 = 15 + 6 = 21

=0

(6) = 6 ( ) (6 ) = 1 0 + 2 0 + 6 0 + 5 0 + 3 3 + 0 2 + 0 1 = 9

=0

 

Длина линейной свертки,

1

— длина последовательности

= 1

+ 2

1

— длина последовательности

{ ( )}

 

 

2

 

{ ( )}

 

 

Ответ: { ( )} = [1; 4; 13; 23; 31; 21; 9] = 5 + 3 1 = 7

{ ( , )} { ( , )}

{ ( , )} { ( , )}

Круговая двумерная свертка

( ) −1 −1 ( )

, = , ( , )

=0 =0

Линейная двумерная свертка

( ) ( )

, = , ( , )

=0 =0

33) Вычисление обратного ДПФ через прямое

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

−1

 

 

 

 

 

 

 

− прямое

 

 

 

 

 

 

 

 

 

( )

= ( )

 

 

 

 

 

 

 

 

 

 

 

( )

 

=0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

−1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 ( ) − обратное

 

 

 

 

 

 

 

=

 

 

 

 

 

=0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( ) = ( )

 

 

 

 

 

 

 

 

( )

 

 

 

 

 

 

 

=0

 

 

 

 

 

 

 

прямое ДПФ для последовательности

 

 

 

 

 

 

 

 

 

−1

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

( ) =

−1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=0

 

 

 

 

 

 

 

1.

Заменяем

 

на

 

 

 

ДПФ{ ( )}

 

 

 

 

 

 

 

Алгоритм вычисления обратного

 

 

 

 

 

:

 

 

 

 

 

 

 

4.

сопряженноеДПФс

{

( )}

( )})

.

 

 

 

 

 

 

 

 

Полученный в п.3

 

(ДПФ{

 

 

 

 

 

 

 

 

 

2.

Вычисляем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{ ( )}

 

т.е.

 

(ДПФ{ ( )})

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.

 

 

 

 

выражения, полученного во втором пункте, заменяем на комплексно

 

Результат ( )

 

 

 

 

( )

 

 

на

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ним

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

результат делим

 

и получаем последовательность

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Зачем обратное ДПФ вычисляют через прямое?

Это уменьшает работу по программированию и позволяет использовать быстрые алгоритмы преобразования Фурье для вычисления обратного преобразования.