Сначала: Числовое представление
Поскольку я предполагаю, что физический диапазон максимума океана ограничен (скажем, от -50,0 до 50 метров волн), если я правильно понимаю ваше описание, типичное IEEE 754-2008 32-разрядная с плавающей запятой (т. Е. float
в C / C ++) использует 8-разрядную для своей степени (диапазон от -126 до 127) и 23-разрядную для дробной и однойнемного за знак.Обратите внимание, что это основание 2.
Если ваша минимальная измеренная (или вычисленная) дисперсия составляет 1 мм, 0,001 метра, то вы можете уменьшить размер плавающей запятой до как минимум 16 бит.IEEE 754 определяет 16-битное значение с плавающей запятой для использования в качестве формата обмена.Который составляет 5 битов для показателя степени, 10 битов для дроби и 1 бит для знака.Я считаю, что это подойдет, и сразу же уменьшите ваши требования до 128 КБ / с (1024 Кбит / с).
После того, как я изначально написал это, я понял, что если вам нужно единообразное представление, с очень небольшим количеством ошибок впредставление (<= 2 мм), затем преобразуется в 16-разрядное целое число со знаком, что <code>unit представляет 2 мм физической высоты.Так что у вас будет единообразное представление с разрешением 2 мм, от значений в диапазоне от -32768 (== -65536 мм или приблизительно -65 метров до -200 футов) до 32767 (== 65534 мм или приблизительно 65,5 метров).
Это очень простое альтернативное представление, основанное на простом предположении, что a) допустимый диапазон значений составляет +/- 65,5 метра, и что разрешение 2 мм приемлемо для передачи.
Секунда: Изменение (фильтрация) данных
Я не знаю, является ли дискретное косинусное преобразование (DCT), аналогичное тому, чтоиспользуемый в сжатии JPEG может быть полезен как метод сжатия lossy .По сути, это приводит к квантованию данных, так что почти равные соседние значения сглаживаются таким образом, что их можно затем лучше сжать методами сжатия без потерь.
Третий: Традиционное сжатие без потерь
В противном случае достаточно быстрые методы сжатия без потерь, такие как методы на основе Лемпеля-Зива (LZ, LZH, LZW и т. Д.) И, возможно, быстрый метод LZO .