Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Окон_ТО_САПР.doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
5 Мб
Скачать
☆

Дискретизация

Во время записи музыкальных компакт-дисков происходит дискретизация данных с частотой 44100 тактов в секунду (Гц). Каждая выборка (sample) звуковых данных имеет отдельный компонент левого и правого каналов (стерео), причем каждый компонент канала преобразован в 16-разрядное число. Таким образом, возможно 65 536 разных значений, которые представляют амплитуду звуковой волны канала в определенный момент.

Частота дискретизации определяет диапазон звуковых частот, которые могут быть представлены в цифровой записи. Чем выше частота дискретизации волны, тем ближе полученный результат к оригиналу. Для точного вос­становления исходного сигнала частота дискретизации должна быть по крайней мере вдвое выше наиболее высокой частоты, существующей в выборке. Это объясняет, почему компании Philips и Sony при создании компакт-дисков выбрали частоту дискретизации, равную именно 44100 Гц: эта частота позволяет максимально точно воспроизвести звуки частотой до 20 000 Гц, что является верхним пределом слышимости человеческого уха.

Звуковые секторы содержат в себе 98 блоков по 33 байт в каждом, что составляет 3 234 байт. Из них только 2 352 байт фактически являются звуковыми данными. Остальные байты распределены следующим образом: 98 байт подкодовых (по одному байту на каждый блок) и 784 байт, используемых для контроля четности и коррекции ошибок (ECC).

Обработка ошибок

При разработке стандарта компакт-дисков Red Book основное внимание было уделено обработке ошибок. Для уменьшения влияния возможных ошибок в компакт-дисках используются методы контроля четности и чередования, получившие название перемежающего кода Рида–Соломона (CIRC). Эта технология работает на уровне блоков (фреймов). При сохранении информации 24 байт данных каждого блока сначала обрабатываются шифратором Рида–Соломона, создающим 4-байтовый код контроля четности (так называемый Q-контроль четности), который добавляется к исходным 24 байтам данных. Полученные в результате этой операции 28 байт передаются второму шифратору, использующему другую схему, который, в свою очередь, создает дополнительный 4-байтовый код контроля четности (Р - контроль четности). Этот код добавляется к 28 байтам, полученным в предыдущем кодировании, что составляет 32 байта (24 исходных байта данных плюс байты Q- и P-контроля четности). Затем вводится дополнительный подкодовый байт данных (информация о дорожке), в результате чего получается 33 байта для каждого блока.

Принципы исправления ошибок

Допустим, что нужно передать определенное количество цифр по каналу, в котором возможно возникновение ошибок, например 5, 6, 8. Если по каким либо причинам одна из цифр изменится, получатель не сможет обнаружить (и исправить) ошибку. Простейший путь обеспечения возможности обнаружения и исправления ошибки – это суммирование всех чисел и передача, кроме них самих, их суммы (19) по тому же каналу. Проверив сумму, получатель обнаружит ошибку. Он не сможет ее исправить и должен будет сделать повторный запрос. При этом только одна из цифр может быть ошибочной. Если ошибочны более чем одна цифра, то не во всех случаях ошибка может быть обнаружена. Улучшенный вариант может быть получен, если снова сложить все 4 цифры и передать вторую проверочную сумму.

Из примера можно сделать 2 важных вывода:

  • если необходима более надежная передача, то на это надо тратить больше времени;

  • существует определенное ограничение на количество ошибочных цифр, которые можно обнаружить.

В примере показана возможность только обнаружения ошибки, однако существует возможность ее исправления.

Пусть необходимо передать чисел: .

Добавим проверочных чисел: , которые называются символами проверки на четность.

Отношение - называется скоростью кода.

В нашем примере .

Исправление ошибки возможно, если разумным образом добавлены проверочных символов.

Пусть и выберем проверочные символы так, чтобы:

;

.

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

Тогда

,

где - ошибочно принятый символ;

- возникшая в нем ошибка.

Получатель вычисляет следующие две проверки, так называемые «синдромы»:

;

.

Если при передаче ошибки нет, т. е. , то просто .

Если , то с помощью подстановки находим

; и .

Таким образом, ошибку можно исправить, поскольку , а ошибочная позиция .

Из примера следует:

  • можно не только обнаруживать ошибки, но и исправлять их;

  • можно применить различные стратегии декодирования: только обнаружение ошибок; исправление ошибок, если это возможно.

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

Таким образом, для исправления t ошибок кодовое слово должно содержать проверочных символов. При этом нужно иметь 2t независимых уравнений для нахождения значений ошибок и их позиций.

В реально применяемых кодах используется арифметика конечных полей, или полей Галуа. Корректирующие коды часто основаны на коде Рида – Соломона.