Цифровая звукозапись. Вологдин Э.И. - 65 стр.

UptoLike

Составители: 

Рубрика: 

65
требуются при расчете систем перемежения кодовых данных для исправления
выпадений и пакетов ошибок.
Обнаружение кодовых ошибок
Обнаружение ошибок при цифровой звукозаписи осуществляется с помощью
специальных кодов, которые называются EDС (Error Detection Code). Для этих целей
наиболее часто используется код CRC (Cyclic Redundancy Code). Это двоичный
циклический блоковый код с избыточностью длины
n
, обозначаемый как
( , )
n k
.
Информационные
k
двоичных символов CRC кода образуют
алфавит
информационных
данных
( )
A k
. Число их кодовых комбинаций в этом алфавите
составляет
( )
= σ
k
N k
.
За счет избыточности кода объем возможных кодовых слов возрастает, и полный
алфавит
всех кодовых комбинаций расширяется до значения
( )
= σ
N n
.
Из этого алфавита выбираются только
σ
k
кодовых слов, которые включают в
основной алфавит кода, а остальные кодовые слова считаются
запрещенными
-
*( )
N n
.
Если переданное кодовое слово из-за ошибки переходит в запрещенное, то такая
ошибка обнаруживаются всегда. Если кодовое слово из-за ошибки переходит в другое
разрешенное слово, то такая ошибка вообще не обнаруживается. Чем больше число
проверочных символов, тем больше число запрещенных кодовых слов и меньше
вероятность не обнаружения ошибочного кодового слова
cw
P
( )
2
*( )
= =
r
cw
N k
P
N k
.
Как
видно
из
этой
формулы
,
вероятность
не
обнаружения
ошибок
в
коде
CRC
зависит
только
от
числа
проверочных
символов
и
не
зависит
от
длины
блока
,
что
очень
важно
.
Это
значит
,
что
код
можно
использовать
для
обнаружения
ошибок
в
блоках
очень
большой
длины
.
Код
CRC
с
вероятностью
1
обнаруживает
до
3
ошибочных
бит
и
пакеты
ошибок
длиной
меньше
и
равной
бит
.
Вероятность
не
обнаружения
пакетных
ошибок
длиной
1
+
r
определяется
равенством
( 1)
2
=
r
cw
P
Обычно
,
= 16
или
32
бита
.
При
этом
вероятность
не
обнаружения
ошибочного
кодового
слова
находится
в
пределах
от
1,5 10
-5
до
2,3 10
-10
Информационный
алфавит
кода
CRC
задается
порождающим
многочленом
F(x),
по
модулю
которого
происходит
умножение
двоичных
векторов
.
Сам
алфавит
формируется
путем
циклического
сдвига
символов
на
один
шаг
.
Поэтому
все
информационные
слов
делятся
без
остатка
на
порождающий
полином
.
Циклическому
сдвигу
на
один
шаг
соответствует
умн
o
жение
на
x:
например
: 110011, 100111, 001111,
011111……. .
Для
обнаружения
ошибок
в
код
CRC
вводится
проверочное
слово
длиной
=
r n k
.
Чтобы
освободить
место
в
блоке
для
проверочных
символов
,
информационные
символы
умножается
на
r
x
( ) / ( ) ( ) ( )
= +
r r
F x x G x F x x r x
.
Вычисление
проверочного
слова
производится
путем
деления
информационного
слова
длиной
k
на
порождающий
полином
.
Остаток
от
деления
является
проверочным
словом