Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ по Delphi Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog
2.4.7.2 Обнаружение одиночных ошибок
Любая принятая по каналу связи кодовая комбинация h(x), возможно содержащая ошибку, может быть представлена в виде суммы по модулю 2 неискажённой комбинации кода f(x) и вектора ошибки (х):
. (2.4.21)
При делении h(x) на образующий многочлен g(x) остаток, указывающий на наличие ошибки, обнаруживается только в том случае, если многочлен, соответствующий вектору ошибки, не делится на g(x): f(x) – неискажённая комбинация кода, и, следовательно, на g(x) делится без остатка. Вектор ошибки имеет единицу в искажённом разряде и нули во всех остальных разрядах. Ему соответствует многочлен (x)=xi. Этот многочлен не должен делиться на g(x). Многочленом наименьшей степени, удовлетворяющим данному условию, является х+1. остаток от деления любого многочлена на х+1 представляет собой многочлен нулевой степени и может принимать только два значения: 0 или 1. таким образом, при любом числе информационных разрядов необходим только один проверочный разряд. Условием делимости на х+1 будет чётное число единиц в любой разрешённой комбинации. Полученный циклический код с проверкой на чётность способен обнаруживать не только одиночные ошибки в отдельных разрядах, но и ошибки в любом нечётном числе разрядов.