ИСПРАВЛЕНИЕ ОДИНОЧНЫХ БИТОВЫХ ОШИБОК В КОДОВЫХ СЛОВАХ, КОДИРОВАННЫХ МЕТОДОМ ОТНОСИТЕЛЬНОЙ ФАЗОВОЙ МАНИПУЛЯЦИИ, С ПОМОЩЬЮ ПРИНЯТОЙ СОВОКУПНОЙ ЦИФРОВОЙ СУММЫ
CORRECTION OF SINGLE BIT ERRORS IN CODE WORDS CODED BY METHOD OF RELATIVE PHASED MANIPULATION, WITH HELP OF ACCEPTED COMBINED DIGITAL SUM

Область техники, к которой относится изобретение
Изобретение относится к способу защиты от ошибок при передаче элемента данных, к системе с обеспечением защиты от ошибок, компьютерной программе со средствами программного кода и к компьютерному программному продукту со средствами программного кода.
Уровень техники
В известном способе для защиты от ошибок при передаче кодированных данных по системе связи по задаваемому правилу кодирования для передаваемых данных выбирают слово данных, причем данные представляют битами, которые могут принимать два различных значения - ”единица” и ”ноль”. При этом предусмотрено формирование по меньшей мере одной текущей цифровой суммы (сокр. RDS от англ. ”running digital sum”) таким образом, чтобы по меньшей мере по передаваемому слову данных создать совокупную разность общего числа единиц и общего числа нолей и передавать эту текущую цифровую сумму, предпочтительно периодически, после определенного числа переданных слов данных. В приемнике текущую цифровую сумму заново вычисляют на основании переданных слов и периодически сравнивают. При возможном появлении несоответствия это позволяет обнаружить ошибку.
Раскрытие изобретения
В основу изобретения была положена задача создания способа и устройства для исправления ошибок, которые позволяли бы обнаруживать и исправлять одиночные битовые ошибки (ошибки в одном разряде).
Для этого предложены способ, система, компьютерная программа и компьютерный программный продукт, охарактеризованные в независимых пунктах формулы изобретения.
Предлагаемый в изобретении способ предназначен для защиты от ошибок при передаче элемента данных по системе связи. На первом этапе для элемента данных по заданному правилу кодирования генерируют по меньшей мере два состоящих из битов слова данных. Сгенерированные таким образом слова данных представляют по меньшей мере один элемент данных последовательностью символов, которая может иметь два четко различимых двоичных значения, например ноли и единицы.
На втором этапе для каждого из этих слов данных вычисляют текущую цифровую сумму. Для вычисления текущей цифровой суммы способ может предусматривать формирование в пределах слова данных первой суммы, взятой по общему числу первых из двух возможных двоичных значений, например по единицам, и второй суммы, взятой по общему числу вторых из двух возможных двоичных значений, например по нолям, и вычисление разности этих обеих сумм. Эта разность позволяет таким образом судить о частоте двух разных двоичных значений в слове данных.
С учетом текущей цифровой суммы сгенерированных для элемента данных слов данных выбирают слово данных. При этом первая текущая цифровая сумма соответствует текущей цифровой сумме, сформированной по выбранному слову данных, или она вычисляется путем сложения текущей цифровой суммы выбранного слова данных с некоторой имеющейся на данный момент текущей цифровой суммой. Слово данных может быть выбрано после того как первая текущая цифровая сумма приняла минимально возможное значение. На третьем этапе выбранное слово данных преобразуют путем модуляции в кодовое слово данных. При этом каждому биту слова данных присваивают двухбитовую последовательность с двумя разными двоичными значениями. Формированное таким образом кодовое слово данных содержит вдвое больше знаков, чем выбранное слово данных. В случае разных двоичных значений кодового слова данных речь также может идти о нолях и единицах. В зависимости от вида модуляции двухбитовая последовательность кодового слова данных имеет обе возможные битовые последовательности ”10” или ”01”.
На четвертом этапе передают кодовое слово данных и первую текущую цифровую сумму, например, периодически. Такая передача происходит между отдельными абонентами, связанными между собой через сеть связи (коммуникационную сеть). При этом первый абонент в качестве передатчика может передавать текущую цифровую сумму и кодовое слово данных по меньшей мере одному второму абоненту, выступающему в качестве приемника.
На следующем этапе осуществления способа принятое по меньшей мере одним вторым абонентом кодовое слово данных проверяют на наличие в нем двухбитовой последовательности с двумя одинаковыми двоичными значениями, например двумя нолями или двумя единицами. Если это так, то при передаче один бит кодового слова данных в двухбитовой последовательности был искажен. Таким образом можно определить двухбитовую последовательность с ошибкой. Эта двухбитовая последовательность может быть исправлена посредством или с помощью первой текущей цифровой суммы.
В одном возможном варианте осуществления изобретения слово данных для элемента данных выбирают среди двух возможных слов данных. Для этого элементу данных по заданному правилу кодирования присваивают первое и второе слова данных, причем оба этих слова данных являются инвертированными по отношению друг к другу. Это значит, что одному биту в некотором месте первого слова данных присваивается первое из двух возможных двоичных значений, а соответствующему биту в том же месте второго слова данных - второе из двух возможных двоичных значений. Выбор первого или второго слова данных может определяться по некоторому специфическому условию, например, что первая текущая цифровая сумма должна иметь минимально возможное значение. При этом первая текущая цифровая сумма может соответствовать непосредственно текущей цифровой сумме выбранного слова данных или сумме этой текущей цифровой суммы выбранного слова данных и некоторой имеющейся на данный момент текущей цифровой суммы. Значение имеющейся на данный момент текущей цифровой суммы зависит, например, от текущей цифровой суммы по меньшей мере одного слова данных, предшествующего выбранному слову данных.
В другом варианте осуществления способа при наличии двухбитовой последовательности с ошибкой каждое принятое кодовое слово данных преобразуют по меньшей мере в два слова данных методом демодуляции, соответствующим используемому методу модуляции. Для каждого из этих созданных таким образом слов данных вычисляют вторую текущую цифровую сумму. Вычисление второй текущей цифровой суммы происходит в соответствии с вычислением первой текущей цифровой суммы. Соответствующая вторая текущая цифровая сумма может соответствовать, например, текущей цифровой сумме соответствующих демодулированных слов данных или следовать из суммы соответствующей текущей цифровой суммы и имеющейся на данный момент текущей цифровой суммы. При сравнении соответствующей второй текущей цифровой суммы с принятой первой текущей цифровой суммы можно исправить ошибку, поскольку вторая текущая цифровая сумма совпадает с первой текущей цифровой суммой только для одного из слов данных. Следовательно, первоначальный элемент данных можно воссоздать однозначным образом.
Если предположить, например, что в кодовом слове данных был искажен только один бит, то в силу используемой модуляции, согласно которой двухбитовой последовательностью является ”01” или ”10”, очевидно, что принятая двухбитовая последовательность должна быть либо ”00”, либо ”11”. С помощью упомянутого правила кодирования и первой текущей цифровой суммы происходит исправление ошибки, и ошибочной двухбитовой последовательности присваивают правильную двухбитовую последовательность ”10” или ”01”.
Соответственно заключить о том, имеет ли двухбитовая последовательность в пределах кодового слова данных одиночную битовую ошибку, можно просто с помощью последовательности двоичных значений, т.е. структуры слова данных. Который из двух отдельных битов в этой двухбитовой последовательности ошибочен, можно установить путем сравнения первой и второй текущей цифровой суммы. Благодаря текущей цифровой сумме известно, как часто первое и второе из двоичных значений присутствует в слове данных.
n
В принципе, элемент данных можно уже кодировать в двоичных значениях, которые в сочетании с правилом кодирования и текущей цифровой суммой позволяют обнаружить ошибку. Это, в частности, актуально в случае, когда число m разных слов данных меньше числа 2 вариантов возможных кодовых слов данных с n битов.
Способ осуществим и для группы элементов данных. При этом возможно создание для каждого элемента данных такой группы двух слов данных. Какое из этих обоих слов данных выбирается для дальнейшей обработки элемента данных, может, в свою очередь, зависеть от значения первой текущей цифровой суммы. Первая текущая цифровая сумма может вычисляться таким образом, чтобы представлять собой сумму всех текущих цифровых сумм всех выбираемых слов данных группы и должна иметь, например, минимально возможное значение. Слово данных для элемента данных выбирают, например, в зависимости от имеющейся на данный момент текущей цифровой суммы между обоими выбираемыми словами данных. В этом случае имеющаяся на данный момент текущая цифровая сумма соответствует промежуточному значению первой текущей цифровой суммы, вычисленной для выбранных к этому моменту в пределах группы слов данных. Таким образом, можно привести текущую цифровую сумму группы слов данных в среднем максимально близко к нулю. Эта мера позволяет реализовать в значительной мере свободный от постоянного тока код.
Предлагаемым способом можно обнаруживать одиночные битовые ошибки. С помощью информации о месте ошибки возможно исправление многозначных до сих пор ошибок, которые не допускают однозначного соответствия ошибки отдельному биту.
В качестве возможного метода модуляции для создания основанного на слове данных кодового слова данных подходит метод относительной фазовой манипуляции (ОФМн). При этом каждый бит слова данных модулируется методом относительной фазовой манипуляции с несущей частотой для передаваемых в пределах сети связи данных. Метод ОФМн предусматривает использование скачков фазы несущей частоты в зависимости от передаваемых данных. При этом каждому слову данных присваиваются два разных значения кода ОФМн. Таким образом, эта двухбитовая последовательность состоит из двоичных значений ”10” или ”01”. Соответствующая последовательность этих обоих возможных отдельных битов зависит от двоичного значения соответствующих модулируемых или присваиваемых битов слова данных.
Для возможной реализации подходящей модуляции слова данных можно рассмотреть два разных метода ОФМн. При модуляции методом ОФМн каждый отдельный бит слова данных можно представить в двух частях разного уровня, представленных, например, нолями и единицами. Таким образом, возможна передача данных или слов данных с постоянным частотным сигналом.
В первом методе ОФМн, называемом также оригинальным методом ОФМн, слово данных модулируется за счет скачка фазы постоянного сигнала несущей частоты в зависимости от передаваемого бита слова данных, причем битовая последовательность создаваемого кодового слова данных не изменяется, если следующий бит слова данных является первым из двух возможных двоичных значений, например нолем, и битовая последовательность инвертируется, если следующий бит слова данных является вторым из двух возможных двоичных значений, например единицей.
Вместо передачи только двух возможных двоичных значений слова данных всегда передается несущая частота, ”10” - последовательность, инвертированная либо неинвертированная. Пока двоичное значение в пределах слова данных является нолем, битовая последовательность остается неизменной по отношению к предыдущей битовой последовательности. Если следующее двоичное значение в пределах слова данных является единицей, то последовательность двоичных значений, например ”10” - последовательность, инвертируется в ”01” - последовательность, и наоборот. Это можно представить правилом генерирования. Это правило включает в себя логическую операцию ”исключающее ИЛИ” (отрицание равнозначности), обозначенную ниже знаком #, над несущей частотой T(t) и запомненным двоичным значением B(t) в момент времени t. Пусть вначале для t=0 запомненным двоичным значением будет B(t)=0. При этом D(t) обозначает двоичное значение битовой последовательности слова данных. M(t) обозначает модулированный сигнал. Запомненное двоичное значение изменяется с каждым изменением двоичных значений в пределах слова данных:
B(t+1)=B(t)#D(t)#D(t+1) и
M(t+1)=B(t+1)#T(t+1) или
M(t)=B(t)#T(t)
Одно свойство модулированного таким образом сигнала или созданного за счет этого кодового слова данных состоит в том, что в присвоенной биту слова данных двухбитовой последовательности в пределах кодового слова данных в середине всегда должна происходить смена, в результате чего возможны только двухбитовые последовательности ”10” или ”01”.
Вместо этого в качестве метода модуляции для преобразования слова данных в кодовое слово данных может быть привлечен второй метод относительной фазовой манипуляции, также называемый модифицированный метод относительной фазовой манипуляции или метод ФМн (метод фазовой манипуляции). Одному из двух возможных двоичных значений слова данных присваивается одна из двух возможных двухбитовых последовательностей кодового слова данных. При этом биту слова данных присваивается первая из двух возможных двухбитовых последовательностей, если модулируемый бит имеет в пределах кодового слова данных первое из двух возможных двоичных значений. Если модулируемый бит слова данных имеет второе из двух возможных двоичных значений, то ему в пределах кодового слова данных присваивается вторая из двух возможных двухбитовых последовательностей.
Это может означать, что двоичному значению ”0” слова данных присваивается двухбитовая последовательность ”10”, а двоичному значению ”1” - двухбитовая последовательность ”01”. Также возможно обратное, инвертированное правило присваивания. Эти действия изображаются также правилом генерирования, при котором результат логической операции ”исключающее ИЛИ” над несущей частотой и соответствующим двоичным значением слова данных:
M(t)=D(t)#T(t)
И в этом случае особенность модулированного сигнала состоит в том, что в середине присвоенной одному биту двухбитовой последовательности всегда должна происходить смена, ”10” или ”01”.
orig
mod
В таблице 1 в первой строке указано время t. D(t) во второй строке обозначает заданное двоичное значение битовой последовательности слова данных. В третьей и четвертой строках указаны соответственно несущая частота T(t) и двоичное значение B(t) в момент t. M(t) в пятой строке указывает значения созданного методом относительной фазовой манипуляции кодового слова данных. M(t) в шестой строке указывает значения созданного модифицированным методом относительной фазовой манипуляции слова данных.
Таблица 1
t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
D(t)
0
1
0
0
1
1
1
0
0
1
1
0
0
0
T(t)
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
B(t)
0
0
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
M(t) orig
0
1
1
0
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
0
0
1
0
1
0
1
0
1
M(t) mod
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
0
1
0
0
1
0
1
0
1
За счет применения обоих возможных методов ОФМн к каждому переданному кодовому слову данных прилагается однозначная структура, вследствие чего каждая двухбитовая последовательность в пределах кодового слова данных состоит из двух разных отдельных двоичных значений. В случае искажения отдельного двоичного значения во время передачи возникает состоящая из двух одинаковых отдельных двоичных значений двухбитовая последовательность "00" или "11". Таким образом можно определить ошибочную двухбитовую последовательность в пределах кодового слова данных.
Предлагаемая в изобретении система рассчитана на защиту от ошибок в передаваемом между по меньшей мере двумя абонентами элементе данных. Система включает в себя по меньшей мере одного первого и по меньшей мере одного второго абонентов.
При этом первый абонент имеет возможность генерирования для элемента данных по задаваемому правилу кодирования слов данных, состоящих по меньшей мере из двух битов. В зависимости от значения текущей цифровой суммы, сформированной по соответствующему слову данных, выбирается одно из двух кодовых слов данных, соответствующее тому же элементу данных.
Далее первый абонент вычисляет первую текущую цифровую сумму. Она может, например, соответствовать текущей цифровой сумме выбранного слова данных или следовать из него за счет сложения текущей цифровой суммы выбранного слова данных с имеющейся на данный момент текущей цифровой суммы. Выбранное слово данных преобразуется первым абонентом в кодовое слово данных, причем каждому биту слова данных присваивается двухбитовая последовательность с двумя разными двоичными значениями. Первый абонент передает по меньшей мере одному второму абоненту кодовое слово данных и первую текущую цифровую сумму.
В одном возможном варианте выполнения системы для вычисления первой текущей цифровой суммы при наличии нескольких слов данных одной группы все текущие цифровые суммы этих нескольких слов данных суммируются в общее значение, дающее первую текущую цифровую сумму. Группа кодовых слов данных, возникающих из слов данных, называется кадром данных. Относящаяся к кадру данных первая текущая цифровая сумма для всех слов данных группы передается внутри системы, предпочтительно периодически, первым абонентом по меньшей мере одному второму абоненту после этого кадра данных.
По меньшей мере один второй абонент проверяет принятое кодовое слово данных на наличие двухбитовой последовательности с двумя одинаковыми двоичными значениями. При наличии такой последовательности двухбитовая последовательность с двумя одинаковыми значениями отдельных битов была передана между двумя абонентами системы с ошибкой.
С учетом первой текущей цифровой суммы можно определить и исправить отдельный бит кодового слова данных с одиночной ошибкой. Если двухбитовая последовательность ошибочна, то она представляется в виде последовательности одинаковых отдельных двоичных значений ”00” или ”11”. Такая ошибочная двухбитовая последовательность может соответствовать первоначальной правильной двухбитовой последовательности ”01” или ”10”. Следовательно, при демодуляции возникают два альтернативных демодулированных слова данных, из которых с помощью их соответствующей текущей цифровой суммы одно можно идентифицировать как слово данных, которое первоначально должно было передаваться.
Предлагаемая в изобретении компьютерная программа со средствами программного кода предназначена для осуществления всех этапов предлагаемого в изобретении способа ее выполнении на компьютере или в соответствующем вычислительном устройстве, в частности в предлагаемой в изобретении системе или в вычислительном блоке внутри нее.
Предлагаемый в изобретении компьютерный программный продукт со средствами программного кода, записанными на машиночитаемом носителе данных, предназначен для осуществления всех этапов предлагаемого в изобретении способа при выполнении компьютерной программы на компьютере или в соответствующем вычислительном устройстве, в частности в предлагаемой в изобретении системе или в вычислительном блоке внутри нее.
Осуществление изобретения
Другие преимущества изобретения и варианты осуществления изобретения рассматриваются ниже в описании со ссылкой на прилагающийся чертеж.
Понятно, что описанные выше и поясняемые ниже признаки могут использоваться не только в указанной комбинации, но и в других комбинациях или по отдельности, не выходя за рамки настоящего изобретения.
Изобретение схематично изображено на чертеже на одном примере его осуществления и подробно описано ниже со ссылкой на чертеж, на котором показан возможный вариант предлагаемой в изобретении системы с учетом отдельных этапов возможного варианта предлагаемого в изобретении способа.
Схематично изображенная на чертеже система 1 включает в себя первого абонента 3 в качестве передатчика и второго абонента 5 в качестве приемника. Между обоими абонентами 3, 5 в качестве информации должен быть передан элемент D данных. В случае элемента D данных речь может идти о числе, букве или любом другом знаке.
Для осуществления способа элемент D данных кодируется, причем ему присваивается слово DW данных, состоящее из битов, т.е. из двух четко различаемых знаков, например единиц и нолей. Это слово данных выбирается в соответствии с задаваемым правилом 7 кодирования из двух возможных слов данных: первого слова данных DWA и инвертированного по отношению к нему второго слова данных DWB. Согласно правилу 7 кодирования проводится однозначное зашифровывание по меньшей мере одного элемента D данных и однозначное расшифровывание в элемент D данных, исходя из одного из возможных слов данных - DWA или DWB.
Дальше происходит вычисление 9, при котором формируется текущая цифровая сумма обоих слов данных DWA, DWB. Каждое из них имеет определенное число z знаков, причем первое из двух возможных двоичных значений, например единица, встречается в пределах слова данных DWA или DWB а раз. В соответствии с этим второе из двух возможных двоичных значений, например ноль, встречается (z-a) раз. Текущая цифровая сумма вычисляется по разности между первой суммой а общего числа первых двоичных значений и второй суммой (z-a) общего числа вторых двоичных значений в пределах слов данных DWA, DWB. В данном случае текущая цифровая сумма составляет (2a-z) или в зависимости от определения имеет отрицательное значение (z-2a).
При выборе 11 слова данных DW из двух возможных слов данных DWA, DWB для элемента D данных можно далее учесть некоторую имеющуюся на данный момент текущую цифровую сумму. Цель этого может состоять в том, чтобы первая текущая цифровая сумма S1 имела как можно меньшее значение и в идеале равнялась нулю. С этой точки зрения для элемента D данных в качестве предусмотренного для дальнейшей обработки собственно слова данных DW выбирается либо первое, либо второе присваиваемое слово данных DWA или DWB.
Далее выбранное слово данных DW путем модуляции 13 преобразуется в кодовое слово данных CDW. При этом каждому биту слова данных DW присваивается двухбитовая последовательность, образованная двумя разными двоичными значениями отдельных битов. В качестве возможных методов 13 модуляции в данном способе могут использоваться разновидности относительной фазовой манипуляции.
Затем от первого абонента 3 ко второму абоненту 5 системы 1 происходит передача 15 кодового слова данных CDW и первой текущей цифровой суммы S1. Эта передача может происходить периодически. Нельзя исключать того, что при передаче 15, возможно, отдельный бит переданного первым абонентом 3 кодового слова данных CDW будет искажен. Поэтому принятое вторым абонентом 5 кодовое слово данных CDW может отличаться от переданного кодового слова данных CDW.
Если двухбитовая последовательность содержит ошибку, она представляется последовательностью одинаковых двоичных значений ”00” или ”11” отдельных битов. Такая ошибочная двухбитовая последовательность может соответствовать первоначальной правильной двухбитовой последовательности ”01” или ”10”. При демодуляции 17 возникают два альтернативных демодулированных слова данных, из которых с помощью их соответствующей текущей цифровой суммы одно можно идентифицировать как первоначально передававшееся слово данных. При этом вычисление соответствующей второй текущей цифровой суммы S2 для двух взаимоисключающих (альтернативных) демодулированных слов данных происходит по аналогии с вычислением первой текущей цифровой суммы S1.
Принятое кодовое слово данных CDW' подвергается проверке 19. При этом проверяют, содержит ли оно двухбитовую последовательность с двумя одинаковыми значениями отдельных битов. Проверка 19 происходит с учетом того обстоятельства, что первоначальное, посланное первым абонентом 3 кодовое слово данных CDW в соответствии с методом 13 модуляции должно иметь два разных отдельных битовых значения. Кроме того, следствием появления ошибки в отдельном бите, как уже сказано, являются два альтернативных демодулированных слова данных с соответственно двумя разными вторыми текущими цифровыми суммами S2. При проверке 19 первую текущую цифровую сумму S1 сравнивают с соответствующими вторыми S2 текущими цифровыми суммами. За счет этого создается дополнительный критерий точной идентификации возникшей отдельной битовой ошибки.
Таким образом, в отношении принятого кодового слова данных CDW′ имеют место два случая. Если в первом случае при проверке 19 окажется, что принятое кодовое слово данных CDW имеет двухбитовую последовательность с двумя разными значениями отдельных битов, то первоначально посланное кодовое слово данных CDW было передано между обоими абонентами 3 и 5 правильно, т.е. принятое кодовое слово данных CDW' соответствует посланному кодовому слову данных CDW. Таким образом, по этому правильному принятому кодовому слову данных CDW' посредством демодуляции 17 можно воссоздать слово данных DW, а из него с учетом правила 7 кодирования - первоначальный элемент D данных.
Если же при проверке 19 окажется, что двухбитовая последовательность принятого кодового слова данных CDW' имеет два одинаковых отдельных битовых значения, то она содержит ошибку, или одиночную битовую ошибку (ошибку в одном двоичном разряде). Это значит, что двухбитовая последовательность принятого кодового слова данных CDW' состоит из двух одинаковых отдельных двоичных значений, например двух нолей или единиц. Однозначное установление ошибочного бита, а значит, и исправление 21 одного из двух отдельных двоичных значений ошибочной двухбитовой последовательности осуществляются с учетом также переданной первой текущей цифровой суммы S1. Она дает информацию о том, как часто оба битовых значения встречаются в первоначальном слове данных DW. С учетом первой текущей цифровой суммы S1 можно поставить в соответствие ошибочной двухбитовой последовательности принятого кодового слова данных CDW' правильное первоначальное двоичное значение слова данных DW.
0
0
Возможную реализацию этого предпочтительного варианта способа можно пояснить на конкретном примере. Согласно задаваемому правилу кодирования определенному элементу D данных присваиваются первое слово данных DWA = ”010010” и инвертированное по отношению к нему второе слово данных DWB = ”101101”. При этом значение последнего бита этих обоих слов данных DWA, DWB указывает на то, было ли выбрано слово данных из набора инвертированных или неинвертированных слов данных. Если, например, имеющаяся на данный момент текущая цифровая сумма была S1=4, а первая текущая цифровая сумма получается как сумма имеющейся на данный момент текущей цифровой суммы и текущей цифровой суммы выбираемого слова данных, то первая текущая цифровая сумма S1 при рассмотрении первого слова данных DWA составляет S1=2, а при рассмотрении второго слова данных DWB-S1=6. Расчет текущей цифровой суммы соответствует в данном случае разности количеств встречающихся единиц и нолей. При сложении этих образующихся таким образом текущих цифровых сумм с имеющейся на данный момент текущей цифровой суммой S1=4 получают соответственно названные значения. Чтобы, например, значение первой текущей цифровой суммы S1 было минимально возможным, в качестве слова данных DW выбирается первое слово данных DWA и модулируется в кодовое слово данных CDW.
В качестве метода 13 модуляции в данном примере пусть предусмотрен второй, так называемый модифицированный метод относительной фазовой манипуляции. Согласно ему в соответствии с правилом генерирования M(t)=D(t)#T(t) отдельному двоичному значению D(t) посредством логической операции ”исключающее ИЛИ” # над ним и несущей частотой T(t) присваивается двухбитовая последовательность M(t) и тем самым модулированный сигнал. Без ограничения общности двоичному значению ”0” слова данных DW присваивается двухбитовая последовательность ”10”, а двоичному значению ”1” слова DW данных - инвертированная двухбитовая последовательность ”01”.
0
Вычисление 9 первой текущей цифровой суммы S1 дало бы в этом случае S1=2, поскольку двоичное значение ”0” в слове данных DW встречается четырежды, а двоичное значение ”1” - дважды, что приводит к текущей цифровой сумме - ”2” и при сложении с названной имеющейся на данный момент текущей цифровой суммой S1=4 дает S1=2.
На основе метода 13 модуляции для слова данных DW получается кодовое слово данных CDW = ”10 01 10 10 01 10”.
В качестве альтернативы модуляция 13 может осуществляться так называемым оригинальным методом относительной фазовой манипуляции. При этом битовая последовательность кодового слова данных CDW не изменяется, если следующий бит слова данных DW имеет значение ”ноль”. С другой стороны, битовая последовательность кодового слова данных CDW инвертируется, если следующий бит слова данных DW имеет значение ”единица”.
Второй абонент 5 принимает после передачи 15 посланного первоначального кодового слова данных CDW соответствующее кодовое слово данных CDW', возможно, искаженное в процессе передачи 15. При проверке 19 это принятое кодовое слово данных CDW' исследуется на наличие в нем двухбитовой последовательности с двумя одинаковыми значениями отдельных битов, т.е. двухбитовой последовательности, состоящей из двух нолей (”00”) или двух единиц (”11”). Если это так, то в ошибочной двухбитовой последовательности принятого кодового слова данных CDW' одиночный ошибочный бит идентифицируется и исправляется за счет проверки правила кодирования и первой текущей цифровой суммы S1.
Предположим в данном примере, что при передаче 15 первый отдельный бит второй двухбитовой последовательности был искажен, вследствие чего второй абонент 5 принял кодовое слово данных CDW' = ”10 11 10 10 01 10”. Благодаря заданной структуре посланного CDW' и принятого CDW' кодовых слов данных легко обнаружить, что вторая двухбитовая последовательность кодового слова данных CDW′ была передана с ошибкой.
Был ли искажен первый отдельный бит этой второй двухбитовой последовательности, в результате чего первоначальная двухбитовая последовательность должна иметь вид ”01”, или был ли искажен второй отдельный бит этой второй двухбитовой последовательности, в результате чего первоначальная двухбитовая последовательность должна иметь вид "10", можно определить с учетом первой текущей цифровой суммы S1.
1
2
1
1
0
2
2
0
2
Ошибочное кодовое слово данных CDW = ”10 11 10 10 01 10” может быть получено из последовательности CDW' = ”10 10 10 10 01 10” или CDW'= ”10 01 10 10 01 10”. При демодуляции кодового слова CDW' получается слово CDW'=”0 0 0 0 1 0” с текущей цифровой суммой ”-4”, что при сложении с имеющейся на данный момент текущей цифровой суммой S1=4 дает вторую текущую цифровую сумму S2=0. При демодуляции CDW' получается DW' = "0 1 0 0 1 0" с текущей цифровой суммой ”-2”, что при сложении с имеющейся на данный момент текущей цифровой суммой S1=4 дает вторую текущую цифровую сумму S2=2. При сравнении полученной второй текущей цифровой суммы S2 с переданной первой текущей цифровой суммой S1 получается однозначный вывод о том, что первоначально передававшемуся слову данных DW соответствует слово данных DW', и соответственно произошедшую ошибку удалось определить (идентифицировать) и исправить.