108 разряд не переносится единица из другого регистра в противном случае r4~yi Фу4, где у? значение сигнала переноса из другого регистра, например в старший разряд регистра дополнительного из младшего разряда регистра сумматора при выполнении операции умножения) Гз=у4©уз; Г2=УзФу2; ГшУгФуь Для рассматриваемого примера получим кодовый набор: 0100. В этом случае матрица поправок при сдвиге вправо имеет вид: 01 1 00 0. При кодировании данной матрицы предлагаемым методом получим значение поправки: 01100011. Сложение по mod2 исходного значения контрольных разрядов с значением поправки даст правильное значение контрольных разрядов при сдвиге информационных разрядов вправо: 00001111 Ф01100011 01101100. При сдвиге информационных разрядов влево разряды матрицы поправок формируются следующим образом: г4=у4Фу3; г3=у3Фу2; г2=у2©Уь гщОФу] Для рассматриваемого примера получим значения разрядов матрицы поправок при сдвиге влево: 1001, соответственно матрица поправок при сдвиге вправо имеет вид: 10 1 01 1. Правые и левые диагональные проверки данной матрицы дадут результат: 10010011. При сложении по mod2 исходного набора контрольных разрядов и значения поправки получим результат: |
99 правые и левые диагональные проверки данной матрицы дадут результата: 00111001, что позволяет сформулировать свойство 10. Свойство 3.9. Результат сложения по mod 2 контрольных разрядов слагаемых соответствует результату сложения по mod 2 информационных разрядов рассматриваемых слагаемых. Данное свойство позволяет контролировать операцию сложения по mod2 и при этом обнаруживать и исправлять, возникающие ошибки по правилам предлагаемого метода кодирования. 3.3.2 Разработка способа коррекции ошибок при выполнении операции сдвига Рассмотрим основные положения способа контроля операции сдвига на примере кодового набора: 0111 0000 1111. Пусть требуется провести операцию сдвига вправо на один разряд, в результате получим кодовый набор: ООП. Информационная матрица полученного результата имеет вид: 00 0 11 0 Правые и левые диагональные проверки данной матрицы дадут результата: 01101100, который отличается от исходного набора контрольных разрядов 00001111. В связи с этим возникает необходимость формирования поправки к исходному кодовому набору, позволяющей получить набор контрольных разрядов соответствующий значению информационных разрядов, полученных при сдвиге вправо. С этой целью построим матрицу поправок при сдвиге вправо, разряды которой формируются следующим образом: г4=0©у4; (0 если в старший разряд не переносится единица из другого регистра в противном случае r4=yi‘ Фу4, где у/ значение сигнала переноса из другого регистра, например в старший разряд регистра дополнительного из младшего разряда регистра сумматора при выполнении операции умножения) Гз=у4Фу3; г2=узФу2; ri=y2©yi 100 Для рассматриваемого примера получим кодовый набор: 0100. В этом случае матрица поправок при сдвиге вправо имеет вид: 01 1 00 0. При кодировании данной матрицы предлагаемым методом получим значение поправки: 01100011. Сложение по mod2 исходного значения контрольных разрядов с значением поправки даст правильное значение контрольных разрядов при сдвиге информационных разрядов вправо: 00001111 Ф01100011 01101100. При сдвиге информационных разрядов влево разряды матрицы поправок формируются следующим образом: Г4=у4@уз; Гз=узФу2; г2=у2©Уь ir=0®yi Для рассматриваемого примера получим значения разрядов матрицы поправок при сдвиге влево: 1001, соответственно матрица поправок при сдвиге вправо имеет вид: 10 1 ' 01 1. Правые и левые диагональные проверки данной матрицы дадут результат: 10010011. При сложении по mod2 исходного набора контрольных разрядов и значения поправки получим результат: 00001111 Ф10010011 10011100, который соответствует значению информационных разрядов сдвинутых влево. Действительно при сдвиге информационных разрядов рассматриваемого примера имеем: 1110. |