Ev3658 написал(а):Даже производительности Xmega еле хватает
Ну да, не разгонишься, каждый шаг надо продумывать. Если хоть как-то обрабатывать звук в Hi-Fi качестве, то надо минимум от 100МГц МК. Впрочем здесь частоты небольшие должны быть и задача не сложная, можно без всяких и DMA обойтись...а так да, я по этому просто ушел на DSP.)
Ev3658 написал(а):микрофон очень чувствительный и шумы сторонние тоже воспроизводит
Ну аналог - есть аналог, тут важны и фильтры по питанию аналоговой части МК, и разводить чуть продуманнее, и фильтры по входам... Хотя сейчас главное программную часть завести, остальное думаю подтянется.
Судя по коду, ты решил юзать ацп без калибровки и некого алгоритма корректного считывания, возможно по этому лезут доп. помехи. На самом деле, когда ты обрабатываешь данные просто с датчиков этого всего не видно, но в реальности, когда слушаешь ушами, влияет даже алгоритм обработки/вычислений при работе звука (округление чисел, хотя казалось бы, что там сюсюкаться). То, что кажется незначительным, оптимизированным потом выходит боком при конечном результате.
Например, когда мы скажем из 16 бит хотим получить 12 или из 12 > 8, то можно смекнуть, что достаточно в коде быстро сдвинуть байт и всё, типа будет счастье. На самом деле, для лучшего получения качества на выходе, нужно делать деление с плавающей точкой, а затем правильное округление, тогда на выходе получается совершенно другой звук (мягкий). Единственное соглашусь, что для таких целей проще юзать МК с плавающей точкой или уходить в большие целочисленные вычисления (32-бит). Впрочем последнее можно организовать и на хмеге, если штатная функция баскома не устраивает. В общем поле экспериментов не паханое. 
Отредактировано RDW (2020-09-21 10:25:14)