Помнится тему именно тут перетирали году эдак аж в ~2011. Я
жаловался, что если на ПК такое делать, то ничего так-то просто не
выйдет. Т.е. если я воткну в обычный ПК штук 8 звуковух, например,
то получится фигня: у каждой свой кварц и своя тактовая... и фаза
медленно но верно плывёт. Напрашивается передискретизация, как
минимум, под один генератор. Кроме того, у каждой звуковухи ещё и
своя задержка, свой буфер. Если USB -- вообще может быть печально.
Я бы на этот вопрос обратил внимание. Но автору проще: шустрый МК способный потянуть два десятка I2S PCM-потоков (SPI фактически) с нехитрой обработкой. Десяток стерео-кодеков с PDM-входами. Тактовая одна на всё, от МК. Никакие АРУ и вообще VGA в кодеке не нужны и вредны (как бы ещё калибровать усиление для каждого не пришлось, с микрофонами тоже...) Нужен скорей максимально широкий диапазон, в идеале 24 бита. В софте каждый вход домножить на весовой коэффициент и положить в кольцевой буфер, где указатель чтения бегает за указателем записи синхронно (от одной тактовой) и с заданной задержкой. Так, наверное , дискретность большая будет. Придётся сделать upscaling, путём zero-stufing'а. Потом считанное из буферов всё тупо складывается и фильтруется (убрать шумы квантования). И выдаётся на ПК, или куда-то ещё. Промежуточные результаты скорей 32-битные. Входными параметрами для алгоритма являются весовой коэффициент для каждого микрофона и задержка в буфере. Как их посчитать -- вот тут лучше к спец. литературе. Там начинаются нюансы, мол для разных частот диаграмма направленности ещё оказывается сильно разная. В общем случае если предположить, что источник сигнала там-то, то можно понять как распределяется давление на микрофонах (квадрат расстояния), только всё в обратную сторону. Только это не подход, т.к. обычно есть помещение и там масса отражений и волны интеренции просто стоят, их ушами слышно. Расчитать невозможно, только, условно говоря, подобрать по какому-то алгоритму. Для чего нужно как-то количественно оценивать источник сигнала, например, иметь детектор речи.
Задача реально тяжелая. Сколько не видел -- везде "микрофонный массив" сделан плохо. Либо вообще не работает (как один микрофон), либо направлен куда-то не туда (ещё хуже, то слышно, то не слышно).