Xreferat.com » Рефераты по математике » Алгоритм фильтрации, пример на основе БПФ

Алгоритм фильтрации, пример на основе БПФ

ступени.

Так, на ступени т = 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с., ил.

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: