Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции по ТБА v3

.pdf
Скачиваний:
13
Добавлен:
07.02.2015
Размер:
591.96 Кб
Скачать

Generated by Foxit PDF Creator © Foxit Software

http://www.foxitsoftware.com For evaluation only.

25.01.2012 12:15 Курс лекций по дисциплине «Теория быстрых алгоритмов»

лы памяти любого канала начинает выполняться операция «бабочка». Выче-

ты арифметических операций «×» и «+» хранятся в схеме операционного уз-

ла и оттуда считываются.

Следующим шагов по улучшению вычислительных характеристик устройств БПФ в СОК является индексное представление вычетов. Индекс-

ные БПФ в СОК не содержат умножителей, и как следствие имеют мини-

мальное число каналов СОК и высокое быстродействие.

Поразрядные алгоритмы ДПФ (ПДПФ).

В ряде случаев лучшим вычислительным алгоритмом, чем БПФ, яв-

ляются поразрядные алгоритмы ДПФ (ПДПФ). Это обусловлено тем, что в ПДПФ большинство операций выполняются на этапе проектирования, а дру-

гие вычисляются таблично.

3.1. Одномерный поразрядный метод вычисления ДПФ

Известно, что k-я гармоника спектра для чисел входной последователь-

ности x(n):

N 1

 

Fk WNnk x(n) ,

(3.1)

n 0

j 2

где WN e N – весовая функция. Раскрыв (3.1), получим для NS точек в r

разряде чисел x(n):

F

(r) x

r

(0)W 0

x

r

(1)W k

 

 

 

 

ks

 

NS

 

NS

 

 

 

(3.2)

 

 

 

2k

... xr (NS

(N

 

1)k

 

 

 

 

,

 

xr (2)WNS

1)WNS

S

 

где тригонометрическая форма весовой функции:

 

 

 

WNS cos(2π/NS ) j sin(2π/NS ) .

(3.3)

В спецпроцессорах обычно используются числа x(n) в дополнительном коде с фиксированной запятой. Тогда

R 2

x(n) xr (n)2r xзн (n)2R 1 ,

r 0

61

Generated by Foxit PDF Creator © Foxit Software

http://www.foxitsoftware.com For evaluation only.

25.01.2012 12:15 Курс лекций по дисциплине «Теория быстрых алгоритмов»

где R – число разрядов чисел в последовательности x(n), xЗН(n) – знаковый разряд чисел. Следовательно, при поразрядном ДПФ в r-м разрядном «срезе» для NS точек имеем:

 

 

 

N 1

 

(n) 1 2r ,

 

(3.4)

 

 

F (r) W nk δ x

 

 

 

ks

n 0 N S

r

 

 

 

 

 

 

 

 

 

 

 

 

F

 

(зн )

N 1

 

 

(n) 1 2 R 1

,

(3.5)

ks

W nk x

зн

 

 

N S

 

 

 

 

 

 

n 0

 

 

 

 

 

 

 

Fks

R 2

 

 

 

 

 

 

 

Fks (r) Fks (зн),

 

(3.6)

 

 

 

r 0

 

 

 

 

 

где [0]=1; r 0, R 1; k, n 0, N 1.

Выражение (3.4) представляет возможность априорного вычисления суммы весов (обозначим ее через CKS (X r )) для всех возможных комбинаций значений в r-м разряде xr(n)). Например, если в r-м разряде последовательно-

сти из N=8 выборок наблюдается комбинация 10011010, то

FKS (r) CKS (xr ) CKS (10011010) W8K W84K W85K W87K .

Следовательно, все суммы весов CKS (xr ) могут быть записаны в ПЗУ или ОЗУ по адресам, соответствующим xr.

Схема устройства одномерного ПДПФ представлена на рис. 3.1. Входы параллельно-последовательных регистров RG1 являются R-разрядными, а

выходы – одноразрядными, регистр RG2 – параллельный. На выходах RG1

последовательно появляются числа от нулевого до (R–1)-го (знакового) раз-

рядов: x1(n), x2(n), ...xR(n) для всех n 0, NS 1 в каждом разряде одно-

временно. ПЗУ имеет NS-разрядный адрес. При изменении NS необходимо перепрограммировать ПЗУ в соответствии с (3.2) и (3.3). Объем памяти ПЗУ для NS точек входной последовательности QROM RkS 2NS , где RkS – разряд-

ность FKS . Таким образом, через R тактов на выходе устройства формируется отсчет Fk, а полное время преобразования составит NSR тактов.

62

Generated by Foxit PDF Creator © Foxit Software

http://www.foxitsoftware.com For evaluation only.

25.01.2012 12:15 Курс лекций по дисциплине «Теория быстрых алгоритмов»

X(0)

RG

 

 

 

 

 

Xr(0)

Fks(r)

RG

 

1

ALU

 

ROM

 

 

.

 

FkS

 

 

 

 

 

 

.

 

 

X(1)

RG

.

 

2

 

 

 

 

 

 

 

 

Xr(1)

 

 

 

1

 

сложение для r 0, R 2

 

 

 

.

.

 

вычитание для r R 1

.

.

 

 

 

.

.

 

 

 

X(NS–1)

RG

 

 

 

 

 

Xr(NS-1)

 

 

 

1

 

 

 

R сдвигов

 

 

 

 

Рис. 3.1. Схема устройства для одномерного поразрядного вычисления ДПФ

Проведённые исследования показали, что в связи с возрастанием аппа-

ратурных затрат одномерный метод вычисления ПДПФ целесообразно ис-

пользовать в случаях, когда количество точек входной последовательности

NS принимает значения от 64 до 256. При N 512 необходимо перейти к мно-

гомерному методу вычисления ПДПФ.

3.2. Многомерный поразрядный метод

вычисления ДПФ

Пусть N NS , все NS – взаимно простые числа. Тогда от одномер-

S 1

ного N-точечного ПДПФ можно перейти к многомерному ПДПФ через NS-

точечные в соответствии с алгоритмом Гуда. Метод многомерного ПДПФ содержит шагов по NS точек для всех S 1, . Такое преобразование вклю-

чает следующие этапы:

63

Generated by Foxit PDF Creator © Foxit Software

http://www.foxitsoftware.com For evaluation only.

25.01.2012 12:15 Курс лекций по дисциплине «Теория быстрых алгоритмов»

1. Переиндексация (реконфигурация) данных x

X (n) X (n1 ,n2 ,...,nS ,...n ),

 

 

 

n nS N / NS

mod N .

(3.7)

S 1

 

 

Для двумерного случая X (n) X (n1,n2 ) , n N1n2 N2n1 mod N . 2. Вычисление N/NS коротких NS-точечных ПДПФ

а) при =2 сначала вычисляются N2=N/N1 N1-точечных ПДПФ:

F rS (k ,n

2

) и F зн

(k ,n

2

) при k

2

 

1, N

2

;

 

 

k

1

 

k

 

1

 

 

 

 

 

 

 

 

 

 

1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F rS (k ,n

 

)

N1 1

[x

 

(n , n

 

) 1]W n1k1N2

2r

(S )

 

 

 

2

 

r

2

;

 

 

 

k

1

 

 

 

 

 

 

1

 

 

 

N

 

 

 

 

 

1

 

 

 

 

 

n1 0

 

S

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Поразрядное

 

 

 

 

 

 

 

R 1

 

 

 

 

 

 

 

 

 

 

 

 

(k1

 

 

Fkr (S )

 

(k1,n2 ) Fkзн (k1,n2 );

 

 

 

 

Fk

,n2 )

 

 

суммирование

 

1

 

 

r 0

1

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

S 0

 

 

 

 

 

 

 

 

б) затем осуществляется N1=N/N2 вычислений N2-точечных ПДПФ:

F rS

(k

 

, k

 

 

N2 1

[F r

(k , n

 

) 1]W n2k2N1

2r

(S )

1

2

)

2

 

;

k

2S

 

 

 

 

 

k

 

1

 

 

N

2

 

 

 

 

 

 

 

 

 

 

n2 0

1(S )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Поразрядное

 

 

 

 

R 1

 

 

 

 

,k2 ) Fkзн (k1,k

2 ) ;

 

 

 

 

 

Fk

(k1,k2 ) Fkr (k1

суммирован ие

 

2

 

r 0

 

2

 

 

 

2

 

 

 

R 1

в) F(k1 ,k2 ) FS (k1 ,k2 ) .

S0

3.Наконец, переупорядочиванием выходных значений многомерного

массива определяется F(k). Это возможно двумя путями[128]:

 

 

 

 

 

 

 

 

определяется из соотношения

а) k kSU S

N / NS mod N , где US

S 1

 

 

 

 

<U S N/NS>mod NS 1, S

 

;

 

1,

 

 

modN , где каждое US определяется из группы сравнений

б) k US kS

S 1

 

 

 

 

US ij mod Nj,

где знак означает операцию сравнения, которая заключается в интерактив-

ном поиске всех значений, удовлетворяющих этому условию. При = 2 k = <U1k1+U2k2>mod N; U1 1 mod N2; (U1 0 mod N1); U2 = N+1 U1.

64

Generated by Foxit PDF Creator © Foxit Software

http://www.foxitsoftware.com For evaluation only.

25.01.2012 12:15 Курс лекций по дисциплине «Теория быстрых алгоритмов»

Схема устройства двумерного ПДПФ, которое при N1=63, N2=64 осу-

ществляет 4032-точечное преобразование, представлена на рис. 3.2.

Вход

 

 

 

 

 

выход

 

 

 

 

 

 

ШД

n1 0,

N1 1

 

k1=1

 

 

 

X(n)

ПДПФ -

R1

ПДПФ -

 

 

n2=0

N1

 

 

N2

 

R2

R

 

 

 

 

 

 

 

 

n2 0,

N2 1

 

 

n1 0,

N1 1

 

 

 

 

 

СПП

ПДПФ -

R1

k1=2

ПДПФ -

 

СОП

n2=1

N1

 

 

N2

 

F(k)

 

 

 

 

 

 

 

.

.

n2 0,

N2 1

 

 

 

.

.

 

 

 

 

 

 

 

 

.

.

 

 

 

 

n1 0,

N1 1

R1

 

 

 

 

 

ПДПФ -

k1=N1

ПДПФ -

 

 

 

N1

 

 

N2

 

 

n2 N2 1

 

n2 0, N2 1

 

 

ШД

X(n1, n2)

ШД

F(k1, n2)

ШД

F(k1, k2)

ОЗУ-1

 

ОЗУ-2

ОЗУ-3

 

 

 

«k1»

 

«k1»

ШУ

«n1» «n2»

«k1»

 

«n2»

«k2»

«k2»

 

Рис. 3.2. Схема устройства

 

 

для вычисления многомерного поразрядного ДПФ ( =2)

Числовая R-разрядная последовательность X(n) поступает из шины дан-

ных ШД на схему прямой переиндексации СПП, работающую в соответствии с (3.7). Схема СПП может быть выполнена на ПЛМ, так же как и схема об-

ратной переиндексации СОП. После схемы СПП к первой ступени преобра-

зования (группа одномерных ПДПФ – N1, их общее число равно N2) через ОЗУ-1 подключаются данные X(n1, n2) группами по N1 чисел: сначала все вы-

65

Generated by Foxit PDF Creator © Foxit Software

http://www.foxitsoftware.com For evaluation only.

25.01.2012 12:15 Курс лекций по дисциплине «Теория быстрых алгоритмов»

борки с n2=0, далее с n2 = 1, ..., n2 = N2 – 1. При каждом n2 k1 меняется в цикле от 1 до N1, и, наконец, при каждом k1 n1 меняется в цикле от 0 до N1–1. Таким образом, подключением номера группы выборок управляет команда n2, стра-

ницу весов в каждом ПДПФ первой ступени определяет команда k1, а номер числа внутри группы устанавливается командой n1 (размерность дешифрато-

ра ППЗУ по входу первой ступени преобразования зависит от количества чи-

сел внутри группы, т.е. от N1). С выхода первой ступени ПДПФ числа

F(k2, n2) записываются в ОЗУ-2. (Нетрудно показать, что вместо трех ОЗУ в схеме можно применять одно с тем же объемом памяти, что и ОЗУ-3: разряд-

ность регистра числа у ОЗУ-3 максимальна. Три ОЗУ используются при ор-

ганизации конвейерной обработки). Числа из ОЗУ-2 в порядке, указанном на схеме, считываются на вторую ступень одномерных ПДПФ, состоящую из N1

устройств ПДПФ на N2 точек каждый.

Таким образом, каждое из ППЗУ второй ступени преобразования содер-

жит N2 страниц (k2 1, N2 ), так как каждая точка должна иметь отдельный ад-

рес. Номер группы чисел (или номер ПДПФ второй ступени) устанавливается

командой k1 (k1 1, N1) . Номер числа F(k1, n2) в группе определяется командой

n2 (n2 0, N2 1) . Команда k2 устанавливает номер страницы в ППЗУ. С выхо-

да второй ступени снимаются сигналы F(k1,k2), поступающие в ОЗУ-3. Из него через СОП, преобразуясь в Fk, они поступают в шину данных. По шине управ-

ления подаются сигналы n1, n2, k1, k2, назначение которых ясно из предыдущего.

Приведем таблицы перестановок для прямого и обратного преобразова-

ния в практически интересном случае N=1023; N1=31; N2=33. Первая ступень такого устройства осуществляет 33 31-точечных ПДПФ, а вторая – 31 33-точеч-

ных ПДПФ. Для такого преобразования n=<33n1+31n2>1023. Тогда прямая пере-

становка имеет вид, показанный в табл. 3.2.

66

Generated by Foxit PDF Creator © Foxit Software

http://www.foxitsoftware.com For evaluation only.

25.01.2012 12:15 Курс лекций по дисциплине «Теория быстрых алгоритмов»

Таблица 3.2. Таблица перестановок для прямого преобразования ПДПФ

n

0

33

66

99

132

...

891

924

957

990

 

 

 

 

 

 

 

 

 

 

 

n1,n2

0,0

1,0

2,0

3,0

4,0

...

27,0

28,0

29,0

30,0

:

:

:

:

:

:

:

:

:

:

:

 

 

 

 

 

 

 

 

 

 

 

n

992

2

35

68

101

...

860

893

926

959

 

 

 

 

 

 

 

 

 

 

 

n1,n2

0,32

1,32

2,32

3,32

4,32

...

27,32

28,32

29,32

30,32

Обратная перестановка проводится по алгоритму:

k=<528k1+496k2>1023.

Тогда

F(0,0) F(0),

F(1,0) F528,

F(2,0) F33,

F(3,0) F561 и т.д.

Заметим, что при N=1023

TБПФ=128000tСЛ, а T ПДПФ=33TДПФ-31+31TПДПФ-33=4092tСЛ.

Полученные результаты наглядно доказывают преимущество в быстро-

действии приведенных методов и устройств ПДПФ по сравнению с устрой-

ствами БПФ в ПСС. Кроме того, в ПДПФ существенно снижаются ошибки округления. Такие характеристики обусловлены тем, что до 90 % операций вычислительного алгоритма многомерного поразрядного ДПФ (включая и определение свертки) выполняются на этапе проектирования и изготовления

(программирования) ПДПФ.

67