8. АНАЛИЗ ТОЧНОСТИ РЕАЛИЗАЦИИ АЛГОРИТМОВ БПФ

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

Методику оценки вычислительных ошибок БПФ рассмотрим на примере реализации БПФ по основанию 2 и с прореживанием по времени. Рассматриваемая методика может быть применена и для анализа ошибок других алгоритмов БПФ. Будем предполагать, что: обрабатываемые числа представляются с помощью b1+1 разрядов, а коэффициенты - с помощью b2+1 разрядов с учетом знака; для аппроксимации произведений используется операция округления; масштабирование промежуточных результатов производится на входе каждой операции «бабочка» путем сдвига чисел на один разряд вправо (деление на два); входные данные пронормированы таким образом, что, и подчиняются равномерному закону распределения т. е. имеют математическое ожидание равное нулю, и дисперсию  равную 1/3. Следовательно, среднеквадратическое значение (СК3) входной последовательности равно также 1/3. В соответствии с теоремой Парсеваля

выходная последовательность X(k) БПФ будет иметь СК3 N/3, где N-размер преобразования. С целью уяснения методики анализа ошибок получим алгоритм БПФ в аналитическом виде. Для этого в выражение для N=2v -точечного ДПФ (5.1)

(8.1)

необходимо подставить двоичное разложение коэффициентов п и k:

(8.2)

в результате алгоритм БПФ можно представить, как ранее убедились, в виде v+1-ступенчатого процесса.

На ступени т=0 производится двоично-инверсная перестановка входной последовательности

На каждой из остальных v ступеней (т=1, 2,….,v) производится преобразование типа «бабочка» выходной последовательности предыдущей ступени.

Так, на ступени т = 1 производится преобразование последовательности

 

X0(n1,…,пv):


На ступени m=2 -преобразование последовательности Х1 (п1,..., nv-1, k1)

На m-й ступени

 (8.3)

Так постепенно в двоичном представлении индекса последовательности Хm с увеличением т происходит замена коэффициентов ni на kj

Наконец при т = v

Выходная последовательность последней ступени является искомой:

 

X(k)=X(kv2v-1 +... +k1)=Xv(kv 2v-1 +kv-12v-2+... +k1).

Представим индекс элемента т-й ступени в виде

 

(n1,..., nv-m,km,,..., k1)=2v-1n1+2v-2n2+… +2mnv-m+2m-1km+…+k1=2ml+q (8.4)

 

Тогда число Xm(2ml+q) можно рассматривать как q-й элемент l-го блока т-й ступени.

Пример б. Рассмотрим описанную процедуру синтеза алгоритма БПФ с прореживанием по времени на примере 16-точечного ДПФ. В этом случае v=4. Индексы n и k представим следующим образом: n=n423+n322+n22+n1, k=k423 +k322 +k22+k1.

Подставляя n и k в выражение для 16-точечного ДПФ, получаем

 

X(k4k3k2k1)=    (n4nЗn2n1)

Теперь распишем алгоритм по ступеням:

т = 0 - инверсия входной последовательности:

 

Х0(n1 23+n2 22+n3 2+n4)=x(n4 23+n3'22+n22+n1);

 

т= l - преобразование «бабочка» последовательности Х0:

 

т = 2 - преобразование «бабочка» последовательности X1:

m=3 - преобразование «бабочка» последовательности Х2:


m=4 - преобразование «бабочка» последовательности ХЗ:

Искомая выходная последовательность

Рисунок 7

Направленный граф полученного в примере 16-точечного БПФ с указанием источников элементарных ошибок округления произведений и масштабирования, а также путей их распространения изображен на рис.7. Ошибки округления появляются в местах умножения комплексных чисел на нетривиальные поворачивающие множители.

Ошибки масштабирования появляются на обоих входах каждой операции «бабочка» из-за сдвига входных чисел на один разряд вправо (деление на два).

Элементарные ошибки округления и масштабирования, возникающие на различных ступенях алгоритма, приводят к тому, что отсчеты ДПФ X(k) на выходе вычисляются неточно.

Обозначим ошибку вычисления k-ro отсчета ДПФ через e(k)=X'(k) -X(k), где Х'(k)-вычисленное значение отсчета.

Анализ траекторий распространения элементарных ошибок, возникающих на различных ступенях алгоритма, позволяет сделать следующие выводы:

1. Элементарная ошибка с дисперсией , возникающая на т-й ступени алгоритма. вызывает ошибку с дисперсией  в 2v-m выходных точках БПФ.

2. Дисперсия ошибки каждого выходного отсчета алгоритма, обусловленной округлением произведений, равна сумме ошибок, 2v-m из которых вызывается ошибками т-й ступени.

Перейдем к анализу арифметических ошибок. В силу того, что математическое ожидание всех элементарных ошибок равно нулю, математическое ожидание результирующей ошибки E(e(k))=0 для всех k. Тогда СКЗ ошибок ДПФ будет определяться только дисперсией элементарных ошибок.

Дисперсия ошибок округления произведения двух комплексных чисел на т-й ступени равна 4. Множитель  появляется из-за масштабирования на т предыдущих ступенях путем деления пополам.

Вычислим СКЗ ошибок e(k), k=0,...,N-1. Из анализа алгоритма БПФ (8.3) и соответствующего направленного графа следует, что нетривиальные умножения, связанные с вычислением отсчета Х (k), появляются, начиная со ступени


(8.5)

где.  Это объясняется тем, что первое появление

единицы в двоичном представлении , , соответствует умножению на коэффициент -1 на ступени т, тогда на следующей т+ l-й ступени наличие коэффициента  = 1 приведет к умножению на j, а уже на т+2 и далее ступенях все умножения будут нетривиальными. Это хорошо проследить, анализируя выражение (8.3), описывающее т-ю ступень алгоритма. Можно показать путем вычислений s (k), что для определения отсчетов с номерами k=0, N/4; N/2; 3N/4 не требуется выполнение нетривиальных умножений, все умножения здесь на ; . Ошибка округления этих отсчетов равна нулю. А для вычисления СКЗ ошибок округления отсчетов с другими k воспользуемся вторым выводом. В результате получим

(8.6)

Пример 7. Рассмотрим вычисление ошибок округления отсчетов 16-точечного БПФ. Для этого выпишем для каждого номера отсчета его двоичное представление . Затем пользуясь выражением (8.6), вычисляем ошибки округления. Результаты расчетов приводятся в табл.1. Заметим, что отсчеты с номерами k=4, 8, 12 вычисляются точно так, как s(k)>4, где 4-максимальное число возможных ступеней алгоритма, т. е. в формировании отсчетов с номерами 0, 4, 8, 12 участвуют умножения только на тривиальные множители  (см. также граф на рис.5).

Вычислим СКЗ ошибки, усредненное по всем k. На первых двух ступенях алгоритма (т=1,2) все умножения являются точными, так как множители тривиальны ; на выходах т-й ступени (т = 3,…, у) появляется N произведений в  блоках, причем четыре произведения в каждом блоке являются точными в результате умножения также на тривиальные множители.

Таблица 1

Тогда, пользуясь выводом 1, получаем

(8.7)

В случае 16-точечного БПФ

Определим СКЗ выходной ошибки алгоритма, обусловленной масштабированием промежуточных результатов. Ошибка масштабирования комплексного числа на m-й ступени алгоритма имеет нулевое среднее и дисперсию . Множитель  появляется из-за масштабирования на m предыдущих ступенях.

В соответствии с выводом 2 СКЗ индивидуальной ошибки равно

(8.8)

в случае 16-точечного БПФ

Усредненное по всем выходам k СК3 также равно

(8.9)

Среднеквадратическое значение суммарной ошибки, обусловленной округлением и масштабированием, вычисляется как сумма отдельных СК3:

(8.10)

СК3 суммарной ошибки, усредненное по всем выходам алгоритма, равно

 (8.11)


В случае 1б-точечного БПФ

Результаты вычисления СК3 суммарных ошибок также приведены в табл.1. Точность алгоритма принято оценивать по отношению «СК3 ошибки / СК3 выходного сигнала». В данном случае оно составляет

____«СКЗ ошибки»______ = (8.12)

«СКЗ выходного сигнала»

В случае 1б-точечного БПФ

___«СК3 ошибки»_______ =

«СК3 выходного сигнала»

Как видно из полученных выражений, точность алгоритма зависит от двух параметров: длины преобразования N и разрядности представления чисел b1. Если известны требования по точности вычисления и размер преобразования, разрядность процессора БПФ можно определить из следующего выражения, полученного логарифмированием выражения (8.12):

 (8.13)

Теперь перейдем к анализу ошибок БПФ, вызванных неточным представлением значений поворачивающих множителей  Пусть


 - точные значения коэффициентов Фурье, а '(k) - неточные, полученные при условии представления коэффициентов конечным числом разрядов

.

В рассматриваемом алгоритме каждый элемент  представляет собой произведение v квантованных коэффициентов. Действительно, можно показать, что каждый отсчет входной последовательности, продвигаясь к k-му выходу (см. рис.5), на каждой ступени алгоритма претерпевает умножение только на один поворачивающий множитель, т. е.

(8.14)

где

(8.15)

Дисперсия элементарных ошибок округления  комплексных коэффициентов равна

Индивидуальная ошибка БПФ, обусловленная округлением коэффициентов, равна

(8.16)


Вычитая (8.15) из (8.14), получаем

 члены высшего порядка.

Пренебрегая членами высшего порядка и подставляя последнее выражение в (8.16), получаем следующее СК3 ошибки, вызванной квантованием коэффициентов:

(8.17)

По теореме Парсеваля СК3 выходного сигнала равно

(8.18)

Отсюда «СК3 ошибки / СК3 выходного сигнала» = (v/б) 2-2b2. В случае 16-точечного БПФ «СК3 ошибки/СК3 выходного сигнала» = (2/3) 2-2b2.

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


ЗАКЛЮЧЕНИЕ

До середины 1960-х для представления спектрального разложения использовались точные формулы для нахождения параметров синусов и косинусов. Соответствующие вычисления требовали как минимум N**2 (комплексных) умножений. Таким образом, даже сегодня высокоскоростному компьютеру потребовалось бы очень много времени для анализа даже небольшого временного ряда (для 8,000 наблюдений потребовалось бы, по меньшей мере 64 миллиона умножений).

Ситуация кардинально изменилась с открытием так называемого алгоритма быстрого преобразования Фурье, или БПФ для краткости. Достаточно сказать, что при применении алгоритма БПФ время выполнения спектрального анализа ряда длины N стало пропорционально N*log2(N) что конечно является огромным прогрессом.

Однако недостаток стандартного алгоритма БПФ состоит в том, что число данных ряда должно быть равным степени 2 (т.е. 16, 64, 128, 256,...). Обычно это приводит к необходимости добавлять нули во временной ряд, который, как описано выше, в большинстве случаев не меняет характерные пики периодограммы или оценки спектральной плотности. Тем не менее, в некоторых случаях, когда единица времени значительна, добавление констант во временной ряд может сделать результаты более громоздкими.


СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1.       Цифровая обработка сигналов: Учебн. Пособие для вузов/Л. М. Гольденберг, Б.Д. Матюшкин, М. Н. Поляк. – 2изд., перераб. и доп. – М.: Радио и связь, 1990. – 256 с.: ил.

2.       Рабинер Л., Гоулд Б. Теория и применения цифровой обработки сигналов. – М.:Мир, 1978.-848с.

3.       Макклеплан Д.Х., Рейдер Ч. М. Применение теории чисел в цифровой обработке сигналов: Пер. с англ. – М.: Радио и связь, 1983.-264с.

4.       Гольденберг Л.М., Матюшкин Б.Д., Поляк М. Н. Цифровая обработка сигналов: Справочник.- М.: Радио и связь, 1985. – 312с., ил.


Информация о работе «Алгоритм фильтрации, пример на основе БПФ»
Раздел: Математика
Количество знаков с пробелами: 36424
Количество таблиц: 11
Количество изображений: 11

Похожие работы

Скачать
133819
3
0

... учесть введением в блок-схему дополнительного .источника шума [11]. Расстояние между отсчетами должно удовлетворять теореме Найквиста для двумерных колебаний [1]. Устройства для дискретизации и квантования изображений основаны на технике микроденситометрии. В подобных системах на пленку проектируется луч света с интенсивностью I1. Интенсивность I2 света, прошедшего сквозь пленку (или отраженного ...

Скачать
37777
1
2

... Интересным примером применения спецпроцессора СПФ СМ явилась обработка радиолокационных сигналов зондирования поверхности планеты Венера, которое проводилось со спутника. Глава 3. Применение цифровой обработки сигналов. 3.1 Шумоподавление для звука Звуковой сигнал, записываемый в реальных акустических условиях, часто содержит нежелательные шумы, которые могут порождаться окружающей средой ...

Скачать
168346
1
36

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

Скачать
59427
2
0

... построения оптических систем и сетей связи В результате изучения данной дисциплины студент должен: знать: принципы построения инфокоммуникационных сетей (ПК-1); основные характеристики первичных сигналов связи (ПК-3); принципы построения проводных и радиосистем передачи с частотным и временным разделением каналов (ПК-1); основные характеристики каналов и трактов (ПК-3); принципы построения ...

0 комментариев


Наверх