Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Обеспечение достоверности передачи данных с помощью циклических кодов



Циклические коды являются разновидностью систематических n- разрядных кодов с r информационными разрядами.

Такие коды обладают следующим свойством: если кодовая комбинация принадлежит к циклическому коду, то другая комбинация, полученная из первой циклическим сдвигом на один или несколько шагов вправо (влево), также принадлежит

этому коду. Например, кодовая комбинация 11001001 (а7,…, а0) при сдвиге на один шаг влево позволяет получить кодовую

комбинацию 10010011. также принадлежащую этому коду.

Это свойство наглядно представляется, если разместить исходную комбинацию кода на ободе колеса, как показано на рис. в положение 0.

Из этого рисунка видно, что количество «спиц» в таком колесе, равное числу сдвигов комбинации на один разряд, соответствует числу разрядов в двоичной комбинации. Электронный вариант такого колеса позволяет создавать многофункциональные кодирующие устройства [11].

Математический аппарат, позволяющий сформировать циклические коды, основан на алгебраических операциях со степенными слагаемыми.

При описании циклических кодов двоичные комбинации удобно представлять в виде полиномов F(x) степени n-1 от некоторой фиктивной переменной х [4, 5, 7]. Ее степени i, i=0,...., n-1, соответствуют разряду в комбинации:

где аi - разряды кодовой комбинации (коэффициенты), принимающие значения 0 или 1. являются элементами рассматриваемой кодовой комбинации. Рассмотренной выше кодовой комбинации 11001001 соответствует полином:

Для формирования проверочных битов к разрядной информационной последовательности прибавляется справа гонтовая проверочная комбинация. Для её вычисления выбирается так называемый образующий полином, который обозначается Р(х). Он должен быть неприводимым.

43. Основные факторы, определяющие надёжность работы программных средств. Методы обеспечения их надёжности на этапах проектирования и в процессе эксплуатации.

Одним из эффективных способов повышения надежности является системный принцип проектирования ПС и развитый на его основе метод структурного проектирования программ [3]. Согласно этого принципа программное обеспечение проектируется по модульно - иерархической структуре, в которой выделяются мало зависимые функциональные части, которые легко читать в отдельности. Программный модуль - набор нескольких операторов, имеющий собственное имя и набор данных. С помощью имени модуль вызывается другими модулями программы. При такой структуре ПС разработка модулей может проводиться независимо, и ошибки в модулях могут быть легче обнаружены и исправлены без последствия на другие модули.

Основные рекомендации по обеспечению надежности модульных ПС следующие [18]:

1) Проектирование структуры ПС, структуры данных к которым обращается ПС и процедур контроля работы ПС должно быть закончено до начала кодирования и отладки. Вводить дополнительные средства контроля в написанную программу сложнее, чем предусмотреть их на этапе проектирования структуры. В спроектированной структуре ПС должны быть определены иерархические уровни, все модули на каждом уровне и их функций, а также возможные способы передачи управления информации между модулями. При проектировании структуры ПС методом сверху - вниз [3] процесс разработки начинается с самых верхних уровней управления, завершаясь программами низких уровней.

2) Поскольку программы предназначены и для ЭВМ. и для человека, то они должны быть тщательно документированы. Разработчик должен составить описание всех компонент структуры и сформировать требования для контроля входной и внутренней информации. Необходимо, чтобы каждая программа имела свое описание. Схема алгоритма и текст программы должны быть снабжены достаточным количеством комментариев. В идеале текст программы должен быть понимаем только при обращениям к комментариям, а не к её описаниям.

3) Для реализации стандартных функций применять библиотечные процедуры. Надежность библиотечных процедур намного выше, чем новых процедур, которые будут составлять большинство разработчиков - программистов. Сроки проектирования и затраты также сокращаются.

4) При отсутствии требуемых стандартных процедур каждая функция обработки данных или их поиска должна реализовываться наиболее простым способом. При анализе возможных путей решения задачи следует ориентироваться на выбор наиболее линейного пути без возврата к предыдущим процедурам. Высокое качество написанной программы определяет и минимум ошибок.

5) Наиболее ответственной с точки зрения надежности является отладка ПС - процесс выявления программных ошибок. Дтя оценки фактического уровня надежности ПС перед их внедрением должен быть проведен специальный контроль в виде - приемных или других видов испытаний. По результатам испытаний с помощью статистических и вероятностных моделей надежности ПС вычисляют возможное количество ошибок в программном изделии.





Дата публикования: 2015-01-26; Прочитано: 369 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...