- •Методи, алгоритми та засоби цифрової обробки сигналів та зображень і. Методичні вказівки до курсових проектів вступ
- •2. Загальні положення
- •3. Теми курсових проектів
- •4. Зміст пояснювальної записки
- •Література
- •Ііі. Вимоги до змісту та оформлення пояснювальної записки
- •Кінцевий термін отримання завдання: восьмий навчальний тиждень.
- •IV Оцінювання курсового проекту
- •Анотація
- •1. Теоретичний розділ
- •1. 1. Характеристики процесора adsp-bf516f
- •1. 1. 1. Властивості процесора adsp-bf516f
- •1. 1. 2. Опис процесора adsp-bf516f
- •1. 2. Опис алгоритму шпф з прорідженням у часі
- •1. 2. 1. Швидке перетворення Фур'є (шпф)
- •1. 2. 2. Двійково-інверсна перестановка
- •1. 2. 3. Поворотні коефіцієнти
- •1. 2. 4. Обчислювальна ефективність алгоритму шпф з проріджуванням за часом
- •2. Розрахунковий розділ
- •2. 1. Розрахунок часу виконання
- •2. 2. Розрахунок об’єму пам’яті
- •3. Аналіз блок-схеми виконання заданої функції обробки сигналів та зображень на заданому типі процесора.
- •4. Розробка функціональної схеми
- •5. Розробка програми виконання заданої функції
- •Висновки
- •Список використаної літератури
- •В Додатках до курсового проекту була наведена функціональна схема.
- •Згідно з наведеною методологією оцінювання даний курсовий проект може бути оцінений на «добре», при оцінці за усну компоненту «відмінно».
1. 2. 4. Обчислювальна ефективність алгоритму шпф з проріджуванням за часом
Алгоритм з проріджуванням за часом на кожному рівні вимагає N комплексних множень і додавань. При N = 2L кількість рівнів розкладання - об'єднання рівно L, Таким чином загальна кількість операцій множення і додавання дорівнює L*N.
Розглянемо у скільки разів алгоритм ШПФ із проріджуванням за часом ефективніше ДПФ. Для цього розглянемо коефіцієнт прискорення K відношення кількості комплексних множень і додавань при використанні ДПФ і БПФ, при цьому врахуємо що L=log2(N):
|
(9) |
У таблиці 1 наведено необхідну кількість операцій Mоп для алгоритму ДПФ при різному N=2Lі при використанні ШПФ із проріджуванням за часом.
Таблиця 1. Порівняння кількості операцій.
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. Розрахунок часу виконання
Для розрахунку часу виконання алгоритму ШПФ на процесорі tms320dm365 потрібно визначити кількість операцій додавання, множення та читання/запису з/до пам’яті однієї операції «метелик». На рис. 5 наведено базову операцію “метелик” ШПФ за основою 2 з прорідженням по часу.
Рис. 5. Метелик ШПФ за основою 2 з прорідженням по часу
Формули обчислення метелика:
X’1 = X1 + X2*W
X’2 = X1 – X2*W
Розклад формул для обчислення метелика на дійсну та уявну частину:
X’1 = ( ReX1 + jImX1 ) + ( ReX2 + jImX2 )
X’2 = ( ReX1 + jImX1 ) – ( ReX2 + jImX2 ) * ( ReW – jImW )
W
= e-j(2πnk/N)
= cos (
)
– j sin (
)
ReW ImW
Re X’1 = Re X1 + Re X2
Re X’2 = ReW (Re X1 – Re X2) + ImW (Im X1 – Im X2)
Im X’1 = Im X1 + Im X2
Im X’2 = ReW (Im X1 – Im X2) – ImW (Re X1 – Re X2)
X’1 = (Re X1 + jIm X1) + (Re X2 + jIm X2) * (ReW + jImW) = Re X1 + Im X1 + Re X2 * Re W + Re X2 * ImW + Re W * Im X2 + Im X2 * ImW
X’2 = (Re X1 + jIm X1) – (Re X2 + jIm X2) * (Re W + jImW) = Re X1 + Im X1 – Re X2 * Re W – Re X2 * ImW – Re W * Im X2 – Im X2 * ImW
Re X’1 = Re X1 + Re X2 * ReW + ReW * Im X2 + Re X2 * ImW = Re X1 + Re W (Re X2 + Im X2) + Re X2 * ImW
Re X’2 = Re X1 – Re X2 * ReW – ReW * Im X2 – Re X2 * ImW = Re X1 – ReW (Re X2 + Im X2) – Re X2 * ImW
Im X’1 = Im X1 - Re W * Im X2 - Re X2 * ImW – Im X2 * ImW = Im X1 – ImW (Re X2 + Im X2) – Re W * Im X2
Im X’2 = Im X1 + Re W * Im X2 + Re X2 * ImW + Im X2 * ImW = Im X1 + ImW (Re X2 + Im X2) + Re W * Im X2
Операції:
Додавання – 12
Множення – 8
Читання з пам'яті – 6
Запис в пам’ять – 4
Загальна кількість операцій – NОП = 30.
Загальна кількість операцій визначається за формулою:
(10)
Nзаг
=
* log22048
=
1024 * 11 = 11 264 операцій
Для виконання кожного метелика потрібно 30 операцій, кожна операція виконується за 1 такт процесора, то загальний час обчислення ШПФ (ТзагШПФ) буде:
ТзагШПФ = NЗАГ * NОП * ТВІ, де
ТВІ – час виконання однієї інструкції (1/FПРОЦ);
ТзагШПФ = 11 264 * 30 * (1/400*106) = 0,845 мс
Час завантаження даних у процесор через Flash-PSD4256G6V визначається за формулою:
ТЗАВ = (2*N*R)*(1/F), де
R – розрядність даних
ТЗАВ = (2*2048*8)*(1/40*106) = 0,82 мс
Час отримання даних з процесора через UART (115,2 Кбіт/с):
ТОТР = (2*2048*8)*(1/115,2*103) = 2,8 мкс
Загальний час виконання алгоритму ТЗАГ = 0,845*10-3 + 0,82*10-3 + 2,8*10-6 = 1,67мс
ТЗАГ задовольняє умову завдання – 2,45 мс < 2,8 мс. Для виконання алгоритму достатньо одного процесора. Нижче наведена часова діаграма роботи системи.
Рис. 6. Часова діаграма роботи процесора

разів.