Cтраница 2
Кодовый блок специфицируется как список выражений с заданным, возможно пустым, набором параметров. Вместе с тем кодовые блоки могут храниться и как литерные строки в файлах базы данных. При необходимости использования такой кодовый блок может быть скомпилирован с помощью оператора макроподстановки и присвоен какой-либо переменной с тем, чтобы далее многократно его использовать. [16]
Кодовые блоки в языке трактуются как значения. В языке предусмотрены функции, позволяющие выполнить кодовый блок с заданным набором значений фактических параметров, для каждого элемента заданного массива или для каждой записи некоторого файла базы данных. [17]
Как правило, параметры устройства чередования, используемого совместно с кодом с коррекцией одиночных ошибок, выбираются таким образом, чтобы число столбцов N превышало ожидаемую длину пакета. Выбираемое число строк зависит от того, какая схема кодирования будет использована. Для блочных кодов М должно быть больше длины кодового блока; для сверточных кодов М должно превышать длину кодового ограничения. Поэтому пакет длиной N может вызвать в блоке кода ( самое большее) одиночную ошибку; аналогично в случае сверточных кодов в пределах одной длины кодового ограничения будет не более одной ошибки. [18]
Если на передающей стороне подлежащая передаче информация разделяется на блоки, а затем каждый блок заменяется другим, превосходящим его по объему и отличающимся от остальных блоков, подготовленных для подобных же замен, значениями не менее чем 2t 1 своих элементов, то говорят, что происходит блоковое помехоустойчивое кодирование, а полученные в результате такого процесса блоки называют кодовыми. Каждый из кодовых блоков как бы окружен защитной оболочкой, состоящей из бессмысленных наборов элементов. Эти наборы образуются в результате искажения значений от 1 до t его элементов. Из приведенного выше свойства кодовых блоков следует, что ни одна пара таких оболочек не пересекается. [19]
Если процедура еще не достигла основного условия, осуществляется мнимая рекурсия. Для этого процедура сохраняет значения любых локальных переменных, которые потребуются после завершения мнимой рекурсии. Она также сохраняет значение рс для участка кода, который она должна выполнить после окончания мнимой рекурсии. В данном примере следующим выполняется кодовый блок 2, поэтому программа сохраняет 2 как следующее значение рс. [20]
Читатель должен заметить много аналогий между полученными здесь результатами для кодирования источника и теорией кодирования для канала с шумами, однако может быть полезно обратить здесь внимание на некоторые отличия. Теорема кодирования для канала с шумами связывает достижимую вероятность ошибочного декодирования Ре с длиной кодового блока и скоростью кода R. Было найдено, что для фиксированного R, меньшего чем пропускная способность канала, Ре убывает экспоненциально с увеличением длины блока. При кодировании источника эквивалентными параметрами, представляющими интерес, являются среднее искажение на букву d, длина кодового блока L и скорость кода R. Таким образом, при кодировании источника следует затратить весьма много усилий ( в смысле увеличения длины блока) для того, чтобы достичь весьма незначительного уменьшения d, в то же время для каналов с шумами весьма умеренное возрастание длины блока может привести к сильному убыванию вероятности ошибки. [21]