Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / L4_5RTTsdiskr_signal.pptx
Скачиваний:
67
Добавлен:
19.12.2019
Размер:
2.83 Mб
Скачать

Восстановление непрерывного сигнала с помощью ДПФ

Заменив номер дискретного k отсчета на непрерывное нормированное время t/Td получим

 

1

N/2 1

 

- j

2

 

nt

 

 

 

x(t)

 

NT

 

 

N 2 p

p 0,1,2,...

 

Xne

 

 

d

 

 

 

 

N n=-N/2

 

 

 

 

 

 

 

 

 

 

 

1

(N -1)/2

 

 

 

- j

 

 

2

nt

 

 

 

 

 

 

 

NTd

 

 

x(t)

 

 

Xne

 

 

 

 

 

N 2 p

1

 

 

 

 

 

 

 

N n=-(N -1)/2

 

 

 

 

 

 

 

 

 

 

Аналоговый сигнал, подвергнутый дискретизации с интервалом Td и имеющий верхнюю граничную частоту FB= π/Td

Число математических операций, необходимых для расчета N- точечного ДПФ

Число умножений комплексных чисел N2 ==> (4 N) 2 =16N 2 умножений вещественных чисел (а+jb)(c+jd)=ac-bd+jbc+jad Число сложений комплексных чисел N(N-1) ==>(2N)(2N-1)=4N2-2N (a+jb)+(c+jd)=a+c+j(b+d) При N=1024 надо выполнить приблизительно 2N2 = 1000000 операций комплексного умножения+сложения с числами ,

имеющими например 16 разрядов. На это потребуется не менее 100 000 000 машинных тактов. Это очень долго.

ОТС Лекция № 5

41

Дискретное преобразование Фурье

Аналогично можно поступить и при расчете линейной свертки через циклическую.

Рассмотрим пример. Пусть

, а

. Прямое вычисление линейной свертки

потребует

(12 миллионов) операций умножения и сложения.

Дополним каждую из последовательностей до 8192 отсчетов нулями и применим алгоритм БПФ с прореживание по времени, тогда на вычисление одного БПФ потребуется операций комплексного умножения или 428000 операций действительного умножения. Таких блоков БПФ будет всего 3 штуки, плюс надо

учесть 8192 комплексных умножений спектров, итого

, что

почти в 7.5 раз ниже чем если бы мы считали линейную свертку в лоб

 

ОТС

Лекция #5

42

 

 

 

Циклическая свертка может быть выполнена через ДПФ (БПФ) гораздо быстрее

ОТС

Лекция #5

43

 

 

 

Быстрое преобразование Фурье (БПФ).

Основная идея ускорения вычислений ДПФ.

Если исходную последовательность отсчетов разбить на две меньшей длины (например на две длиной N/2), то сделав два N/2 точечных ДПФ , выполним 2(N/2)2 =N2/2 операций комплексного умножения.

Если теперь объединить результаты двух N/2 точечных ДПФ в одно N точечное и сэкономить хотя бы одну операцию умножения , то результат будет получен быстрее , чем при прямом расчете N точечного ДПФ.

Алгоритмы БПФ по основанию 2.

ОТС Лекция № 5

44

1. Алгоритмы БПФ с прореживанием по времени.

Математическое обоснование алгоритма при разбиении отсчетов на четные и нечетные:

X =

N/2 1

 

 

W 2m n

 

N/2 1

W (2m+1) n

N/2 1

 

W

2m n

N/2 1

W (2m+1) n

x

 

 

x

 

y

 

z

n

 

2m

N

 

 

 

 

2m+1

 

 

N

 

m

 

N

 

m

N

 

m=0

 

 

 

 

 

m=0

 

 

 

 

 

 

 

m=0

 

 

 

 

m=0

 

 

 

2

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W 2mN n e-j

N 2m n = e-j

 

m n =W mN/2n

 

 

 

 

 

 

 

 

 

 

 

N/2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

2

 

2

 

 

 

 

 

 

 

 

 

 

 

 

W (2m+1)nN e-j

 

N 2m ne-j

 

N n = e-j

 

m n =W mN/2n W nN

 

 

 

 

 

 

 

 

 

N/2

 

 

 

 

 

 

 

X =

N/2 1

 

 

 

W n

N/2 1

 

W m n

Y

W n

 

Z

 

 

 

0 n N/2

y W m n

z

 

 

 

 

 

n

m

 

N/2

 

 

N

m

 

N/2

 

n

N

 

n

 

 

 

 

 

m=0

 

 

 

 

 

 

m=0

 

 

 

 

 

 

 

 

 

 

 

 

Yn+N/2 Yn

 

 

Zn+N/2

 

Zn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X =

N 1

y W m n

 

W n

 

N 1

z

 

W m n

 

Y

 

W n-N/2

Z

N/2 n N -1

 

 

 

 

 

 

n

m

N/2

 

 

N

 

m

N/2

 

n-N/2

 

N

 

n-N/2

 

 

m=N/2

 

 

 

 

 

 

m=N/2

 

 

 

 

 

 

 

 

 

 

 

 

ОТС Лекция № 5

45

Базовая операция «бабочка» алгоритма БПФ с прореживанием по времени.

1. Алгоритмы БПФ с прореживанием по частоте.

Математическое обоснование алгоритма при разбиении отсчетов на первую и вторую половины:

X =

N/2 1

 

 

W 2m n

 

N/2 1

W (2m+1) n

N/2 1

 

W

2m n

N/2 1

W (2m+1) n

x

 

 

x

 

y

 

z

n

 

2m

N

 

 

 

 

2m+1

 

 

N

 

m

 

N

 

m

N

 

m=0

 

 

 

 

 

m=0

 

 

 

 

 

 

 

m=0

 

 

 

 

m=0

 

 

 

2

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W 2mN n e-j

N 2m n = e-j

 

m n =W mN/2n

 

 

 

 

 

 

 

 

 

 

 

N/2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

2

 

2

 

 

 

 

 

 

 

 

 

 

 

 

W (2m+1)nN e-j

 

N 2m ne-j

 

N n = e-j

 

m n =W mN/2n W nN

 

 

 

 

 

 

 

 

 

N/2

 

 

 

 

 

 

 

X =

N/2 1

 

 

 

W n

N/2 1

 

W m n

Y

W n

 

Z

 

 

 

0 n N/2

y W m n

z

 

 

 

 

 

n

m

 

N/2

 

 

N

m

 

N/2

 

n

N

 

n

 

 

 

 

 

m=0

 

 

 

 

 

 

m=0

 

 

 

 

 

 

 

 

 

 

 

 

Yn+N/2 Yn

 

 

Zn+N/2

 

Zn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X =

N 1

y W m n

 

W n

 

N 1

z

 

W m n

 

Y

 

W n-N/2

Z

N/2 n N -1

 

 

 

 

 

 

n

m

N/2

 

 

N

 

m

N/2

 

n-N/2

 

N

 

n-N/2

 

 

m=N/2

 

 

 

 

 

 

m=N/2

 

 

 

 

 

 

 

 

 

 

 

 

ОТС Лекция № 5

47

1. Алгоритмы БПФ с прореживанием по частоте.

Математическое обоснование алгоритма

Разбиваем отсчеты во временной области на первую и вторую половины:

X =

N/2 1

 

 

 

 

 

N 1

W m n

 

N/2 1

x1

W m n

N/2 1

x2

W (m+N//2) n

x W m n

x

 

 

 

n

m

 

N

 

 

m

 

N

 

 

 

m

 

N

 

m

N

 

m=0

 

 

 

 

m=N/2

 

 

 

 

 

m=0

 

 

 

m=0

 

 

x1 = x

m= 0,1,... N -1

 

x2

= x

m= N , N

+1,...N -1

m

m

 

 

 

 

 

2

 

 

m

 

 

m

 

2

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 N

 

2

 

 

 

 

 

2

 

 

 

 

 

 

W (m+N/2)N n e-j

 

N 2 ne-j

 

2m n = e-j ne-j

 

m n = (-1)nW mN/2n

 

 

 

 

N

N/2

 

 

 

X =

N 1

 

 

W

m n

n

 

 

 

m n

 

 

 

 

 

 

x1

 

N

+(-1) x2

 

W

N

 

 

 

 

 

 

n

 

m

 

 

 

m

 

 

 

 

 

 

 

 

m=0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

2

 

2

 

 

 

 

 

 

 

 

 

W (2m+1)nN e-j N 2m ne-j

N n = e-j

 

m n =W mN/2n W nN

 

 

 

 

 

N/2

 

 

 

 

 

ОТС

Лекция #6

48

 

 

 

Выделяем отдельно расчет комплексных амплитуд четных гармоник с номерами 2n:

X

 

=

N/2 1

 

 

2n

 

 

m 2n

N/2 1

 

x1 + x2

W

m n

 

2n

 

 

 

m

 

 

m

N

 

m

m

 

N/2

 

 

 

m=0

 

 

 

 

 

 

 

 

m=0

 

 

 

 

 

 

m 2n

 

-j

2

2m n

-j

2

m n

 

m n

 

 

 

 

 

 

 

e N

 

= e N/2

 

= W

 

 

 

 

 

 

W N

 

 

 

N/2

 

 

 

 

 

 

Выделяем отдельно расчет комплексных амплитуд нечетных гармоник с номерами 2n+1:

X

 

=

N/2 1

 

 

2n+1

x2

 

2n+1

 

x1 + (-1)

 

W

 

 

 

m

 

m

 

 

 

m=0

 

 

 

 

 

m (2n+1)

N/2 1

 

m

m n

x1m - x2m

W

N

NW

N/2

 

m=0

 

 

 

W mN (2n+1) e-j 2N 2m ne-j 2N m = e-j N/22 m ne-j 2N m = W mN/2n W mN

Базовая операция «бабочка » алгоритма БПФ с прореживанием по частоте:

X÷ò X1m X2m

Xí ÷m X1m - X2m W mN

Направленный граф базовой операции «бабочка » алгоритма БПФ с прореживанием по частоте:

ОТС

Лекция #6

49

 

 

 

Пример направленного графа 8-ми точечного БПФ с прореживанием по частоте.

ОТС

Лекция #6

Соседние файлы в папке Лекции