Эффективные коды - Программирование, компьютеры и кибернетика лабораторная работа

Эффективные коды - Программирование, компьютеры и кибернетика лабораторная работа



































Порядок и основные этапы построения двоичных неравномерных эффективных кодов с помощью методики Хаффмена. Сравнительная характеристика полученных кодов. Кодирование текста построенными кодами. Разработка марковских процедур для кодирования слов.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.


1. Построим двоичные неравномерные эффективные коды
Для получения кодов для кодирования по одному символу используем методику Хаффмена:
Для получения кодов для кодирования по два символа используем методику Хаффмена, предварительно рассчитав частоты появления слов, которые состоят из двух символов:
Р(АА) = Р(А)*Р(А) = 0,811*0,811 = 0,6577
Р(АВ) = Р(А)*Р(В) = 0,811*0,040 = 0,0324
Р(АD) = Р(А)*Р(D) = 0,811*0,149 = 0,1208
Р(BА) = Р(B)*Р(А) = 0,040*0,811 = 0,0324
Р(BB) = Р(B)*Р(B) = 0,040*0,040 = 0,0016
Р(BD) = Р(B)*Р(D) = 0,040*0,149 = 0,0060
Р(DА) = Р(D)*Р(А) = 0,149*0,811 = 0,1208
Р(DB) = Р(D)*Р(B) = 0,149*0,040 = 0,0060
Р(DD) = Р(D)*Р(D) = 0,149*0,149 = 0,0222
Для получения кодов для кодирования по три символа используем методику Хаффмена, предварительно рассчитав частоты появления слов, которые состоят из трех символов:
Р(ААА) = Р(А)*Р(А)*Р(А) = 0,811*0,811*0,811 = 0,5334
Р(ААВ) = Р(А)*Р(А)*Р(B) = 0,811*0,811*0,040 = 0,0263
Р(ААD) = Р(А)*Р(А)*Р(D) = 0,811*0,811*0,149 = 0,0980
Р(АBА) = Р(А)*Р(B)*Р(А) = 0,811*0,040*0,811 = 0,0263
Р(АBB) = Р(А)*Р(B)*Р(B) = 0,811*0,040*0,040 = 0,0013
Р(АBD) = Р(А)*Р(B)*Р(D) = 0,811*0,040*0,149 = 0,0048
Р(АDА) = Р(А)*Р(D)*Р(А) = 0,811*0,149*0,811 = 0,0980
Р(АDB) = Р(А)*Р(D)*Р(B) = 0,811*0,149*0,004 = 0,0048
Р(АDD) = Р(А)*Р(D)*Р(D) = 0,811*0,149*0,149 = 0,0180
Р(BАА) = Р(B)*Р(А)*Р(А) = 0,040*0,811*0,811 = 0,0263
Р(BАВ) = Р(B)*Р(А)*Р(B) = 0, 040*0,811*0,040 = 0,0013
Р(BАD) = Р(B)*Р(А)*Р(D) = 0, 040*0,811*0,149 = 0,0048
Р(BBА) = Р(B)*Р(B)*Р(А) = 0, 040*0,040*0,811 = 0,0013
Р(BBB) = Р(B)*Р(B)*Р(B) = 0, 040*0,040*0,040 = 0,0001
Р(BBD) = Р(B)*Р(B)*Р(D) = 0, 040*0,040*0,149 = 0,0002
Р(BDА) = Р(B)*Р(D)*Р(А) = 0, 040*0,149*0,811 = 0,0048
Р(BDB) = Р(B)*Р(D)*Р(B) = 0, 040*0,149*0,004 = 0,0002
Р(BDD) = Р(B)*Р(D)*Р(D) = 0, 040*0,149*0,149 = 0,0009
Р(DАА) = Р(D)*Р(А)*Р(А) = 0,149*0,811*0,811 = 0,0980
Р(DАВ) = Р(D)*Р(А)*Р(B) = 0, 149*0,811*0,040 = 0,0048
Р(DАD) = Р(D)*Р(А)*Р(D) = 0, 149*0,811*0,149 = 0,0180
Р(DBА) = Р(D)*Р(B)*Р(А) = 0, 149*0,040*0,811 = 0,0048
Р(DBB) = Р(D)*Р(B)*Р(B) = 0, 149*0,040*0,040 = 0,0002
Р(DBD) = Р(D)*Р(B)*Р(D) = 0, 149*0,040*0,149 = 0,0009
Р(DDА) = Р(D)*Р(D)*Р(А) = 0, 149*0,149*0,811 = 0,0180
Р(DDB) = Р(D)*Р(D)*Р(B) = 0, 149*0,149*0,004 = 0,0009
Р(DDD) = Р(D)*Р(D)*Р(D) = 0, 149*0,149*0,149 = 0,0033
2. Сравним между собой пост роенные коды и их эффективность
Рассчитаем среднюю длину кодовой комбинации в расчете на один символ источника.
l ср (1) = 0,811*1 + 0,040*2 + 0,149*2 = 1,189
l ср (2) = [0,6577*1 + (0,0324 + 0,0324 + 0,0060 + 0,0222)*5 + (0,0016 + 0,0060)*7 + 0,128*3]/2 = 0,8929
Найдем относительную разницу между средней длиной кодовой комбинации и энтропией источника.
Видим, что наиболее эффективным будет код при кодировании по три символа.
3. Построенными ко дами закодируем фрагмент текста
Длина двоичной последовательности: L = 34.
Длина двоичной последовательности: L = 24.
Длина двоичной последовательности: L = 21.
1. Построим двоичные неравномерные эффективные коды для кодирования слов длиной в два символа, предварительно рассчитав вероятности их появления.
Р(АА) = Р(А)*Р (А/A) = 0,604*0,809 = 0,4886
Р(АВ) = Р(А)*Р (В/A) = 0,604*0,039 = 0,0236
Р(АD) = Р(А)*Р (D/A) = 0,604*0,152 = 0,0918
Р(BА) = Р(B)*Р (А/B) = 0,175*0,375 = 0,0656
Р(BB) = Р(B)*Р (B/B) = 0,175*0,534 = 0,0935
Р(BD) = Р(B)*Р (D/B) = 0,175*0,091 = 0,0159
Р(DА) = Р(D)*Р (А/D) = 0,220*0,226 = 0,0497
Р(DB) = Р(D)*Р (B/D) = 0,220*0,262 = 0,0576
Р(DD) = Р(D)*Р (D/D) = 0,220*0,512 = 0,1126
Неравномерные двоичные эффективные коды построим по методике Хаффмена.
2. Разработаем марковские процедуры для кодирования слов по одному символу:
Разработаем марковские процедуры для кодирования слов по два символа:
двоичный неравномерный код марковский
Р (АА/А) = Р (А/A)*Р (А/A) = 0,809*0,809 = 0,6545
Р (АВ/А) = Р (А/A)*Р (В/A) = 0,809*0,039 = 0,0316
Р (АD/А) = Р (А/A)*Р (D/A) = 0,809*0,152 = 0,1230
Р (BА/А) = Р (B/A)*Р (А/B) = 0,039*0,375 = 0,0146
Р (BB/А) = Р (B/A)*Р (B/B) = 0,039*0,534 = 0,0208
Р (BD/А) = Р (B/A)*Р (D/B) = 0,039*0,091 = 0,0035
Р (DА/А) = Р (D/A)*Р (А/D) = 0,152*0,226 = 0,0343
Р (DB/А) = Р (D/A)*Р (B/D) = 0,152*0,262 = 0,0398
Р (DD/А) = Р (D/A)*Р (D/D) = 0,152*0,512 = 0,0778
Р (АА/B) = Р (А/B)*Р (А/A) = 0,375*0,809 = 0,3034
Р (АВ/B) = Р (А/B)*Р (В/A) = 0,375*0,039 = 0,0146
Р (АD/B) = Р (А/B)*Р (D/A) = 0,375*0,152 = 0,0570
Р (BА/B) = Р (B/B)*Р (А/B) = 0,534*0,375 = 0,2003
Р (BB/B) = Р (B/B)*Р (B/B) = 0,534*0,534 = 0,2852
Р (BD/B) = Р (B/B)*Р (D/B) = 0,534*0,091 = 0,0486
Р (DА/B) = Р (D/B)*Р (А/D) = 0,091*0,226 = 0,0206
Р (DB/B) = Р (D/B)*Р (B/D) = 0,091*0,262 = 0,0238
Р (DD/B) = Р (D/B)*Р (D/D) = 0,091*0,512 = 0,0466
Р (АА/D) = Р (А/D)*Р (А/A) = 0,226*0,809 = 0,1828
Р (АВ/D) = Р (А/D)*Р (В/A) = 0,226*0,039 = 0,0088
Р (АD/D) = Р (А/D)*Р (D/A) = 0,226*0,152 = 0,0344
Р (BА/D) = Р (B/D)*Р (А/B) = 0,262*0,375 = 0,0983
Р (BB/D) = Р (B/D)*Р (B/B) = 0,262*0,534 = 0,1399
Р (BD/D) = Р (B/D)*Р (D/B) = 0,262*0,091 = 0,0238
Р (DА/D) = Р (D/D)*Р (А/D) = 0,512*0,226 = 0,1157
Р (DB/D) = Р (D/D)*Р (B/D) = 0,512*0,262 = 0,1341
Р (DD/D) = Р (D/D)*Р (D/D) = 0,512*0,512 = 0,2621
3. Сравним между собой разработанные коды и оценим их эффективность.
4. Разработанными кодами и процедурами закодируем фрагмент текста:
При кодировании кодами по два символа:
Длина кодовой комбинации: L = 20 Кодирование процедурами будем выполнять в порядке справа налево, считая, что перед появлением первого символа на выходе источника был символ А.
При кодировании процедурами по одному символу:
При кодировании процедурами по два символа:
Коды Боуза-Чоудхури-Хоквингема (БЧХ) – класс циклических кодов, исправляющих многократные ошибки. Отличие методики построения кодов БЧХ от обычных циклических. Конкретные примеры процедуры кодирования, декодирования, обнаружения и исправления ошибок. реферат [158,2 K], добавлен 16.07.2009
Циклические коды как подкласс (подмножество) линейных кодов, пошаговый алгоритм и варианты их кодирования и декодирования. Методика построения интерфейса отладочного модуля. Элементарный план и элементы отладки декодирующего модуля циклических кодов. лабораторная работа [133,8 K], добавлен 06.07.2009
Определение понятий кода, кодирования и декодирования, виды, правила и задачи кодирования. Применение теорем Шеннона в теории связи. Классификация, параметры и построение помехоустойчивых кодов. Методы передачи кодов. Пример построения кода Шеннона. курсовая работа [212,6 K], добавлен 25.02.2009
Разработка алгоритма и программы кодирования и декодирования данных кодом Рида-Малера. Понятие избыточных кодов, их применение. Корелляционный код. Особенности построения простых помехоустойчивых кодов Рида-Маллера. Рассмотрение частных случаев. курсовая работа [31,9 K], добавлен 09.03.2009
История применения кодов. Технология применения кодов в современных условиях. Анализ "экстремальных кодов" - кодов, границы параметров которых достигают равенства. Способность кода корректировать ошибки, ее зависимость от величины кодового расстояния. контрольная работа [164,9 K], добавлен 14.07.2012
Оптимальное статистическое (экономное) кодирование. Основные понятия и определения теории кодирования. Принципы построения оптимальных кодов. Способность системы осуществлять прием информации в условиях наличия помех. Увеличение мощности сигналов. реферат [69,3 K], добавлен 09.07.2009
Помехоустойчивое кодирование, правильность передачи информации. Устранение ошибок в симплексных каналах связи с помощью корректирующих кодов. Способы обнаружения ошибок - контрольное суммирование, проверка на нечетность. Применение циклических кодов. реферат [28,1 K], добавлен 03.08.2009
Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д. PPT, PPTX и PDF-файлы представлены только в архивах. Рекомендуем скачать работу .

© 2000 — 2021



Эффективные коды лабораторная работа. Программирование, компьютеры и кибернетика.
Контрольные Работы По Алгебре 7 Дорофеев
Дипломная Работа На Тему Капитал Корпораций
Реферат Волейбол Основные Техники Игры
Контрольная работа по теме Административно-правовые акты
Сочинение По Стихотворению Державина Признание
Эссе Про Любимый Город
Курсовая работа: Социальные и экономические эффекты от реализации проекта
Сочинение По Картине Последний Звонок
Дипломная работа: Управление качеством продукции на предприятии
Дипломная работа по теме Сравнительная товароведная характеристика и анализ ассортимента кремов для рук, лица и ног
Реферат по теме Заповедники Беларуси
Решение Информатики Контрольная Работа
Итоговая Контрольная Работа Экономика Класс
Реферат: Danger Follows Essay Research Paper Danger FollowsMoving
Дипломная работа по теме Освоение грузопотоков на участке реки Иртыш - Омск
Эссе По Теме Семья Народов Красноярского Края
Реферат: Реклама и ее правовое регулирование в России. Скачать бесплатно и без регистрации
Реферат по теме Шпоры по гражданскому праву
Реферат На Тему Трагическое Контрреформаторство Павла I
Курсовая работа по теме Полиметаллическое месторождения
Обоснование государства в правовых теориях - Государство и право курсовая работа
Гнойный паротит - Медицина презентация
Л. Толстой і герої роману "Анна Кареніна" - Литература презентация


Report Page