Интересный феномен я нашел. Не знаю что это за глюк в математике. Но вот смотрите (вопрос к математикам)
амплитуду умножаю на 10. (все числа float)
float32_t amp = 199*10;
.
.
дальше перемножаю сигналы (они тоже float) и делю на теже 10. цифра от -1 до +1
arrDac[i ] = (signal* opora)/10; //цифра от -1 до +1
дальше формирую амплитуду для цап от 0...4000
умножаю на амплитуду и смещаю на эту же амплитуду, убираю отрицательный значения.
pOutDac[dacTxBankNawNumber][y] = (uint32_t) (amp + firOutDac[i ] * amp);
И получается вот такая красивая картинка....
(все дальше 3кГц это перегруз звуковой платы, в программе работает фир фильтр со срезом 3кГц)