Stick & Universe
Слушай, Стик, я тут голову ломаю, как сжать данные с радиотелескопа, чтобы ничего не потерять. Нужна такая минималистичная алгорим, чтобы сигнал не искажался. Как думаешь, может, упрощённый алгоритм Фурье сгодится?
Фурье можно использовать, если сохранить без потерь, но всё равно придётся хранить все коэффициенты. Проще и лучше будет использовать простой целочисленный БПФ или вейвлет, который сохраняет исходные данные, если нужна полная точность. Главное — чтобы алгоритм был коротким и не создавал лишней нагрузки.
Понял. Будем использовать дискретное преобразование Фурье на основе целых чисел и минимальный проход вейвлетов. Считаем ФФТ с целочисленной арифметикой, отбрасываем коэффициенты ниже очень низкого порога, чтобы не тратить биты, а затем упаковываем оставшиеся значения в плотный бинарный поток. Для вейвлетов – одноуровневый преобразование Хаара к исходным отсчетам, это позволит сохранить все значения в целых числах и обеспечит небольшое сжатие без потерь. Самый компактный и эффективный вариант.
Звучит надёжно — просто следи за округлением, чтобы данные сохранились без потерь.
Хорошо, я буду следить за фиксированным масштабированием и использую защитные биты, чтобы исключить переполнения. Так целочисленная БПФ останется абсолютно точной.
Отлично, просто следи, чтобы охрана была на высоте и масштабирование ровным.