Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Исследование и моделирование информационных процессов и систем. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
1 Мб
Скачать

Такой результат мы видим на рис. 3.14 – график сглаженного набора (прямая) полностью совпадает с истинной линейной зависимостью измеряемого параметра от y времени.

 

 

 

Контрольные вопросы и задания

1.

Провести разложение в

ряд

Котельникова функции

s(t) =

1

 

в диапазоне wÎ[–4, 4]

на

временном интервале

1 + t 2

 

 

tÎ[–5, 5].

2.Вывести формулы 5-точечного линейного сглаживания.

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

)

ных дисперсия ошибки при вычисленииy1 действительно наименьшая. Указание: воспользоваться одним из свойств дисперсии случайной величины.

4. На рис. 3.15 изображен график сглаженных данных, полученных при двукратном уменьшении помехи, т. . когда

1 + 2coswh = 1 . Определить, при каком соотношении шага съёма

3 2

h и периода T гармонической помехи возникает такой эффект.

1

2

Рис. 3.15. Двукратное подавление помех:

1 – исходный сигнал; 2 – сигнал после подавления

71

4. ПРОЦЕСС НАКОПЛЕНИЯ ИНФОРМАЦИИ. СЖАТИЕ ТЕКСТОВ

Допустим, что имеется некоторое сообщение, которое закодировано каким-то общепринятым способом(для текстов это, например, код ASCII) и хранится в памяти компьютера. Заметим, что равномерное кодирование (в частности, ASCII) не является для текстов оптимальным. Действительно, в текстах обычно используется существенно меньше, чем 256 символов (в зависимости от языка примерно60-80 с учётом знаков препинания, цифр, строчных и прописных букв). Кроме того, вероятности появления букв различны, и для каждого естественного языка известны (с некоторой точностью) частоты появления букв в тексте. Таким образом, можно задаться некоторым набором букв и частотами

их появления в тексте и с помощью алгоритма Хаффменапо строить оптимальное алфавитное кодирование текстов(для заданного алфавита и языка).

Простые расчёты показывают, что такое кодирование для распространенных естественных языков даст выигрыш по сравнению с кодом ASCII на 25 % или несколько больше.

Def. Методы кодирования, позволяющие построить (без потери информации!) коды сообщений меньшей длины по сравнению с исходным сообщением, называются методами сжатия (или упаковки) данных. Качество сжатия определяется коэффициентом сжатия, который обычно измеряется в процентах и показывает, на сколько процентов кодированное сообщение короче исходного.

Известно, что практические программы сжатия (rar, zip и др.) имеют гораздо лучшие показатели, чем код Хаффмена: при сжатии текстовых файлов коэффициент сжатия достигает70 % и более. Это означает, что в таких программах используется неалфавитное кодирование.

Метод 1. Предварительное построение словаря.

Рассмотрим следующий способ кодирования.

1. Исходное сообщение по некоторому алгоритму разбивается на последовательности букв, называемые словами (слово

72

может иметь одно или несколько вхождений в исходный текст сообщения).

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

3.Далее код сообщения строится как пара– код словаря и последовательность кодов слов из данного словаря.

4.При декодировании исходное сообщение восстанавливается путем замены кодов слов на слова из словаря.

Пример. Допустим, что требуется кодировать тексты на русском языке. В качестве алгоритма деления на слова примем естественные правила языка: слова отделяются друг от друга пробелами или знаками препинания. Можно принять допущение, что в каждом конкретном тексте имеется не более 216 различных слов (обычно гораздо меньше). Таким образом, каждому слову можно сопоставить номер – целое число из двух байтов(равномерное кодирование). Поскольку в среднем слова русского языка состоят более чем из двух букв, такое кодирование даёт существенное сжатие текста (около 75 % для обычных текстов на русском языке). Если текст достаточно велик (сотни тысяч или миллионы букв, то есть сотни и тысячи страниц), то дополнительные затраты на хранение словаря оказываются сравнительно небольшими.

Указанный метод можно усовершенствовать следующим образом. На шаге 2 следует применить алгоритм Хаффмена для построения оптимального кода, а на шаге 1 – решить экстремальную задачу разбиения текста на слова таким образом, чтобы среди всех возможных разбиений выбрать , которое даёт наименьшую цену кодирования на шаге2. Такое кодирование будет «абсолютно» оптимальным. К сожалению, указанная экстремальная задача очень трудоёмка, поэтому на практике не используется

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

73

Метод 2. Алгоритм Лемпела-Зива. На практике использу-

ется следующая идея, которая известна также как адаптивное сжатие. За один проход по тексту одновременно динамически строится словарь и кодируется текст. При этом нет необходимости хранить словарь: за счёт того, что при декодировании используется тот же самый алгоритм построения словаря, словарь динамически восстанавливается.

Ниже приведена простейшая реализация этой идеи, известная как алгоритм Лемпела – Зива. Вначале словарь D : array[int] of string содержит пустое слово, имеющее код 0. Далее в тексте последовательно выделяются слова. Выделяемое слово – это максимально длинное слово из уже имеющихся в словаре плюс ещё один символ. В сжатое представление записываются найденный код слова и расширяющая буква, а словарь пополняется расширенной комбинацией.

Описание алгоритма упаковки по методу Лемпела–Зива.

Слово в словаре ищется с помощью несложной функции FD:

74

Распаковка осуществляется следующим алгоритмом:

На практике применяют различные усовершенствования этой схемы.

1.Словарь можно сразу инициализировать, например, кодами символов (то есть считать, что однобуквенные слова уже известны).

2.В текстах часто встречаются регулярные последовательности: пробелы и табуляции в таблицах и т.п. Сопоставлять каждой подпоследовательности такой последовательности отдельное слово в словаре не рационально. В таких случаях лучше применить специальный приём, например, закодировать последовательность пробелов парой (k, s), где k – количество пробелов, a s – код пробела.

5. ПРОЦЕСС ПЕРЕДАЧИ ДАННЫХ

Необходимость в передаче данных возникает, когда объекты, между которыми происходит обмен информацией, территориально удалены друг от друга. В современных информационных системах обмен происходит с использованием коммуникационной сети. Действующим стандартом ISO 7498 вся область взаимодействия открытых информационных систем разделена на семь уровней (начиная с нижнего) (рис. 5.1). Подобное рассечение проходит через все абонентские системы, вовлечённые в процесс передачи данных. В данной теме будут интересны проблемы, возникающие на сетевом, канальном и физическом уровнях и методы их решения с использованием математического моделирования.

75

Рис. 5.1. Уровни взаимодействия открытых систем

Основные проблемы процесса передачи данных:

1)согласование физических характеристик сигнала (частота, амплитуда) с физическими характеристиками непрерывного канала связи для обеспечения минимального затухания сигнала при его передаче на большие расстояния;

2)оптимальное кодирование – подбор таких кодов, которые

взависимости от условий передачи обладают определённым оптимальным свойством;

3)решение задачи маршрутизации, т.е. доставление информации адресату по каналу передачи данных в максимально короткий срок.

5.1. Физический уровень: модуляция сигнала

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

вкотором элементы данных передаются в виде электрических сигналов. Он называется непрерывным каналом, т.к. проходящие

внем сигналы описываются непрерывными функциями времени

76

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

Рис. 5.2. Структура канала связи

Амплитудная модуляция сигнала. Информативный сигнал – сигнал, содержащий передаваемую информацию.

Переносчик – основной (несущий) сигнал, передаваемый по каналу связи, на который накладывается информативный сигнал.

Модуляция – воздействие на некоторый параметр переносчика сигнала с целью наилучшей передачи информативного сигнала по данному каналу.

Наиболее широкое применение получил непрерывный синусоидальный переносчик – гармонический сигнал вида

77

u(t) = u0 cos(w0 t + j0)

(5.1)

с параметрами u0 – амплитуда, w0 – частота, j0 – фаза. Воздействуя на эти параметры, можно получить разные виды модуляции – соответственно амплитудную, частотную и фазовую. За счёт любого из этих видов происходит перенос информативного сигнала в область высоких частот, обладающих в выбранном канале связи минимальным затуханием.

Рассмотрим простейший случай– амплитудную модуляцию. Пусть информативный сигнал имеет вид x(t) = ux cos(wx t). В носителе для простоты положим j0 = 0, т.к. при амплитудной модуляции фаза не влияет на результат. Имеем w0 >> wx, поэтому графики обоих сигналов имеют вид, представленный на рис. 5.3.

Рис. 5.3. Графики несущего (сплошная линия) и информативного (пунктир) сигналов

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

х А.М. = x(t)×u(t) = u0 ux cos(w0 t) cos(wx t),

график на рис. 5.4.

Воспользуемся известной формулой тригонометрии

получим

2cos(A)×cos(B) = cos(A + B) + cos(A B),

 

 

(5.2)

 

 

1

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

x

A.M

=

u

u

x

cos(w

+ w

x

) t +

u

u

x

cos(w

- w

x

) t .

 

 

 

2 0

 

0

 

2 0

 

0

 

 

78

То есть имеем сумму двух сигналов с одинаковой амплитудой и частотами w0 + wx и w0 wx » w0.

Рис. 5.4. График амплитудно-модулированного сигнала

В более общем случае информативный сигнал может быть

 

 

 

 

 

 

 

 

 

¥

 

 

представлен

рядом

 

Фурье

видаx(t) = c0 + åcos(kwxt) .

После

 

 

 

 

 

 

 

 

 

k =1

 

 

преобразования по формуле (5.2) получим

 

 

 

x

A.M

= с u

cos(w t) +

1

¥ [c

u

cos(w

+ kw )t + c

u

cos(w - kw )t]

 

 

0 0

 

0

å

k 0

0

x

k 0

0

x

 

 

 

 

 

2 k=1

 

 

 

 

 

 

Частоты w0 kwx при больших k могут не соответствовать частотным характеристикам канала, поэтому их подавляют на входе в канал с помощью специальных фильтров, а частоты w0 + kwx оставляют. Поскольку амплитуды сигналов cos(w0 kwx) и cos(w0 + kwx) совпадают, то подавленную часть сигнала можно легко воспроизвести после приёма и полностью восстановить х(t).

5.2. Канальный уровень:

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

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

79

представляется в виде комбинации элементарных сигналов: точка, тире, пауза (пробел между буквами), длинная пауза (пробел между словами).

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

Пусть имеется некоторая система X, которая может случайным образом принять одно из состоянийx1, x2,..., xn. Необходимо закодировать ее с помощью другой системыY, возможные состояния которой y1, y2, ..., ym. Если m < n (число состояний системы Y меньше числа состояний системыХ), то нельзя каждое состояние системы X закодировать с помощью одного единственного состояния системы Y. В таких случаях одно состояние системы X приходится отображать с помощью определенной комбинации (последовательности) состояний системы Y. Так, в азбуке Морзе буквы отображаются различными комбинациями элементарных символов (точка, тире).

Выбор таких комбинаций и установление соответствия между передаваемым сообщением и этими комбинациями называется кодированием в узком смысле слова

Коды различаются по числу элементарных символов(сигналов), из которых формируются комбинации, т.е. по числу возможных состояний системыY. В азбуке Морзе элементарных символов четыре – точка, тире, короткая пауза, длительная пауза. Широко распространены коды с двумя элементарными символами (0 и 1), такие коды называются двоичными. Двоичные коды используются, например, при вводе, обработке и выводе информации в ЭВМ.

Одно и то же сообщение можно закодировать различными способами. Поэтому необходимо найти оптимальный способ кодирования – подбор таких кодов, которые в зависимости от условий передачи обладают определённым оптимальным свойством.

Существуют два принципиально различающиеся условия кодирования:

80

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]