Припустимо, що в основі конструкції коду БЧХ лежить елемент
де не більше t коефіцієнтів відрізняються від нуля. Припустимо, що насправді відбулося v помилок,
де
Прийняті тут позначення занадто громіздкі. Для їх спрощення визначимо для всіх
У цих позначеннях
Аналогічно можна обчислити значення прийнятого багаточлена при всіх ступенях
Тоді одержимо наступну систему з 21 рівнянь відносно v невідомих локаторів
У силу визначення синдрому ця система рівнянь повинна мати хоча б одне рішення. Це рішення єдине. Наше завдання полягає в обчисленні невідомих по заданих компонентах синдрому, тобто в рішенні системи нелінійних рівнянь. Описуваний метод рішення таких систем підходить для довільного поля.
Цю систему нелінійних рівнянь важко вирішувати безпосередньо. Скористаємося штучним прийомом, визначивши деякі проміжні змінні, які можуть бути обчислені по компонентах синдрому і по яких можна обчислити потім локатори помилок.
Розглянемо багаточлен від х:
відомий за назвою багаточлена локаторів помилок і обумовлений як багаточлен, коріннями якого є зворотні до локаторів помилок величини
Якщо коефіцієнти цього багаточлена відомі, то для обчислення локаторів помилок потрібно знайти його корінь. Тому спробуємо спочатку обчислити по заданих компонентах синдрому коефіцієнти
Помножимо обидві частини рівності, що визначає цей багаточлен, на
або
Ця рівність виконується при кожному l і при кожному j. Підсумуємо ці рівності по l від 1 до v. Для кожного j це дає
Або
Кожна сума в лівій частині останньої рівності є компонентом синдрому, так що рівняння приводиться до виду
Тому що
тобто систему лінійних рівнянь, що зв'язує компоненти синдрому з коефіцієнтами багаточлена
Оскільки число елементів поля обмежено, звичайно найпростішим шляхом знаходження корінь багаточлена
Для обчислення
Як приклад процедури декодування, розглянемо декодування (15,5)-коду БЧХ, що виправляє три помилки і має породжуючий багаточлен g(х) = х10 + х9 + х6 + х4 + х2 + х + 1.
Алгоритм декодування представлений на рис. 1.
Для приклада будемо вважати прийнятий багаточлен рівним v(х) = x7 + x2. Ясно, що якби відбулося не більше трьох помилок, то кодове слово повинно було б бути нульовим і v(х) = е(х), але декодер не може зробити такого висновку. Виконаємо всі кроки алгоритму декодування. Спочатку обчислимо компоненти синдрому, використовуючи арифметику в полі GF(16):
Нехай v = 3, тоді
Визначник М дорівнює нулю; отже, припускаємо v = 2. Тоді
Визначник не дорівнює нулю; отже, відбулося дві помилки. Далі,
та
отже,
Використовуючи процедуру Ченя, одержуємо розкладання
Багаточлен локаторів помилок