Научная статья на тему 'О параллельной форме дискретного преобразования Фурье'

О параллельной форме дискретного преобразования Фурье Текст научной статьи по специальности «Математика»

CC BY
254
77
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДИСКРЕТНОЕ ПРЕОБРАЗОВАНИЕ ФУРЬЕ / DISCRETE FOURIER TRANSFORM

Аннотация научной статьи по математике, автор научной работы — Ромм Яков Евсеевич, Забеглов Валерий Валерьевич

Изложена схема параллельного выполнения дискретного преобразования Фурье (ДПФ). Схема включает вычисление базиса ДПФ на основе кусочно-полиномиальной аппроксимации функций с помощью интерполяционного полинома Ньютона. При произвольно заданной априори границе погрешности временная сложность вычисления базиса составляет O(1) . Параллельное выполнение ДПФ, включая вычисление базиса, оценивается временной сложностью O(log2 N).

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ON THE PARALLEL FORM OF DISCRETE FOURIER TRANSFORM

The article outlines the scheme of parallel performance of Discrete Fourier Transform (DFT). The scheme includes calculation of DFP base founded on piecewise polynomial approximation of functions by means of Newton interpolated polynomial. In case of a priori arbitrarily set bound of error, time complexity of the calculation constitutesO(1) . Parallel performance of DFT, including base calculation, is estimated as having time complexity O(log2 N).

Текст научной работы на тему «О параллельной форме дискретного преобразования Фурье»

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Новые методы электрокардиографии / Под ред. С.В.Грачева, Г.Г.Иванова, АЛ. Сырки-на. Москва: Техносфера, 2007. - 552 с.

2. . . : .

. 4- ., . . - .: : - , 2007. - 640 .

3. Analog-Digital Conversion, Walt Kester, March 2004. Analog Devices , Inc.

4. Op amp applications, Walter G. Jung, 2002. Analog Devices , Inc.

Синютин Евгений Сергеевич

Технологический институт федерального государственного образовательного учреждения высшего профессионального образования «Южный федеральный университет» в г. Таганроге.

E-mail: kafmps@ttpark.ru.

З47900, . , . , 81.

.: 886З4З28052; 886З4З25825.

Siniutin Evgeniy Sergeevich

Taganrog Institute of Technological - Federal State-Owned Educational Establishment of Higher Vocational Education «Southern Federal University».

E-mail: kafmps@ttpark.ru.

81, Petrovskay street, Taganrog, 347900, Russia.

Phone: +786З4З28052; +786З4З25825.

УДК 519.6: 681.3

Я.Е. Ромм, В.В. Забеглов

О ПАРАЛЛЕЛЬНОЙ ФОРМЕ ДИСКРЕТНОГО ПРЕОБРАЗОВАНИЯ

ФУРЬЕ

Изложена схема параллельного выполнения дискретного преобразования Фурье (ДПФ). Схема включает вычисление базиса ДПФ на основе кусочнополиномиальной аппроксимации функций с помощью интерполяционного полинома Ньюто-. -ления базиса составляет O(l). Параллельное выполнение ДПФ, включая вычисление базиса, оценивается временной сложностью O (log2 N ).

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

Y.E. Romm, V.V. Zabeglov ON THE PARALLEL FORM OF DISCRETE FOURIER TRANSFORM

The article outlines the scheme of parallel performance of Discrete Fourier Transform (DFT). The scheme includes calculation of DFP base founded on piecewise polynomial approximation offunctions by means of Newton interpolated polynomial. In case of a priori arbitrarily set bound of error, time complexity of the calculation constitutes O (1). Parallel performance ofDFT, including base calculation, is estimated as having time complexity O (log2 N ).

Discrete Fourier Transform.

Постановка вопроса. При реализации основных алгоритмов цифровой обработки сигналов (ЦОС) необходимо вычислять элементарные функции, составляющие базис ортогонального разложения. Для дискретного преобразования Фу-( ) . их вычисления в значительной мере влияют на быстродействие и точность ЦОС, поэтому к их вычислению предъявляются требования одновременно высокого бы-

стродействия, вычислительной устойчивости и высокой точности. Ниже ставится задача синтезировать распараллеливаемый алгоритм вычисления базиса ДПФ с

- . схема основана на интерполяционном полиноме Ньютона, включает формулы редукции и распространяется на вычисление ДПФ в целом.

Параллельные алгоритмы рассматриваются на модели неветвящихся параллельных программ без учета обмена [3,6].

Исходные соотношения ДПФ. Фундаментальное уравнение для получения -

N-

1 N-1 1 N-1

X(k) = — I x(n)e-J 2mklN = — X x (n) [cos (2mk/N) - j sin (mk/N)]. (1)

N n=0 N n=0

Здесь X(k) - частотный выход ДПФ в k -ой точке спектра, где

k = 0,1,..., N -1; N - число отсчётов при вычислении ДПФ; значение x(n) представляет собой n -й отсчёт во временной области, n = 0, 1, ... , N -1. Выходной спектр ДПФ X(k) является результатом вычисления свёртки между выборкой, состоящей из входных отсчётов во временной области, и набором из N

( ).

Таблично-алгоритмическая схема вычисления функций на основе интерполяционного полинома Ньютона. Схема заимствована из [1]. Пусть рассматривается функция одной действительной переменной, для определенности вида

f (x) = sin(nx), x Е [0,1]. (2)

(2)

Фурье. Выбирается система непересекающихся подынтервалов равной длины, объединение которых совпадает с [0,1]:

[0,1]= u2xi,x;+1) и[-1 ,xp ], х i+1- x i = v р , z =^ ^ p -1. (3) i = 0

При априори заданной границе £ абсолютной погрешности аппроксимации функции (2) и для каждого отдельно взятого подынтервала из (3) строится интерполяционный полином Ньютона степени n, где n выбирается минимальным для достижения заданной точности приближения одновременно на всех подынтервалах. При этом полином Ньютона преобразуется по дистрибутивности с приведением подобных так, что в результате преобразования на i -м подынтервале принимает канонический вид полинома от одной переменной:

Pn (x )=a0 i + a1ix + a2 ix2 + ••• + anixn , x E[xt, xt +1), i = 0,1, ..., P - 1,(4)

где согласно (3) для i = P -1 равенство сохраняется при x = xp .

(4) i . -

(4) P , -

вышалась заданная граница погрешности:

I sin (x)-Pn (x)|<£, x E[xi,xi+i) , i = 0,1,... ,P -1. (5)

Если минимальное для всех подынтервалов п найдено, то для функции (2) и для каждого подынтервала из (3) набор коэффициентов в (4) можно записать в память машины и сделать хранимым. В дальнейшем, когда потребуется вычислить функцию данного вида, вначале дешифрируется значение номера i подынтервала,

(4).

х е [xi, xi+!) , то , = Ш, где - Челая часть числа, H = xi+1 - xi . Порядок времени дешифрации оценивается как единичный (= О(1). В дальнейшем

(4). -

ра значение этого полинома вычисляется с временной сложностью t (1) = п (ty + tc) , где tc , ty - время бинарного сложения и умножения соответст-

. п (4)

«сколь угодно» малой (но целой) при соответственном возрастании Р в (3). С целью осуществления описываемого построения вычисление коэффициентов начинается для значения п = 1 при минимальном значении Р . В случае невозможности достижения заданной точности (4) значение Р удваивается; это продолжается до нарушения допустимых границ значений Р ; при их нарушении снова делается переход к минимальному значению Р , но уже при п = 2, и т.д.

В рамках интерполяции по Ньютону схема минимизации степени полинома детализируется следующим образом. Если границы i -го подынтервала из (3) обо-

biо - aiо

значить как ai о, bi о, шаг интерполяции - wi =------------, то равностоящие узлы

п

интерполяции на текущем шаге можно записать в виде

х1} = aiо + у wi , у = 0, 1, ..., п -1. Полином Ньютона степени п на i -м подын-

тервале для функции (3) и данных узлов интерполяции записывается в виде п АУ ' о У -1

Гп, (х)=/(х, о; + Е—^ п (х- xik) , где А1 у,о - конечная разность у -го у=1 к=о

х - х, о

порядка в точке х, о , или в обозначении t =--------,

п

Гщ() = /(х,о ) + IААУ^ 1!(? - к) . (6)

у=1 к=о

циентов ао , = /(х,о) , а1, = ^ Ь^йху , где Ь,у =—-— , dlj - коэффициенты

(6) , (4), -

АУн

М ' ' ' у!

полиномов вида Рпу () = йоу + ^1 у (+ ^у (2 +... + йпу 1п с натуральными корнями, входящими в состав полинома Ньютона. Эти коэффициенты не зависят от вида

,

всех использований интерполяции. Для получения коэффициентов используется аналог формул Виета из [4, 5].

Процесс построения полинома на каждом подынтервале из (3) начинается с п = 1, Р = 1. Проверка на заданную соотношением (5) точность аппроксимации

w

(где Рп,(х) = Wni(t)) выполняется на каждом подынтервале в проверочных точках, взятых для независимой переменной ?. Если во всех проверочных точках ка-

(5) ,

подынтервалах при данном значении Р осуществима полиномом Рп, (х) = Wni(t)

п . (5) - -

чения Р требует увеличить степень полинома на 1, после чего весь процесс построения л¥п и проверки его на точность аппроксимации заново повторяется на всех подынтервалах. После достижения заданной погрешности £ в (5) коэффициенты (4) заносятся в память компьютера по адресам (,, I), где , - номер подынтервала, , = о, 1,..., Р -1 , I - номер коэффициента полинома в (4), I = о, 1,..., п , п - .

Вычисление базиса Фурье с учетом редукции аргумента к основному интервалу. Выберем и зафиксируем количество точек N в (1), для определённости положим, что N - степень двойки. По схеме приведённой выше, вычисляется

значения функции (2) в точках х [ у ] = 2j/N, у = о, 1,...,^ -1. Каждой точке

х[у ] с номером у ставится в соответствие процессор с таким же номером. Процессоры работают синхронно и независимо друг от друга. Каждый процессор дешифрирует номер подынтервала , = ^, в который попала точка х[у ],

затем считывает коэффициенты полинома (4), хранящиеся в памяти компьютера, по адресам х1) , (

промежутка изменения независимой переменной)

/ (х [у ])=(-( ап11 + а(п-1),) t + а(п - 2), )* + ...

+ _1 W It + а/„_2W )t +... + a0 j

вычисляет значение функции в конкретной точке. Значения функции и её переменной записываются в память в виде (x[ j ], f (x [j ])) , где j - номер ячейки. Временная сложность схемы составит

T(N/ 2) = O (1). (7)

. 1.

Таблица 1

Степени интерполяционного полинома Ньютона, аппроксимирующего функцию f (x) = sin(nx), xe [0, l] по таблично^^^^^^^™ической схеме

є k 0 1 2 З 4 5 6 7 в 9 10 11 12 ІЗ 14 15 16 17

10-4 6 5 4 З 2 2 2 1 1 1 1 1 1 1 1 1 1 1

10-5 в 6 4 4 З 2 2 2 2 2 1 1 1 1 1 1 1 1

10-6 в 7 5 4 З З 2 2 2 2 2 1 1 1 1 1 1 1

10-/ 10 7 6 5 4 З З З 2 2 2 2 1 1 1 1 1 1

10-в 10 в 7 5 4 4 З З З 2 2 2 2 2 1 1 1 1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

10-9 12 9 7 6 5 4 4 З З З 2 2 2 2 2 2 1 1

10-io 12 10 в 6 5 5 4 4 З З З 2 2 2 2 2 2 1

10-11 11 9 7 6 5 4 4 4 З З З 2 2 2 2 2 2

10-12 11 9 в 6 6 5 4 4 З З З З 2 2 2 2 2

1З0

Окончание табл. 1

£ k 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

10-13 12 10 8 7 6 5 5 4 4 3 3 3 3 2 2 2 2

10-14 10 9 7 6 6 5 4 4 4 3 3 3 3 2 2 2

10-15 11 9 8 7 6 5 5 4 4 4 3 3 3 3 2 2

10-16 12 10 8 7 6 6 5 5 4 4 4 3 3 3 3 3

10-17 12 10 9 8 7 6 5 5 4 4 4 4 3 3 3 3

10-18 11 10 8 7 6 6 5 5 4 4 4 3 3 3 3

Во входном столбце таблицы £ обозначает априори задаваемую границу погрешности. Во входной строке k задает показатель степени P = 2 k для количества подынтервалов из (2). На пересечении строки, содержащей £, и столбца, содержащего k , указывается минимальное значение степени n интерполяционного

,

полиномом данной степени с точностью до £ на каждом из P подынтервалов. Пустующая клетка означает, что в используемой версии языка программирования граница погрешности £ оказалась недостижимой для данного числа подынтервалов ни при одном значении n .

Далее строится базис Фурье, точнее действительная, cos (imkfN), и мнимая, sin (imk/N), части, n = 0,1,..., N -1, k = 0,1,..., N -1, по значениям функции (2)

в точках х [ j ] = 2 j/N , j = 0,1,..., N -1. для построения используется формула редукции синуса [4] g (х) = sin(x):

sin(х) = (- 1)Ksign(х) sin(m- z),

N = int

f\ w х

vmz

z =

(8)

где { а} обозначает дробную, М (а) - целую часть числа а . Схема строится следующим образом.

Каждой точке х [п,к ] = 2япк /Ы , п = 0,1,..., N -1, к = 0,1,..., N -1, ставится в соответствие процессор с индексами (п, к ). Процессоры, работая парал-

[ \\(2ппк )/Ы|] Г 2 пк) ^

[м,к J = iJ--------г = 1----г. Затем каждый про-

[ п ) У Ы J

[м,к ] дешифрирует х [ ] ]= г [м,к ] адрес у ,

лельно, вычислят значение z

цессор по значению

N

у = 0,1,..., — -1, где в ячейке памяти с номером ] также хранится значение

функции f(х[j ]).

Далее

вычисляются

значения

(-1)

K

K = int

| (2nnk)/N|

v

п

= int

2 nk

N

и sign(nnk /Nэти значения перемножаются

(8). , sin (mk/N), n = 0,1,..., N -1, k = 0,1,..., N -1 базиса Фурье.

( , , ) индексами (n,k) в той же точке 2mnk/N вычисляет значение cos(mn k/N), n = 0,1,..., N -1, k = 0,1,..., N -1, т.е. действительную часть базиса Фурье. Действительная часть строится аналогично мнимой, отличие заключается лишь в том, что в точке х[n,k ] = 2mnk /N значение cos(mn k/N) вычисляется с помощью

формулы приведения sin^m - а = cos (а), а именно, множители, входящие в формулу (8), примут вид:

z — -

| п/2 -(2nnk)/n|

n

2 nk

K — int

І п/2 -(2nnk)/N|

V

п

\ Ґ 1 2 nk \

— int -

) V 2 N )

N

в — sign

n 2nnk

2

N

Вычисленные значения (cos(mnk/N) sin(mnk/N) ), n = 0,1,..., N -1, k = 0,1,..., N-1, записываются в ячейки памяти с адресами (n,k,m), m = 0,1. Значение m = 0 соответствует значению cos (mnk/N), m = 1 - sin (mnk/N). Временная сложность схемы составит

t(n 2 )= O(1). (9)

,

Теорема 1. Базис ДПФ вида cos(mnk/N)-j sin (mnk/N), n = 0,1,... , N -1, k = 0,1,..., N -1, можно вычислить с произвольно заданной априори границей погрешности £ при помощи таблично-адгоритмической схемы вычисления функций на основе интерполяционного полинома Ньютона и формулы редукции синуса на N2 процессорах с временной сложностью O (1), иными , (9).

Схема параллельного вычисления ДПФ. Вычисляется действительная и , (1)

1 N-1

Re (X (k ))=-£ х(n ) cos(imnk/N), (10)

N n=0

1 N-1

Im (X (k )) =---E х (n ) sin (imnk/N), (11)

N

n —0

n = 0,1,..., N -1, k = 0,1,...,N -1. Вычислим действительную часть ДПФ (10). . -дому коэффициенту Re(X (k)), k = 0,1,..., N -1 взаимно однозначно ставится в

соответствие N процессоров с номерами (n, k, 0), n = 0,1,... , N -1, k = 0,1,..., N -1. Процессор с номером (n,k,0) считывает значение cos (п nk/N) го ячейки памяти с номером (n,k,0). Процессоры, работая синхронно и независимо, параллельно найдут все произведения элементов входной последовательности х(n) на соответствующие значения cos(mnk/N), затем по

1з2

схеме сдваивания за log2 N шагов складываются парные произведения. Вычисленная сумма делится на N . Временная сложность схемы составит

T (N 2 )= O (log2 N). (12)

Мнимая часть ДПФ (11) вычисляется аналогично. Каждому коэффициенту Im(X (k)), k = 0,1,..., N -1 взаимно однозначно ставится в соответствие N процессоров с номерами (n,k,1), n = 0,1,..., N -1, k = 0,1,..., N -1. Процессор с номером (n,k, 1) считывает значение sin(mnk/N) го ячейки памяти с номером (n,k,1). Процессоры, работая синхронно и независимо, параллельно найдут все произведения элементов входной последовательности х (n) на соответствующие значения sin(mnk/N), затем за log2 N шагов по схеме сдваивания складываются парные произведения. Вычисленная сумма делится на - N.

Временная сложность схемы параллельного вычисления действительной и мнимой части ДПФ составит

T(2N2 )= O{log2N). (13)

,

Теорема 2. В условиях теоремы 1 базис и собственно ДПФ (1) можно вычислить с произвольно заданной априори границей погрешности £ на основе таблич-

- 2 N2

сложностью O(log2 N), иными словами, полное вычисление реализуется с вре-(13).

. -

. -

временную сложность O (1) для произвольно задан ной априори границы по-£ , . процессоров квадратично зависит от числа отсчётов как при построении базиса, так и при вычислении ДПФ. При этом схема вычисления ДПФ с той же границей погрешности имеет временную сложность O (log2 N).

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Аксайская Л. Н. Разработка и исследование параллельных схем цифровой обработки сигналов на основе минимизации временной сложности вычисления функций / Автореферат диссертации на соискание ученой степени кандидата технических наук. - Таганрог: ТТИ ЮФУ. - 2008. - 18 с.

2. Ахмед Н., Рао К.Р. Ортогональные преобразования при обработке цифровых сигналов: Пер. с англ. Т.Э. Кренкеля / Под ред. И.Б. Фоменко. - М.: Связь, 1980. - 248 с.

3. Миклошко И. Связь между алгоритмами, программами и структурой параллельных ЭВМ. - В кн.: Алгоритмы математического обеспечения и архитектура многопроцессорных вычислительных систем / Под ред. АЛ. Ершова. - М.: Наука, 1982. - С. 6-36.

4. . .

обработки / Дис... д-ра техн. наук. - Таганрог: ТРТУ, 1998. - 546 с.; ВНТИ Центр.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

- № 05.990.001006.

5. . . -

ровки. II // Кибернетика и системный анализ. - 2007. - № 2. - C.161-174.

6. . .

// Теория сложности вычислений. 1: Записки научных семинаров ЛОМИ АН СССР.

- Л., 1982. - Т. 118. - С. 159-187.

Ромм Яков Евсеевич

ГОУВПО «Таганрогский государственный педагогический институт». E-mail: romm@list.ru.

347926, г. Таганрог, ул. Инициативная, 48.

Тел.: 88634601753, 88634601812; 88634601807.

Забеглов Валерий Валерьевич

E-mail: vzv.box@gmail.com.

347900, г. Таганрог, ул. Октябрьская, 84, кв. 61.

Телефон: 88634367933.

Romm Yakov Evseevich

Taganrog State Pedagogocal Institute.

E-mail: romm@list.ru.

48, Initsiativnaya street, Taganrog 347926, Russia.

Phone: +78634601753, +78634601812, +78634601807.

Zabeglov Valeriy Valer’evich

E-mail: vzv.box@gmail.com.

Ap. 61, 84, Oktyabrskaya street., Taganrog, 347900, Russia.

Tel: +78634367933.

УДК 681.3

C.A. Зори, C.B. Ковальский

АВТОМАТИЗАЦИЯ СОЗДАНИЯ ТРЕХМЕРНЫХ МОДЕЛЕЙ РЕАЛЬНЫХ ЛАНДШАФТОВ НА ОСНОВЕ ФОТОГРАФИЙ

Предложена модификация алгоритма реконструкции трехмерной модели ландшафтов по их фотографиям, исследованы характеристики предложенного алгоритма.

Ландшафт; реконструкция; модель; алгоритм; модификация.

S.A. Zori, S.V. Kowalski AUTOMATION OF CREATION OF THREE-DIMENSIONAL MODELS OF REAL LANDSCAPES ON THE BASIS OF PHOTOS

Modification of algorithm of landscapes- three-dimensional model reconstruction is offered, characteristics of the offered algorithm is given.

A landscape; reconstruction; model; algorithm; modification.

. , -

ляют сегодня уровень развития не только вычислительной техники в целом, но и достижения и эффективность решения множества важных прикладных задач из самых разнообразных областей. Современные навигационные системы, летные

,

, [1] -ной из технологий, которые будут оказывать наиболее сильное влияние на разви-IT, , основанных на реальных ландшафтах и характеристиках их субстанций.

Создание трехмерных моделей реальных ландшафтов на основе фото. -тизации создания трехмерных моделей реальных ландшафтов на основе имеющегося фото- или видеоряда [2]. Задача реконструкции трехмерной сцены по имею-

i Надоели баннеры? Вы всегда можете отключить рекламу.