- •Цифровое моделирование системы эффективного кодирования
- •Оглавление
- •Учебно-лабораторный комплекс для цифрового моделирования системы эффективного кодирования сообщений
- •Общие положения
- •2. Описание пакета
- •2.1 Общие сведения
- •2.2 Функциональное назначение комплекса
- •2.3 Порядок установки в среде NetBeans
- •2.4 Описание библиотеки классов
- •2.4.1 Описание интерфейсов
- •2.4.2 Описание классов
- •2.4.3 Блок-схема подключения (кодирование сигналов)
- •2.4.4 Блок-схема подключения (кодирование текстов)
- •3. Цель лабораторной работы
- •4. Цель исследования
- •5. Порядок выполнения работы
- •Построение цифровой модели
- •7. Контрольные вопросы для отчёта по выполненной работе
- •Список рекомендуемой литературы
2.4.2 Описание классов
Название: Quantizer.
Описание: моделирует работу квантователя. Значение очередного уровня квантования вычисляется как сумма минимального значения функции, полушага квантования и произведения шага квантования на номер уровня. Верхний порог данного уровня определяется как сумма значений уровня квантования и полушага квантования (при равномерном квантовании путем соотнесения исходного сигнала с ближайшим значением уровня «нижний» порог данного уровня совпадает с "верхним" порогом ближайшего «снизу» уровня).
Название родительского класса: Plant.
Список реализованных интерфейсов: INuk, IBlockConnector.
Роль в цифровой модели: экземпляр класса принимает значение сигнала в дискретный момент времени и передает проквантованное значение или уровень квантования, в зависимости от необходимости, следующему подключённому блоку.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание
|
Тип |
Выходные данные |
Описание |
|
Quantizer |
public |
config |
Настройка квантователя |
QuantizerConfig |
- |
Принимает настройку квантователя |
|
getNuk |
package |
- |
- |
- |
Уровень квантования |
Возвращает уровень квантования |
|
kvan |
package |
- |
- |
- |
Уровень квантования |
Осуществляет квантование непрерывных сообщений по уровню |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Ykvn |
float |
Проквантованное значение функции |
|
Ymin |
float |
Минимальное значение функции |
|
Q |
float |
Полушаг квантования |
|
Nuk |
int |
Номер уровня квантования |
|
Ku |
int |
Количество уровней квантования |
Название: QuantizerConfig.
Описание: содержит все необходимые параметры работы квантователя.
Название родительского класса: нет.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: экземпляр класса генерируется настройщиком и передается квантователю.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
getKU |
package |
- |
- |
- |
Количество уровней квантования |
Возвращает количество уровней квантования |
|
getQ |
package |
- |
- |
- |
Полушаг квантования |
Возвращает полушаг квантования |
|
getMinY |
package |
- |
- |
- |
Минимальное значение функции |
Возвращает минимальное значение функции |
|
getMaxY |
package |
- |
-
|
- |
Максимальное значение функции |
Возвращает максимальное значение функции |
|
setKU |
public |
ku |
- |
int |
- |
Установка количества уровней квантования |
|
setQ |
public |
q |
Полушаг квантования |
float |
- |
Установка полушага квантования |
|
setMinY |
public |
ymin |
Минимальное значение функции |
float |
- |
Установка минимального значения функции |
|
setMaxY |
public |
ymax |
Максимальное значение функции |
float |
- |
Установка максимального значения функции |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Ymin |
float |
Минимальное значение функции |
|
Q |
float |
Полушаг квантования |
|
Ymax |
int |
Максимальное значение функции |
|
Ku |
int |
Количество уровней квантования |
Название: QuantizerTuner.
Описание: настройщик квантователя.
Название родительского класса: нет.
Список реализованных интерфейсов: ITuner.
Роль в цифровой модели: экземпляр класса создает конфигурацию работы квантователя на основе принятых значений.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
QuantizerTuner |
public |
model |
Модель сигнала |
ModelSignal |
- |
Принимает модель сигнала для ее анализа |
|
sagStatistic |
public |
v1 |
Вероятность правильной передачи сообщения |
float |
Конфигурация квантователя |
Расчёт полушага квантования и количество уровней квантования с помощью статистического метода. |
|
m1 |
Математическое ожидание амплитуды помехи |
float | ||||
|
s1 |
Среднеквадратическое отклонение амплитуды помехи |
float | ||||
|
sagSimple |
public |
ku |
Количество уровней квантования |
int |
Конфигурация квантователя |
Расчёт полушага квантования и количество уровней квантования |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Model |
ModelSignal |
Модель сигнала, заданная точками перегиба |
Название: ModelSignal.
Описание: модель сигнала, представленная кусочно-линейной функцией.
Название родительского класса: нет.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: экземпляр класса является моделью сигнала, заданного массивами аргументов и соответствующих этим аргументам значений сигнала.
|
Таблица методов | |||||
|
Название |
Доступ |
Входные данные |
Тип |
Выходные данные |
Описание |
|
getY |
package |
i |
int |
Элемент из массива |
Возвращает i-ое значение функции из массива |
|
getMax |
private |
- |
- |
Максимальное значение элемента из массива |
Возвращает максимальный элемент из массива значений |
|
getMin |
private |
- |
- |
Минимальное значение элемента из массива |
Возвращает минимальный элемент из массива значений |
|
SetInflectionPoints |
public |
ax |
float[] |
- |
Установка точек перегиба модели сигнала |
|
ay |
float[] | ||||
|
GetInflectionPoints |
public |
- |
- |
- |
Выводит точки перегиба на экран |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Ax |
float[] |
Значения аргумента функции в точках перегиба |
|
Ay |
float[] |
Значения функции в точках перегиба |
|
Ymin |
float |
Минимальное значение функции |
|
Ymax |
float |
Максимальное значение функции |
Название: SignalGenerator.
Описание: генератор сигнала. Процедура генерирует периодическую кусочно-линейную функцию Yo. Для этого по формуле y=k*x+b вычисляется значения линейных участков функции на интервале от Ax[1] до Ax[1]+T с шагом T/(N-1).Для определения коэффициентов k и b линейных участков используются координаты Na точек перегиба (в массиве Ax) и значения функции в этих точках (в массиве Ay).
Название родительского класса: PlantGeneratorConnector.
Список реализованных интерфейсов: IGeneratorConnector.
Роль в цифровой модели: экземпляр класса формирует кусочно-линейную функцию по принятой модели сигнала и передает очередное значение следующему подключённому блоку.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание
|
Тип |
Выходные данные |
Описание |
|
Signal Generator |
public |
n |
Число отсчётов |
int |
- |
Рассчитывает длину участка между двумя соседними дискретными отсчётами |
|
t |
Период функции |
int | ||||
|
model |
Модель сигнала |
Model Signal | ||||
|
execute |
public |
- |
- |
- |
- |
Запуск генератора |
|
gklf |
private |
- |
- |
- |
- |
Генерирует кусочно-линейную функцию |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Dx |
float |
Интервал между соседними дискретными отсчётами аргумента |
|
j |
int |
Номер очередной точки кусочно-линейной функции |
|
T |
int |
Период входной функции |
|
N |
int |
Количество дискретных отсчётов |
Название: Gauss.
Описание: имитирует случайную "гауссову" помеху.
Название родительского класса: Noise.
Список реализованных интерфейсов: IInterference.
Роль в цифровой модели: экземпляр класса принимает математическое ожидание и среднеквадратическое отклонение для задания характера помехи в канале связи.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание
|
Тип |
Выходные данные |
Описание |
|
Gauss |
public |
m |
Математическое ожидание появления помехи |
float |
- |
Инициализирует основные параметры ошибки |
|
s |
Среднеквадратическое отклонение появления помехи |
float | ||||
|
generate |
public |
- |
- |
- |
- |
Генерация псевдослучайных чисел |
Название: Memory.
Описание: блок памяти.
Название родительского класса: Plant.
Список реализованных интерфейсов: IBlockConnector, IMemory.
Роль в цифровой модели: экземпляр класса подключается за любым устройством, выходные значения которого необходимо сохранить для дальнейшего анализа.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание
|
Тип |
Выходные данные |
Описание |
|
Memory |
public |
size |
Объем памяти |
int |
- |
Выделение памяти под значения сигнала |
|
setStep |
public |
t |
Период функции |
float |
- |
Интервал времени между поступившими сигналами |
|
setSize |
public |
size |
Объем памяти |
int |
- |
Задание объема памяти |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Size |
int |
Объем памяти |
|
Step |
float |
Интервал времени между двумя дискретными отсчётами |
|
SumDx |
float |
Счетчик времени блока памяти |
|
MasX |
float[] |
Массив временных интервалов |
|
MasY |
float[] |
Массив значений сигнала |
Название: ImageGraph.
Описание: осциллограф.
Название родительского класса: WorkWin , JFrame.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: экземпляр класса принимает заполненные блоки памяти для прорисовки в декартовой системе координат сигнала.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание
|
Тип |
Выходные данные |
Описание |
|
ImageGraph |
public |
cg |
Количество графиков |
int |
- |
Задание количества графиков для прорисовки в одном окне |
|
ShowNep |
public |
- |
- |
- |
- |
Прорисовка графика непрерывной функции |
|
ShowDis |
public |
- |
- |
- |
- |
Прорисовка графика дискретной функции |
|
ShowKvn |
public |
- |
- |
- |
- |
Прорисовка графика проквантованной функции |
|
addMemory |
public |
mem |
Блок памяти |
Memory |
- |
Добавление очередного блока памяти в стек |
|
addDinamicMemory |
public |
mem |
Блок динамической памяти |
Memory[] |
- |
Добавление блока «динамической» памяти |
|
ShowDinamic |
public |
millis |
Задержка прорисовки в миллисекундах |
Int |
- |
Динамическая прорисовка преобразования сигнала |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
I |
int |
Счётчик объектов памяти |
|
Cg |
int |
Количество графиков на осциллографе |
|
Mem |
Memory[] |
Массив объектов памяти |
Название: Plant.
Описание: устройство в цифровой модели способное передавать сообщение другому устройству этого класса.
Название родительского класса: нет.
Список реализованных интерфейсов: IBlockConnector.
Роль в цифровой модели: на основе класса создаются потомки, расширяющие возможности данного устройства.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание
|
Тип |
Выходные данные |
Описание |
|
setNext |
public |
block |
Устройство, реализующее данный интерфейс |
IBlockConnecto |
- |
Подключение устройства последовательно за данным |
|
getNext |
public |
- |
- |
- |
Ссылка на подключённое устройство |
Возвращает подключенное устройство после данного |
|
setValueY |
public |
valuey |
Значение сигнала в данный момент времени |
float |
- |
Установка значения сигнала в дискретный момент времени |
|
setValueYToNext |
public |
y |
Значение сигнала в данный момент времени |
float |
- |
Передача установленного значения следующему устройству |
|
getValueY |
public |
- |
- |
- |
Текущее значение сигнала |
Возвращает значение сигнала в данный момент времени |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Next |
IBlockConnector |
Устройство, реализующее данный интерфейс |
|
ValueY |
float |
Значение сигнала в дискретный момент времени |
Название: EnvironmentConfig.
Описание: содержит набор параметров, необходимых для правильной работы канала связи.
Название родительского класса: нет.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: экземпляр класса, созданный на основе таких параметров как: уровень нуля, уровень единицы и порог квантования – является настройкой для канала связи.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
EnvironmentConfig |
public |
t0 |
Уровень «нуля» |
float |
- |
Инициализация основных параметров |
|
t1 |
Уровень «единицы» |
float |
|
| ||
|
pk |
Порог квантования |
float |
|
| ||
|
getT0 |
package |
- |
- |
|
Уровень нуля |
Возвращает уровень нуля |
|
getT1 |
package |
- |
- |
- |
Уровень единицы |
Возвращает уровень «единицы» |
|
getPk |
package |
- |
- |
- |
Порог квантования |
Возвращает порог квантования |
|
setT0 |
public |
t1 |
Уровень «нуля» |
float |
- |
Установка уровня «нуля» |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
T0 |
float |
Значение уровня нуля |
|
T1 |
float |
Значение уровня единицы |
|
Pk |
float |
Порог квантования |
Название: EnvironmentTuner.
Описание: настройщик канала связи. С его помощью можно настроить канал связи на определенный режим работы.
Название родительского класса: нет.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: экземпляр класса принимает математическое ожидание, среднеквадратическое отклонение и вероятность правильной передачи сообщения, формируя объект настройку.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
EnvironmentTuner |
public |
v1 |
Вероятность искажения |
float |
- |
Инициализация основных параметров |
|
m1 |
Математическое ожидание появления помехи |
float | ||||
|
s1 |
Среднеквадратическое отклонение появления помехи |
float | ||||
|
getConfig |
public |
- |
- |
- |
Настройка канала связи |
Возвращает настройку канала связи |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
EnvConfig |
EnvironmentConfig |
Настройка канала связи |
Название: PartitionInfo.
Описание: содержит информацию о длине выборки сообщений и длине блоков или L-грамм.
Название родительского класса: нет.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: экземпляр класса экземпляр класса принимает число обрабатываемых сообщений и длину каждого сообщения, блока или L-граммы. Используется в качестве конфигурации для работы нескольких блоков.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
PartitionInfo |
public |
kbl |
Число обрабатываемых сообщений |
int |
- |
Инициализация основных параметров |
|
l |
Длина сообщения |
int | ||||
|
getL |
package |
- |
- |
- |
Длина сообщения, блока или L-граммы |
Возвращает длину сообщения, блока или L-граммы |
|
getKbl |
package |
- |
- |
- |
Число обрабатываемых сообщений |
Возвращает число обрабатываемых сообщений |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Kbl |
int |
Число обрабатываемых сообщений |
|
L |
int |
Длина сообщения, блока или L-граммы |
Название: Segmentator.
Описание: сегментирует на блоки или L-граммы последовательность исследуемой выборки квантованных по времени и уровню сообщений.
Название родительского класса: PlantWithMemory.
Список реализованных интерфейсов: IBlockConnector.
Роль в цифровой модели: экземпляр класса принимает от квантователя последовательность уровней квантования и, по заданному режиму работы, выделяет из этой последовательности блоки или L-граммы.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
Segmentator |
public |
config |
Конфигурация работы квантователя |
QuantizerConfig |
- |
Инициализация основных параметров |
|
partinfo |
Информация о выборке сообщений |
PartitionInfo | ||||
|
BlockMode |
public static |
- |
- |
- |
- |
Установка режима работы на формирование блоков |
|
Lgrammode |
public static |
- |
- |
- |
- |
Установка режима работы на формирование L-грамм |
|
getChain |
public |
- |
- |
LevelChain |
Цепочка блоков или L-грамм |
Возвращает цепочку блоков или L-грамм |
|
setMemory |
public |
len |
Размер буфера данных |
int |
- |
Установка объема внутренней памяти |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Config |
QuantizerConfig |
Конфигурация работы квантователя |
|
PartInfo |
PartitionInfo |
Информация о выборке сообщений |
|
Mode |
CodeDecodeMode |
Режим обработки текста или уровней квантования |
|
Chain |
LevelChain |
Цепочка уровней квантования |
|
Buf1 |
int[] |
Предыдущая последовательность уровней |
|
Buf2 |
Int[] |
Текущая последовательность уровней |
Название: Huffman.
Описание:построение кодовых слов эффективного кода по методу Хаффмана.
Название родительского класса: нет.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: экземпляр класса принимает конфигурацию работы и цепочку сообщений, блоков или L-грамм и, на основе этих данных, составляет таблицу соответствия между эффективными кодовыми словами и различными сообщениями, встречающимися в выборке.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
Huffman |
public |
config |
Конфигурация работы |
HuffmanConfig |
- |
Инициализация основных параметров |
|
chain |
Цепочка сообщений |
MsgChain | ||||
|
Huffman |
public |
config |
Конфигурация работы |
HuffmanConfig |
- |
Инициализация основных параметров |
|
chain |
Цепочка сообщений |
LevelChain | ||||
|
TextMode |
public static |
- |
- |
- |
- |
Режим обработки текста |
|
FuncMode |
public static |
- |
- |
- |
- |
Режим обработки уровней квантования |
|
prepareData |
public |
- |
- |
- |
- |
Построение кодовой таблицы |
|
codeTable |
public |
- |
- |
HuffmansCode |
Кодовые слова эффективного кода |
Возвращает таблицу кодовых слов |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Config |
HuffmanConfig |
Конфигурация для построителя эффективного кода по Хаффману |
|
LpTable |
LookupTable |
Таблица соответствия между сообщениями и числами их вхождений |
|
Chain |
MsgChain |
Цепочка сообщений, блоков или L-грамм |
|
Code |
HuffmansCode |
Кодовые слова эффективного кода |
|
Reader |
DataReader |
Обработка текста или уровней квантования |
Название: ECoder.
Описание: кодирование сообщений, блоков или L-грамм эффективным кодом.
Название родительского класса: Device.
Список реализованных интерфейсов: IDeviceConnector.
Роль в цифровой модели: экземпляр класса принимает таблицу кодовых слов, для кодирования сообщений, блоков или L-грамм эффективными кодовыми словами.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
ECoder |
public |
codewrds |
Кодовые слова эффективного кода |
HuffmansCode |
- |
Инициализация данных |
|
execute |
public |
- |
- |
- |
- |
Выполнение основных функций устройства |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Code |
HuffmansCode |
Кодовые слова эффективного кода |
Название: EDecoder.
Описание: декодирование кодовых слов в сообщения, блоки или L-граммы.
Название родительского класса: Device.
Список реализованных интерфейсов: IDeviceConnector.
Роль в цифровой модели: экземпляр класса таблицу декодирования кодовых слов эффективного кода в сообщения, блоки или L-граммы.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
EDecoder |
public |
code |
Таблица декодирования |
HuffmansCode |
- |
Инициализация основных параметров |
|
execute |
public |
- |
- |
- |
- |
Выполнение основных функций устройства |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Code |
HuffmansCode |
Кодовые слова эффективного кода |
|
DecTable |
HashMap <Integer, String> |
Ассоциативная таблица кодовых слов и их номеров |
Название: PositionalCode.
Описание: кодировщик номеров сообщений в двоичный позиционный код.
Название родительского класса: нет.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: экземпляр класса принимает цепочку сообщений и конфигурацию работы для формирования таблицы кодовых слов.
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Config |
PositionalCodeConfig |
Конфигурация работы двоичного кодера |
|
Code |
PosBinCode |
Таблица двоичных позиционных кодов |
|
Chain |
MsgChain |
Цепочка сообщений, блоков или L-грамм |
|
Reader |
DataReader |
Тип обрабатываемых данных |
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
PositionalCode |
public |
config |
Конфигурация работы |
PositionalCodeConfig |
- |
Инициализация основных параметров |
|
chain |
Цепочка сообщений |
MsgChain | ||||
|
PositionalCode |
public |
config |
Конфигурация работы |
PositionalCodeConfig |
- |
Инициализация основных параметров |
|
chain |
Цепочка сообщений (уровней квантования) |
LevelChain | ||||
|
TextMode |
public static |
- |
- |
- |
- |
Режим обработки текстовой информации |
|
FunctionReader |
public static |
- |
- |
- |
- |
Режим обработки уровней квантования |
|
Prepare Date |
public |
|
- |
- |
- |
Заполнение таблицы кодовыми словами |
|
codeTable |
public |
- |
- |
- |
Таблица кодовых слов |
Возвращает таблицу двоичных позиционных кодовых слов |
Название: PCoder.
Описание: кодирование сообщений, блоков или L-грамм двоичным позиционным кодом.
Название родительского класса: Device.
Список реализованных интерфейсов: IDeviceConnector.
Роль в цифровой модели: экземпляр класса принимает таблицу кодовых слов для кодирования сообщений, блоков или L-грамм, поступающих от генератора, двоичным позиционным кодом.
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Code |
PosBinCode |
Кодовые слова двоичного позиционного кода |
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
PCoder |
public |
code |
Таблица кодовых слов |
PosBinCode |
- |
Инициализация основных параметров |
|
execute |
public |
- |
- |
- |
- |
Выполнение основных функций устройства |
Название: PDecoder.
Описание: декодирование кодовых слов позиционного кода в сообщения блоки или L-граммы.
Название родительского класса: Device.
Список реализованных интерфейсов: IDeviceConnector.
Роль в цифровой модели: экземпляр класса принимает таблицу кодовых слов для декодирования очередного кодового слова от предыдущего устройства в сообщение, блок или L-грамм.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
PDecoder |
public |
code |
Таблица кодовых слов |
PosBinCode |
- |
Инициализация основных параметров |
|
execute |
public |
- |
- |
- |
- |
Выполнение основных функций устройства |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Code |
PosBinCode |
Кодовые слова двоичного позиционного кода |
|
DecTable |
HashMap <Integer, String> |
Ассоциативная таблица кодовых слов и их номеров |
Название: ExtandibleMemory.
Описание: память для кодовых слов, сообщений, блоков или L-грамм.
Название родительского класса: Device.
Список реализованных интерфейсов: IDeviceConnector.
Роль в цифровой модели: экземпляр класса подключается после устройств, передающих кодовые слова, сообщения, блоки или L-граммы. После каждого обращения к памяти, принятое значение заносится в память и передается следующему устройству.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
ExtandibleMemory |
public |
- |
- |
- |
- |
Инициализация основных параметров |
|
store |
package |
- |
- |
- |
- |
Сохранение принятого значения |
|
execute |
public |
- |
- |
- |
- |
Выполнение основных функций устройства |
|
size |
public |
- |
- |
- |
Объем занятой памяти |
Возвращает число принятых сообщений |
|
clear |
public |
- |
- |
- |
- |
Очистка памяти |
|
getMsg |
public |
i |
Индекс слова в мапяти |
int |
Сохраненное по данному индексу сообщение |
Возвращает сообщение сохраненное в памяти |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
pMemory |
Stack<String> |
Стек для сохранения строковых данных |
Название: DataLink.
Описание: канал передачи данных между устройствами. Способен моделировать искажение как одного случайного разряда, так и разрядов по всей длине кодового слова.
Название родительского класса: Device.
Список реализованных интерфейсов: IDeviceConnector.
Роль в цифровой модели: экземпляр класса принимает модель помехи, которая будет искажать передаваемые кодовые слова. Перед использованием необходимо задать режим работы канала связи.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
DataLink |
public |
noise |
Помеха в канале связи |
Noise |
- |
Инициализация основных параметров |
|
config |
Конфигурация работы канала связи |
EnvironmentConfig | ||||
|
miltiImpact |
public static |
- |
- |
- |
- |
Режим воздействия помехи на все разряды кодового слова |
|
monoImpact |
public static |
- |
- |
- |
- |
Режим воздействия помехи на один случайный разряд кодового слова |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
ImpactMode |
boolean |
Режим искажение разрядов |
|
Config |
EnvironmentConfig |
Конфигурация работы канала связи |
|
Noise |
Noise |
Характер помехи в канале связи |
Название: ChainGenerator.
Описание: генератор сообщений, блоков или L-грамм.
Название родительского класса: MsgGenerator.
Список реализованных интерфейсов: IMsgGenerator.
Роль в цифровой модели: экземпляр класса принимает цепочку сообщений, блоков или L-грамм, содержащих уровни квантования или текстовую информацию, и передает ее поэлементно следующему устройству.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
ChainGenerator |
public |
chain |
Цепочка сообщений |
MsgChain |
- |
Инициализация цепочки сообщений |
|
ChainGenerator |
public |
chain |
Цепочка уровней квантования |
LevelChain |
- |
Инициализация цепочки уровней квантования |
|
convLevelchain |
public static |
chain |
Цепочка уровней квантования |
LevelChain |
Цепочка уровней квантования в строковом формате |
Возвращает цепочку уровней квантования в строковом формате |
|
generate |
public |
- |
- |
- |
- |
Генерация сообщений, блоков или L-грамм |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Chain |
MsgChain |
Цепочка сообщений, блоков или L-грамм |
Название:EStatViewer.
Описание: вывод статистических данных на консоль или в файл.
Название родительского класса: нет.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: экземпляр класса принимает поток данных для вывода на консоль или в файл, с последующей установкой выводимых статистических данных.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
EStatViewer |
public |
stream |
Поток данных на консоль или в файл |
IPrintable |
- |
Инициализация потока данных |
|
setData |
public |
Data |
Показатели эффективности кода |
CodeStat |
- |
Установка показателей эффективности кода |
|
view |
public |
- |
- |
- |
- |
Вывод данных |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Data |
CodeStat |
Показатели эффективности кода |
|
Writer |
IPrintable |
Поток вывода данных |
Название: TableViewer.
Описание: отображение кодирующих таблиц: таблицы соответствия между номерами сообщений, кодовыми словами, а так же частотой их вхождения.
Название родительского класса: нет.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: экземпляр класса принимает таблицы кодовых слов и цепочку сообщений, блоков или L-грамм для отображения в ассоциационной таблице.
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Reader |
DataReader |
Режим обработки текстовой или числовой информации |
|
Mode |
CodeDecodeMode |
Режим кодирования декодирования |
|
Writer |
Writer |
Поток данных в файл или на консоль |
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
Table Viewer |
public |
stream |
Поток данных в файл или на консоль |
IPrintable |
- |
Инициализация потока данных |
|
TextMode |
public static |
- |
- |
- |
- |
Режим обработки текста |
|
FuncMode |
public static |
|
|
|
|
Режим обработки уровней квантования |
|
BlockMode |
public static |
|
|
|
|
Режим обработки блоков |
|
LgramMode |
public static |
|
|
|
|
Режим обработки L-грамм |
|
view |
public |
huf |
Таблица эффективных кодовых слов |
Huffmans Code |
- |
Отображение таблиц и статистических данных |
|
pos |
Таблица двоичных козиционных кодовых слов |
PosBinCode | ||||
|
chain |
Цепочка сообщений, блоков или L-грамм |
IWord | ||||
Название: EffectiveCodeStatistics.
Описание:вычисление показателей эффективности кода: средней длины кодового слова, среднего числа двоичных символов на одно сообщение при кодировании блоками или L-граммами.
Название родительского класса: нет.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: экземпляр класса на основе таблицы эффективных кодовых слов вычисляет показатели эффективности кода.
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Code |
HuffmansCode |
Кодовые слова эффективного кода |
|
PartInfo |
PartitionInfo |
Информация о выборке сообщений |
|
Stat |
CodeStat |
Статистические показатели эффективного кода |
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
Effective CodeStatistics |
public |
code |
Таблица кодовых слов эффективного кода |
Huffmans Code |
- |
Инициализация основных параметров |
|
partinfo |
Информация о выборке сообщений |
Partition Info | ||||
|
averLen Codewrd |
public |
ts |
Длина всего сообщения |
double |
Среднее число двоичных символов на одно сообщение |
Расчет средней длины кодового слова |
|
averLen BinChr |
public |
ts |
Длина всего сообщения |
double |
Cедняя длина кодового слова |
Расчет средней длины кодового слова |
|
calcBinLen |
public |
- |
- |
- |
Длина всего сообщения |
Вычисление длины всего сообщения |
|
calc |
public |
- |
- |
- |
- |
Расчет статистических показателей |
|
getStat |
public |
- |
- |
- |
Статистические показатели эффективного кода |
Возвращает статистические показатели эффективно го кода |
Название: CodeStat.
Описание: статистические показатели эффективности кода.
Название родительского класса: нет.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: экземпляр класса является контейнером для хранения статистических показателей эффективного кода.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
CodeStat |
public |
avg1 |
Средняя длинна кодового слова |
double |
- |
Инициализация основных параметров |
|
avg2 |
Среднее число двоичных символов на одно сообщение |
double | ||||
|
getAvg CodeW |
public |
- |
- |
- |
Средняя длинна кодового слова |
Возвращает среднюю длину кодового слова |
|
setAvg CodeW |
public |
avgCodeW |
Средняя длина кодового слова |
double |
- |
Установка средней длины кодового слова |
|
getAvgBin Char |
public |
- |
- |
- |
Среднее число двоичных символов на одно сообщение |
Возвращает среднее число двоичных символов на одно сообщение |
|
setAvgBin Char |
public |
avgBinChar |
Среднее число двоичных символов на одно сообщение |
double |
- |
Установка среднего числа двоичных символов на одно сообщение |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
AvgCodeW |
double |
Средняя длинна кодового слова |
|
AvgBinChar |
double |
Среднее число двоичных символов на одно сообщение |
Название: PassStatistics.
Описание: расчет статистических показателей эффективной передачи данных.
Название родительского класса: нет.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: экземпляр класса на основе цепочки сообщений, блоков или L-грамм переданной генератору и декодированной декодером выполняет вычисление частоты правильной передачи сообщений и средней ошибки искажения формы сигнала.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
Pass Statistics |
public |
chain |
Цепочка сообщений |
MsgChain |
- |
Инициализация основных параметров |
|
mem |
Блок памяти заполненный принятыми сообщениями |
ExtandibleMemory | ||||
|
Pass Statistics |
public |
chain |
Цепочка сообщений |
LevelChain |
- |
Инициализация основных параметров |
|
mem |
Блок памяти заполненный принятыми сообщениями |
ExtandibleMemory | ||||
|
getStat |
public |
- |
- |
- |
Статистические данные |
Возвращает статистические данные об эффективности передачи данных |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Stat |
EStat |
Статистические данные об эффективности передачи данных |
Название: LevelConverter.
Описание: преобразователь уровней квантования в значения сигнала.
Название родительского класса: Device.
Список реализованных интерфейсов: IDeviceConnector.
Роль в цифровой модели: экземпляр класса принимает конфигурацию работы квантователя, чтобы на ее основе восстановить значение сигнала по данному уровню квантования.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
Level Converter |
public |
config |
Конфигурация работы квантователя |
Quantizer Config |
- |
Инициализация основных параметров |
|
step |
Шаг преобразователя (в зависимости от способа кодирования) |
int | ||||
|
execute |
public |
- |
- |
- |
- |
Выполнение основных функций устройства |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Config |
QuantizerConfig |
Конфигурация работы квантователя |
|
Step |
int |
Шаг преобразователя уровней квантования в значение сигнала |
|
I |
int |
Счётчик поступивших сообщений |
Название: CodeSaver.
Описание: сохраняет кодированный эффективным кодом текст в файл.
Название родительского класса: нет.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: экземпляр класса принимает конфигурацию работы квантователя, чтобы на ее основе восстановить значение сигнала по данному уровню квантования.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
CodeSaver |
public |
filename |
Имя файла |
String |
- |
Инициализация основных параметров |
|
BlockMode |
public static |
- |
- |
- |
- |
Режим обработки блоков |
|
Lgram Mode |
public static |
- |
- |
- |
- |
Режим обработки L-грамм |
|
saveText |
public |
mem |
Память |
ExtandibleMemory |
- |
Сохранение текста в файл |
|
saveCode |
public |
mem |
Память |
ExtandibleMemory |
- |
Сохранение кода в файл |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Writer |
PrintWriter |
Поток вывода данных |
|
Split |
int |
Длина L-грамма |
|
BreakLine |
int |
Количество сообщений в строке |
Название: ToFile.
Описание: сохранение данных в файл.
Название родительского класса: нет.
Список реализованных интерфейсов: IPrintable.
Роль в цифровой модели: экземпляр класса принимает имя файла и выводит заданные данные в файл.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
ToFile |
public |
filename |
Имя файла |
String |
- |
Инициализация имени файла |
|
stream |
public |
- |
- |
- |
Поток данных в файл |
Возвращает поток данных в файл |
|
setFileName |
public |
filename |
Имя файла |
String |
- |
Установка имени файла |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
FileName |
String |
Имя файла |
Название: ToConsole.
Описание: вывод данных на консоль.
Название родительского класса: нет.
Список реализованных интерфейсов: IPrintable.
Роль в цифровой модели: экземпляр класса выводит заданные данные на консоль.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
ToConsole |
public |
- |
- |
- |
- |
- |
|
stream |
public |
- |
- |
- |
Поток данных на консоль |
Возвращает поток данных на консоль |
|
closeStream |
Public |
- |
- |
- |
- |
Вывод данных на консоль |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Pw |
PrintWriter |
Поток данных |
Название: BlockMode.
Описание: определяет режим кодирования и декодирования блоков.
Название родительского класса: CodeDecodeMode.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: экземпляр класса осуществляет деление принятого файла на блоки заданной длины и создает из них цепочку боков, которая будет передана генератору блоков или L-грамм.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
BlockMode |
public |
- |
- |
- |
- |
- |
|
setConfig |
public |
config |
Конфигура ция работы |
Partition Info |
- |
Установка конфигура ции |
|
execute |
public |
file |
Файл с текстом |
File |
Цепочка блоков |
Создание цепочки блоков символов из данных файла |
Название: LgrammMode.
Описание: определяет режим кодирования и декодирования L-грамм.
Название родительского класса: CodeDecodeMode.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: экземпляр класса осуществляет деление принятого файла на L-граммы заданной длины и создает из них цепочку боков, которая будет передана генератору блоков или L-грамм.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
Lgramm Mode |
public |
- |
- |
- |
- |
- |
|
setConfig |
public |
config |
Конфигура ция работы |
Partition Info |
- |
Установка конфигура ции |
|
execute |
public |
file |
Файл с текстом |
File |
Цепочка L-грамм |
Создание цепочки L-грамм символов из данных файла |
Название: ChainSplitMode.
Описание: необходим для определения режима кодирования декодирования данных.
Название родительского класса: нет.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: экземпляр класса возвращает необходимый режим работы устройства.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
Block |
public static |
- |
- |
- |
Режим блоков |
Режим кодирования и декодирования блоками |
|
lGramm |
public static |
- |
- |
- |
Режим L-грамм |
Режим кодирования и декодирования L-граммами |
|
|
|
|
|
|
|
|
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Mode |
CodeDecodeMode |
Режим кодирования и декодирования |
Название: DerivedDataBuilder.
Описание: считывание данных из файла с формированием упорядоченной последовательности данных: сообщений, блоков или L-грамм.
Название родительского класса: нет.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: экземпляр класса возвращает цепочку сообщений, блоков или L-грамм.
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Config |
PartitionInfo |
Информация о выборке сообщений |
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
DerivedDataBuilder |
public |
len |
Информация о выборке сообщений |
Partition Info |
- |
Инициализация данных |
|
form |
public |
file |
Файл с данными |
TextFile |
Цепочка сообще ний, блоков или L-грамм |
Формирова Ние цепочки сообщений, блоков или L-грамм |
|
mode |
Режим кодирования декодирования сообщений, блоков или L-грамм |
CodeDecodeMode | ||||
Название: Device.
Описание: устройство только способное передавать сообщения.
Название родительского класса: нет.
Список реализованных интерфейсов: IDeviceConnector.
Роль в цифровой модели: устройство в системе, которое способно передавать сообщения, как в строковом, так и в числовом формате. Есть возможность передавать сообщения между устройствами, реализующими разные интерфейсы.
|
Таблица методов |
| ||||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
| ||
|
setNext |
public |
device |
Устройство, реализующее данный интерфейс |
|
- |
Подключение следующего устройства |
| ||
|
getNext |
public |
- |
- |
- |
IDevice Connector |
Возвращает подключённое устройство |
| ||
|
setNextBlok |
public |
device |
Устройство, реализующее данный интерфейс |
IBlock Connector |
- |
Подключение следующего устройства |
| ||
|
getNextBlok |
public |
- |
- |
- |
IBlock Connector |
Возвращает подключённое устройство |
| ||
|
Таблица полей | |||||||||
|
Название |
Тип |
Описание | |||||||
|
Next |
IDeviceConnector |
Любой объект реализующий данный интерфейс | |||||||
|
NextBlok |
IBlockConnector |
Любой объект реализующий данный интерфейс | |||||||
|
Msg |
String |
Сообщение, блок или L-грамма | |||||||
|
Bit |
float |
Очередной бит или уровень значение сигнала | |||||||
Название: DataReader.
Описание: обработка данных, представленных только числами или текстом.
Название родительского класса: нет.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: класс отвечает за нахождение уникальных сообщений в цепочке сообщений, с подсчётом повторяющихся сообщений, и на основе полученных данных формирует таблицу соответствия между сообщениями и числом их вхождения.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
setChain |
package |
chain |
Цепочка сообщений, блоков или L-грамм |
MsgChain |
- |
Установка цепочки сообщений, блоков или L-грамм |
|
scan |
package |
i |
Индекс сообщения в цепочке сообщений |
int |
- |
Выделение алфавита из цепочки сообщений и число повторов каждого сообщения |
|
Lookup Table |
protected |
- |
- |
- |
Таблица соответствия сообщений и числа их вхождения |
Возвращает таблицу соответствия сообщений и числа их вхождения |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
StatTable |
LookupTable |
Таблица соответствия между сообщениями и числом их вхождений |
|
Chain |
MsgChain |
Цепочка сообщений, блоков или L-грамм |
|
Buff |
TextValueBuff |
Буферные данные |
Название: FunctionReader.
Описание: обработка данных, представленных числами.
Название родительского класса: DataReader.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: экземпляр класса находит в цепочке сообщений повторяющуюся последовательность чисел, и заносит их в таблицу соответствия повторов этих последовательностей и номеров сообщений.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
Function Reader |
public |
- |
- |
- |
- |
- |
|
sort |
package |
i |
Индекс сообщения в цепочке сообщений |
int |
- |
Нахождение одинаковых последовательностей уровней квантования |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Value |
FuncBuff |
Параметр для поиска повторных чисел |
|
Lchain |
LevelChain |
Массив уровней квантования |
Название: TextReader.
Описание: обработка данных, представленных символами.
Название родительского класса: DataReader.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: экземпляр класса находит в цепочке сообщений повторяющуюся последовательность символов, и заносит их в таблицу соответствия повторов этих последовательностей и номеров сообщений.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
Text Reader |
public |
- |
- |
- |
- |
- |
|
sort |
package |
i |
Индекс сообщения в цепочке сообщений |
int |
- |
Нахождение одинаковых последовательностей символов |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Value |
ValueBuff |
Параметр для поиска повторных символов |
Название: MsgChain.
Описание: цепочка сообщений, блоков или L-грамм в строковом формате.
Название родительского класса: нет.
Список реализованных интерфейсов: IWord.
Роль в цифровой модели: является источником данных для кодирования и декодирования сообщений, блоков или L-грамм.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
MsgChain |
public |
meslen |
Длина исследуемой выборки сообщений |
int |
- |
Инициализация длины выборки сообщений |
|
getWord |
public |
i |
Индекс сообщения в цепочке |
int |
Сообще ние, блок или L-грамм |
Возвращает Сообщение, блок или L-грамм |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Wc |
String[] |
Массив сообщений, блоков или L-грамм |
Название: LevelChain.
Описание: цепочка сообщений, блоков или L-грамм в числовом формате.
Название родительского класса: нет.
Список реализованных интерфейсов: IWord.
Роль в цифровой модели: является источником данных для кодирования и декодирования сообщений, блоков или L-грамм.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
Level Chain |
public |
partinfo |
Информация о выборке сообщений |
Partition Info |
- |
Инициализация данных |
|
getWord |
public |
i |
Индекс сообщения в цепочке |
int |
Сообщение, блок или L-грамм |
Возвращает сообщение, блок или L-грамм |
|
getLength |
public |
- |
- |
- |
Длина цепочки уровней квантования |
Возвращает длину цепочки уровней квантования |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Chain |
int[][] |
Цепочка уровней квантования |
|
PartInfo |
PartitionInfo |
Информация о выборке сообщений |
Название: LookupTable.
Описание: таблица соответствия между сообщениями и числом вхождений.
Название родительского класса: нет.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: необходима для кодирования сообщений: самые частые слова кодируются меньшим числом двоичных знаков, а редкие слова – большим.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
Lookup Table |
public |
kbl |
Длина выборки сообщений |
int |
- |
Инициализация данных |
|
getEqual Table |
public |
- |
- |
- |
Таблица соответствия |
Возвращает таблицу соответствия сообщений к числам их вхождений |
|
getBlock Nums |
public |
- |
- |
- |
Последовательность номеров сообщений (числовой эквивалент цепочки сообщений) |
Возвращает последовательность номеров сообщений |
|
getDifMes |
public |
- |
- |
- |
Число различных сообщений |
Возвращает число различных сообщений |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
EqualTable |
int[][] |
Таблица соответствия номеров сообщений с числом их вхождений |
|
BlockNums |
int[] |
Массив номеров сообщений |
|
DifMes |
int |
Число различных сообщений |
|
NumberMsg |
HashMap <Integer, String> |
Таблица соответствия сообщений с их уникальными номерами |
Название: TreeOfStates.
Описание: дерево сообщений в методе построения оптимального кода Хаффмана.
Название родительского класса: нет.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: необходим для кодирования сообщений кодовыми словами эффективного кода. По данному дереву сообщений будет определяться как часто встречается данное слово и каким количеством знаков его нужно закодировать.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
TreeOf States |
public |
partition Info |
Информация о выборке сообщений |
Partition Info |
- |
Инициализация данных |
|
build |
public |
table |
Таблица соответствия сообщений с числом их вхождений |
LookupTable |
- |
Построение дерева сообщений |
|
getTree |
public |
- |
- |
- |
Дерево сообщений |
Возвращает дерево сообщений |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Tree |
int[][] |
Дерево сообщений |
Название: LookupTableBuilder.
Описание: формирователь таблицы соответствия между различными сообщениями и числом их вхождений.
Название родительского класса: нет.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: формирует таблицу соответствия сообщений с числом их вхождений в зависимости от способа кодирования и декодирования сообщений.
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Config |
PartitionInfo |
Информация о выборке сообщений |
|
Reader |
DataReader |
Режим обработки данных |
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
Lookup Table Builder |
public |
config |
Информация о выборке сообщений |
Partition Info |
- |
Инициализация данных |
|
reader |
Режим обработки данных |
Data Reader | ||||
|
make |
public |
chain |
Цепочка сообщений, блоков или L-грамм |
MsgChain |
LookupTable |
Создание таблицы соответствия сообщений с числом их вхождений |
Название: PosBinCode.
Описание: таблица двоичных позиционных кодов.
Название родительского класса: нет.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: необходима для кодирования – декодирования данных при их передачи между устройствами.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
PosBin Code |
public |
config |
Конфигурация работы |
PositionalCodeConfig |
- |
Инициализация конфигурации работы |
|
getWord |
public |
i |
Индекс кодового слова в таблице |
int |
Кодовое слово |
Возвращает кодовое слово по данному индексу |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Code |
String[] |
Массив позиционных кодов |
|
Config |
PositionalCodeConfig |
Конфигурация работы |
|
LpTable |
LookupTable |
Таблица соответствия сообщений |
Название: HuffmansCode.
Описание: таблица кодовых слов эффективного кода.
Название родительского класса: нет.
Список реализованных интерфейсов: нет.
Роль в цифровой модели: необходима для кодирования – декодирования данных при их передачи между устройствами.
|
Таблица методов | ||||||
|
Название |
Доступ |
Входные данные |
Описание |
Тип |
Выходные данные |
Описание |
|
HuffmansCode |
public |
config |
Конфигурация работы |
HuffmanConfig |
- |
Инициализа ция конфигура ции |
|
getWord |
public |
i |
Индекс кодового слова в таблице |
int |
Кодовое слово |
Возвращает кодовое слово по данному индексу |
|
Таблица полей | ||
|
Название |
Тип |
Описание |
|
Code |
String[] |
Массив кодовых слов эффективного кода |
|
Config |
HuffmanConfig |
Конфигурация работы |
|
LpTable |
LookupTable |
Таблица соответствия сообщений |
