Код модуля

редактировать

Код Modulo- N - это алгоритм сжатия с потерями, используемый для сжатия коррелированных источников данных с использованием модульной арифметики.

Содержание
  • 1 Сжатие
  • 2 Декомпрессия
  • 3 Пример
  • 4 См. Также
Сжатие

При применении к двум узлам в сети, данные которых находятся в близком диапазоне друг от друга по модулю N, код требует, чтобы один узел (скажем, нечетный) отправлял значение закодированных данных в качестве необработанных данных ; четный узел требуется для отправки закодированных данных как. Отсюда и название кода по модулю N. M о знак равно D о {\ displaystyle M_ {o} = D_ {o}} M е знак равно D е мод N {\ displaystyle M_ {e} = D_ {e} {\ bmod {N}}}

Поскольку для представления числа K в двоичном формате требуются по крайней мере биты, для данных двух узлов, кодированных по модулю, требуются биты. Как обычно можно ожидать всегда, потому что. Так достигается сжатие. журнал 2 K {\ displaystyle \ log _ {2} K} журнал 2 M о + журнал 2 M е {\ displaystyle \ log _ {2} M_ {o} + \ log _ {2} M_ {e}} журнал 2 M е журнал 2 M о {\ displaystyle \ log _ {2} M_ {e} \ leq \ log _ {2} M_ {o}} M е N {\ displaystyle M_ {e} \ leq N}

Достигнутая степень сжатия составляет CR знак равно журнал 2 M о + журнал 2 M е 2 журнал 2 M о . {\ displaystyle {\ text {CR}} = {\ frac {\ log _ {2} M_ {o} + \ log _ {2} M_ {e}} {2 \ log _ {2} M_ {o}} }.}

Декомпрессия

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

БЛИЖАЙШИЙ ( M о , N . k + M е ) . {\ displaystyle \ operatorname {CLOSEST} (M_ {o}, N.k + M_ {e}).}

По сути, декодер находит наиболее близкое совпадение, и декодированное значение объявляется как M о N . k + M е {\ displaystyle M_ {o} \ simeq N.k + M_ {e}} N . k + M е {\ displaystyle N.k + M_ {e}}

пример

Для кода mod-8 у нас есть кодировщик

D_o=43,D_e=47 M_o=43,M_e=47 mod(8) = 7,

Декодер

 M_o=43,M_e=47 mod(8) = 7, D_o=43,D_e=CLOSEST(43,8⋅k + 7)     43  8  5 + 7 {\displaystyle 43\simeq 8\cdot 5+7} D_o=43,D_e=47

Декодирование по модулю N аналогично разворачиванию фазы и имеет то же ограничение: если разница от одного узла к следующему больше, чем N / 2 (если фаза изменяется от одного отсчета к следующему более чем), то декодирование приводит к неверное значение. π {\ displaystyle \ pi}

Смотрите также
  • DISCUS - это более сложный метод сжатия коррелированных источников данных.
  • Дельта-кодирование - это связанный алгоритм, используемый в алгоритмах сжатия без потерь, предназначенных для коррелированных источников данных.
Последняя правка сделана 2023-03-31 04:58:41
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте