Блок коррекции ошибок. Интерполяция и приглушение
После того, как информация поступившая от демодулятора, записана в буферную память, начинается процесс её деперемежения, совмещенный с процедурой устранения детонации, а также обнаружение и коррекция ошибочных символов. При этом декодирование и деперемежение осуществляется в порядке обратном тому, что был при кодировании и перемежении (рис. 1).
Следует подчеркнуть, что здесь и далее все сигналы управления, в том числе и для операций с ЗУПВ, формируются на основе стабильной тактовой частоты Fт = 4,3218 МГц, вырабатываемой кварцевым генератором. О той тактовой частоте Fт, которая была выделена из считанного с диска иформационного сигнала и завилела от скорости вращения диска, теперь можно забыть раз и навсегда.
Рис. 1 - Декодер CIRC
Механизм всех трех этапов деперемежения заключается в том, что нужные символы извлекаются из памяти в требуемом порядке и используются в процедуре декодирования, после чего вновь записываются в ту же память, но уже в другие ячейки.
Это повторяется до тех пор, пока не будут выполнены все операции двух этапов декодирования и трех этапов деперемежения. После окончания процедуры будет восстанвлен первоначальный порядок следования символов - такой, каким он был на выходе АЦП.
Декодирование на каждом из этапов С1 и С2 заключается в том, что благодаря наличию в кодовых словах проверочных символов, можно определить, есть ли в кодовых словах ошибки и какие именно символы ошибочны. Такая процедура требует целого ряда довольно сложных и громоздких вычислений. Но когда положение ошибки определено, она достаточно легко корректируется.
Однако, используемые коды С1 и С2 способны обнаружить не более четырех и исправить не более двух ошибочных символов. Если ошибок больше двух, но не более четырех, то декодер может обнаружить только сам факт их наличия, но ни локализовать, ни, тем более, исправить их не в состоянии. В этом случае все символы кодового слова отмечается указателям и ненадежности или, что то же самое, указателями стирания. После того, как эти символы вместе с указателями стирания подвергнутся процедуре очередного этапа деперемежения, они перераспределяются между другими кодовыми словами другого этапа декодирования и могут быть откорректированы на этом этапе, если, конечно, в этом кодовом слове не окажется ошибок больше, чем он в состоянии исправить.
Поскольку декодеров всего два, то исправлять стирания, как правило, приходится только декодеру С2, так как декодеру С1 получать их неоткуда - он может их только производить. Декодер С2 может как исправлять ошибки, так и производить их, или же оставлять без изменения указатели стираний, полученные от декодера С1. В зависимости от схемотехники микросхемы совокупность операций, которые могут выполнять декодеры С1 и С2, может сильно отличаться друг от друга. Такая совокупность операций называется стратегией декодирования.
Процесс декодирования кодов С1 и С2 требует большого количества вычислений и сложного анализа, а значит, громоздких схем с большим количеством элементов. Поэтому некоторые фирмы-производители с целью удешевления микросхем, включающих в себя декодеры С1 и С2, при их разработке использовали упрощенные стратегии декодирования. Например, декодер С1 сожет корректировать только одну ошибку вместо двух, а декодер С2 - только стирания, и не корректировать ошибок вовсе. Но это касается, в основном, старых моделей проигрывателей CD, микросхемы для которых проектировались ещё в начале восьмидесятых годов. В последующих разработках использовались все более сложные стратегии, где стирания вырабатываются ещё на этапе декодирования канального кода EFM, когда обнаруживались 14-разрядные символы, не попадающие во множество, которому соответствуют какие-то восьмиразрядные символы, что однозначно указывает на их ошибочность. При этом уже оба декодера - и С1, и С2 - работают со стираниями и могут корректировать до двух ошибочных символов, а также проводят сложный анализ количества и положения как стираний, так и ошибок, обнаруженных самостоятельно.
Разница между упрощенными и суперсложными стратегиями выражается в количестве символов на выходе декодера CIRC, отмеченных указателями стирания (ненадежности). Чем сложнее стратегия, мем меньше будет таких символов и тем меньше будет отсчетов, нуждающихся в маскирующих процедурах. Маскирование хотя и эффективный способ, но все-таки неточный, поэтому лучше его избегать.
Но вернемся к преобразованию потока информации после завершения процедур коррекции ошибок и деперемежения в декодере CIRC. Восьмиразрядные символы вновь объединяются в 16-рязрядные отсчеты, а те, в свою очередь, разделяются на две последовательности - правого и левого стереоканалов. Теперь их можно подавать на ЦАП для преобразования в аналоговую форму. Но те из отсчетов, которые включают в себя символы, отмеченные указателями стрирания, сразу направлять в ЦАП не стоит, так как в звучании фонограммы будут слышны потрескивания и щелчки. Чтобы избежать этого, такие отсчеты заменяются интерполяциями - средним арифметическим от значений соседних неискаженных отсчетов. В большинстве случаев значение интерполяции очень близко к истинному значению искаженного отсчета и на слух незаметно. Только на высоких частотах серии интерполяций могут ощущаться людьми с хорошим слухом как едва уловимые искажения.
|