ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 ноября
1036355 Топик полностью
fk0, легенда (13.09.2020 23:49, просмотров: 318) ответил Evgeny_CD на Синтетический порт. Отладишь алгоритмы - перенесешь на малинку.
Помнится тему именно тут перетирали году эдак аж в ~2011. Я жаловался, что если на ПК такое делать, то ничего так-то просто не выйдет. Т.е. если я воткну в обычный ПК штук 8 звуковух, например, то получится фигня: у каждой свой кварц и своя тактовая... и фаза медленно но верно плывёт. Напрашивается передискретизация, как минимум, под один генератор. Кроме того, у каждой звуковухи ещё и своя задержка, свой буфер. Если USB -- вообще может быть печально. Я бы на этот вопрос 

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


Задача реально тяжелая. Сколько не видел -- везде "микрофонный массив" сделан плохо. Либо вообще не работает (как один микрофон), либо направлен куда-то не туда (ещё хуже, то слышно, то не слышно).

[ZX]