Отцифровываю сигнал с целью дальнейшей передачи. Требуется большой динамический диапозон, АЦП 10 бит, канал 16 кбайт/сек.
Планирую свернуть 10 бит в 8 и передавать с дискретизацией 16 кГц...
НО!!! насколько я понимаю сворачивать надо половину, то есть получаем 10 бит, старший есть знак, и если он 0, тогда вычитаем из 512 оставшиеся 9 битное значение, иначе (если знак = 1), то оставляем как есть, затем используем эти 9 бит как адрес в таблице 512 байт, причем в такой таблице все значения от 0 до 127, и приделываем туда знак.
Отправляем, принимаем и все наоборот.
Вопрос, что будет, если рабочая точка усилителя уйдет? и среднее значение станет не 512? Вижу два варианта:
1. Постоянно корректировать значение разлома диапозона на положительную и отрицательную части.
2. На каждом шаге отцифровки складывать полученное значение с некоторой переменной и делить на 2, что-бы там всегда среднее значение держалось и если оно превышает 512, то выдавать на какую-то ногу микроконтроллера "0", иначе давать "1" - дальше интегрирующая цепочка и снятое с него напряжение на операционник для контроля рабочей точки....
Кто, что подскажет?