Сжатие данных для микроконтроллера

Я делаю проект с микроконтроллером PIC. У меня есть выборка АЦП и сохранение данных в ОЗУ, после заполнения ОЗУ необходимо отправить его через Bluetooth с помощью микроконтроллера PIC.

Мои данные очень избыточны, у меня есть около 10-20 последовательных байтов, которые имеют одинаковое значение, затем они меняются и остаются такими же в течение 10-20 последовательных байтов.

Я хочу сжать данные, которые составляют около 512 КБ, чтобы быстрее отправлять их через Bluetooth, 512 КБ данных занимает около 2 секунд для передачи по Bluetooth со скоростью 2 Мбит / с. Распаковка будет быстрой, потому что данные передаются на двухъядерную платформу ARM, поэтому проблем с этим нет.

Существует ли какой-либо алгоритм для сравнительно быстрого сжатия данных для микроконтроллера PIC, такого как PIC24 или dsPIC, со скоростью около 40MIPS?

1 ответ

Решение

Исходя из этого описания, звучит так, будто кодирование по длине прогона было бы идеальным для вас. Это очень простой алгоритм; требуется всего несколько строк кода.

Другие вопросы по тегам