Розробка процесора ШПФ

Розробка процесора швидкого перетворення Фур’є на основі високо продуктивного 32-розрядного цифрового сигнального мікропроцесора ADSP-BF534. Основні характеристики мікропроцесора ADSP-BF534. Функціональна схема процесора ШПФ та програма виконання.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык украинский
Дата добавления 05.10.2012
Размер файла 2,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”

Кафедра ЕОМ

Курсовий проект

з курсу: «Методи, алгоритми та засоби цифрової обробки сигналів та зображень»

на тему: «Розробка процесора ШПФ»

Варіант № 69

Виконав: ст. гр. КСМм-14

Пищук М. М.

Прийняв: Грицик І. В.

Львів-2012р.

Завдання до курсового проекту

Розмірність, N

Основа

Тип прорідження

Вагова функція

Час обробки, мс

Розрядність вхідних даних, біт (Re + Im)

Тип процесора

Тип вхідного інтерфейсу, пристрою, часові параметри

Тип вихідного інтерфейсу, пристрою

1024

4

F

Блек- мана

0,4

8 (4+4)

ADSP-BF534

ppi

spi

Блекмана 0 n N/2

Анотація

Метою даного курсового проекту є розробка процесора швидкого перетворення Фур'є на основі високо продуктивного 32-розрядного цифрового сигнального мікропроцесора ADSP-BF534. У записці детально описано алгоритм ШПФ за основою 4 з частотним прорідженням, основні характеристики мікропроцесора ADSP-BF534, а також функціональна схема процесора ШПФ та програма виконання заданої функції.

Зміст

При обробці сигналів у багатьох випадках доводиться виміряти спектри. Так, в задачах розпізнавання мови спектральний аналіз, як правило, передує подальшій спеціальній обробці. В системах стиснення смуги мовних сигналів спектральний аналіз є звичайно основною операцією. В гідроакустичних системах для виявлення надводних кораблів і підводних човнів вимагається проводити складний спектральний аналіз. В системах радіолокацій для отримання інформації про швидкість мети також доводиться виміряти спектр.

Слід мати на увазі, що поняття «спектральний аналіз» включає велике число різних вимірювань. В широкому значенні його можна визначити як вимірювання, яке дає точні або наближені значення z-перетворення дискретного сигналу для заданих значень z. Створення адекватної теорії спектрального аналізу утруднено тією обставиною, що на практиці всі спектральні вимірювання проводяться на кінцевих тимчасових інтервалах, довжина яких звичайно визначається інтуїтивно або на основі накопиченого досвіду. Наприклад, «спектр» мовного сигналу дуже сильно залежить від часу, змінюючись приблизно із швидкістю зміни параметрів мовного тракту (біля 10 раз за секунду). Не дивлячись на це, в багатьох прикладних задачах короткочасний спектр мовного сигналу є однією з найважливіших характеристик.

Набір алгоритмів, званих алгоритмами швидкого перетворення Фур'є (ШПФ), включає різноманітні методи зменшення часу обчислення дискретного перетворення Фур'є (ШПФ).

Оскільки обчислення ШПФ є основною операцією в більшості задач спектрального аналізу, то використовування ШПФ в деяких що зустрічаються на практиці випадках, дозволяє прискорити обчислення ШПФ в 100 і більш раз в порівнянні з методом прямого обчислення ШПФ, має надзвичайно важливе значення і повинне розглядатися як невід'ємна частина застосування методів цифрової обробки сигналів для спектрального аналізу.

1. Теоретичний розділ

1.1 Характеристики процесора ADSP-BF534

Особливості:

- Ядро ADSP-BF534 з частотою до 500 МГц;

- Максимальна продуктивність, 1000 MMACS;

- Три 16-розрядних помножувачі;

- Два 40-розрядних АЛП;

– Чотири 8-розрядних відео АЛП;

– 40-розрядний пристрій зсуву;

– Можливість використання у автомобілях;

– Програмований вбудований регулятор напруги;

– Найновіші засоби відлагодження, трасування та відмінний моніторинг;

Пам'ять

– 132 Кб пам'ять на кристалі;

– Зовнішній контролер пам'яті з безклєєвою підтримкою SDRAM і асинхронними 8-розрядною і 16-розрядною пам'ятями;

- Пам'ять ОТР (One-time-programmable);

- Додаткова 4Мб на кристалі SPI Flash з опцією завантаження;

- Захист коду з технологією безпеки Lockbox;

Периферія

– Controller area network (CAN) 2.0B;

– Паралельний периферійний інтерфейс (PPI), з підтримкою формату відеоданих ITU-R 656;

– Двоканальний, синхронний повнодуплексний послідовний порт SPORTS) з підтримкою 8 канального стерео I2S;

– 12 зовнішніх DMA, 2 з яких керуються через Ethernet MAC;

– 2 DMA типу пам'ять-пам'ять із зовнішньою лінією запиту;

– 32 входовий обробник переривань;

– Сумісність з послідовним периферійним інтерфейсом SPI;

– 2 універсальних асинхронних прийомо-передавачів UART з підтримкою IrDA;

– Дев'ять 32-ох бітних таймерів/лічильників загального призначення з підтримкою PWM;

– Годинник реального часу (RTC), 32 таймер ядра, сторожовий таймер;

– Фазове авто налаштування частоти (PLL) на кристалі, із можливістю помноження частоти;

– Інтерфейс відлагодження JTAG;

- 48 портів введення виведення загального призначення (програмовані прапорці);

1.2 Опис процесора ADSP-BF534

Процесор ADSP-BF534 являє собою процесор сімейства Blackfin з розширеними можливостями, тобто володіє більшою продуктивністю і меншою споживаною потужністю в порівнянні з попередніми процесорами сімейства Blackfin при збереженні простоти використання і сумісності коду. Даний мікропроцесор створений на базі архітектури MSA (Micro Signal Architecture). Архітектура даного типу оптимізована як для виконання високошвидкісної обробки сигналів в режимі реального часу, так і для реалізації функцій контролю і управління, які властиві класичним мікроконтролерам. Розглянута модифікація сигнального процесора сімейства Blackfin характеризується достатньо великим набором вбудованих периферійних контролерів, які забезпечують достатній зв'язок із зовнішнім світом, а також великим об'ємом вбудованої пам'яті. Мікропроцесори даного сімейства орієнтовані в першу чергу на використання в мобільних телекомунікаційних пристроях, в багатоканальних високошвидкісних модемах, виробах побутової електроніки (портативних фото- і відеокамерах, в професійній і побутовій аудіо- і відеоапаратурі і т.д.), системах відео спостереження, автомобільній електроніці, а також в інших пристроях в яких вимагається забезпечити високошвидкісну цифрову обробку сигналів в реальному масштабі часу і з низьким енергоспоживанням. Особливістю продуктів сімейства Blackfin є динамічне управління живленням. Можливість зміни, як напруги живлення, так і робочої частоти дозволяє оптимізувати споживання потужності відповідно з конкретним завданням.

Рис. 1.1 Функціональна блок-діаграма процесора

1.3 Опис ядра процесора ADSP-BF534

Ядро процесора ADSP-BF534 складається із двох 16-бітних помножувачів, двох 40-бітних акумуляторів, двох 40-бітних АЛП, чотирьох відео АЛП і з 40-бітного зсувного регістру. Процес обчислення відбувається над 8-, 16-, чи 32-бітними даними з регістрового файлу.

Регістровий файл вміщує вісім 32-бітних регістри. Коли здійснюються обчислювальні операції над 16-ти розрядними операндами, регістровий файл працює як 16 незалежних 16-ти розрядних регістрів. Всі операнди для комп'ютерних операцій завантажуються з багатопортового регістрового файлу і з полів вмісту інструкцій. Кожний помножувач може виконувати 16-ти розрядне множення в кожному циклі із накопиченням результатів у 40 розрядний акумулятор. Підтримуються знаковий і без знаковий формати даних, а також насичення і округлення.

АЛУ виконує традиційний набір арифметичних і логічних операцій над 16 (32) розрядними даними. А також підтримує багато спеціальних інструкцій для прискорення різних задач обробки сигналів. До них відносяться такі операції як вивільнення полів і визначення популяції, множення за модулем 232 , подільник примітивів, доповнення і заокруглення, а також визначення знаку/експоненти. Набір відео інструкцій включає: байт вирівнювання і упаковку операції, 16-бітні і 8-бітні додавання з відсіканням, 8-ми бітну операцію вирівнювання а також 8-ми бітну операцію віднімання/приведення до абсолютного значення/зберігання (SAA). Також є операції порівняння/вибору і векторного пошуку інструкцій. Для деяких інструкцій дві 16-бітні АЛП операції можуть виконуватись одночасно на регістрових парах.

фур'є цифровий сигнальний мікропроцесор

Рис. 1.2 Ядро процесора Blackfin

Завдяки 40-бітному зсувному регістру можна здійснювати обертання і зсув, що використовується для нормалізації, розпакування полів та інструкцій упакування полів.

Програма секвенсор керує потоком виконання інструкцій, в тому числі інструкціями вирівнювання і декодування. Для програмного управління потоком, секвенсор підтримує ПК сумісні непрямі умовні переходи (зі статичним передбаченням розгалуження), і виклики підпрограм. Передбачене апаратурне виконання циклу нульових накладних. Архітектура є повністю закритою, це означає, що програмісту не потрібно керувати роботою конвеєру коли виконуються інструкції із взаємозалежними даними.

Модуль адресної арифметики володіє двома адресами, для одночасного подвійного вибору з пам'яті. Це означає, що багато портовий регістровий файл складається із чотирьох комплектів 32-бітових індексів, модифікації, довжини і базових регістрів (для кругової буферизації), і восьми додаткових 32 розрядних покажчиків регістрів (для С-типу індексування стекових маніпуляцій).

Процесор Blackfin підтримує модифіковану Гарвардську архітектуру в поєднанні із ієрархічною структурою пам'яті. Пам'ять першого рівня як зазвичай працює на тій же частоті, що й процесор. Пам'ять інструкцій першого рівня зберігає тільки інструкції. Дві пам'яті даних зберігають дані а також в специфічному блоці пам'яті зберігається стек та інформація локальних змінних. Окрім того кілька блоків пам'яті можна отримати конфігурацією і поєднанням SRAM та кешу. Модуль управління пам'яттю забезпечує захист пам'яті для окремих завдань, які можуть виконуватись на ядрі і може захищати системні регістри від ненавмисного доступу. Дана архітектура забезпечує три режими роботи: режим користувача, режим розробника а також режим емуляції. У користувацькому режимі обмежений доступ до певних режимів системи, забезпечуючи тим самим захист програмного середовища, в режимі розробника є необмежений доступ до систем і основних ресурсів. Набір інструкцій процесора Blackfin був оптимізований таким чином, що 16-ти бітові коди операцій є найбільш часто вживаними інструкціями, в результаті отримується скомпільований код відмінної щільності. Комплекс DSP інструкцій кодуються в 32-бітних кодах операцій, що представляють повнофункціональні інструкції багатофункціональними. Процесори Blackfin наділені обмеженими мультизадачними можливостями, де 32-бітова інструкція може бути видана одночасно з двох 16-бітних інструкцій, це дозволяє програмісту використовувати багато основних ресурсів ядра за один такт інструкції.

Мова налагодження процесора Blackfin використовує алгебраїчний синтаксис для полегшення кодування і читання. Архітектура оптимізована для використання спільно з С/С++ компіляторами, в результаті отримуємо швидке і ефективне написання програмного забезпечення.

1.4 Архітектура пам'яті процесора ADSP-BF534

Процесор ADSP-BF534 розглядає пам'ять як один уніфікований 4 GB адресний простір, використовуючи 32-розрядну адресацію. Всі ресурси, в тому числі вбудована пам'ять, зовнішня пам'ять і регістри контролю вводу/виводу, займають окремі розділи цього спільного адресного простору. Частини пам'яті цього адресного простору розташовані у вигляді ієрархічної структури, щоб забезпечити добрий баланс між ціною і продуктивністю з деякою дуже швидкою, кеш пам'яттю на кристалі чи SRAM і більш об'ємною й дешевшою й повільнішою зовнішньою пам'яттю. Пам'ять на кристалі має найвищу швидкодію доступну для процесора Blackfin. Системи зовнішньої пам'яті доступні через зовнішній модуль шинного інтерфейсу, який надає змогу підключити SDRAM, флеш пам'ять і SRAM при необхідності доступу до 516 Мб фізичної пам'яті. DMA контролер пам'яті забезпечує високу широкосмугову пропускну здатність. Він може здійснювати передачу блоків коду чи даних між внутрішньою пам'яттю і зовнішніми просторами памяті.

Зовнішня пам'ять доступна через EBIU. Це 16-ти розрядний інтерфейс, що забезпечує безпосереднє підключення до банку синхронної DRAM (SDRAM), а також до чотирьох банків асинхронних пристроїв пам'яті, включаючи Flash, EPROM, ROM, SRAM і адресовані пам'яттю пристрої вводу/виводу.

Рис. 1.3 Карта адресації пам'яті процесора ADSP-BF534

РС133 SDRAM сумісний контролер може бути запрограмований для двохсторонньої взаємодії з 128М SDRAM. Окремий рядок може бути відкритий для кожного SDRAM внутрішнього банку і SDRAM контролер підтримує до 4 внутрішніх банків SDRAM, задля підвищення загальної швидкодії. Асинхронний контролер пам'яті може бути запрограмований на управління чотирма банками пристроїв з дуже гнучкими часовими параметрами для широкого кола пристроїв. Кожний банк займає 1Мб незалежно від розміру використовуваних пристроїв, отже ці банки є суміжними кожний із яких може бути окремо заповненим.

1.5 Опис контактів процесора ADSP-BF534

Призначення контактів процесора ADSP-BF534 наведені в таблиці 1. З метою забезпечення максимальної функціональності та скорочення розміру корпусу і кількості контактів, деякі контакти мають подвійні мультиплексовані функції. У випадку реконфігурованого контакту стан за замовчуванням відображається у вигляді простого тексту у той час як альтернативні функції виділені курсивом.

Всі виходи можуть перебувати в трьох станах під час скиду або безпосередньо після скиду, за винятком зовнішнього інтерфейсу пам'яті, асинхронного і синхронного управління пам'яттю, а також буферного вихідного контакту XTAL (CLKBUF). На інтерфейсі додаткової пам'яті лінії контролю а також адресні лінії керуються за високим станом сигналу за виключенням CLKOUT який переключається на тактовій частоті системи. Якщо BR є активним (або не почалося скидання) то контакти пам'яті є також в трьох станах. В сплячому режимі всі контакти є три становими якщо інше не зазначено в таблиці 1. Всі контакти вводу/виводу мають вхідні буфери які відключаються за винятками описаними в документації. SDA (послідовні дані) SCL (тактові) є відкриті стоком, а отже вимагають навантажувального резистора.

Таблиця 1.1 Опис контактів

Назва контактів

Тип

Функції

Кер.

Інтерфейс пам'яті

ADDR19-1

DATA15-0

ABE1-0/SDQM1-0

BR

BG

BGH

О

І/О

О

І

О

О

Шина адрес для асинхр. доступу

Шина даних для син./асин. доступ

Байт дозволу

Запит на шину

Надання шини

Надання вмісту шини

А

А

А

А

А

Асин. управління пам'яттю

AMS3-0

ARDY

AOE

ARE

AWE

О

І

О

О

О

Вибір банку

Контроль готовності апаратури

Дозвіл на вивід

Дозвіл на читання

Дозвіл на запис

А

А

А

А

Синхр. управління пам'яттю

SRAS

SCAS

SWE

SCKE

CLKOUT

SA10

SMS

О

О

О

О

О

О

О

Строб адресного рядка

Строб адресного стовпчика

Дозвіл на запис

Дозвіл синхроімпульсу

Вивід синхроімпульсу

A10 контакт

Вибір банку

А

А

А

А

В

А

А

PortF:GPIO/UART1-0/Timer7-/SPI/

External DMA Request/PPI

(* = High Source/High Sink Pin)

PF0* - GPIO/UART0 TX/DMAR0

PF1*-GPIO/UART0RX/DMAR1

PF2* - GPIO/UART1 TX/TMR7

PF3* - GPIO/UART1 RX/TMR6

PF4* - GPIO/TMR5/SPI SSEL6

PF5* - GPIO/TMR4/SPI SSEL5

PF6* - GPIO/TMR3/SPI SSEL4

PF7* - GPIO/TMR2/PPI FS3

PF8 - GPIO/TMR1/PPI FS2

PF9 - GPIO/TMR0/PPI FS1

PF10 - GPIO/SPI SSEL1

PF11 - GPIO/SPI MOSI

PF12 - GPIO/SPI MISO

PF13 - GPIO/SPI SCK

PF14 - GPIO/SPI SS/TACLK0

PF15 - GPIO/PPI CLK/TMRCLK

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

GPIO/UART0 Transmit/DMA Request 0

GPIO/UART0 Receive/DMA Request 1

GPIO/UART1 Transmit/Timer7

GPIO/UART1 Receive/Timer6/Timer6

GPIO/Timer5/SPI Slave Select Enable 6

GPIO/Timer4/SPI Slave Select Enable 5

GPIO/Timer3/SPI Slave Select Enable 4

GPIO/Timer2/PPI Frame Sync 3

GPIO/Timer1/PPI Frame Sync 2

GPIO/Timer0/PPI Frame Sync 1

GPIO/SPI Slave Select Enable 1

GPIO/SPI Master Out Slave In

GPIO/SPI Master In Slave Out

GPIO/SPI Clock

GPIO/SPI Slave Select

GPIO/PPI Clock/External Timer Reference

С

С

С

С

С

С

С

С

С

С

С

С

С

D

C

C

Port G: GPIO/PPI/SPORT1

PG0 - GPIO/PPI D0

PG1 - GPIO/PPI D1

PG2 - GPIO/PPI D2

PG3 - GPIO/PPI D3

PG4 - GPIO/PPI D4

PG5 - GPIO/PPI D5

PG6 - GPIO/PPI D6

PG7 - GPIO/PPI D7

PG8 - GPIO/PPI D8/DR1SEC

PG9 - GPIO/PPI D9/DT1SEC

PG10 - GPIO/PPI D10/RSCLK1

PG11 - GPIO/PPI D11/RFS1

PG12 - GPIO/PPI D12/DR1PRI

PG13 - GPIO/PPI D13/TSCLK1

PG14 - GPIO/PPI D14/TFS1

PG15 - GPIO/PPI D15/DT1PRI

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

I/O

GPIO/PPI Data 0

GPIO/PPI Data 1

GPIO/PPI Data 2

GPIO/PPI Data 3

GPIO/PPI Data 4

GPIO/PPI Data 5

GPIO/PPI Data 6

GPIO/PPI Data 7

GPIO/PPI Data 8

GPIO/PPI Data 9

GPIO/PPI Data 10

GPIO/PPI Data 11

GPIO/PPI Data 12

GPIO/PPI Data 13

GPIO/PPI Data 14

GPIO/PPI Data 15

С

С

С

С

С

С

С

С

С

С

D

С

С

D

С

С

Port H: GPIO/10/100 Ethernet MAC

PH0 - GPIO -

PH15 - GPIO

I/O

I/O

GPIO

GPIO

E

E

Port J: SPORT0/TWI/SPI Select/CAN

PJ0 - MDC

PJ1 - MDIO

PJ2 - SCL

PJ3 - SDA

PJ4 - DR0SEC/CANRX/TACI0

PJ5 - DT0SEC/CANTX/SPI SSEL7

PJ6 - RSCLK0/TACLK2

PJ7 - RFS0/TACLK3

PJ8 - DR0PRI/TACLK4

PJ9 - TSCLK0/TACLK1

PJ10 - TFS0/SPI SSEL3

PJ11 - DT0PRI/SPI SSEL2

-

I/O

I/O

I/O

I

O

I/O

I/O

I

I/O

I/O

O

On ADSP-BF534, do not connect this pin

GND

TWI Serial Clock

TWI Serial Data

SPORT0 Receive Data Secondary/CAN

SPORT0 Transmit Data Secondary/CAN

SPORT0 Receive Serial Clock

SPORT0 Receive Frame Sync

SPORT0 Receive Data Primary

SPORT0 Transmit Serial Clock

SPORT0 Transmit Frame Sync

SPORT0 Transmit Data Primary

E

E

F

F

C

D

C

D

C

C

Real-Time Clock

RTXI

RTXO

I

O

RTC Crystal Input

RTC Crystal Output

JTAG Port

TCK

TDO

TDI

TMS

TRST

EMU

I

O

I

I

I

O

JTAG Clock

JTAG Serial Data Out

JTAG Serial Data In

JTAG Mode Select

JTAG Reset

Emulation Output

C

C

Clock

CLKIN

XTAL

CLKBUF

I

O

O

Clock/Crystal Input

Crystal Output

Buffered XTAL Output

E

Mode Controls

RESET

NMI

BMODE2-0

I

I

I

Reset

Nonmaskable Interrupt

Boot Mode Strap 2-0

Регулятор живлення

VROUT1-0

O

External FET Drive

Живлення

VDDEXT

VDDINT

VDDRTC

GND

P

P

P

G

I/O Power Supply

Internal Power Supply

Real-Time Clock Power Supply

External Ground

1 6 Застосування дискретного перетворення Фур'є

1. Цифровий спектральний аналіз

· Аналізатори спектра

· Обробка мови

· Обробка зображень

· Розпізнавання образів

2. Проектування фільтрів

· Обчислення імпульсної характеристики по частотній

· Обчислення частотної характеристики по імпульсній

3. Швидке перетворення Фур'є (БПФ) - це простий алгоритм для ефективного обчислення дискретного перетворення Фур'є (ДПФ).

Аналіз Фур'є закладає основи багатьох методів, що застосовуються в області цифрової обробки сигналів (ЦОС). По суті справи, перетворення Фур'є дозволяє зіставити сигналу, заданому в тимчасовій області, його еквівалентне представлення в частотній області. І навпаки, якщо відома частотна характеристика сигналу, то зворотнє перетворення Фур'є дозволяє визначити відповідний сигнал у тимчасовій області. На додаток до частотного аналізу, ці перетворення корисні при проектуванні фільтрів. Частотна характеристика фільтра може бути отримана за допомогою перетворення Фур'є його імпульсної реакції. І навпаки, якщо визначена частотна характеристика сигналу, то необхідна імпульсна реакція може бути отримана за допомогою зворотнього перетворення Фур'є над його частотною характеристикою. Цифрові фільтри можуть бути створені на основі їхньої імпульсної реакції, оскільки коефіцієнти фільтра з кінцевою імпульсною характеристикою ідентичні дискретній імпульсній реакції фільтра.

1.7. Швидке перетворення Фур'є

Вихідними даними для ШПФ є елементи обмеженої послідовності x(n), де n=0,1,.. N-1. Відповідно дискретне перетворення Фур'є має вид:

(1)

(2)

де - повертаючий множник , причому є періодичною послідовністю з періодом N, оскільки

де m - ціле.

Безпосереднє обчислення ДПФ (1) для визначення комплексних значень F(k) вимагає для кожного значення k (N-1) множень і (N-1) додавань комплексних чисел чи 4(N-1) множень і 2(N-1) додавань дійсних чисел, а для всіх N значень k=0, 1, ..., N-1 потрібно приблизно N2 множень і N2 додавань комплексних чисел.

Таким чином, для великих значень N (порядку декількох сотень) пряме обчислення ДПФ вимагає дуже великого числа арифметичних операцій множення і додавання, що утрудняє реалізацію обчислень у реальному часі.

Швидким перетворенням Фур'є (ШПФ) називають набір алгоритмів, реалізація яких приводить до істотного зменшення обчислювальної складності ДПФ (1).

Алгоритм ШПФ за основою 4 із проріджуванням по частоті полягає в розбивці вихідної послідовності x(n), де n=0,1,.. N-1 на чотири послідовності, кожна з яких містить відповідно перші, другі, треті та останні N/4 відліків. При цьому ДПФ можна записати у вигляді:

Оскільки

то

Замість k підставимо наступні значення k = 4r, k = 4r + 1, k = 4r + 2, k = 4r + 3. Отже отримаємо

Рис.1.4 Операція „метелик” в алгоритмі ШПФ з прорідженням по частоті

Для дійсної та уявної частини маємо наступні вирази.

Рис.1.5 Операція „метелик” в алгоритмі ШПФ з прорідженням по частоті (комплексні числа)

2. Аналіз блок-схеми виконання ШПФ

На рис.2.1 представлено обчислення ШПФ з використанням алгоритму з прорідженням за частотою з кількістю точок 1024. Цей метод потребує, щоб алгоритм реверсії був застосований до адресів вихідних відліків X(k).

На першому етапі алгоритму рис.2.1 виконуються 16 чотирьох точкові ШПФ від елементів кожного стовпця. Потім проводяться повороти, причому показники експонент повертаючих множників вказані перед позначенням елементів пам'яті другого етапу. Потім всі чотири рядки проріджуються шляхом формування з них матриць розміром (44) і перетворяться по схемі 16-точкового ШПФ з основою 4, але з іншими повертаючими множниками. У табл. 2.2 наведені групи відліків, які беруть участь в базових операціях при виконанні алгоритму ШПФ при N=1024. ШПФ відбувається за 5 кроків згідно формули v = logrN (log41024), де r - основа ШПФ, а N- розрядність ШПФ. На виході відбувається четвіркова реверсія, згідно табл.2.1. Для кодування 1024-розрядного ШПФ необхідно 5 розрядів, тобто с4 с3с2с1с0 (с=0.1,2,3). Для переведення у десяткову систему числення необхідно виконати перетворення:

Таблиця.2.1 Четвіркова реверсія

Початкова послідовність

Послідовність з реверсією

Дес.с.числ.

Четв.код

Четв.код.

Дес.с.числ.

0

00000

00000

0

1

00001

10000

256

2

00002

20000

512

3

00003

30000

768

4

00010

01000

64

1021

33331

13333

511

1022

33332

23333

757

1023

33333

33333

1023

Таблиця 2.2. Групи відліків, які беруть участь в базових операціях

Номер базової операції

Номер ітерації

Інверсія

1

0

0

0

0

0

0

256

64

16

4

1

256

512

128

32

8

2

512

768

192

48

12

3

768

2

1

256

64

16

4

64

257

320

80

20

5

320

513

384

96

24

6

576

769

448

112

28

7

832

3

2

512

128

32

8

128

258

576

144

36

9

384

514

640

160

40

10

640

770

704

176

44

11

896

4

3

768

192

48

12

192

259

832

208

52

13

448

514

896

224

56

14

704

771

960

240

60

15

960

5

4

1

256

64

16

16

260

65

272

68

17

272

515

129

288

72

18

528

772

193

304

76

19

784

253

252

63

783

963

1008

63

508

127

799

967

1009

319

764

191

815

971

1010

575

1020

255

831

975

1011

831

254

253

319

847

979

1012

127

509

383

863

983

1013

383

765

447

879

987

1014

639

1021

511

895

991

1015

895

255

254

575

911

995

1016

191

510

639

927

999

1017

447

766

703

943

1003

1018

703

1022

767

959

1007

1019

959

256

255

831

975

1011

1020

255

511

895

991

1015

1021

511

767

959

1007

1019

1022

767

1023

1023

1023

1023

1023

1023

Рис. 2.1 Обчислення 1024-точкового ШПФ, алгоритм прорідження за частотою

3. Розрахунковий розділ

3.1 Розрахунок часу виконання

Для розрахунку часу виконання алгоритму ШПФ на процесорі ADSP-BF525 потрібно визначити кількість операцій додавання, множення та читання/запису з/до пам'яті однієї операції «метелик». На рис. 3.1 наведено базову операцію “метелик” ШПФ за основою 4 з прорідженням за частотою.

base - основа базової операції «метелик»;

N - кількість точок вхідного перетворення;

base=4;

N=1024;

Рис. 3.1 Метелик ШПФ за основою 4 з прорідженням за частотою

Для дійсної та уявної частини маємо наступні вирази.

Рис. 3.2 Метелик ШПФ за основою 4 з прорідженням за частотою (комплексні числа)

1. Кількість ярусів для виконання ШПФ визначається наступною формулою

2. Кількість метеликів на одному ярусі

3. Загальна кількість метеликів для виконання ШПФ

4. Для виконання 1 метелика необхідно 22 операцій додавань. Отже загальна кількість додавань становить

5. Для виконання 1 метелика необхідно 12 операцій множення. Отже загальна кількість множень становить

6. Для виконання 1 метелика необхідно 4 операції читання дійсної частини, 4 операції читання уявної частини, 6 операції читання вагових коефіцієнтів, 4 операції запису дійсної частини, 4 операції запису уявної частини. Отже для виконання усього ШПФ необхідна кількість операцій запису/читання становить

7. Сумарна кількість операцій становить

8. Час виконання 1 операції становить

9. Час виконання ШПФ

10. Час завантаження даних у процесор через Flash-PSD4256G6V визначається за формулою

Де R - розрядність даних

11. Час отримання даних з процесора для обробки визначаємо із особливостей інтерфейсу SPI, пропускна здатність якого в режимі master дорівнює

де SPI_BAUDE = 2 або 65535 і максимальна швидкість передачі даних становить

В режимі slave пропускна здатність становить

і мінімальна швидкість передачі даних становить 3.8 Кбіт/с:

Для обрахунків виберемо усереднене значення пропускної здатності інтерфейсу SPI, 65Мбіт/с.

12. Час обчислення вагової функції визначається за формулою:

13. Загальний час виконання алгоритму

задовольняє умову завдання - 0,2772 мс < 0,4 мс. Отже для виконання алгоритму достатньо одного процесора. Нижче наведена часова діаграма роботи системи.

Рис. 3.3 Часова діаграма роботи процесора

3.2 Розрахунок об'єму пам'яті

Для збереження вхідних даних уявної (Im) і дійсної (Re) частин потрібно ОЗП об`ємом: 1024*4Ч4 = 4096Ч4 байт. Ці дані зберігатимуться в оперативній пам'яті (RAM). Її об'єму вистачає (132 кБ). Отже під'єднувати зовнішню пам'ять цього типу не потрібно.

Для зберігання вагових коефіцієнтів та повертаючих множників необхідно ПЗП об`ємом: 1024Ч4 + 1025*4Ч4 = 5124Ч4 байт. Ці дані зберігатимуться в постійній пам'яті (RОM). Так як ця пам'ять в процесорі відсутня, то потрібно буде під'єднувати зовнішню пам'ять цього типу.

Пам'ять програм - 1К Ч 8 = 1024 байт.

На рис. 3.4. та рис. 3.5. наведено карту пам'яті для ОЗП і ПЗП відповідно.

Рис. 3.4 Ділянка пам`яті внутрішньої ОЗП, де зберігаються результати обробки

Рис. 3.5 Ділянка пам`яті зовнішньої ПЗП, де зберігаються коефіцієнти вагової функції та повертаючі множники.

4. Розробка функціональної схеми

Повністю схема функціональна подана у додатку. Нижче розписано основні аспекти стосовно розробки кожного окремого вузла.

4.1 Розробка вузла синхронізації

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

В документації на контролер вузол синхронізації може під'єднуватись наступним чином

Рис. 4.1 Підключення вузла синхронізації

Рис. 4.2 Часова діаграма скиду і синхронізації

Після потрапляння в контролер, тактовий сигнал подається на вузол PLL. На цьому вузлі відбувається «підйом» тактової частоти до робочого рівня контролера. На функціональній схемі зображення цього вузла буде спрощено.

4.2 Розробка вузла скиду

Вузол скиду використовується для того, щоб при ввімкненні контролера певний проміжок часу утримати на ньому сигнал скиду. За цей час контролер встигне ініціалізувати свої вузли і після цього буде коректно працювати. Для формування цього вузла можна використовувати пасивні компоненти - резистор і конденсатор. Їхні параметри підбираються згідно очікуваного часу активності сигналу скиду за формулою: t = R*C, де R - значення величини опору резистора, C - значення величини ємності конденсатора.

Проте, на теперішній час, існує велика кількість готових рішень у форм-факторі мікросхем. Такі елементи працюють значно краще, і мають у собі підтримку контролю живлення. Одним з таких представників є мікросхема LM810 (інша назва такого типу мікросхем - супервізор).

Рис. 4.3 Зображення супервізора LM810

Даний супервізор має наступні характеристики:

- моніторинг систем з живленням 5В, 3,3В та 3В;

- мінімальна затримка сигналу скиду 140 мс (активним є низький рівень);

- коректно працює при живленні від 1,1В.

Рис. 4.4 Часова діаграма скиду при ввімкненні живлення

Сигнал скиду у контролера виведений на пін AC7, відповідно, до нього і буде приєднано супервізор. На функціональній схемі зображення цього вузла буде спрощено.

4.3 Підключення вхідного інтерфейсу PPI

Programmable Peripheral Interface - двонаправлений напівдуплексний програмований інтерфейс периферійних пристроїв - використовують для зв'язку з повільними периферійними пристроями. РРІ підтримує інтерфейс відео конвертера CCIR-656. Даний інтерфейс використовується в поєднанні з DMA каналом.

Характеристики РРІ:

- Програмована ширина шини (8-16 біт)

- Двонаправлений (напів-дуплексний) паралельний інтерфейс

- Керується зовнішнім синхроімпульсом РРІ_СLK

- Швидкість до 66 МГц (SCLK/2)

- Включає в себе три кадри часової синхронізації

Рис. 4.5 Схема підключення через РРІ

Рис. 4.6 Часова діаграма роботи інтерфейсу РРІ

Оскільки вихідний пристрій не визначений то на виході з цього інтерфейсу буде встановлено роз'єм, до якого при потребі буде під'єднано потрібний пристрій.

4.5 Підключення зовнішньої ПЗП типу EEPROM

EEPROM ( Electrically Erasable Programmable Read-Only Memory) -- постійний запам'ятовувальний пристрій, що програмується та очищується за допомогою електрики, один з видів енергонезалежної пам'яті. Пам'ять такого типу може очищуватися та заповнятися інформацією декілька десятків тисяч разів. Використовується в твердотільних накопичувачах. Одним з різновидів EEPROM є флеш-пам'ять (Flash Memory). ПЗП використовується для зберігання вагових коефіцієнтів та повертаючих множників. Для розвязання цієї задачі було обрано ПЗП 28LV256 (32КЧ8) фірми Turbo IC (рис 4.5.). Для підключення ПЗП був використаний інтерфейс зовнішньої памяті EMIFB. Схема підключення його зображена на рисунку 4.4. В таблиці 4.1. описано призначення кожної з ліній.

28LV256 має 64-байт сторінок операції запису, що дозволяє всій пам'яті, зазвичай записуються в менш 5,0 секунд. Під час циклу запису адреси та дані внутрішньо замкнені, звільняючи адресу і дані шини для інших операцій мікропроцесора. Процес програмування автоматично керується пристроєм за допомогою внутрішнього таймеру управління. Дані опитування на одному або всіх входів/виходів може бути використані для визначення кінця циклу програмування.

Рис. 4.7. Корпус EEPROM 28LV256

Рис. 4.8 Часова діаграма пам'яті

4.3 Підключення вихідного інтерфейсу SPI

SPI ( Serial Peripheral Interface, SPI bus -- послідовний периферійний інтерфейс, шина SPI ) -- послідовний синхронний стандарт передачі даних в режимі повного дуплексу, розроблений фірмою Motorola для забезпечення простого сполучення мікроконтролерів та периферії. SPI також називають чотирьох-провідним (four-wire) інтерфейсом. На відміну від стандартного послідовного порту, SPI є синхронним інтерфейсом, в якому кожна передача синхронізована з тактовим сигналом, що генерується ведучим пристроєм (мікроконтролером). Периферійний пристрій синхронізує отримання бітової послідовності з тактовим сигналом. До одного послідовного периферійного інтерфейсу ведучого мікроконтролера можна під'єднати декілька мікросхем. Головний пристрій вибирає ведений пристрій активуючи сигнал «вибор кристалу» (chip select) на потрібній мікросхемі. Інші пристрої, не вибрані ведучим не приймають участі в передачі по SPI.

Для передачі даних в інтерфейсі SPI використовуються чотири сигнали:

- MOSI або SI -- вихід ведучого, вхід веденого (Master Out Slave In). Служить для передачі даних від ведучого пристрою до веденого.

- MISO або SO -- вхід ведучого, вихід веденого (Master In Slave Out). Служить для передачі даних від веденого пристрою до ведучого.

- SCLK або SCK -- послідовний тактовий сигнал (Serial Clock). Служить для передачі тактового сигналу для ведених пристроїв.

- CS або SS -- сигнал вибору мікросхеми (Chip Select, Slave Select). Служить для вибору необхідного веденого пристрою.

Рис. 4.9 Схема підключення через SРІ

Рис. 4.10 Часова діаграма роботи інтерфейсу SРІ

5. Розробка програми виконання заданої функції

Нижче наведена граф-схема алгоритму роботи програми.

Рис. 5.1 Граф-схема алгоритму роботи програми

Висновки

Під час виконання курсового проекту було розглянуто приклад реалізації обчислювальної системи, в основі якої лежить алгоритм швидкого перетворення Фур'є за основою 4 з частотним прорідженням, розроблено функціональну схему. Дана система обробляє вхідний сигнал, що є 8-розрядним. Вхідні і вихідні сигнали подаються на задані у варіанті периферійні вузли. Вхідні дані складаються з 1025 вхідних відліків, що містять дійсну та уявну частину.

У якості обчислювального процесора взято цифровий сигнальний мікропроцесор ADSP-BF534. Для реалізації заданого алгоритму використано один такий процесор. Це потужний обчислювальний вузол, що має у своєму складі різноманітну периферію, яка полегшує обробку сигналів.

В результаті набуто досвід у проектуванні обчислювальної системи, розглянуто основні компоненти, з яких вона складається, засвоєно алгоритми, на основі яких виконується обчислення.

Перелік використаної літератури

Є. Ваврук , Р.Попович Цифрове опрацювання сигналів та зображень. Алгоритми та реалізація. Львів: Національний університет “Львівська політехніка”, 2008. -147 с.

Цифровые фильтры и устройства обработи сигналов на интегральных микросхемах: Справочное пособие/Ф.Б.Высоцкий, В.И. Алексеев, В.П. Пачин и др.; Под ред. Б.Ф.Высоцкого.-М.: Радио и связь, 1984.-216с.

Куприянов М. С., Матюшкин Б. Д. Цифровая обработка сигналов: процессоры, алгоритмы, средства проектирования. - Спб. : Политехника, 1998.

Марков С. Цифровые сигнальные процессоры. Книга 1, М.:фирма МИКРОАРТ, 1996-144 с.

Цифровой процессор обработки сигналов TMS32010 и его применение/Под ред. А.А.Ланнэ.-Л.:ВАС,1990.-296 с.

http://www.analog.com.

http://www.ti.com.

Бабак В.П., Хандецький А.І., Шрюфер Е. Обробка сигналів: підручник для вузів., К., Либідь, 1996.- 390с.

Мельник А.А. Проектирование поточного процессора БПФ на специализированных БИС.- Львов, 1990.- 43с.

Ваврук Є.Я., Грицик І.В. Система оцінювання аналізу параметрів задачі.- Львів, 2009.- 17с.

Додатки

Лістинг А. Текст програми

файл my_fft.m:

clc;

clear all;

y=wavread('PMM.wav', [6001 7024]);

figure(1);

subplot(3,1,1), plot(y), title('Input signal');

r=4;

N=length(y);

n=-floor(N/2):floor(N/2)-1;

W=zeros(1, length(N));

for i=1:N

W(i)=0.42 - 0.5*cos(pi*n(i)/N)+0.08*cos(4*pi*n(i)/N);

y(i)=y(i)*W(i);

end

figure(1);

subplot(3,1,2), plot(W), title('Window function');

subplot(3,1,3), plot(y), title('Input signal after window function');

figure(2);

dpf=abs(fft(y));

subplot(2,1,1), plot(dpf), title('Library FFT');

neworder = zeros(1, length(N));

for z=1:1:log(N)/log(r)

for q=1:1:N/r

n=q+3*floor((q-1)/r^(z-1))*4^(z-1);

bb=4^(log(N)/log(r)+1-z);

Wn1=exp(-j*2*pi*n/4^(z));

Wn2=exp(-j*2*pi*2*n/4^(z));

Wn3=exp(-j*2*pi*3*n/4^(z));

x(n)=y(n)+y(n+N/(bb))*Wn1+y(n+2*N/(bb))*Wn2+y(n+3*N/(bb))*Wn3;

x(n+N/(bb))=y(n)-j*y(n+N/(bb))*Wn1-y(n+2*N/(bb))*Wn2+j*y(n+3*N/(bb))*Wn3;

x(n+2*N/(bb))=y(n)-y(n+N/(bb))*Wn1+y(n+2*N/(bb))*Wn2-y(n+3*N/(bb))*Wn3;

x(n+3*N/(bb))=y(n)+j*y(n+N/(bb))*Wn1-y(n+2*N/(bb))*Wn2-j*y(n+3*N/(bb))*Wn3;

end;

y=x;

end;

y=abs(y);

for nnn=0:1:N-1

neworder(nnn+1)=y(BIT_REV_radix4(nnn)+1);

end;

y=neworder;

figure(2);

subplot(2,1,2), plot(y), title('My FFT');

файл BIT_REV_radix2.m:

function [BIT_OUT ] = BIT_REV_radix4( BIT_IN )

%UNTITLED Summary of this function goes here

% Detailed explanation goes here

BIT_OUT=0;

BIT_OUT=bitset(BIT_OUT,9,bitget(BIT_IN,1));

BIT_OUT=bitset(BIT_OUT,10,bitget(BIT_IN,2));

BIT_OUT=bitset(BIT_OUT,7,bitget(BIT_IN,3));

BIT_OUT=bitset(BIT_OUT,8,bitget(BIT_IN,4));

BIT_OUT=bitset(BIT_OUT,5,bitget(BIT_IN,5));

BIT_OUT=bitset(BIT_OUT,6,bitget(BIT_IN,6));

BIT_OUT=bitset(BIT_OUT,3,bitget(BIT_IN,7));

BIT_OUT=bitset(BIT_OUT,4,bitget(BIT_IN,8));

BIT_OUT=bitset(BIT_OUT,1,bitget(BIT_IN,9));

BIT_OUT=bitset(BIT_OUT,2,bitget(BIT_IN,10));

end

Лістинг B. Результати виконання програми

Рис. B1 Вхідний сигнал, вагова функція та сигнал після обробки ваговою функцією

Рис. B2 Результат роботи бібліотечної та власної функції ШПФ

Размещено на Allbest.ru


Подобные документы

  • Мікроконтролер - мікросхема, призначена для керування електронними пристроями. Поєднання функції процесора й периферійних пристроїв. Розробка програми "Цифровий амперметр з висновком результатів на алфавітно-цифровому індикаторі" на основі мікропроцесора.

    курсовая работа [1,5 M], добавлен 07.08.2013

  • Розробка узагальненої структурної схеми мікропроцесора для збору даних і керування зовнішніми пристроями. Визначення кількості мікросхем для побудови послідовних і паралельних портів та таймерів. Створення логічної схеми підсистеми центрального процесора.

    практическая работа [399,7 K], добавлен 17.03.2014

  • Проектування модулів пам’яті загальною ємністю 22 Кбайти на м/с КР537РУ2А та К573РФ2. Розробка схеми центрального процесору на ОМК MCS-51 відповідно до типу пам’яті. Створення програми на асемблері, яка виводить цифру 5 на знакосинтезуючий індикатор.

    курсовая работа [1,7 M], добавлен 09.11.2011

  • Склад мікропроцесорного комплекту К 1810, основні електричні параметри БІС, які входять до нього. Основні характеристики центрального процесора. Застосування контролерів шини, переривань, динамічної пам’яті та інтервального таймера у складі мікросхеми.

    курсовая работа [393,0 K], добавлен 18.09.2014

  • Функціональна електрична схема і програма ПЗП мікропроцесорного пристрою для вимірювання температури. Розробка структурної схеми пристрою. Обґрунтування вибору комплектуючих. Опис електричних параметрів та загальних схем підключення основних мікросхем.

    курсовая работа [1,1 M], добавлен 14.05.2011

  • Загальна характеристика синхронного цифрового обладнання, основні методи перетворення та інформаційна структура, короткий опис апаратури мереж та основні аспекти архітектури. План побудови транспортної мережі на основі синхронного цифрового обладнання.

    курсовая работа [677,0 K], добавлен 07.05.2009

  • Розробка структурної схеми мікропроцесора. Узгодження максимальної вхідної напруги від датчиків з напругою, що може обробити МПСза допомогою дільника напруги та аналогового буферного повторювача. Система тактування та живлення. Організація виводу даних.

    курсовая работа [354,3 K], добавлен 14.12.2010

  • Загальний огляд існуючих первинних перетворювачів температури. Розробка структурної схеми АЦП. Вибір п’єзоелектричного термоперетворювача, цифрового частотоміра середніх значень в якості аналого-цифрового перетворювача, розрахунок параметрів схеми.

    курсовая работа [30,5 K], добавлен 24.01.2011

  • Огляд принципів роботи та будови аналого-цифрового перетворювача, його функціональна та електрична принципова схема. Призначення паралельного порту, опис інтерфейсу Cetronics. Розробка програмного забезпечення. Оцінка техніко-економічного рівня приладу.

    дипломная работа [763,5 K], добавлен 09.06.2010

  • Вимірювання напруги. Принцип роботи цифрового вольтметру. Структурна схема цифрового вольтметра. Основні параметри цифрового вольтметра. Схема ЦВ з час-імпульс перетворенням та часові діаграми напруг. Метод час-імпульсного перетворення.

    контрольная работа [84,9 K], добавлен 26.01.2007

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.