Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Глупые вопросы
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Anatol'
Возьмём, к примеру, два MEMS микрофона - ADMP421 и ADMP441. Вроде бы они позиционируются производителем как примерно одно и то же, но с разными выходами: у первого - pulse density modulation на 2.4 МГц, а во втором стоит честный АЦП, и выдаёт он аж 24 бита на 48 кГц (ну, учитывая его SNR, можно грубо взять эффективных 16 бит).
Так вот, исходя из "эквивалентности" микрофонов, я решил, что PDM 2.4 МГц можно преобразовать в PCM 16битХ48кГц или что-то близкое. Интуитивно, для преобразования нужно что-то типа суммирования со скользящим окном. Сколько не считал, не прикидывал, даже близко 16х48000 не получается.

Скажите, я что-то не так понимаю/считаю, или просто эти микрофоны ни фига не взаимозаменяемы?
SPACUM
Цитата(Anatol' @ Jun 13 2011, 11:18) *
Скажите, я что-то не так понимаю/считаю, или просто эти микрофоны ни фига не взаимозаменяемы?

Похоже у первого сигма-дельта модулятор, а у второго он снабжен хорошим цифровым фильтром(не первого порядка как у вас).
Anatol'
Цитата(SPACUM @ Jun 13 2011, 16:35) *
Похоже у первого сигма-дельта модулятор, а у второго он снабжен хорошим цифровым фильтром(не первого порядка как у вас).

У первого действительно сигма-дельта модулятор, но я как-то не могу сообразить, что это даёт.
Я в DSP довольно таки валенок, вы не могли бы пояснить, как должен выглядеть этот фильтр более высокого порядка?
Откуда вообще может взяться больше информации, если у нас на один отсчёт PCM (48000 Гц) есть ровно 50 отсчётов PDM (2.4 МГц). 50 единичек/ноликов, позиционно независимых - это log2(50) = 5.6 бит информации. Всё. Откуда её может взяться больше?
SPACUM
Цитата(Anatol' @ Jun 13 2011, 14:08) *
Откуда вообще может взяться больше информации, если у нас на один отсчёт PCM (48000 Гц) есть ровно 50 отсчётов PDM (2.4 МГц). 50 единичек/ноликов, позиционно независимых - это log2(50) = 5.6 бит информации. Всё. Откуда её может взяться больше?

Ну информации сколько было, столько и есть. Только шум порождаемый импульсами лучше убирается. Фильтром первого порядка вблизи среза только немного можно шум умять, посмотрите 1/1000 на какой частоте будет, а нам нужна точность выше. С другой стороны с мегагерц на десятки килогерц хороший цифровой фильтр легко сделать.

Anatol'
Цитата(SPACUM @ Jun 13 2011, 18:36) *
С другой стороны с мегагерц на десятки килогерц хороший цифровой фильтр легко сделать.

Ну так поведайте мне, пожалуйста, хотя бы основной принцип этого хорошего фильтра, раз легко.

Цитата(SPACUM @ Jun 13 2011, 18:36) *
Исходная информация это не уровень, а приращение уровня, в этом смысле информация сохраняется. Не может выходной параметр меняться очень быстро. Т.е. соседние отсчеты сильно связаны. Информация в двух соседних отсчетах не равна 24+24 = 48 бит. Фактически новое это насколько уровень изменился, а это далеко не 24 новых бита.

В PDM кодируется абсолютное значение сигнала, а не приращение, так же как и в PCM. И на высоких частотах приращение тоже может быть большим.
Ладно, даже если предположить, что значения соседних отсчётов действительно зависимы, что же за волшебный фильтр поможет эту информацию извлечь?
sup-sup
Цитата(Anatol' @ Jun 13 2011, 15:21) *
Ну так поведайте мне, пожалуйста, хотя бы основной принцип этого хорошего фильтра, раз легко.


В PDM кодируется абсолютное значение сигнала, а не приращение, так же как и в PCM. И на высоких частотах приращение тоже может быть большим.
Ладно, даже если предположить, что значения соседних отсчётов действительно зависимы, что же за волшебный фильтр поможет эту информацию извлечь?

Я бы посмотрел спектр выборки этого сигнала, поигрался бы при этом типами окон для FFT. Посмотреть сигнал и уровень шума в рабочей полосе. Все это есть в этой однобитовой последовательности. По результатам и можно выбирать фильтр. Порядок фильтра будет примерно равен минимальному размеру FFT, при котором виден результат.
Фильтр типа скользящего среднего - тоже фильтр, но самый плохой. Применение сглаживающего окна значительно улучшает подавление высоких частот. Но все это можно предварительно посмотреть спектроанализатором и увидеть состояние в рабочей полосе. Если там есть нужное отношение сигнала к шуму, это можно всегда отфильтровать.
То же самое относится и к SD потоку.
***Можно еще объяснить так, что применение сглаживающего окна вносит дисперсию в компоненты, подвергаемые фильтрации (умножение не на целое число), что приводит к уменьшению цифрового шума.
***
А скользящее среднее - это та же свертка, но с единичными коэффициентами, то есть, с прямоугольным окном (импульсной характеристикой). Получим из ИХ частотную характеристику и все увидим.
***
Вывод - если в смеси есть сигнал, его всегда можно отфильтровать (выделить). Хотя бы теоретически (не в реальном времени).
SPACUM
Цитата(Anatol' @ Jun 13 2011, 16:21) *
Ну так поведайте мне, пожалуйста, хотя бы основной принцип этого хорошего фильтра, раз легко.



А хороший цифровой фильтр на низких частотах можно сделать на QF1D512,
но чем вас не устраивает ADMP441 в котором этот фильтр уже встроен?
Выше 1.2 от частоты среза давит лучше -60 дБ и обеспечивает шум менее -60 дБА.

А принцип в любом учебнике по ЦОС.
Anatol'
Ок, чувствую, мне теперь предстоит очень много читать )
После ваших ответов и прочтения вот этой темы что-то начало помаленьку проясняться.
Всем спасибо, пошёл зарываться в книги...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.