- •7.091501 І 8.091501 "Комп'ютерні системи та мережі"
- •7.091503 І 8.091503 “Спеціалізовані комп'ютерні системи“
- •Анотація
- •Аналіз задач і алгоритмів
- •Особливості задач і алгоритмів.
- •Особливості організації обчислювальних засобів
- •2. Алгоритми швидкого перетворення Фур’є та їх програмна реалізація
- •2.1. Основні положення алгоритму шпф
- •2.2. Програмна реалізація основних елементів шпф
- •3. Організація dsp- процесорів для задач опрацювання сигналів та зображень
- •3.2. Вимоги до пос при реалізації алгоритмів цос (на прикладі виконання алгоритму шпф в режимі реального часу)
- •3.3. Типова структура процесора опрацювання сигналів та зображень
- •4: Інтерфейси dsp-процесорів
- •4.1. Аналіз паралельного інтерфейсу з dsp-процесорами: читання даних з ацп, що під’єднаний до адресного простору пам’яті
- •4.2. Аналіз паралельного інтерейсу з dsp-процесорами: запис даних в цап, що під’єднаний до адресного простору пам’яті
- •4.3. Аналіз послідовного інтерфейсу з dsp-процесорами
- •5: Проектування процесора шпф на пос
- •5.2. Аналіз (розробка) блок-схеми виконання алгоритму шпф на заданому типі процесора
- •5.3. Розрахунок основних параметрів
- •5.4. Розробка функціональної схеми
- •6: Проектування засобів опрацювання сигналів та зображень на пліс
- •6.2. Оцінка продуктивності вузла реалізації алгоритму шпф на пліс
- •Побудова граф-алгоритму шпф з основою 2 наведена в попередніх розділах.
- •7. Реалізація алгоритмів опрацювання сигналів та зображень на нейропроцесорах
- •Векторний співпроцесор
- •8. Стиск нерухомих зображень з використанням перетворень різного типу дискретних косинусних перетворень
- •8.1. Стиск нерухомих зображень з використанням дискретних косинусних перетворень
- •8.2. Стиск нерухомих зображень з використанням хвилькових перетворень
- •8.3. Стиск зображень з використанням методу кодування областей хвилькового перетворення
- •8.4. Стиск зображень з використанням методу дерев нулів хвилькового перетворення
- •8.6. Адаптивні хвилькові перетворення : Хвилькові пакети.
- •9. Опрацювання мовних сигналів
- •9.1. Мовні технології
- •9.2. Алгоритм динамічного часового вирівнювання для розпізнавання слів з невеликого словника
- •9.3. Розпізнавання злитної мови з великим словником
- •10. Використання вікон для опрацювання сигналів
- •10.1. Просочування спектральних складових
- •10.2. Вікна та їх основні параметри
- •10.3. Класичні вікна
- •10.4. Гармонійний аналіз
- •11. Діагностика і контроль процесорів і систем опрацювання сигналів та зображень
- •11.1. Особливості діагностики та контролю процесорів та систем опрацювання сигналів та зображень
- •11.2. Ієрархічність засобів діагностики та контролю процесорів та систем опрацювання сигналів та зображень
- •11.3. Процес формування ачх
- •11.4. Визначення і дослідження виду ачх
- •Висновки
- •Література
- •Цифрове опрацювання сигналів та зображень: Алгоритми та реалізація Навчальний посібник
- •7.091501 І 8.091501 "Комп'ютерні системи та мережі",
- •7.091503 І 8.091503 “Спеціалізовані комп'ютерні системи“
3. Організація dsp- процесорів для задач опрацювання сигналів та зображень
Для опрацювання сигналів та зображень найчастіше використовуються DSP- процесори. Розглянемо підходи до їх реалізації на базі обчислення алгоритму ШПФ.
В загальному випадку, вимоги по використовуваній пам'яті для N-точкового ШПФ такі: N комірок для дійсних даних, N комірок для уявних даних і N комірок для синусоїдальних базисних функцій (коефіцієнти повертання). Додаткові комірки пам'яті необхідні у випадку використання зважування з використанням віконних функцій (wіndowіng). Якщо прийняті вимоги по пам'яті задоволені, DSP повинний виконати необхідні обчислення за необхідний час. Багато виробників DSP або проводять тест продуктивності для зазначеного розміру ШПФ, або визначають час обчислення для базової операції "метелик". При порівнянні характеристик ШПФ важливо упевнитися, що у всіх випадках використовується однаковий тип ШПФ. Наприклад, тест 1024-точкового ШПФ на одному DSP, отриманому за допомогою алгоритму ШПФ за основю 2, не повинний порівнюватися з тестом алгоритму ШПФ за основою 4 для іншого DSP.
Інше розуміння відносно ШПФ полягає у виборі процесора з фіксованою чи плаваючою крапкою. Результ обчислення "метелика", може бути більшим ніж розрядна сітка DSP з фіксованою крапкою, що створює проблему при реалізації ШПФ на процесорах такого типу. Для запобігання переповнення, дані потрібно масштабувати, заздалегідь залишаючи достатню кількість додаткових розрядів для збільшення значень оброблюваних даних. Альтернативний метод полягає в тім, що дані можуть масштабуватися після кожного каскаду обчислення ШПФ. Метод масштабування даних після кожного проходу ШПФ відомий як блокова плаваюча крапка, (block floatіng poіnt). Він називається так, тому що повний масив даних масштабується як єдине ціле, незалежно від того, чи дійсно кожен елемент у блоці вимагає масштабування. Блок масштабується таким чином, щоб відносні співвідношення між даними залишилися колишніми. Наприклад, якщо кожне слово даних зсунене вправо на один розряд (поділене на 2), абсолютні значення змінюються, але відносно один одного співвідношення даних залишаються колишніми.
У 16-розрядному DSP-процесорі з фіксованою крапкою після множення формується 32-розрядне слово. Сімейство цифрових сигнальних процесорів Analog Devіces ADSP21xx характеризується розширеним динамічним діапазоном, що реалізується в операціях множення з накопиченням за допомогою 40-розрядного внутрішнього регістра акумулятора.
Використання DSP-процесора з плаваючою крапкою, усуває потребу в масштабуванні даних і тому приводить до більш простої реалізації алгоритму ШПФ, але наслідком цього спрощення є збільшення часу опрацювання, що потрібно для складних арифметичних обчислень плаваючою крапкою. Крім того, 32- розрядний DSP-процесор із плаваючою крапкою, мабуть, буде мати менший рівень шумів округлення, ніж 16-розрядний DSP-процесор з фіксованою крапкою.
Часи виконання 1024-х точкового ШПФ наведені в табл.3.1..
Таблиця 3.1. Час виконання 1024-точкового комплексного ШПФ (16-біт фіксована крапка) на DSP різного типу
|
|||
16-біт фіксована
крапка |
Командний цикл (нс) |
Кількість циклів |
Загальний час (мс) |
TMS320C25 |
80 |
113467 |
9.08 |
ADSP2105 |
72 |
34625 |
2.50 |
TMS320C50 |
25 |
84833 |
2.12 |
ADSP2101(2115) |
50 |
34625 |
1.73 |
ADSP2117 |
30 |
--//-- |
1.04 |
32-біти плаваюча
крапка |
50 |
60800 |
3.04 |
TMS320C40 |
25 |
38945 |
0.97 |
ADSP 21020 |
30 |
19245 |
0.58 |
ADSP 21060SHARC |
25 |
18221 |
0.46 |
В таблиці необхідно звернути увагу на різну кількість циклів виконання, яка залежить від внутрішньої архітектури DSP.
Результати порівняння реалізації алгоритмів ШПФ за основою 2 на різних процесорах такі:
Тип процесора |
Розмірність перетворення (к-сть крапок) |
Розрядність |
Тип крапки |
Час перетворення (мкс) |
ADSP-2189M |
1024 |
16 |
фіксована |
453 |
ADSP-21160 SHARC™ |
1024 |
32 |
плаваюча |
90 |
ADSP-TS001 TigerSHARC™ 150 MHz |
256 |
16 |
фіксована |
7,3 |
1024 |
32 |
плаваюча |
69 |
В DSP-процесорі ADSP-TS001 TіgerSHARC™ (статичний, суперскалярний цифровий сигнальний процесор з RISK + VLIV архітектурою) можливі обидва режими (з плаваючою і з фіксованою крапкою), що забезпечує виняткову гнучкість програмування.