Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тик №3.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
401 Кб
Скачать
☆

2.4. Для построенных в п.П. 1 и 2 кодов вычислить коэффициенты относительной эффективности и статистического сжатия. Проанализировать результаты.

Эффективность ОНК оценивают при помощи коэффициента статистического сжатия

Kc.c =Hmax / lcp =log2 N/log2 m* pi li , (1)

Коэффициент относительной эффективности определяют по формуле (2):

Koэ =H/lcp = (- pi log2 pi )/( log2 m* pi li ) , (2)

Рассчитаем эти коэффициенты для двух кодов:

1) для оптимального неравномерного двоичного кода, построенного методом Шеннона-Фано, рассчитаем коэффициент статистического сжатия, используя формулы (1)и (2), так как код двоичный.

Kc.c =Hmax / lcp =log2 N/( pi li );

Кc.c=log212/(2*(0.2*2+0.1*2+0.17*2+0.14*2+0.09*2+0.08*3+0.06*3+0.05*3+0.04*2+0.03*3+0.03*3+0.01*3) = log212/ (2*(0.4+ 0.2+0.34+0.28+0.18+0.24+0.18+0.15+0.08+0.09+0.09+0.03) = log212/(2* 2.26) = 3.585/4.52 = 0.793.

Для построенного оптимального неравномерного кода методом Хаффмана рассчитаем коэффициент статистического сжатия, используя формулу (1).

Кc.c=log212/(log23(0.2*2+0.1*2+0.17*2+0.14*2+0.09*2+0.08*3+0.06*3+0.05*3+0.04*2+0.03*3+0.03*3+0.01*3) = log212/(log23(0.4+ 0.2+0.34+0.28+0.18+0.24+0.18+0.15+0.08+0.09+0.09+0.03)= log2 12/ 1.585 * 2.26 = 3.585/ 3.5821 = 1.000.

2) Рассчитаем коэффициент относительной эффективности по формуле (3) для оптимального неравномерного двоичного кода, построенного по методу Шеннона-Фано.

Koэ = H/lcp = (- pi log2 pi )/( pi li );

Koэ = - (0,2log20,2 + 0,1log20,1 + 0,17log20,17 + 0,14log20,14 + 0,09log20,09 + 0,08log20,08 + 0,06log20,06 + 0,05log20,05 + 0,04log20,04 + 0,03log20,03 + 0,03log20,03 + 0,01log20,01) / (0.4+ 0.2+0.34+0.28+0.18+0.24+0.18+0.15+0.08+0.09+0.09+0.03) =

= -(0.2(-2.3219)+0.1(-3.3219)+ 0.17(-2.5564)+0.14(-2.8365)+ 0.09(-3.4739)+0.08(-3.6439)+0.06(-4.0589)+ 0.05(-4.3219)+0.04(-4.6439)+0.03(-5.0589)+0.03(-5.0589)+0.01(-6.6439) =

= 0.4644+0.3322+0.4346+0.3971+0.3127+0.2915+0.2435+0.2161+0.1858+0.1518+0.1518+0.0664 =3.2479/ 2.26 = 1.437.

Для построенного оптимального неравномерного кода методом Хаффмана рассчитаем коэффициент относительной эффективности по формуле (3).

Koэ =H/lcp =(- pi log2 pi )/( log2 m* pi li );

Koэ= - (0,2log20,2 + 0,1log20,1 + 0,17log20,17 + 0,14log20,14 + 0,09log20,09 + 0,08log20,08 + 0,06log20,06 + 0,05log20,05 + 0,04log20,04 + 0,03log20,03 + 0,03log20,03 + 0,01log20,01) / log23(0.2*2+0.1*2+0.17*2+0.14*2+0.09*2+0.08*3+0.06*3+0.05*3+0.04*2+0.03*3+0.03*3+0.01*3) = 3.2479/ 1.585* 2.26 = 3.2479/ 3.5821 = 0.907.

Вывод: в данной контрольной работе были построены два оптимальных неравномерных кода по методу Шеннона-Фано и Хаффмена – это две универсальные методики построения ОНК. Неоднозначность методики Шеннона-Фано тем заметнее, чем выше основание кода m2 и чем меньше m1, но в данной задаче неоднозначности не наблюдается, так как m2 =2 и m1=12.

К недостатку методик построения ОНК методом Хаффмена следует отнести громоздкость построения с ростом m1, поэтому надо использовать метод. Шеннона-Фано. Преимущество метода Хаффмена сказывается с ростом основания кода m2. Более короткая длина кодовых слов во вторичном алфавите получается за счет оптимального выбора количества вершин на самом низком уровне кодового дерева. Несоблюдение этих условий приводит к кодам с большой средней длиной кодовых слов. Из расчета коэффициентов статистического сжатия для метода Шеннона-Фано видно, что энтропия кодируемого первичного алфавита H=log2 N=3.2479 бит/символ близка к среднему числу двоичных знаков на букву кода L= pi li =3, где li длина i-й кодовой комбинации; pi –вероятность появления i-го символа комбинации длиной в li.

Если H=L, то код является оптимальным для данного ансамбля. Коэффициент статистического сжатия Кc.c =0.793 – характеризует уменьшение количества двоичных знаков на символ сообщения при применении ОНК по сравнению с применением методов нестатистического кодирования.

Для ОНК, построенного методом Хаффмена можно сделать такие же выводы:

H=log2 N=3.2479 бит/символ и L = pi li =3,, Кc.c = 1.000 – код более оптимальный.

Для ОНК по методу Шеннона-Фано Koэ =1.437 –показывает насколько используется статистическая избыточность передаваемого сообщения, код обладает высокой эффективностью.

Для ОНК по методу Хаффмена Koэ =0.907– более эффективный, чем первый метод.

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