Учебное пособие разработал


Методы обнаружения и коррекции ошибок в цифровых звуковых сигналах



бет11/50
Дата17.05.2020
өлшемі6.68 Mb.
түріУчебное пособие
1   ...   7   8   9   10   11   12   13   14   ...   50

Методы обнаружения и коррекции ошибок в цифровых звуковых сигналах

В цифровых каналах связи средняя вероятность появления ошибки составляет 10–5...10–6, а в отдельных случаях и 10–4, поэтому влияние ошибок на качество звукопередачи неизбежно. Это вызывает необходимость применения помехоустойчивого кодирования при передаче сигналов ЗВ.

Обнаружение и коррекция ошибок требуют введения в сигнал определенной избыточности. Для этой цели сигнал на выходе АЦП разделяется на блоки, в которые, кроме основной информации, связанной с кодированием отсчетов, включаются дополнительные символы, необходимые для обнаружения и исправления ошибок. Перед цифроаналоговым преобразованием эти блоки подвергаются дополнительной цифровой обработке, в процессе которой на этапе обнаружения определяется наличие ошибок. Для исправления ошибок необходимо определить место пораженных символов в блоке, чтобы заменить их на правильные. Исправление ошибок — задача гораздо более сложная, чем их обнаружение.

Помехоустойчивое кодирование основано на применении корректирующих кодов, в которые вносится некоторая избыточность, что приводит к увеличению требуемой пропускной способности канала связи. Различают коды для обнаружения ошибок и коды для исправления обнаруженных ошибок. Помехоустойчивые коды могут быть построены с любым основанием, однако наиболее простыми и часто используемыми являются двоичные коды.

Обнаружение ошибок в корректирующих кодах строится обычно на том, что для передачи используются не все кодовые слова кодового списка, а лишь их некоторая часть (разрешенные); остальные кодовые слова из этого списка являются запрещенными. Если переданное разрешенное кодовое слово вследствие ошибки преобразуется на приемной стороне тракта в запрещенное, то такая ошибка может быть обнаружена. Процедура исправления ошибок состоит в замене ошибочно принятой комбинации на разрешенную, которая принадлежит данному коду и расстояние до которой оказывается наименьшим.



Ошибки могут быть одиночными и сгруппированными в пакеты. Под пакетами понимают появление двух или большего числа ошибок в пределах одной m-разрядной кодовой комбинации. Если ошибки, возникающие при передаче сигналов, являются статистически независимыми, то вероятность появления пакета ошибок кратности q

(1.37)

где , — число сочетаний из т символов по q. Для 10-раз-рядных кодовых слов вероятность появления двойных ошибок при исходной вероятности рош = 10–5 составляет p1 = 510–9, а при рош = 10–4 уже составляет р2 = 510–7. Это соответствует появлению одной двойной ошибки каждые 2,5...3 мин.

Кроме того, в цифровых каналах передачи при средней вероятности появления ошибки рош = 10–4 и выше возникают коррелированные ошибки, вызванные действием импульсных помех, несовершенством систем коммутации и т.д. Поэтому вероятность появления ошибок большой кратности возрастает. Особенно велика роль пакетов ошибок в каналах цифровой магнитной записи и в системе компакт-диска из-за возможных повреждений носителя записи. Системы исправления ошибок должны эффективно бороться не только с одиночными, но и с пакетами ошибок, заметность которых существенно выше. Чем больше кратность ошибки, тем больше должна быть избыточность, которую необходимо вносить в сигнал. Требуемая избыточность тем больше, чем большее число разрядов кодовой группы необходимо защищать. С учетом заметности искажений в системах цифровой передачи и записи ЗС обычно защищают от ошибок пять-шесть старших разрядов информационных символов кодируемых отсчетов, служебные комбинации, определяющие, например, номер шкалы квантования при почти мгновенном компандировании. Ошибки в младших разрядах, если частота их появления не слишком велика, достаточно обнаруживать и затем маскировать, используя методы интерполяции, о которых будет сказано ниже.

Выбор способа обнаружения ошибок, метода их маскирования и исправления, возможного только при помехоустойчивом кодировании, зависит как от среднего значения вероятности появления ошибки, так и от того, являются они одиночными или групповыми. Для тракта студийной аппаратной, а также трактов звукозаписи и первичного распределения программ ЗВ эти методы различны.

Простейшие методы обнаружения ошибки. Если цифровые аудиоданные передаются или считываются, то в приемнике нет возможности распознать, корректно ли принимаемое число (например, число 0101) либо один или несколько символов в принятом кодовом слове неверны. Для решения этой проблемы применяют коды. Самые простые из них — коды с повторением. Каждый информационный символ можно, например, повторить n раз (обычно n нечетно и больше двух), т.е.


  1. <----> 0 0 0 0 0…0,

  2. <----> 1 1 1 1 1…1.

Это (n,1)-код. Для него минимальное расстояние равно n, и в предположении, что большинство принятых битов совпадает с переданным информационным битом, может быть исправлено (n–1)/2 ошибок. Если символы передать только дважды, а затем обнаружить, что они различаются, то нет возможности принять решение о том, какое из двух чисел является правильным. Каждое число нужно передать по крайней мере трижды и после сравнения распознать ошибочное. Такой метод неэффективен, он приводит к резкому увеличению требуемой скорости передачи. Найдены другие, более эффективные возможности.

Очень простыми являются коды с проверкой на четность. К информационным битам каждого кодового слова kразрядности добавляют (к+1)-й бит так, чтобы полное число единиц (или нулей) в кодовом слове было четным. Данный прием в цифровых устройствах из-за простоты используют очень часто. При этом дополнительный бит называется битом проверки на четность (паритетным битом). Например, для k = 4 имеем



Исходный код
















Бит четности

0

0

0

0



0

0

0

0

0

0

0

0

1



0

0

0

1

1

0

0

1

0



0

0

1

0

1

0

0

1

1



0

0

1

1

0

и т.д.

Этот код является (k + 1,k)-кодом. Минимальное расстояние кода равно 2, и, следовательно, ошибки могут быть обнаружены, но никакие ошибки не могут быть исправлены. Если бит передается неправильно, то распознается появление ошибки в слове (ибо сумма всех единиц не будет равна четному числу, если ошибка одиночная). Однако позицию ошибки в кодовой комбинации определить невозможно. Таким образом, данный код не позволяет исправить ошибки. В силу этого данный код используется только для обнаружения одиночных ошибок, но не для их исправления.

Впрочем, можно распознать позицию единичных (отдельных) ошибок, если несколько слов предварительно объединить в матрицу, а контрольные разряды четности (дополнительные биты проверки на четность) добавить к информационным символам кодовых слов построчно и по столбцам, например:
Правильно Ошибка в первой строке, третий столбец

(выделена подчеркиванием)



0

1

0

1

0

0

1

1

1

0

1

0

0

1

0

1

0

0

1

0

1

1

0

1

1

1

1

0

1

1

0

0

1

0

1

0

0

1

0

1

0

0

1

1




0

0

1

1

































(неправильная четность)
Однако если в таком блоке одновременно появляется несколько ошибок, то такой метод не принесет пользы.

Маскирование ошибок. Если средняя вероятность появления ошибки не превышает рош = 10–5 и источником ошибок является шум в канале передачи, то расчеты показывают, что одиночные ошибки появляются в среднем 2 раза в секунду, а двойные — примерно 4 раза в сутки. В этих условиях достаточно учитывать только одиночные ошибки. Действие последних приводит к искажению величины отдельных отсчетов сигнала, и эффективным способом борьбы с ними является обнаружение ошибочно принятых кодовых слов с последующим маскированием искаженных отсчетов. Для обнаружения обычно используется уже описанный выше принцип проверки на четность, причем такой, чтобы число единиц в кодовом слове было четным. При приеме после выделения кодовых слов в каждом из них подсчитывается число единиц. Нечетное их число будет означать наличие ошибки в данном кодовом слове.

Вероятность (p0) того, что при использовании данного метода ошибка не будет обнаружена, зависит как от вероятности (рош) ее появления в канале, так и от числа разрядов (символов) т в кодовом слове, включая разряд четности. Величину p0 можно найти по формуле



, (1.38)

где — число сочетаний т символов по 2. Отсюда видно, что использование длинных кодовых слов ведет к росту вероятности необнаруженной ошибки.

Если одиночная ошибка в кодовом слове обнаружена, то ее маскирование после этого состоит в замене искаженного отсчета. Обычные методы, используемые для этого процесса, показаны на рис. 1.21. На рис. 1.21, а отмечено ошибочное значение отсчета. Самым плохим наверняка является его замена на нуль, т.е. выбрасывание отсчета с ошибочным значением (рис. 1.21, б). Лучше, если ошибочный отсчет будет заменен на значение предыдущего отсчета (рис. 1.21, в). Еще лучше, если его значение будет получено как интерполяция значений двух соседних отсчетов, например путем вычисления среднего значения (рис. 1.21, г). Однако все же разность между восстановленным и истинным значениями отсчета может быть заметной на слух и намного превысить шаг квантования.


Рис. 1.21 — Маскирование ошибочных отсчетов:



а — обнаруженная ошибка в значении отсчета sn; б — замена ошибочного отсчета sn отсчетом с нулевым значением; в — коррекция (экстраполяция нулевого порядка) через замену ошибочного отсчета sn его предыдущим значением sn–1; г — интерполяция первого порядка путем вычисления среднего значения из предыдущего sn–1 и последующего sn+1 отсчетов
Поскольку слух человека инерционен, то метод маскирования оказывается эффективным, если число ошибок не превышает одной-двух в секунду. Это условие выполняется при вероятности появления ошибки в канале рош = 10–5. При т = 6 в этом случае получаем, что вероятность необнаруженной ошибки р0 = 1510–10, что примерно соответствует требуемому значению.

Увеличение рош до значения 10–4 ведет к резкому росту среднего числа ошибок в секунду до 20. Метод интерполяции первого порядка не обеспечивает полного маскирования ошибок полезным сигналом, они становятся уже заметными на слух. Можно считать, что изложенный выше метод маскирования применим, когда значение рот  10–5.





Достарыңызбен бөлісу:
1   ...   7   8   9   10   11   12   13   14   ...   50


©netref.ru 2019
әкімшілігінің қараңыз

    Басты бет