Шеннон Фано Программа Кодер Исходник

Шеннон Фано Программа Кодер Исходник

Шеннон Фано Программа Кодер Исходник Rating: 9,7/10 6863votes

Пишу программу Алгоритм сжатия Шеннона Фано на Delphi. Программа для сжатия исполняемых файлов для Windows, имеет внутренний архиватор, который по. Исходный код включен в динамическую библиотеку. Алгоритм Шеннона Фано Сжатие данных 23 января 2011. Исходники на Pascal, прилагаемые к методичке. Алгоритмы ШеннонаФано, Хаффмана реализация Delphi. Posted by admin under Исходники, Файлы. Данная программа как раз занимается оценкой контента. В этой программе используется подсчт повторений букв. Матричный метод кодирования. Рис. Описание декодирования и исправления ошибки по Хэммингу. Переданная по информационному каналу в приемник битовая последовательность делится на куски по n  2r  1 бит получаются блоки кода. Пример приведен на рис. Причем здесь контрольные разряды участвуют в вычислении суммы. Если получено, что все биты ci равны нулю, то значит ошибок нет и коррекция не нужна, см. Если хотя бы один бит ci не равен нулю см. Значение ci преобразуют из битового представления в десятичное число i и бит блока кода с номером i ошибочный бит передан с ошибкой. Для исправления значение бита инвертируют заменяют ноль на единицу, а единицу на ноль. Шеннон Фано Программа Кодер Исходник' title='Шеннон Фано Программа Кодер Исходник' />В результате получаем правильное значение блока кода. В заключение, контрольные разряды удаляются из блока и получается блок исходного кода. Эту операцию проверка коррекция проводят с каждым блоком кода. Вычисление контрольных разрядов. Данная программа как раз занимается оценкой контента. Алгоритмы ШеннонаФано, Хаффмана реализация Delphi исходники,. Рис. Невозможность коррекции двойных ошибок и любых ошибок большей кратности. Две и более ошибки в блоке кода Хэмминга невозможно исправить, хуже того невозможно отличить ошибку в одном бите и ошибку в двух и более битах. Невозможность исправления двойной ошибки следует и простого факта процедура коррекции см. Пример двойной ошибки приведен на рис. Невозможность отличить ошибку в одном блоке от ошибки в двух и более блоках следует из факта процедура коррекции см. Основные недостатки кода Хэмминга. Главным недостатком кода Хэмминга является не кратность размера исходного блока кода и блока кода степени двойки. Это обстоятельство затрудняет обработку кодов Хэмминга на компьютерах, которые оперируют порциями данных кратными степени двойки 8, 1. Как видно, сумма строк вспомогательной матрицы дает номер бита с ошибкой. Рис. 2. 6. Проверка на ошибки и невозможность коррекции ошибок кратности два и выше. Рис. Демонстрационная программа. Состав демонстрационной программы. Для лучшего понимания процесса кодирования разработана демонстрационная программа далее просто программа. Программа реализована в пакете Math. CAD 2. 00. 1i и может работать на любой более новой версии пакета Math. CAD. Программа состоит из двух файлов  Вспомогательные функции. Функции этой части программы здесь не описываются, ознакомится с ними и их описанием можно прямо в указанном файле. В этом же файле приведен пошаговый пример генерации кода Хэмминга из произвольной текстовой строки, пример исправления одиночных ошибок и пример невозможности исправить двойные ошибки или ошибки большей кратности. Программа реализована для целей обучения поэтому эффективность скорость кодирования принесена в жертву максимальной простоте и наглядности процесса. Описание основных функций демонстрационной программы. Программа состоит из следующих функций. Примеры работы каждой из функций доступны в файле Кодирование Хэмминга. Это встроенная функция и ее описание доступно в справке пакета Math. CAD. Bin. Vecv, l перевод вектора v, состояшего из неотрицательных целых чисел, в двоичный вектор. Каждое число преобразовывается в вектор двоичного кода длиной l. Все вектора последовательно записываются в результирующий вектор. Определение функции. Определение достаточно простое и не требует разъяснений, функция Int. Bitsx, n определена во Вспомогательные функции. Значения исходного вектора записываются в результирующий массив по колонкам, количество результирующих колонок определяется размером вектора v. При необходимости последняя колонка дополняется нулями. Определение функции. Vec. 2Vecsv, m преобразование двоичного вектора v в вектор из векторов с числом элементов m. При необходимости последний вектор дополняется нулями. Определение функции. Matrix. 2VecM преобразование матрицы M в вектор значений. Значения записываются по столбцам. Определение функции. Initial. Codesstr, r переводит символы строки str в ASCI коды и преобразует их к двоичному представлению 8 бит на символ, полученный массив разделяет на блоки по m в соответствии со значением r. Возвращает матрицу из m строк, каждый из столбцов которой заполнен блоком из m бит, последний столбец может быть неполным дополняется нулями. Определение функцииerr. Check. Blockb, n, msg вспомогательная функция контроля размера блока кода. Молдова Инструкция По Расчету Средней Зарплаты. Проверяет, что матрица b состоит из n строк, если это не так, то возвращается ошибка. Также проверяется, что блок содержит только нули и единицы. Определение функции. Expand. Blockb, r преобразует матрицу b из m строк в матрицу из Nbitr строк, вставляя в нее r строк контрольных разрядов на позициях 2i, где i  0 . Определение функции. Build. Mr построение матрицы M для вычисления контрольных разрядов кода Хэмминга с числом контрольных разрядов r. Определение функции. Add. Control. Codesb, r заполнение контрольных битов кода Хэмминга в матрице b, число контрольных битов r. Определение функции. Codes. 2Strcodes перевод матрицы кодов Хэмминга codes в строку символов. Определение функции. Str. 2Haming. Codesstr, r преобразование cтроки символов str в матрицу кодов Хэмминга с числом контрольных битов r. Определение функции. Detect. Errorsb, r обнаружение и корректировка ошибок в коде Хэмминга bk с числом контрольных разрядов r. Определение функции. Ham. Block. 2Blockb, r из массива кодов Хэмминга b выделяет исходный код удаляет контрольные биты, r штук и возвращает матрицу с исходными кодами. Определение функции. Str. Encode. Hamstr, r кодирует символы строки str кодом Хэмминга с параметром r в ASCI коды и преобразует их к двоичному представлению 8 бит на символ, полученный массив разделяет на блоки по m в соответствии со значением r. Возвращает матрицу из m строк, каждый из столбцов которой заполнен блоком из m бит кодом Хэмминга. Последний столбец может быть неполным дополняется нулями. Определение функции. Str. Encode. Ham. Strstr, r кодирует символы строки str кодом Хэмминга с параметром r в ASCI коды и преобразует их к двоичному представлению 8 бит на символ, полученный массив разделяет на блоки по m в соответствии со значением r, преобразует полученный код в строку символов. Возвращает строку символов. Длина строки больше, чем исходная строка из за дополнительных разрядов. Определение функции. Описание функций построения матрицы для матричного кодирования Хэминга. Кодирование Хэмминга может быть представлено матричной операцией b  E. Эти функции позволяют кодировать по Хэммингу с большей скоростью, чем описанные в пункте 2. Старшие разряды первые. Определение функцииha. Get. Control. ColsM вычисляет столбцы контрольных разрядов для матричного кодирования Хэмминга, используя матрицу M. Определение функцииha. Make. Er возвращает кодирующую матрицу размером m. Определение функцииha. Encodeb, r кодирует блоки колонки матрицы b кодом Хэмминга с параметром r и возвращает закодированное в виде матрицы, где коды расположены в столбцах. Использует матричное кодирование можно сравнить с Expand. Blockb, r, Build. Mr, Add. Control. Codesb, r. Определение функцииha. Str. Encodestr, r кодирует строку str кодом Хэмминга с параметром r и возвращает закодированное в виде матрицы, где коды расположены в столбцах. Использует матричное кодирование. Методические указания к лабораторной работе помехозащищенное кодирование. Выполнение такого варианта позволяет гордо говорить Я делал лабораторную работу. Одно из стандартных заданий выполняется в обязательном порядке, независимо от выполненияневыполнения заданий повышенной сложности. Варианты 1. n. Выполнение заданий повышенной сложности. Переписывать методичку и Интернет не надо. Другие варианты программ не принимаются к рассмотрению, кроме случаев, оговоренных в заданиях повышенной сложности. Вариант 0. 1. Используя методичку и программу изучить логику и пошаговое действие алгоритма Хэмминга. Создать, используя процедуры демонстрационной программы, две функции 1  кодирование произвольной строки символов кодом Хэмминга в строку символов. Хэмминга в исходную строку символов. Реализовать эти функции для обеих вариантов кодирования обычный и матричный.

Шеннон Фано Программа Кодер Исходник
© 2017