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

Параллельное выполнение основных дискретных ортогональных преобразований Текст научной статьи по специальности «Математика»

CC BY
116
37
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИНФОРМАТИКА / МАТЕМАТИКА / ДИСКРЕТНАЯ МАТЕМАТИКА / МАТЕМАТИЧЕСКАЯ КИБЕРНЕТИКА / ОРТОГОНАЛЬНЫЕ ПРЕОБРАЗОВАНИЯ

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

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

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

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

влечет следующие значения нулей (код программы полностью дан в [2]):

Действительные части нулей

-4.58445604293577511E+0000 -2.80568528774483195E+0000 -1.03656895433724402E+0002 -1.66591190983139839E+0002 4.70946395391531174E-0009 -5.27266666666666667E+0000 -5.27266666666666667E+0000 -2.45930000000000000E+0001 -2.45930000000000000E+0001

Мнимые части нулей

-3.65508747547457647E-0026 -2.70958460951182288E-0029 -2.88552909746462807E-0028 -1.75654297877690656E-0023 -1.08753776697701395E-0034 2.29837333333333333E+0002 -2.29837333333333333E+0002 3.46355333333333333E+0002 -3.46355333333333333E+0002

Значения функции

4.86070674693958763E+0038 3.87688758647364437E+0036 5.78024178051377293E+0038 3.64364867607685689E+0035 4.48680606796407673E+0036 5.25425580557896453E+0035 4.57676705867643764E+0033 5.04576930357129645E+0036 3.84764390362970963E+0038

Среди нулей есть значение с нулевой действительной частью. Чтобы удостовериться, что нулевая действительная часть не является результатом погрешности данный нуль можно найти с помощью программы поиска действительных нулей [2], поскольку мнимая часть с высокой точностью приближения является нулевой. Получим: 4.70946395391531182E-0009.

Тем самым наличие нулевой действительной части подтверждено с достаточной степенью достоверности. Следовательно, система устойчива относительно состояния равновесия, при этом она не обладает асимптотической устойчивостью.

Следует отметить, что исследования проводились в среде Delphi 7 на персональном компьютере класса Pentium 4, при этом время программного анализа устойчивости для второго случая составило 9 секунд.

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

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

1. Буланов С.Г. Разработка и исследование методов программного моделирования устойчивости систем линейных дифференциальных уравнений на основе матричных мультипликативных преобразований разностных схем: автореф. дис. ... канд. техн. наук. Таганрог: ТРТУ. 20 с.

2. Веселая А.А. Вычисление нулей и экстремумов функций при вариации параметров на основе сортировки с приложением к моделированию устойчивости систем линейных дифференциальных уравнений: автореф. дис. ... канд. техн. наук. Таганрог: ТРТУ, 2010. 17 с.

3. Гантмахер Ф.Р. Теория матриц. 5-е изд. М.: Физматлит, 2004. 560 с.

4. Гоноровский И.С. Радиотехнические цепи и сигналы. М.: Радио и связь, 1986. 408 с.

5. Демидович Б.П. Лекции по математической теории устойчивости. М.: Наука, 1967. 472 с.

6. Ромм Я.Е. Метод вычисления нулей и экстремумов функций на основе сортировки с приложением к поиску и распознаванию. II // Кибернетика и системный анализ. 2001. № 5. С. 81-101.

7. Солодовников В.И. Верхние оценки сложности решения систем линейных уравнений // Теория сложности вычислений. I: Записки научных семинаров ЛОМИ АН СССР. Л., 1982. Т. 118. С. 159-187.

8. Филлипс Ч., Харбор Р. Системы управления с обратной связью. М.: Лаборатория Базовых Знаний, 2001. 615 с.

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

ПАРАЛЛЕЛЬНОЕ ВЫПОЛНЕНИЕ ОСНОВНЫХ ДИСКРЕТНЫХ ОРТОГОНАЛЬНЫХ ПРЕОБРАЗОВАНИЙ

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

вейвлет- и пилообразное преобразования. При этом актуальны задачи сокращения времени и объёма вычислений в процессе выполнения преобразований. В этом аспекте ниже излагаются параллельные схемы ортогональных преобразований с минимизированной временной сложностью.

Параллельные схемы пилообразного преобразования. Пилообразное преобразование записывается в виде

вм (!)

где = р ,£> - вектор коэффициентов, Хы = {¡^Х ,Х -

вектор входной последовательности, - матрица, N х N , которая задаётся рекуррентной формулой

1 0

ап Кп

0

8ы = 72

0 1Ы[2^2

_о 1

0

-К а„

пп 0

1Ы/02

1

0

-°п Кп 0

__ —____ Кп ап

0 -I

0

1Ы/2 >2

0

N/2^2

^Ы/ 2 0

0 2

1 1 1 -1

(2)

где 1т - единичная квадратная клетка, т / т . п = 1о§2 N . Постоянные ак и Ьк вычисляются по формулам:

«1 =1, ьк =

1

1 + 4 а

2 к-1

ак=2Ькак-к = 1,2,--Ло82К

или

-,к-1

Ък =

2 а

к-1

г^2к-2 _ ^ 12к -1

А: = 1, 2,... , к^Ж.

(3)

(4)

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

Первая схема строится с помощью алгоритма Стоуна. Из (3) исключается и производятся последовательные замены ск=а^7 с1к ~1 + 4ск, цк - с/ к цк , . Соотношение (3) принимает вид

(

Чк Чк-1

Л (5

1 0

уЧк-2 у

д0 = 1, г/, = 5. В силу рекуррентности

Чп-1

5 -4 1 0

п1

Ч 0

V У

Схема вычисления строится следующим образом. Сначала находятся все двоичные степени А'

/=1,2,..., 2' <п-1, А =

(5 -4^1

1 0

А2" =А, ...,А2' = ^

= 1, 2,.... роё2 -1 где

\£ - наибольшее целое, не превосходящее С. Пусть

г0

1=

г = 0

£ = \, 2,... -1.

(5)

Каждому I из (5) сопоставляется процессор с номером I. Процессоры параллельно найдут все степени матрицы с показателем I. При этом I -й процессор перемножает те и только те двоичные степени матрицы, перед показателем 21 которой в (5) а1 = \. Временная сложность данной схемы составит Т /2 О 1о§2 /2 Согласно (4) по заданному номеру вычис-

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

а

к

а=

к

С целью параллельного формирования матрицы преобразования все значения (3 - 4) вычисляются априори и хранятся в памяти компьютера. По рекуррентности ^ из (2) представляется в виде

Sn = JÑPnX

P

Nj 2 0"

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

P

N 2

P

0000 0

0 0 ■•. 0 0

0 P 0 0

0 0 0 P 0 0 0 0 0 P

S2 0 0 0 0 0 S2 0 0 0 0 0 ■•. 0 0

0 0 0 S

2

0

0 0 0 0 S9

(6)

" D C" ' X C"

- Sn X

DN-Г xN-С

где Рм - левая матрица в правой части (2). Произведение (6) с учетом внутренней клеточной структуры вычисляется на Л'32 процессорах по схеме сдваивания за время О 1оц2 N .

С другой стороны, элементы матрицы можно вычислить априори и хранить в памяти,

затем считывать их с временной сложностью Т = О 41 В максимально параллельной форме собственно само преобразование (1) выполнимо с помощью схемы сдваивания парных произведений с временной сложностью Т ^У2 = О N .

Еще один параллельный алгоритм преобразования (1) с помощью (6) записывается в виде

(7)

где SN из (6). Умножения матриц в (7) выполняется последовательно справа налево. Каждое умножение выполняется параллельно по схеме сдваивания за время t v + 2t с. где tу - время умножения, tс - время сложения, т.е. за время О Ü . результатом каждого умножения является матрица-столбец, которая в свою очередь умножается на следующую матрицу, время выполнения Т fjN/2 > О <og2 N 1. Имеет место

Теорема 1. Пилообразное преобразование, ограниченное N членами, в условиях первой схемы можно выполнить с временной сложностью Т i^í2 = О ^og2 N J-О 4og2 log2 N . в условиях второй схемы данное преобразование выполняется с оценкой Т 2 j= О ^og2 N .

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

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

rad ií.Oy sign Cin ty к 0 в e Г, j =1, 2,... , log2W, (8)

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

sin ^ в1 е Г, в1+х-в1 = l/N ,i = 0,1,... ,N-1, (9)

вычисляются с временной сложностью Т ^log2 iVj= О { . Функции (9) и (8) можно также вычислить с помощью полиномов Чебышева / и II рода ТеХ и [/Д на основе рекуррентных соотношений:

1 X¡ V 2Xj Те X¡ ^ Tt_Y ( _ | иы 4c¡ - 2xi ue ( ^ иX¡ То X, > 1, 71 4ct > хг J ' U0 X, У1, Щ X, > 2xt

Зависимости (10) представляются в матричной форме

■и i

T X,

( 2 x - i i 0

T X,

rl-i Xi J

^ fu X

[ut ^

(2xt -i i 0

U X¿ ut-1X^

с теми же начальными значениями, отсюда 140

0

Tt+1 x ^

2x -ЛYTi x 1 0 ITo X

Ut+1 о

U t Xl;

2 x -Г| Y Ui X

1 oj U X

По схеме Стоуна

2 x -1

для всех значений I, I = 1, 2,..., N, вычисляются на О {\'2

процессорах за время О <|о§2 N Используя соотношения + /2/+1

совС^я-б', 3= 72/ функции в¡п . ^ = 1.2.....N . можно выразить из (10). Отсюда

с учетом (8), (9) вычисляется система функций Радемахера.

Временная сложность второй схемы О Ж , в отличие от первой она не требует затрат постоянной памяти.

Третья схема параллельного вычисления функций Радемахера строится на основе соотношения <9, е Г, /=1, 2,... ,1°ё2М> г =0,1 ,...,N-1, с временной сложностью Т 1о§2 А' 3= О .

Алгоритмы параллельного выполнения преобразования Уолша. По значениям функций Радемахера (8) в точках О = 01. г = 0,1,..., N-1, 01 -=\/N . по правилу [5]

log 2 n

walii, f?j= J J rad<f.

<og2 ЛГ-j+l r <og2 n-jz

где r, - j -и разряд представления числа r в двоич-

]=1

ной системе счисления, © - символ поразрядного суммирования по модулю 2, вычисляются функции Уолша. Каждой такой функции с номером г, г = 0,1,... , N — 1, ставится в соответствие Л' log 2 N процессоров, чтобы произведение при каждом в = 6? вычислялось по схеме сдваивания

на int|^log2 Л' j процессорах. Процессоры, работая параллельно по всем гиг, перемножат

функции Радемахера за время Т ^V2 log2 N =0 <og2 log2 N .

Последняя оценка может быть улучшена до О с сокращением числа процессоров в O Cog2 N , если применить битовый счётчик числа отрицательных двоичных единиц. Еще одна параллельная схема получится, если матрицу преобразования Уолша Hw ^ вычислять поэлементно. Пусть rt и vi цифры i -го разряда в двоичном представлении чисел г и v соответственно: r=(log

2n-i r iqg2jv-2 ••• ri ro л > v~ ^ log 2 iv-i v\og1n-2 ••• vi vo ji ■ Элементы h^ матрицы Hw N имеют вид

log2 N-1

IX Mi Oi

(-C i=0 ; i,••• v=o, 1,...,n-i

U0 ^ - rlog, jV-1 ' M1 ^^ Г]

+ M2 i^r rlog2Ai-2 +rlog2Ai-3 > ••• ' U

log2 iV—1 ^ 'log2n-2 ' 2

(И)

log 2 A^—1 ^ J^ Г1 +Г0 •

Все элементы (11) вычисляются параллельно, при этом суммы в показателях степени вычисляются по схемам сдваивания. Временная сложность данного варианта составит Г^21оё2Л^=0«оё21оё2лО

После вычисления всех элементов матрицы Нмг _ вычисляется собственно само преобразование В 3= \/N Нк У X ^У . Схема основана на естественном параллелизме, с учетом логарифмической оценки умножения матрицы на вектор временная сложность схемы составит

2 N . Таким образом, имеет место

1

0

Теорема 2. Преобразование Уолша, ограниченное N членами, можно выполнить параллельно с временной сложностью Т ^У2 log2N =0 N , при этом матрицу преобразования Нм, ^ _ можно параллельно вычислить с оценкой Т ^У2 log2N =0 4о§2log2N

В случае фиксированного N при каждом значении / в показателе степени (11) априори известны номер строки г, и номер столбца матрицы Нк $ , поэтому априори можно вычислить их двоичное разложение, парные произведения ui Ху^ а также сумму, задающую показатель. Отсюда все элементы к ^^ можно найти априори и записать в память компьютера. В этом случае

время определения матрицы О С . Для переменного N оценки О С можно достигнуть на той же основе, применив счётчик одноразрядных единиц.

Схемы параллельного вычисления быстрого вейвлет -преобразования (БВП). БВП позволяет вычислять коэффициенты вейвлет-разложения с помощью алгебраических операций на основе свёртки по рекуррентным соотношениям [7]:

*]-\,к = ^X кп

п и],п+2к ' и к

а,

8п °},п+2к

(12)

где /{„ - масштабирующий фильтр масштабирующей функции, - фильтр вейвлета; к -начальные коэффициенты разложения функции /' ^ для некоторого уровня разрешения у , которые предполагаются известными. Рассматриваются вейвлеты Добеши, в которых масштабирующий фильтр Д, и фильтр вейвлетов состоят из конечного числа ненулевых элементов. Формулы вычисления коэффициентов (12), зафиксировав конкретное разрешение у'= /(|. можно представить в матричной форме. Первый шаг БВП:

л>-\.\

1о"\

N

Л]о-\Л 1

Чо-\, 2

а

■ 1 N

1 7.

к\ к2 кз к4 кь о о о о

о о к\ к2 кз к4 кь о о о

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

кз к4 кь о о о о к\ к2

8\ 8 2 8з 84 8ь о о о о

о о 8\ 82 8з 84 8ь о о о

_8з 84 8ь о о о о 8\ 82

ЛоД

21о. 2

а N ,

1о,

1 N „

1о, Т+2

1 N

(13)

где N - целая степень по основанию два. В (13) матрица фильтров (МФ) имеет размерность N хЫ . На втором шаге БВП преобразованию подлежат элементы дА) , 1■, / - 1. 2.....N ¡2. и МФ

имеет порядок N¡2 х N/2 , в остальном всё строится по схеме первого шага. Полное БВП заключается в вычислении наборов коэффициентов с!. к . которые итеративно определяются через

а

, пока размерность МФ будет не меньше длины фильтра, т.е. N2е > Ь.

Предложенная модификация БВП представляется в виде

А

А.

А А

= 2

М1 1 о

'о 1

0 о о

0

0 1

М9

0 X 0" х К _х |40 ~

0 1

1

(14)

т

где |4о - вектор-столбец входной последовательности, . . Бк, к 2.....({] - серии вейвлет-

коэффициентов, клетка Ме имеет размерность N2е х N2е , е = о, 1,... , ео-1, и является матри-

п

п

а

а

N

2

2

N

о

е

о

о

о

1

о

цей фильтров для конкретного разрешения j0-£, все перемножаемые матрицы из (14), кроме [4q _, имеют размерность N xN . Первый алгоритм выполнения БВП строится следующим образом. Сначала вычисляется матрица преобразования, обозначаемая , т.е. произведение матриц, содержащих клетки Mt, из правой части (14). Умножение производится с помощью схемы сдваивания с учетом клеточной структуры. Временная сложность схемы составит T^V3 = О iog2 log2 N у log2 Л/ . Затем на основе схемы сдваивания вычисляются наборы вейв-

лет-коэффициентов (4 0 _ с временной сложностью Т fv2 = О 4|og2 А' . Второй алгоритм

заключается в последовательном умножении справа налево матриц из (14), при этом каждое умножение выполняется в параллельной форме. Временная сложность схемы составит Т QxN j=0 , где L - длина вейвлет-фильтра. Таким образом, для второго алгоритма

имеет место

Теорема 3. Вейвлет-преобразование, где вейвлеты Добеши заданы парой фильтров и

, п - 1. 2...../,. для коэффициентов а . к - 1. 2.....N. глубины разложения £0,

£ о < log 2 N, может быть параллельно вычислено с временной сложностью О {og 2 V .

Схемы параллельного преобразования Хаара. С помощью схем на основе (14) можно вычислить преобразование Хаара. Масштабирующий фильтр для матрицы Хаара состоит из двух

ненулевых элементов h 1 = VV2, h 2=1 Л, фильтр вейвлетов - g 1

> S2 ~~

1/V2 . Предла-

гае мая схема вычисления Y 4V ~j^\/NH* х X ^V __ включает алгоритм построения матрицы II" i,\' . Предполагается, что все степени 2' 2 и - 2J 2 при 0< / < log2 N вычислены априори и записаны в память компьютера. Первая строка матрицы заполняется единицами. Далее, каждому ненулевому элементу матрицы ставится в соответствие процессор, который считывает этот элемент из памяти. Элементом матрицы с индексами ty +п, 2"' ' 4] — \ + к при 1 <п <2'. l<k<2m~J~1 будет значение 2' 2 . при \<п<2'. 2m~j~x+\<k<2m~j , - значение -2' 2. все остальные элементы - нули. Количество процессоров равно числу ненулевых элементов. Первая строка матрицы состоит из единиц, последовательно сверху вниз располагаются прямоугольные клетки с номерами j , j = 0,1,..., log2 N , размерность j -й из которых 27 х Л'. причем ненулевые элементы в такой клетке располагаются ступенчато так, что их число всегда равно числу столбцов N . Умножением на число клеток с учетом первой строки получится число ненулевых элементов матрицы, которое равно N Cog2 N + \ . Данный способ заполнения матрицы имеет временную сложность Т ^ , R = N 4og2 N + 1 Само преобразование вычисляется с той специфи-

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

N

сумматоров по строкам меняется с учетом схемы сдваивания как — в первой строке и, далее, как

1 N

— х—- без изменения внутри клетки с 2J строками, где j = 0,1,... . log2 Л/ - 1. Отсюда число

2 21

log2W-l

N 1 ST „ , ^ N , , сумматоров равно —ь — х 2_. 2J х — = — { + log2 Л

2 2 21 2

Теорема 4. Преобразование Хаара, ограниченное N членами, можно выполнить параллельно с временной сложностью Т (¡1^=0 {og 2 N , где количество процессоров Я = N {оё 2 Л' + 1

требуется при параллельном считывании из памяти всех элементов матрицы преобразования за время О .

Без учета произведений, в которые входят нули, потребуется N ■ ^og2 N +1 процессорных элементов, временная сложность схемы составит Т ^Vlog2 Л/ j= О 4og2 N

Предложенные видоизменения преобразований Уолша, Хаара, а также БВП на основе вейв-летов Добеши согласно утверждениям теорем 2 - 4 инвариантны относительно N, поэтому применимы при динамическом изменении отсчетов.

Схема параллельного вычисления ДПФ включает параллельный алгоритм вычисления базиса с произвольно заданным числом элементов. Базис ДПФ вычисляется следующим образом. Выбирается система непересекающихся подынтервалов равной длины:

Р-2

tu!=U Ь,*1Ч1 Ub-i>*P xi+1-xt=yp,/=0Д,..„Р-\. (15)

г = О

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

/ (¡£ j=sin ipx ^ хе |), 1 (16)

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

Рп (¡с et Qj + аи x+a2i х2 +... + anix" , х е |,,хг+1 i = 0,1, ...,Р -1 , (17)

Построение (17) выполняется для всех подынтервалов при условии

| sin Хх~УРп4~^<£, хе[г,хг+1~, г=0,1,...,Р-1 . (18)

В (17) n выбирается минимально возможным, одинаковым для всех подынтервалов. При таком n для функции (16) и для каждого подынтервала из (15) набор коэффициентов (17) записывается в память компьютера и хранится в ней. Для вычисления функции дешифруется номер подынтервала i, его значение служит адресом выборки коэффициентов (17). Если х е [, ,Xj + l , ТО

i = int X/Н ^ где Н = хг+1 - хг, int - целая часть числа. Порядок времени дешифрации оценивается как единичный. Если для рассматриваемой функции вычислить и хранить коэффициенты для всех 2k подынтервалов, то в дальнейшем время вычисления функции зависит только от степени полинома (17). По схеме Горнера значение этого полинома вычисляется за время / = п i[y+tc где ty,tc- время бинарного умножения и сложения соответственно. Поскольку п = const, то временная сложность вычисления функции (16) при любом выборе аргумента составит t С 3= О С

Выбирается и фиксируется количество отсчетов N в ДПФ, для определённости предполагается, что N - целая степень двойки. По схеме кусочно-полиномиальной аппроксимации вычисляются значения (16) в точках х |/ _= 2j/N , / - 0.1.... , N/2 -1. Каждой точке х\ с номером j ставится в соответствие процессор с таким же номером. Процессоры работают синхронно и независимо друг от друга. Каждый процессор дешифрирует номер подынтервала i = int [ ——^— ), в ко-

уы-н)

торый попала точка х |/ , затем считывает коэффициенты полинома (17), хранящиеся в памяти компьютера, по адресам t , и с помощью схемы Горнера вычисляет значение функции в конкретной точке: f " С• i(fni х |/ _+ а („-ц, je [/ _+ci („_2), je \ _+... +a0i. Значения функции и её аргумента записываются в память в виде пары элементов последовательности, где j - номер ячейки. Временная сложность схемы вычисления (16) в точках х\ с учётом наперёд вычисленных коэффициентов полинома Ньютона при И —const составит Т CV/2 ° <0

Далее строится базис ДПФ, точнее, действительная, cos {¿.л п к ¡N , и мнимая, sin (¿.лик /N . части по значениям 4¡c |/ ^f (у |/' ^ . Для построения используется формула редукции синуса [6]:

sin (¡c j= i-1 jf sign 3in ■ z К = ir&. 4¡,x |Jn j, z = f{r \jn j (19)

где обозначает дробную, int 4/ - целую часть числа а. Схема параллельного вычисления строится следующим образом. Каждой точке х\,к = 2лпк /N, п = 0,1,... , N-I, к = 0,1,... , N-I, ставятся в соответствие процессоры с индексами 4р,к,р , р = 0, 1,... , N/2-1.

TT « К. ; - [| Сл-пк Í2nk\ Процессоры, работая параллельно, вычислят значения z\i,k _= <1-) = \-г-

nk ,

Затем

N/2 процессоров по значению z\i,k _ параллельно дешифрируют адрес /, по совпадению в

двумерном массиве следующим образом:

X li I=z |j,к j\ =0,1,... , N/2-l, (20)

при этом в ячейке памяти с номером /, также хранится значение функции f (¡с |/х Далее вы-

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

( \Цлпк~]>Ы\\ (2 пкЛ ^ . -

числяются значения v 1 v , К = int --;—- =int - и sign (¿лик /N . эти значения

N

л

V /

перемножаются в соответствии с формулой (19).

Действительная часть строится аналогично мнимой, отличие лишь в том, что в точке х [/./г _ = 2лпк /N значение cos (лик / N _ вычисляется с помощью (19), где редуцируется функция sin

Временная сложность схемы составит

T N3/2j= O <1 (21)

Теорема 5. Базис ДПФ вида cos (¿лпк ¡N 3"7sin (¿лпк/N ^ п = 0,1,... , N-1, к = 0,1,... ,N — 1, можно вычислить с произвольно заданной априори границей погрешности е при помощи таблично-алгоритмической схемы вычисления функций на основе интерполяционного полинома Ньютона и формулы редукции (19) на N3/ 2 процессорах с временной сложностью O ^ , иными словами, вычисление выполнимо с единичной оценкой времени (21).

у n-\

Последующее ДПФ Rc С С —^ х (i j:os (лпк/N

Nn-0

Im С ( —— ^ х (i З'п ( л л к / Х^ с использованием схемы сдваивания выполняется с оцен-

^ п-0

кой О ^ogj

Теорема 6. В условиях теоремы 5 базис и собственно ДПФ, ограниченное N членами, можно вычислить с произвольно заданной априори границей погрешности е на основе таблично-алгоритмической схемы и схемы сдваивания с временной сложностью Т = О {og2 N .

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

базиса инвариантна относительно числа отсчётов ДПФ.

Выводы. Предложенный алгоритм пилообразного преобразования при динамическом изменении числа отсчетов имеет сложность О {og2 \' , что улучшает известную оценку О {og2 V [1]. Аналогично, оценка О {og2 \' для быстрого вейвлет-преобразования улучшает известную оценку Мала О (\'log2 Л' [8].

Основной результат работы заключается в построении динамически распараллеливаемых схем выполнения пилообразного преобразования, преобразований Уолша и Хаара, быстрого вейв-лет-преобразования и ДПФ при условии динамического изменения числа отсчетов с минимизацией временной сложности до О {og 2 V путем параллельного пересчета элементов базиса для переменного значения N.

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

1. Режим доступа: arXiv:quant-ph/0201120v1 26 Jan 2002

2. Блаттер К. Вейвлет-анализ. Основы теории. М., 2004. 280 с.

3. Забеглов В.В. Компьютерно-ориентированные схемы минимизации временной сложности цифровой обработки сигналов при динамическом изменении отсчетов: автореф. дис. канд. техн. наук. Таганрог: ТТИ ЮФУ, 2010. 20 с.

4. Залманзон Л.А. Преобразования Фурье, Уолша, Хаара и их применение в управлении, связи и других областях. М.: Наука, 1989. 496 с.

5. Никитин Г.И. Применение функций Уолша в сотовых системах связи с кодовым разделением каналов. СПб.: СПбГУАП, 2003. 86 с.

6. Ромм Я.Е. Локализация и устойчивое вычисление нулей многочлена на основе сортировки. II // Кибернетика и системный анализ. 2007. № 2. С. 161-174.

7. Смоленцев Н.К. Основы теории вейвлетов. Вейвлеты в MATLAB. М.: ДМК Пресс, 2005. 304 с.

8. Столниц Э., ДеРоуз Т., Салезин Д. Вейвлеты в компьютерной графике: пер. с англ. Ижевск: НИЦ «Регулярная и хаотическая динамика», 2002. 272 с.

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