Добавил:
linker.pp.ua Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Листопад - Теоретические основы цифровой радиосвязи, (2012).pdf
Скачиваний:
90
Добавлен:
15.12.2018
Размер:
10.45 Mб
Скачать

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

Решение этой проблемы предполагает передачу кодовой таблицы до передачи основного информационного потока. Поэтому кодирование Хаффмана неэффективно для малых объѐмов передаваемой информации.

В случае, если имеется несколько предопределѐнных кодовых структур, то имеется возможность передавать лишь идентификатор структуры. Разумеется, на приѐмной стороне предопределѐнные структуры кода должны

быть известны.

 

 

 

Р

 

 

 

 

2. Существенно неравномерный вес символов в различных кодовых

словах.

 

 

И

 

 

 

3. В случае, если кодовое слово имеет больший размер, чем может хра-

нить стандартная ячейка памяти, возникает переполнение кодового слова.

5.4. Алгоритм Лемпеля−Зива−Велча (LZW)

У

 

 

Г

 

 

 

Б

 

 

 

Алгоритм Лемпеля − Зива − Велча (Lempel-Ziv-Welch, LZW) − это

универсальный алгоритм сжатия данных без потерь, опубликованный Велчем

в 1984 г. Алгоритм разработан так, чтобы его можно было быстро реализовать, но он не обязательно оптимален, поскольку при его реализации не проводится предварительный анализ входных д нных, т. е. априорные сведения

о кодируемой информации отсутствуютк. а Данный алгоритм при сжатии ( одировании) динамически создаѐт таб-

(словам) ставятся в соответствиеегруппы бит фиксированной длины (обычно 12-битные). Таблица инициализируе ся всеми 1-символьными строками (в

лицу преобразования строк. Опр д лѐнным последовательностям символов

ритм просматривает собщениетсимвол за символом, и сохраняет каждую новую, уникальную 2-с мв льную строку в таблицу в виде пары код/символ, где код ссы ается на соответствующий первый символ. После того как новая

случае 8-битных симв л в − э о 256 записей). По мере кодирования алго-

2-символьнаялстрокаисохранена в таблице, на выход передаѐтся код первого символа. Когда на входе читается очередной символ, для него по таблице находится уже встречавшаяся строка максимальной длины, после чего в таб-

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

текстБ, поскольку он может воссоздать соответствующую таблицу преобразования непосредственно по закодированному тексту.

Алгоритму декодирования на входе требуется только закодированный

Процедура LZW-кодирования подразумевает следующие операции.

1.Инициализация словаря всеми возможными односимвольными фразами. Инициализация входной фразы w первым символом сообщения.

2.Считать очередной символ k из кодируемого сообщения.

3.Если «конец сообщения», то выдать код для w .

77

4. Если фраза wk уже есть в словаре, присвоить входной фразе значение wk и перейти к шагу 2; иначе выдать код w , добавить wk в словарь, присвоить входной фразе значение k и перейти к шагу 2.

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

терах методом сжатия данных.

 

 

 

 

 

 

 

 

 

 

Пример

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Необходимо закодировать следующую фразу, представленную латини-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р

цей, заглавными буквами и без пробелов: «KARLUKLARY-

UKRALKORALLYAKLARAUKARLAUKRALAKLARNET#».

Символ ре-

шѐтки «#» означает конец сообщения.

 

 

 

 

И

 

 

 

 

 

 

 

 

Определим, что разрядность начального кода составляет 5 бит.

 

Этап 1. Задание основного словаря.

 

Г

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 5.1

 

 

 

 

 

 

 

 

 

 

 

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Начальный словарь LZW-кодераУ

 

 

 

 

Порядковый

Код сим-

 

а

Порядковый

 

Код симво-

 

 

 

 

 

 

 

 

 

 

 

Символ

 

номер сим-

 

Символ

номер сим-

 

 

 

вола

 

 

 

ла

 

 

 

вола

 

 

к

 

 

вола

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

е

 

 

 

 

 

 

 

#

 

 

 

0

 

00000

 

 

N

 

 

14

 

 

01110

A

 

 

 

1

 

00001

 

 

O

 

 

15

 

 

01111

B

 

 

 

2

 

00010

 

 

P

 

 

16

 

 

10000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

о

 

 

 

 

 

 

 

 

 

 

C

 

 

 

3

 

00011

 

 

Q

 

 

17

 

 

10001

 

 

 

 

и

т00100

 

 

 

 

 

 

 

 

 

D

 

 

 

4

 

 

 

R

 

 

18

 

 

10010

 

 

 

л

 

 

 

 

 

 

 

 

 

 

 

 

E

 

 

 

5

 

00101

 

 

S

 

 

19

 

 

10011

F

 

б

6

 

00110

 

 

T

 

 

20

 

 

10100

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

G

 

 

 

7

 

00111

 

 

U

 

 

21

 

 

10101

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

H

 

 

 

8

 

01000

 

 

V

 

 

22

 

 

10110

I

 

 

 

9

 

01001

 

 

W

 

 

23

 

 

10111

J

 

 

 

10

 

01010

 

 

X

 

 

24

 

 

11000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

K

 

 

 

11

 

01011

 

 

Y

 

 

25

 

 

11001

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L

 

 

 

12

 

01100

 

 

Z

 

 

26

 

 

11010

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M

 

 

 

13

 

01101

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

78

При кодировании согласно табл. 5.5.1 сообщение длиной 48 символов займѐт объѐм, равный 240 бит или 30 байт.

Этап 2. Кодирование сообщения и динамический синтез дополнительного словаря.

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 5.2

 

 

 

Дополнительный словарь LZW-кодера

 

 

 

 

 

 

 

 

 

 

 

 

 

Группа символов

 

Порядковый

 

 

Код группы символов

 

номер группы

 

 

 

 

 

 

 

 

 

 

 

 

KA

 

 

 

 

27

 

 

 

 

11011

 

Р

 

 

 

 

 

 

 

 

 

 

AR

 

 

 

 

28

 

 

 

 

11100

 

 

RL

 

 

 

 

29

 

 

 

 

11101

И

 

 

 

 

 

 

 

 

 

 

LU

 

 

 

 

30

 

 

 

 

11110

 

 

UK

 

 

 

 

31

 

 

 

 

11111

 

 

 

 

 

 

 

 

 

 

 

 

Г

 

 

KL

 

 

 

 

32

 

 

 

 

100000

 

 

LA

 

 

 

 

33

 

 

 

 

100001

 

 

 

 

 

 

 

 

 

 

 

Б

 

 

ARY

 

 

 

 

34

 

 

 

 

100010У

 

YU

 

 

 

 

35

 

 

 

 

100011

 

 

UKR

 

 

 

 

36

 

 

а

100100

 

 

 

 

 

 

 

 

 

 

 

 

RA

 

 

 

 

37

 

 

 

 

100101

 

 

AL

 

 

 

 

38

 

к

 

100110

 

 

 

 

 

 

 

 

 

 

 

 

LK

 

 

 

 

39

е

 

 

100111

 

 

 

 

 

 

 

 

 

 

 

 

KO

 

 

 

 

40

 

 

 

 

101000

 

 

OR

 

 

 

 

41

 

 

 

 

101001

 

 

RAL

 

 

 

 

42

 

 

 

 

101010

 

 

 

 

 

 

о

 

 

 

 

 

 

 

LL

 

 

 

 

43

 

 

 

 

101011

 

 

LY

 

 

 

 

44

 

 

 

 

101100

 

 

YA

 

и

т45

 

 

 

101101

 

 

 

 

 

 

 

 

 

 

 

AK

л

 

46

 

 

 

 

101110

 

 

 

 

 

 

 

 

 

 

 

 

KLA

 

 

 

 

47

 

 

 

 

101111

 

 

б

 

 

 

 

 

 

 

 

 

 

 

ARA

 

 

 

 

48

 

 

 

 

110000

 

 

и

 

 

 

 

 

 

 

 

 

 

 

 

AU

 

 

 

 

49

 

 

 

 

110001

 

 

UKA

 

 

 

 

50

 

 

 

 

110010

 

 

Б

 

 

 

 

 

 

 

 

 

 

 

 

ARL

 

 

 

 

51

 

 

 

 

110011

 

 

LAU

 

 

 

 

52

 

 

 

 

110100

 

 

UKRA

 

 

 

 

53

 

 

 

 

110101

 

 

ALA

 

 

 

 

54

 

 

 

 

110110

 

 

AKL

 

 

 

 

55

 

 

 

 

110111

 

 

LAR

 

 

 

 

56

 

 

 

 

111000

 

 

RN

 

 

 

 

57

 

 

 

 

111001

 

 

NE

 

 

 

 

58

 

 

 

 

111010

 

 

ET

 

 

 

 

59

 

 

 

 

111011

 

 

T#

 

 

 

 

60

 

 

 

 

111100

 

 

79

Сформированное согласно алгоритму сжатия Лемпеля−Зива−Велча сообщение будет представлено следующей символьной последовательностью: «K-A-R-L-U-K-0L-0AR-0Y-0UK-0R-0A-0L-0K-0O-RA-0L-0L-0Y-0A-KL-0AR- 0A-0UK-0AR-LA-UKR-AL-AK-LA-0R-0N-0E-0T-0#». Нуль перед символами означает, что перед соответствующим 5-битным представлением символа необходимо передавать «0».

В двоичном коде сообщение будет выглядеть следующим образом: «01011-00001-10010-01100-10101-01011-001100-011100-011001-011111- 010010-000001-001100-001011-001111-100101-001100-001100-011001-000001- 100000-011100-000001-011111-011100-100001-100100-100110-101110-100001- 010010-001110-000101-010100-000000» и занимать объѐм 204 бита. Осу-

ществлена компрессия сообщения на 36 бит, или на 15 %. Если сообщение будет длиннее, то элементы словаря будут представлять всѐ более и более

длинные части текста, благодаря чему повторяющиеся слова будут представ-

лены компактно.

 

 

 

Р

 

 

 

 

Для декодирования сообщения необходимо знание начального словаря.

 

 

 

И

Последующие записи словаря реконструируются в процессе декодирования,

т. к. они являются просто конкатенацией предыдущих записей.

 

 

 

У

 

Алгоритм LZW отличают высокая скорость работы как при компрес-

 

Г

 

 

 

Б

 

 

 

сии, так и при декомпрессии, низкие требования к оперативной памяти и сравнительно простая аппаратная реализ ция. Кроме того, в отличие от алго-

ритма Хаффмана не требуется перед вместе с информацией сведений о

кодовой структуре. Недостаток алгоритма – невысокая степень сжатия по

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

статистической структуры данных. к

 

е

5.5. Алгоритм г л с вого кодирования HVXC

т

Вокодер (voice coder) HVXC обеспечивает удовлетворительное каче-

о

 

ство передачи при сверхнизких скоростях информационного потока − 2,0 и

4,0 кбит/с −ли хорошееикачество при скорости потока 9,6 кбит/с. Вокодер HVXC широко испо ьзуется в цифровых системах радиовещания в диапазонах со сложной помеховой обстановкой. Аббревиатура HVXC расшифровы-

вается как Harmonic Vector eXcitation Coding, что означает кодирование с

 

б

гармон ческ м векторным возбуждением. Структурная схема кодера приве-

дена на

. 5.2.

рис

Б

 

80

 

 

 

 

 

 

 

 

Р

 

 

 

 

 

 

 

И

 

 

 

 

 

 

У

 

 

 

 

 

 

Г

 

 

 

 

 

 

 

Б

 

 

 

 

 

 

а

 

 

 

 

 

 

к

 

 

 

 

Рис. 5.2. Структурная схема голосового кодера HVXC

 

 

 

фреймы

 

 

 

 

 

Поясним назначение функциональных блоков на рисунке.

 

 

т

 

 

 

 

 

 

1. Линейный предсказат ль. Н сжатый речевой сигнал с частотой дис-

кретизации 8 кГц разбивае ся на

 

длительностью 256 отсчѐтов и пау-

о

 

 

 

 

 

 

 

зой между ними, равн й 160 счѐ ам. В блоке каждый фрейм подвергается

и

 

 

 

 

 

 

 

 

линейному предсказанию, или экстраполяции десятого порядка. В результате

формируется «с нтет ческий» экстраполированный сигнал, который подаѐтся на квантователь пар спектральных линий.

2.

Квантовате ь пар спектральных линий обеспечивает квантование

 

б

 

параметров сигна а с частичным предсказанием и многоуровневой вектор-

и

 

ной схемой оптимальногол

квантования.

3.

Ф льтр линейно предсказанного сигнала обеспечивает ограничение

Б

 

 

спектра входного сигнала, необходимое для корректного преобразования

Фурье.

 

 

4.

лок векторного возбуждения кодирует голосовые (тональные) ком-

поненты фрагменты входного сигнала.

5.

Блок дискретного преобразования Фурье переносит сигнал в частот-

ную область.

 

6.

Блок поиска отклонения определяет предельные отклонения мгно-

венных значений сигнала от среднего.

81

7.Блок оценки амплитуды гармонических компонент определяет в спектре сигнала заданное количество наиболее значимых по мощности компонент.

8.Блок оценки «голос/не голос» на основе априорных данных о входном сигнале производит оценку его типа на заданном временном интервале.

9.Блок оценки минимальной ошибки осуществляет важную операцию по поиску оптимальной с точки зрения минимума среднеквадратичной ошибки отклонения синтетического сигнала.

На выходе вокодера формируются 5 низкоскоростных информацион-

ных потоков. Среди них: V/UV − voice/unvoice; LSP − line spectral pair; «Pitch» − отклонение; «Spectral envelope» − огибающая спектраР; «Shape, gain» − форма и уровень сигнала. Сформированные вокодером потоки подвергаются последующему мультиплексированию. ИУ

 

 

 

 

 

 

 

 

 

Г

 

 

 

 

 

 

 

 

 

Б

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

к

 

 

 

 

 

 

 

е

 

 

 

 

 

 

 

т

 

 

 

 

 

 

 

о

 

 

 

 

 

 

 

и

 

 

 

 

 

 

 

л

 

 

 

 

 

 

 

б

 

 

 

 

 

 

 

и

 

 

 

 

 

 

 

 

Б

 

 

 

 

 

 

 

 

 

82