Научная статья на тему 'Реализация быстрого дискретного преобразования Фурье на 8-разрядных микроконтроллерах'

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

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

Аннотация научной статьи по математике, автор научной работы — Фесич В. П., Карчевой А. В., Мовчанюк А. В.

Рассмотрены особенности реализации быстрого дискретного преобразования Фурье на 8-разрядных микроконтролерах.

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

Realization of fast Fourier''s transform by 8-bit microcontrollers

In present article considers peculiarity of realization Fast Fourier Transform by 8-bit microcontrollers.

Текст научной работы на тему «Реализация быстрого дискретного преобразования Фурье на 8-разрядных микроконтроллерах»

ПристроХта системирадюзв'язку,радюлокаци,раЫонавиацп

УДК 621.391

РЕАЛ1ЗАЦ1Я ШВИДКОГО ДИСКРЕТНОГО ПЕРЕТВОРЕННЯ ФУР'С НА 8-РОЗРЯДНИХ М1КРОКОНТРОЛЕРАХ

Фес1ч В.П., Корчовий О.В., Мовчанюк А.В.

Розглянут1 особливост1 реал1зацп швидкого дискретного перетворення Фур'е на 8-розрядних мжроконтролерах.

При виршенш ряду задач (контроль частоти напруги i коефщенту гар-мошк в джерелах безперебшного живлення; дослiдження характеристик динамiчних ланок з невисокою швидкодiею, тощо) спектр сигналу доцшь-но обчислювати на 8-розрядних мiкроконтролерах. Враховуючи те, що програмне забезпечення (ПЗ) для спектрального аналiзу дискретного сигналу на мiкроконтролерi (МК) мае бути компактним, ушверсальним, шви-дким i оптимiзованим пiд особливостi МК, найкраще реалiзовувати поста-влену задачу з використанням алгоритму швидкого дискретного перетво-рення Фур'е (ШДПФ) - оптимiзованим способом обчислення дискретного перетворення Фур'е (ДПФ). Розглянемо алгоритм по основi 2 (Яа^х-2) [1]. Иого щея полягае в наступному: повне обчислення ДПФ роздшяеться на комбшащю 2-елементних ДПФ, як мiстять названу "метелик" базову операщю множення i до-давання (рис. 1), I операци об'еднання Тх результатiв. Рис. 1

Х[0]о-

Х[4]о-

Х[2]<

Х[6]о-

Х[1]о-

Х[5]<

Х[3]<

Х[7]<

Стад ¡я 1 Стад1я 2 Стад ¡я 3

п ^ ^^^ \/ \ /

-1 \\//

п ^ ^^^ №2а у \ \хх/

-1 -1 ¡\j\hj\

\/ / \]\ \

-1 и/I / / \ \

п ^ ^^^ У \ и/2 / \

-1 -1 -1

Вихщнм даш в порядку реверсивних ¡ндекс1в

N. Множень у 1од2Л/

■оХи

■оХ[1]

= Х[2]

Х[3]

-°Х[4]

Х[5]

Х[6]

хт

комплексних чисел

Рис. 2. Алгоритм 8-точкового ШДПФ ЯаШх-2

50 Вкник Нащонального техшчного ушверситету УкраХни "КШ"

Серiя - Радютехмка. Радюапаратобудування.-2008.№37

Пристрог та система радюзв 'язку, радюлокаци, радюнавиацп

При реалiзащi 8-елементного ШДПФ по алгоритму Radix-2 юнцевий результат обчислюеться з використанням трьох каскадiв (рис.2). Базова операцiя 2-елементного ДПФ формуе основу всього обчислення. Результата обчислень на ушх стадiях розрахунк1в, помiщаються на мiсця, як поча-тково мiстили вихiднi вщл^ з часовоi областi x(n). Для роботи алгоритму елементи вихщного масиву x(n) мають бути впорядковаш з використанням алгоритму швертування бiтiв iндексiв елементiв (порядок слщування вихiдного масиву x(n) на рис. 2, N мае бути ступенем двшки [2]).

Для збершання вихщних даних i результатiв при виконанш ШДПФ по алгоритму Radix-2 потрiбно N комiрок пам'ятi для комплексних чисел (при виконанш ДПФ - N комiрок для вихщних даних i N комiрок для ре-зультатiв обчислень). Недостатнi ресурси 8-розрядних МК накладають ряд обмежень на ix обчислювальш можливостi. Для оптимiзацii алгоритму по швидкостi при знаходженш iнверсного порядку слiдування елементiв масиву вихщних даних i при знаходженш комплексного значення експоненти замють громiздкиx обчислень можна використати константш довiдковi таблицi значень, що записаш в пам'ять програм.

В бшьшосл компiляторiв 8-розрядних МК е тшьки 32-розрядний тип даних з плаваючою комою - float, використовуючи який можна добитись достовiрниx результатiв обчислень ШДПФ. Але обчислення зi змшними такого типу даних е громiздкими, виxiдний програмний код великим, а для збер^ання змiнниx такого типу необхщно багато оперативноi пам'ятi.

Шсля оцiнки необxiдноi точностi розраxункiв для 8-розрядних вхщних даних, запропоновано масиви для збер^ання виxiдниx даних та результат обчислень i деяких результат промiжниx обчислень описати 16-розрядними знаковими цшими змiнними типу int. В частинах програми, де необхщна висока точшсть промiжниx обчислень, яка суттево впливае на к1нцевий результат (знаходження експоненти комплексного числа в головному цикш, збшьшення степеня експоненти при обчисленнях в кожнш операцп «метелик») використати 32-розряднi знаковi типи даних з плаваючою комою. В кожнш операцп "метелик" при множеш елементiв виxiдного масиву на значення експоненти комплексного числа (де необхщно "узго-дити" типи int i float) використати функщю множення 16-розрядних знако-вих цших змiнниx на 32-розряднi знаковi з плаваючою комою, результат яко!' 16-розрядний знаковий цiлий.

При вибраному представлен також здiйснюеться оцiнка максимального значення ШДПФ, яке може бути при використанш вщповщних типiв даних. Масив вихщних даних е 8-розрядним, знаковим. Якщо сигнал на вхщ поступае в виглядi постiйноi напруги максимальноi амплiтуди (127 для знакозмiнноi 8-розрядно' вибiрки), то спектр буде повшстю визначатись значенням X(о) i дорiвнювати 16255, Переповнень значень змшних типу

BicHUK Нацюнального техтчногоутверситету Украгни "КП1" 51

Серiя — Радютехтка. Радюапаратобудування.-2008.-№37

ПристрЫ та система радюзв 'язку, радюлокаци, радюнавкацй'

int (-32768... 32767) не виникне.

Po3Mip оперативно!' пам'ят N байт визначае граничну кшьюсть N / 4 16-розрядних комплексних елеменпв ШДПФ. Але навiть тако! межi досяг-нути неможливо, оск1льки для виконання програми МК необхiдна певний розмiр оперативно! пам'ятi для збершання промiжних результатiв i для ор-ганiзацii стеку. Практично кiлькiсть елеменпв ШДПФ складае N / 8.

Для перевiрки реалiзацii алгоритму ШДПФ Radix-2 обраний 8-розрядний МК Atmega16 компанп Atmel. В якостi вихщних даних викорис-тано три 128-елементш масиви 8-розрядних цiлих знакових значень тесто-вих сигналiв (сума трьох синусо'д рiзних частот, прямокутний iмпульс i радiоiмпульс), записанi в пам'ять програм МК. Значення вибраного вихщ-ного сигналу зчитуються з пам'ят програм МК i записуються в оперативну пам'ять, шсля цього здшснюеться обчислення ШДПФ. Обрахованi коефь щенти кореляцп мiж результатами ШДПФ, отриманими за допомогою МК i «еталонними» результатами, отриманими в середовищi Matlab для трьох дослщжуваних сигналiв показав, що !'х значення (r1 = 0,9998, r2 = 0,9999, r3 = 0,9997) мають прийнятш межi. Час обчислення ШДПФ з використання вбудованого в МК апаратного помножувача, який вимiрювався з викорис-танням вбудованого 16-розрядного таймера-лiчильник склав 6124 мкс. Час обчислення ШДПФ без використання вбудованого в МК апаратного помножувача - 33578 мкс.

Програма обчислення ШДПФ на мовi С для 8-розрядного МК Atmega16 показала, що алгоритм ШДПФ Radix-2 можна використовувати в 8-розрядних малопотужних МК. Результати для 16-розрядних даних суттево не вiдрiзнятимуться вщ "еталонних" результатiв. Використання вбудованого апаратного помножувача зменшуе час розрахунюв.

Л1тература

1. Блейхут Р. Быстрые алгоритмы цифровой обработки сигналов.М.:Мир,1989.547 с.

2. http://www.neic.nsk.su/~mavr/LIB/Kester/05.pdf - Быстрое преобразование Фурье,

У. Кестер. 27 с.

Ключов1 слова: швидке перетворення Фур' e, nporpaMyBaHHA MiKpoKompo^epa

Фесич В.П., Карчевой А.В., Мовчанюк А.В. Реализация быстрого дискретного преобразования Фурье на 8-разрядных микроконтроллерах Рассмотрены особенности реализации быстрого дискретного преобразования Фурье на 8-разрядных микроконтролерах. Fisich V.P.,Korchovyy O.V.,Movchanyuk A.V. Realization of fast Fourier's transform by 8bit microcontrollers In present article considers peculiarity of realization Fast Fourier Transform by 8-bit microcontrollers.

52 BicHUK Нацюнального техтчногоутверситету Украти "КП1

Серiя — Радютехтка. Радюапаратобудування.-2008.-№37

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