Розробка процесора швидкого перетворення Фур`є

Спосіб реалізації алгоритму перетворення Фур`є для сигнального процесора ADSP-2181 для 20-розрядних вхідних даних з часовим прорідженням. Механізми обчислення швидкого перетворення Фур`є за заданою основою. Алгоритм перетворення на заданому процесорі.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 03.01.2014
Размер файла 1,6 M

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

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

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

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

з курсу

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

на тему:

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

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

Розробити процесор ШПФ з такими вхідними даними:

Варіант №

32

Розрядність, N

64

Основа

2

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

T (часове)

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

Бомана

0 n N/2

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

1,5

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

20 (10 + 10)

Тип зовнішнього інтерфейсу

DMA

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

ADSP-2181

Анотація

В даному курсовому проекті розглянуто спосіб реалізації алгоритму ШПФ за основою 2 для сигнального процесора ADSP-2181 для 20-розрядних вхідних даних з часовим прорідженням, детально описано механізми обчислення швидкого перетворення Фур`є за заданою основою, властивості та основні характеристики процесора, на якому планується реалізація, підраховано часові ресурси для виконання обчислення, створена функціональна схема системи та написана програма, що реалізує вказаний алгоритм ШПФ на заданому процесорі.

Зміст

  • Вступ
  • 1. Теоретичний розділ
    • 1.1 Характеристики сигнального процесора ADSP-21816
      • 1.1.1 Призначення ADSP-2181.6
      • 1.1.2 Властивості ADSP-2181.6
      • 1.1.3 Опис виводів
    • 1.2 Опис алгоритму ШПФ з прорідженням у часі
      • 1.2.1 Швидке перетворення Фур'є (ШПФ)
      • 1.2.2 Двійково-інверсна перестановка
      • 1.2.3 Поворотні коефіцієнти
      • 1.2.4 Обчислювальна ефективність алгоритму ШПФ
  • 2. Розрахунковий розділ
    • 2.1 Розрахунок часу виконання
    • 2.2 Розрахунок об'єму пам'яті
  • 3. Аналіз блок-схеми
  • 4. Розробка функціональної схеми
  • Висновки
  • Список використаної літератури
  • Додатки
  • Вступ
  • Аналіз Фур'є закладає основи багатьох методів, що застосовуються в області цифрової обробки сигналів (ЦОС). По суті справи, перетворення Фур'є (фактично існує кілька варіантів таких перетворень) дозволяє спів ставити сигналу, заданому в часовій області, його еквівалентне представлення в частотній області, і навпаки, якщо відома частотна характеристика сигналу, то зворотне перетворення Фур'є дозволяє визначити відповідний сигнал у часовій області.
  • Крім того, ці перетворення корисні при проектуванні фільтрів. Частотна характеристика фільтра може бути отримана за допомогою перетворення Фур'є його імпульсної реакції. І навпаки, якщо визначена частотна характеристика сигналу, то необхідна імпульсна реакція може бути отримана за допомогою зворотного перетворення Фур'є над його частотною характеристикою. Цифрові фільтри можуть бути створені на основі їхньої імпульсної реакції, оскільки коефіцієнти фільтра з кінцевою імпульсною характеристикою (КІХ) ідентичні дискретній імпульсній реакції фільтра.
  • алгоритм фур`є процесор перетворення

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

1.1 Характеристики сигнального процесора ADSP-2181

1.1.1 Призначення ADSP-2181

ADSP-2181 є одно кристальним мікрокомп'ютером оптимізованим для обробка цифрового сигналу даних (DSP) і інших високошвидкісних задач обробки даних.ADSP-2181 об'єднує базову архітектуру сімейства ADSP-2100 (три обчислювальні блоки, генератори адреси даних ) з двома послідовними портами, внутрішнім 16-бітним DMA портом, байтовим DMA портом, програмованим таймером, ознакою I/O, пам'ять даних.ADSP-2181 інтегрує 80K байтів пам'яті розміщеної на кристалі, яка конфігурується як 16K слів (24-біти) програмної RAM, і 16K слів(16-біт) RAM даних.

1.1.2 Властивості ADSP-2181

· 40 MІPS, 25 ns цикл виконання інструкцій, кожна інструкція виконується за один цикл.

· 3-шинна архітектура дозволяє подвійну вибірку операндів в кожному командному циклі.

· Багатофункціональні Інструкції.

· Код сімейства ADSP-2100, сумісний з розширенням множини інструкцій.

· Незалежний ALU, перемножував/акумулятор, і зсувні обчислювальні блоки.

· Два незалежні генератори адреси даних.

· Зациклення по ознаці нуля.

· Умовне виконання команд.

· 4 Мегабайтний інтерфейс пам'яті для зберігання таблиць даних.

На рис.1.1 зображена блок-діаграма процесора ADSP-2181, на якій показані всі його основні вузли та зв'язки між ними. Основними вузлами є:

· 16-розрядні обчислювальні блоки - АЛП, вузол множення, зсувач.

· Генератори адреси даних (DAG1,DAG2).

· Програмний автомат (Program Sequencer) та регістр інструкцій;

· SRAM програм і SRAM даних.

· зовнішні порти для зв'язку із зовнішньою пам'яттю та периферійними пристроями.

· Контролер DMA.

· Послідовні порти.

· Логіка контролю за потужністю.

· Прапорці.

· Програмовані I/O.

· Блок переривань.

Рис.1.1. Блок - діаграма процесора ADSP-2181

1.1.3 Опис виводів

В табл.1.1. наведені описи входів процесора ADSP-2181:

– G - земля;

– І - вхід;

– О -- вихід;

– P -- електроживлення;

* -- Ці виводи можуть під'єднуватись тільки до EZ-ICE коннекторів і використовуються тільки при емуляції;

Таблиця 1.1 Опис виводів

Назва сигналу

I/O

Призначення

Address13-0

O

Адресні вихідні виводи для програмного простору, простору даних, байтового простору і простору вводу виводу

Data23-0

I/O

Вхідні/вихідні виводи даних для програмного простору і простору даних

I

Вхід скиду прочесора

I

Рівнево чутливий запит на переривання

I

Рівнево чутливі запити на переривання

I

Запит на шину

O

Дозвіл шини

O

Дозвіл шини

O

Вибір пам'яті програм

O

Вибір пам'яті даних

O

Вибір байтової пам'яті

O

Вибір простору в/в

O

Вибір комбінованої пам'яті

O

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

O

Дозвіл запису в пам'ять

MMAP

I

Вибір карти пам'яті

BMODE

I

Завантажити вибіркові настройки

CLKIN, XTAL

I

Тактова частота або кварц кристалу

CLKOUT

O

Тактова частота процесора

SPORT04-0

I/O

Послідовний порт в/в

SPORT14-0

I/O

Послідовний порт 1 в/в або два зовнішніх , ознака входу і ознака виходу

I

IDMA порт читання/запису

I

IDMA порт вибору

IAL

I

IDMA порт дозволу латчу адрес

IAD15-0

I/O

IDMA порт шини адресу/даних

O

IDMA порт підтвердження дозволу готовності

I

Контроль зниження потужності

PWDACK

O

Контроль зниження потужності

FL0,FL1, FL2

O

Ознаки

PF7-0

I/O

Програмовані в/в

EE

*

Емулятор

*

Емулятор

*

Емулятор

*

Емулятор

*

Емулятор

*

Емулятор

ECLK

*

Емулятор

ELIN

*

Емулятор

ELOUT

*

Емулятор

GND10-0

G

Земля

VDD5-0

P

Живлення

1.2 Опис алгоритму ШПФ з прорідженням у часі

Дискретним перетворенням Фур'є над вихідною послідовністю чисел {x0, x1, …, xn-1} потужністю n є N, n> 1, де xi є Z, i = (0, n-1), наз. таке перетворення, в результаті якого виходить послідовність {x'0, x'1 , ..., xn-1} комплексних чисел xk тієї ж потужності, кожен елемент якої рахується за правилом:

де k = (0, n-1), W = e-j*р/n і де j - уявна частина

Існують такі Wik, в яких (ik) рівні. Неважко помітити, що для виконання n-точкового перетворення Фур'є необхідно виконати n (n-1) комплексних додавань та (n-1) (n-1) комплексних множень (з урахуванням, що W0 = 1 ). При цьому множник Wik буде використаний стільки разів, скільки дільників з діапазону (0, n-1) у показника степеня (ik). Маємо:

Оскільки sin б = - sin (б + р), cos б = - cos (б + р), то:

(1)

Звідки випливає, що:

(2)

Таким чином, діапазон ступенів (ik) за допомогою формули (1) скорочується з (0, (n-1) (n-1) ), до (0, n-1), а за допомогою формули (2) - до (0, n/2-1).

Нехай n - довжина вихідної послідовності чисел {x0,x1,…,xn-1} парна, тоді перетворення Фур'є для такої послідовності можна записати у вигляді:

(3)

З урахуванням формули (1), а також виразу

формулу (3) часто записують у вигляді:

(4)

Розглянемо першу суму формули (3). Поклавши n/2 = m, отримаємо:

1)

n = 2m;

2)

;

3)

.

Аналогічні міркування можна провести і відносно другої суми формули (3). Таким чином, ДПФ вихідної послідовності розмірністю n=2m зводиться до двох ДПФ послідовностей розмірністю m чисел кожна, складених з парних і не парних елементів вихідної послідовності.

1.2.1 Швидке перетворення Фур'є (ШПФ)

Формули (3) і (4) є основою для побудови алгоритму швидкого перетворення Фур'є (ШПФ). Цей алгоритм за рахунок рекурсивного застосування формули (3) зводить ДПФ вихідної послідовності розмірності n = 2l , де l є N, до набору 2-точкових перетворень Фур'є.

Отже маємо:

Помножимо x-k на Wn-jk і просумуємо по k = 0 ... (n-1)

1.2.2 Двійково-інверсна перестановка

Наведемо у вигляді графа алгоритм ШПФ із проріджуванням за часом заснований на розбитті - об'єднанні при N=8.

Рис.1.2. Граф алгоритму ШПФ з проріджуванням за часом при N = 8

На першому етапі відліки вхідного сигналу переставляються місцями і вихідна послідовність ділиться на “парну” і “непарну” (позначені червоними і синіми стрілками). Потім “парна” і “непарна” послідовності у свою чергу діляться на «парну» і «непарну» послідовності. При N=2Lтакий розподіл можна робити L-1 разів. У цьому випадку L=3. Дана процедура називається двійково-інверсною перестановкою, так можна виконати пере нумерацію відліків переписавши номер відліку в двійковій системі у зворотному напрямку. Наприклад s(4) має індекс у десятковій системі числення 410 = 1002, Якщо ж 1002переписати справа наліво то отримаємо 0012 , Тобто s(4) після розбиття на парні непарні перед першою операцією «Метелик» стане на місце s(1), яка в свою чергу стане на місце s(4). За аналогічним правилом поміняються місцями всі відліки, при цьому деякі залишаться на місці, зокрема s(2), бо якщо 210 = 0102 переписати справа наліво то все одно залишиться 0102, Аналогічно s(0), s(5) і s(7). Дуже важливо зрозуміти, що даний метод пере нумерації повинен застосовуватися при запису числа в двійковій системі, яка складається з L розрядів. У наведеному прикладі використовувалися 3 розряди двійкового числа, але якщо ж L =4 ( N=16), то необхідно записати число при використанні 4 розрядів. У цьому випадку 210=00102 і після переписування отримаємо 01002 , Тобто при N=16 s(2) не залишиться на місці, а поміняється місцями з s(4).

Можна сказати що безпосередньо двійково-інверсна перестановка зручна коли наперед кількість відліків вхідного сигналу фіксована, проте в універсальних алгоритмах ШПФ на різні розміри , Двійково-інверсна перестановка не ефективна, простіше і швидше поміняти відліки місцями.

Після двійково-інверсної перестановки отримуємо чотири 2-точкових ДПФ:

(5)

На основі чотирьох 2-точкових ДПФ формуються два 4-точкових ДПФ:

(6)

І на останньому рівні формується повний спектр вхідного сигналу.

1.2.3 Поворотні коефіцієнти

Розглянемо детальніше поворотні коефіцієнти .

На першому рівні (вираз (5)) потрібно всього один поворотний коефіцієнт , це означає, що на першому рівні спектра, операції множення не потрібні ( множення на ±1 називаються тривіальними, тому що при множенні на ±1, множник залишеється незмінним або змінює свій знак на протилежний).

На другому рівні маємо два поворотних коефіцієнта:

(7)

Множення на уявну одиницю також можна вважати тривіальним, тому що дійсні та уявні частини комплексного числа просто міняються місцями і змінюють свій знак.

На третьому рівні маємо вже 4 поворотних коефіцієнта:

(8)

Графічно поворотні коефіцієнти можна представити як вектори на комплексній площині:

Рис.1.3. Поворотні коефіцієнти алгоритму ШПФ з проріджуванням за часом при N = 8

Можна відмітити, що на всіх рівнях об'єднання кількість поворотних коефіцієнтів подвоюється, причому всі поворотні коефіцієнти попереднього рівня об'єднання присутні і на наступному рівні. Таким чином для того, щоб перейти на наступний рівень необхідно між поворотними коефіцієнтами поточного рівня вставити поворотні коефіцієнти наступного. Графічно для переходу на наступний рівень при N = 16 необхідно доповнити рисунок 3, як це показано на рисунку 4.

Сірі вектора показують поворотні коефіцієнти які будуть присутні на останньому рівні при N = 16, яких немає при N = 8.

Рис.1.4. Поворотні коефіцієнти алгоритму ШПФ з проріджуванням за часом при N = 16

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

1.2.4 Обчислювальна ефективність алгоритму ШПФ

Алгоритм з проріджуванням за часом на кожному рівні вимагає N комплексних множень і додавань. При N = 2L кількість рівнів розкладання - об'єднання рівно L, Таким чином загальна кількість операцій множення і додавання дорівнює L*N.

Розглянемо у скільки разів алгоритм ШПФ із проріджуванням за часом ефективніше ДПФ. Для цього розглянемо коефіцієнт прискорення K відношення кількості комплексних множень і додавань при використанні ДПФ і БПФ, при цьому врахуємо що L=log2(N):

разів. (9)

У таблиці 1 наведено необхідну кількість операцій Mоп для алгоритму ДПФ при різному N=2Lі при використанні ШПФ із проріджуванням за часом.

Таблиця 1.2 Порівняння кількості операцій.

L

4

6

8

10

12

N

16

64

256

1024

4096

Mоп ДПФ

256

4096

65536

1048576

16777216

Mоп ШПФ

64

384

2048

10240

49152

K, Раз

4

10,7

32

102,4

341

З таблиці 1 добре видно, що використання ШПФ призводить до суттєвого зменшення необхідної кількості обчислювальних операцій. Так наприклад при N = 1024 ШПФ вимагає в 100 разів менше операцій ніж ДПФ, а при N = 4096 у 341 разів! При цьому дуже важливо, що виграш у продуктивності тим більше, чим більше розмір вибірки N. Так, наприклад при N=216виграш складе 216 /16 = 212 = 4096 разів.

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

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

Частота роботи процесора ADSP-2181: , звідси цикл виконання команди:

.

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

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

k=2;

N=64;

- кількість етапів перетворення;

- кількість базових операцій «метелик» на одному етапі;

- кількість базових операцій у всьому перетворенні;

=32*6=192

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

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

Формули обчислення метелика:

X'1 = X1 + X2*W

X'2 = X1 - X2*W

Розклад формул для обчислення метелика на дійсну та уявну частину:

X'1 = ReX1 + jImX2 + ( ReX1 + jImX2 )*( ReW + jImW)

X'2 = ReX1 + jImX2 - ( ReX1 + jImX2 ) * ( ReW + jImW )

W = e-j(2рnk/N) = cos () - j sin ()

Re X'1 = Re X1 + Re X1 * ReW - Re X2 * ReW

Re X'2 = Re X1 -( Re X1 * ReW - Re X2 *ReW)

Im X'1 = Im X2 + Im X1 *Im W + Im X2 * ImW

Im X'2 = Im X2 -( Im X1 * ImW + Im X2 * ImW)

Виходячи з розкладу формули для обчислення, кількість операції:

1. Додавання - 6

2. Множення - 4

3. Читання з пам'яті - 4

4. Запис в пам'ять - 6

Загальна кількість операцій - NОП = 20.

Тривалість виконання обчислення ШПФ:

Тривалість вивантаження опрацьованих даних визначаємо із особливостей інтерфейсу DMA. Його пропускна здатність дорівнює 2,4Гбайт/с, об'єм даних, що треба отримати, 20 (10+10) розрядів, отже обчислюємо час надходження вхідних даних за формулою:

Тривалість виконання вагової функції:

Тривалість надходження даних у процесор та тривалість обчислення ШПФ:

Ця величина менша за заданий час обробки: , тобто для виконання обчислення достатньо одного процесора.

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

Для розв`язання поставленої задачі необхідно:

· для збереження вхідних даних уявної(Im) і дійсної(Re) частини ОЗП (RAM) 64*2=128Ч16 байт, 2Kb. Її об'єму вистачає (1024 кБ при необхідних 2 кБ). Отже під'єднувати зовнішню пам'ять цього типу не потрібно;

· для зберігання вагових коефіцієнтів і повертаючих множників необхідно ПЗП об'ємом: 64Ч16+192*2Ч16= 448Ч16 байт, 7 Kb.

Для зберігання програми необхідно ПЗП об'ємом: 2048х16.

3. Аналіз блок-схеми

Розглянемо двійкове представлення номерів елементів і займаних ними місць при реверсивній перестановці біт. Елемент з номером 0 (двійкове 0000) після всіх перестановок займає позицію 0 (0000), елемент 8 (1000) - позицію 1 (0001), елемент 4 (0100) - позицію 2 (0010), елемент 12 (1100) - позицію 3 (0011). І так далі. Неважко помітити зв'язок між двійковим представленням позиції до перестановок і після всіх перестановок: вони дзеркально симетричні. Двійкове представлення кінцевої позиції виходить із двійкового представлення початкової позиції перестановкою бітів у зворотному порядку. І навпаки.

Таблиця 3.1. Реверсивна перестановка бітів

Відліки

Вхідна послідовність

Біт-інверсія

0

000000

000000

1

000001

100000

62

111110

011111

63

111111

111111

На рисунку 3.1 наведені групи відліків, які беруть участь в базових операціях при виконанні алгоритму ШПФ при N=64.

Рис. 3.1. Блок-схема алгоритму 64 точкового ШПФ

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

Процесор ШПФ складається із мікроконтролера, пам'яті типу flash, інтерфейсу DMA та HPI, схем скиду та синхронізації. Функціональна схема наведена у додатку В.

Підключення пам'яті.

EEPROM ( Electrically Erasable Programmable Read-Only Memory) -- постійний запам'ятовувальний пристрій, що програмується та очищується за допомогою електрики, один з видів енергонезалежної пам'яті. Пам'ять такого типу може очищуватися та заповнятися інформацією декілька десятків тисяч разів. Використовується в твердо тільних накопичувачах. Одним з різновидів EEPROM є флеш-пам'ять (Flash Memory). ПЗП використовується для зберігання вагових коефіцієнтів та повертаючих множників. Для розв'язання цієї задачі було обрано ПЗП DPE64X16XJ3 (64К Ч 16) фірми Dense-Pac Microsystems (рис 4.1). Для підключення ПЗП був використаний інтерфейс зовнішньої пам'яті EMIFB. Схема підключення його зображена на рисунку 4.2.

Рис. 4.1. Корпус EEPROM DPE64X16XJ3

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

Вхідний інтерфейс.

DMA (прямий доступ до пам'яті) - режим обміну даними між пристроями або ж між пристроєм і основною пам'яттю (RAM) без участі центрального процесора (ЦП). В результаті швидкість передачі збільшується, оскільки дані не пересилаються в ЦП і назад. Крім того, дані пересилаються відразу для багатьох слів, розташованих по підряд йдучи адресам, що дозволяє використання «пакетного» режиму роботи шини - 1 цикл адреси і наступні численні цикли даних.

DMA-контролер може діставати доступ до системної шини незалежно від центрального процесора. Контролер містить декілька регістрів, доступних центральному процесору для читання і запису. Регістри контролера задають порт, напрям перенесення даних, одиницю перенесення, число байтів, яке слід перенести.

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

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

Схема скиду.

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

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

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

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

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

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

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

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

Схема синхронізації

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

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

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

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

Висновки

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

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

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

1. Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигналов /Пер. с англ. А.Л. Зайцева, Э.Г. Назаренко, Н.Н. Тетекина; Под ред. Ю.Н.Александрова. - М.:Мир, 2008. - 848 с.

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

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

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

5. http://www.analog.com.

6. http://www.ti.com.

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

8. Применение цифровой обработки сигналов / Под ред. Э. Оппенгейма.- М. Мир, 2010.- 552с.

9. Яцимірський М.М. Швидкі алгоритми ортогональних тригонометричних перетворень. - Львів: Академічний Експрес, 1997. - 219 с.

Додатки

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

function x = my_fft(x)

W =[];

N = length(x);

A=nextpow2(N);

x(N+1:(2^A))=0;

x = bitrevorder(x);

N = length(x);

level = A;

for k=1:1:N/2

0.5*(1.0+cos(pi*(abs(n(i))/(N/2))))*(exp(-1.0*(abs(n(i))/(N/2))));

end

phase = cos(2*pi/N*[0:(N/2-1)])-j*sin(2*pi/N*[0:(N/2-1)]);

for a = 1:level

L = 2^a;

phase_level = phase(1:N/L:(N/2));

for k = 0:L:N-L

for n = 0:L/2-1

first = x(n+k+1);

second = x(n + k + L/2 +1)*phase_level(n+1);

x(n+k+1) = first + second;

x(n+k + L/2+1) = first - second;

end

end

end

clc;

clear all;

[Y, FS, BITS] = wavread('1.wav');

Y = wavread('1.wav',[10000 63000]);

figure(1);

subplot(3,1,1),plot(Y), title('Input file, one sample');

N = 16384;

r=2;

M=size(Y);

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

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

for i=1:N

W(i)=0.5*(1.0+cos(pi*(abs(n(i))/(N/2))))*(exp(-1.0*(abs(n(i))/(N/2))));%1-power(abs(n(i)/(N/2)), 2);

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

figure(1)

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

end

y = Y (20001:36384);

y=my_fft(y);

y=abs(y);

figure(6);

subplot(3,1,3),plot(abs(y)), title('One sample, my_fft');

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


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

  • Перетворення координат: афінне перетворення на площині, тривідерне афінне перетворення. Властивості афінного перетворення, його характерні особливості. Операції масштабування, переносу, повороту в бібліотеці Opengl на прикладі програми побудови фігури.

    контрольная работа [724,3 K], добавлен 12.09.2009

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

    курсовая работа [932,1 K], добавлен 10.07.2017

  • Сімейство процесорів ADSP-2100 та їх характеристика. Аналіз ресурсів та структурна схема обчислювального модуля ALU. Призначення регістра ASTAT. Блок-схема алгоритму та програма реалізації ділення цілих чисел на мові Асемблера поточного процесора ADSP.

    курсовая работа [463,2 K], добавлен 04.01.2014

  • Універсальні функції перетворення, що зв'язують сигнали вихорострумового перетворювача з узагальненим параметром виробу. Електричні схеми установок для двохпараметрового контролю трубчастих виробів. Алгоритм і модифікація вихорострумового методу.

    автореферат [79,6 K], добавлен 09.07.2009

  • Геометричні перетворення зображення. Усунення розмитості зображення за допомогою алгоритму сліпої деконволюції або з допомогою фільтра Вінера. Моделювання Blur та відновлення розмитого зображення. Імітація (Motion Blur) розмитості рухом, його відновлення.

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

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

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

  • Ортогонaлізування функцій. Порівняння дискретного та хвильового перетворення. Інтерполяційні поліноми Лагранжа і Ньютона. Метод найменших квадратів. Побудова кривої для заданих результатів вимірювань. Розв’язання задачі по Лапласу операційним методом.

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

  • Аналіз роботи алгоритму порозрядного зважування, визначення часу і похибок перетворення по відомим крокам квантування та рівню вхідного сигналу. Оцінка роботи кодера на прикладі генерації циклічного корегуючого коду при заданому рівнянні полінома.

    контрольная работа [937,5 K], добавлен 07.12.2010

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

    курсовая работа [778,8 K], добавлен 06.05.2014

  • Перетворення вхідних даних великого розміру в дані фіксованого розміру. Алгоритми хешування з різними характеристиками. Криптографічні хеш-функції та їх використання. Застосування хешування для прискорення пошуку даних, перевірка парольної фрази.

    презентация [80,7 K], добавлен 14.08.2013

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