stringtranslate.com

Импульсно-плотностная модуляция

Модуляция плотности импульсов , или PDM , является формой модуляции, используемой для представления аналогового сигнала с помощью двоичного сигнала . В сигнале PDM определенные значения амплитуды не кодируются в кодовые слова импульсов разного веса, как это было бы в импульсно-кодовой модуляции (PCM); скорее, относительная плотность импульсов соответствует амплитуде аналогового сигнала. Выход 1-битного ЦАП такой же, как и кодирование сигнала PDM.

Описание

В потоке битов модуляции плотности импульсов 1 соответствует импульсу положительной полярности (+ A ), а 0 соответствует импульсу отрицательной полярности (− A ). Математически это можно представить как

где x [ n ] — биполярный поток битов (либо − A , либо + A ), а a [ n ] — соответствующий двоичный поток битов (либо 0, либо 1).

Прогон, состоящий из всех единиц, будет соответствовать максимальному (положительному) значению амплитуды, все нули будут соответствовать минимальному (отрицательному) значению амплитуды, а чередование единиц и нулей будет соответствовать нулевому значению амплитуды. Непрерывная амплитудная форма сигнала восстанавливается путем фильтрации нижних частот биполярного битового потока PDM.

Примеры

Один период тригонометрической синусоидальной функции , выбранный 100 раз и представленный в виде потока битов ШИМ, равен:

01010110111110111111111111111111111011111101101101010100100100000010000000000000000000001000010010101

Пример ШИМ из 100 выборок одного периода синусоиды. Единицы представлены синим цветом, нули представлены белым цветом, наложенным на синусоиду.

Два периода синусоиды более высокой частоты будут выглядеть следующим образом:

010110111111111111111011010100100000000000001000100110111011111111111111011010100100000000000000100101

Второй пример ШИМ из 100 выборок двух периодов синусоиды удвоенной частоты

При модуляции плотности импульсов высокая плотность единиц наблюдается на пиках синусоиды, тогда как низкая плотность единиц наблюдается на впадинах синусоиды.

Аналого-цифровое преобразование

Поток битов PDM кодируется из аналогового сигнала с помощью процесса 1-битной дельта-сигма-модуляции . Этот процесс использует однобитный квантователь , который выдает либо 1, либо 0 в зависимости от амплитуды аналогового сигнала. 1 или 0 соответствуют сигналу, который находится полностью вверх или полностью вниз соответственно. Поскольку в реальном мире аналоговые сигналы редко находятся полностью в одном направлении, возникает ошибка квантования, разница между 1 или 0 и фактической амплитудой, которую он представляет. Эта ошибка отрицательно передается обратно в цикле процесса ΔΣ. Таким образом, каждая ошибка последовательно влияет на каждое другое измерение квантования и его ошибку. Это имеет эффект усреднения ошибки квантования.

Цифро-аналоговое преобразование

Процесс декодирования сигнала PDM в аналоговый прост: нужно только пропустить сигнал PDM через фильтр нижних частот . Это работает, потому что функция фильтра нижних частот по сути заключается в усреднении сигнала. Средняя амплитуда импульсов измеряется плотностью этих импульсов с течением времени, поэтому фильтр нижних частот является единственным шагом, необходимым в процессе декодирования.

Связь с ШИМ

Широтно-импульсная модуляция (ШИМ) является особым случаем ШИМ, где частота переключения фиксирована, и все импульсы, соответствующие одному образцу, являются смежными в цифровом сигнале. Метод демодуляции в аналоговый сигнал остается тем же самым, но представление 50% сигнала с разрешением 8 бит, ШИМ-волна будет включаться в течение 128 тактовых циклов, а затем выключаться в течение оставшихся 128 циклов. С ШИМ и той же тактовой частотой сигнал будет попеременно включаться и выключаться через цикл. Среднее значение, полученное фильтром нижних частот, составляет 50% от максимального уровня сигнала для обеих форм сигнала, но сигнал ШИМ переключается чаще. Для уровня 100% или 0% они одинаковы, при этом сигнал постоянно включен или выключен соответственно.

Связь с биологией

Примечательно, что одним из способов представления сенсорной и другой информации в нервной системе животных является кодирование частоты , при котором величина сигнала связана со скоростью активации сенсорного нейрона. [ необходима ссылка ] По прямой аналогии, каждое нейронное событие, называемое потенциалом действия, представляет собой один бит (импульс), а скорость активации нейрона представляет собой плотность импульса.

Алгоритм

Модуляция плотности импульсов синусоиды с использованием этого алгоритма

Следующая цифровая модель модуляции плотности импульса может быть получена из цифровой модели 1-го порядка дельта-сигма модулятора . Рассмотрим сигнал в дискретной временной области как вход для дельта-сигма модулятора первого порядка, с выходом. В дискретной частотной области, где Z-преобразование было применено к амплитудному временному ряду для получения , выход работы дельта-сигма модулятора представлен как

где - ошибка квантования в частотной области дельта-сигма-модулятора. Переставляя члены, получаем

Фактор представляет собой фильтр верхних частот , поэтому ясно, что вносит меньший вклад в выходной сигнал на низких частотах и ​​больший на высоких частотах. Это демонстрирует эффект формирования шума дельта-сигма-модулятора: шум квантования «выталкивается» из низких частот в высокочастотный диапазон.

Используя обратное Z-преобразование , мы можем преобразовать это в разностное уравнение, связывающее вход дельта-сигма-модулятора с его выходом в дискретной временной области,

Необходимо рассмотреть два дополнительных ограничения: во-первых, на каждом шаге выходной образец выбирается так, чтобы минимизировать ошибку квантования "бегущей" во-вторых, представлен в виде одного бита, что означает, что он может принимать только два значения. Мы выбираем для удобства, что позволяет нам записать

Перегруппируем для решения задачи:

Это, наконец, дает формулу для выходного образца в терминах входного образца . Ошибка квантования каждого образца возвращается на вход для следующего образца.

Следующий псевдокод реализует этот алгоритм для преобразования сигнала импульсно-кодовой модуляции в сигнал ШИМ:

// Кодируем сэмплы в модуляцию плотности импульсов // с использованием сигма-дельта модулятора первого порядкаfunction pdm( real[0..s] x, real qe = 0) // начальная ошибка выполнения равна нулю  var  int[0..s] y  для n от 0 до s сделать qe := qe + x[n] если qe > 0, то у[н] := 1 еще у[н] := −1 qe := qe - y[n]  return y, qe // возврат вывода и ошибка выполнения

Приложения

PDM — это кодировка, используемая в формате Super Audio CD (SACD) компании Sony под названием Direct Stream Digital .

PDM также является выходом некоторых микрофонов MEMS . [1]

Некоторые системы передают стереозвук PDM по одному проводу данных. Нарастающий фронт главного тактового сигнала указывает на бит из левого канала, в то время как падающий фронт главного тактового сигнала указывает на бит из правого канала. [2] [3] [4]

Смотрите также

Ссылки

  1. ^ Фрид, Лимор (2018-01-10). "Adafruit PDM Microphone Breakout". Система обучения Adafruit . Архивировано из оригинала 2022-12-08 . Получено 2023-06-30 .
  2. ^ Томас Кайт. «Понимание цифрового звука PDM» (PDF). 2012. Раздел «Микрофоны PDM» на стр. 6.
  3. ^ Maxim Integrated. «PDM Input Class D Audio Power Amplifier» (PDF). 2013. Рисунок 1 на стр. 5; и раздел «Цифровой аудиоинтерфейс» на стр. 13.
  4. ^ Ноулз. «SPK0641 Цифровой, КМОП-МЭМС-микрофон» (PDF).

Дальнейшее чтение