Загальні теоретичні відомості
При реалізації обчислень на процесорах обробки сигналів чи НВІС, які характеризуються обмеженою розрядністю і роботою в форматі фіксованої крапки необхідно враховувати ефекти, які викликані, насамперед, наближеним представленням формули обчислень і кінцевою розрядністю використовуваних регістрів. До таких ефектів відносяться:
а) шум аналогово-цифрового перетворення;
б) некорельований шум заокруглення;
в) похибки, які викликані квантуванням коефіцієнтів.
Враховуючи методи представлення чисел, способи квантування, які використовуються для скорочення розрядності чисел до необхідної величини, а також особливості структурної схеми обчислень, в кожному конкретному випадку можна оцінити, як перераховані ефекти впливають на результат обчислень.
Квантування в цифрових пристроях
При квантуванні використовують два стандартних способи: відкидання і заокруглення. Розглянемо їх особливості стосовно різних систем числення і похибки, які виникають при цьому. Припускається, що всі значення чисел по модулю менші від 1.0 (|X| < 1.0).
Відкидання. Відкидаються всі молодші розряди, що стоять після найменшого розряду, який зберігається. Тоді значення похибки для доповняльного коду задовольняє нерівність:
-2 -b Xвдк - X 0,
де b - число розрядів, що зберігаються; Xвдк - відкинуте значення X.
Для чисел, які представлені в прямому і оберненому кодах для від’ємних значень справедлива нерівність:
0 Xвдк - X < 2-b , X < 0.
Важливим є те, що похибка відкидання лежить між значеннями нуля і числа, що пропорційне 2-b .
Заокруглення. При заокругленні вихідне число X заміняється найближчим до нього b-розрядним числом. Тоді похибка заокруглення задовольняє нерівність:
-2-b / 2 Xок - X 2-b / 2
для всіх трьох методів представлення чисел (додаткового, прямого і оберненого коду).
Шум аналогово-цифрового перетворення
В залежності від методу квантування вхідної послідовності шум квантування може мати різний амплітудний розподіл. При найменшому кроці квантування Q похибка квантування e(n) лежить в границях:
-Q/2 e(n) Q/2 - для випадку заокруглення;
0 e(n) Q - для випадку відкидання.
В даному випадку розподіл сигналу похибки є рівномірним. При цьому середнє значення похибки рівне нулю при заокругленні і Q/2 при відкиданні, а її дисперсія в обох випадках рівне Q2/12. Як аналогію аналогово-цифрового перетворення в нашому випадку необхідно розглядати представлення вхідного (тестового) масиву чисел в заданій розрядній сітці b; тоді Q дорівнюватиме b.
Hекорельований шум заокруглення
В цифровій обробці використовуються операції множення, додавання і зсуву. Їх виконання приводить до необхідності розширення розрядної сітки. Наприклад, перемноження двох b-розрядних чисел приводить до 2b-розрядного результату, подальше перемноження може привести до нескінченого збільшення розрядної сітки. Для подолання ефекту застосовують квантування результатів множення до вихідної b-розрядної сітки з заокругленням або відкиданням молодших розрядів. При цьому виникає шум заокруглення.
При додаванні, в загальному випадку розширення розрядної сітки не виникає, але в деяких випадках може виникнути переповнення. Для подолання цього ефекту застосовують зсув результатів вправо і його квантування. Для квантування результатів множення і додавання застосовують заокруглення або відкидання, в залежності від вимог реалізації. Похибки, що виникають при цьому будуть мати випадковий характер.
Квантування коефіцієнтів
Постійні коефіцієнти, які використовуються при обчисленні базових операцій алгоритмів ЦОСЗ також представляються у фіксованому розрядному просторі. Загального підходу до їх квантування нема. Тому застосовується така оптимізація, щоб максимум зваженої різниці ідеальних і реальних обчислень був мінімальним. При цьому необхідно розглянути схему обчислень стосовно чутливості до розрядності коефіцієнтів. Для цього, необхідно, змінюючи спосіб квантування коефіцієнтів (відкидання, заокруглення), добитися найменшого розходження між ідеальною і розрахованою функцією.
Базові операції алгоритмів цифрової обробки сигналів та зображень
До основних базових операцій, які застосовуються в ЦОСЗ відносяться: множення, додавання і зсув. Оскільки, при виконанні цих операцій необхідно залишитися в заданій розрядній сітці розглянемо прийоми їх моделювання на мові Pascal.
<Розрядна сітка: b = 8.>
Множення
{x, k, y - 8-ми розрядні слова зі знаком;}
{work - 16-ти розрядне слово зі знаком;}
work := k * x; { множення }
work := work + $80; {моделювання заокруглення }
y := work shr 8; { квантування до 8-ми розрядів }
Додавання.
{x, k, y - 8-ми розрядні слова зі знаком;}
{work - 16-ти розрядне слово зі знаком;}
work := k + x; {сумування}
work := work + 1; { моделювання заокруглення }
y := work shr 1; { квантування до 8-ми розрядів }
Для іншої розрядної сітки (наприклад b = 16) застосовуються такі ж прийоми, з врахуванням довжини слова і відповідних коректуючи констант.
- Міністерство Освіти і Науки України Національний Університет “Львівська Політехніка”
- Аналіз обчислювальної похибки при виконанні базових операцій алгоритмів цифрової обробки сигналів. Обчислення математичних функцій
- Мета роботи
- Загальні теоретичні відомості
- Порядок виконання роботи
- Зміст звіту до лабораторної роботи
- Контрольні запитання
- Література
- Варіанти завдань до лабораторної роботи
- Приклад приведення виразу до аналітичного вигляду Завдання