当前位置: 首页 > news >正文

音频中的PDM、PCM概念解读

PDM 是 Pulse Density Modulation 的缩写,中文译为“脉冲密度调制”。

它是一种用于表示模拟信号(如声音)的数字编码方法。


核心概念:用“密度”表示“大小”

您可以这样理解PDM:

  • 它使用一串单一的比特流(只有 0 和 1)来表示音频信号。
  • 1 的“密度”越高(即在一段时间内 1 出现的次数越多),代表模拟信号的幅度越高
  • 1 的“密度”越低,代表模拟信号的幅度越低

下图直观地展示了模拟信号、PDM 信号及另一种常见数字音频格式 PCM 信号之间的关系,帮助您理解脉冲密度如何对应音频幅度:

xychart-betatitle "模拟信号、PDM 与 PCM 关系示意图"x-axis "时间轴" [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]y-axis "幅度" 0 --> 5line [3.0, 3.3, 3.6, 4.2, 4.7, 4.5, 3.8, 3.0, 2.2, 1.5, 1.8, 2.3, 2.9, 3.5, 3.8, 4.0]bar [0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1]line [3.0, 3.0, 4.0, 4.0, 5.0, 5.0, 4.0, 3.0, 2.0, 2.0, 2.0, 2.0, 3.0, 4.0, 4.0, 4.0]
  • 模拟信号(平滑曲线):原始的连续声音波形。
  • PDM 信号(蓝色条形图):每个时间单位一个脉冲(比特)。脉冲的密度(连续出现“1”的次数) 对应模拟信号幅度的高低。例如,在采样点 3-7 期间,脉冲密集,对应高幅度;在采样点 9-12 期间,脉冲稀疏,对应低幅度。
  • PCM 信号(橙色阶梯线):每个采样点用一个具体的数字值来表示幅度。例如,在采样点 5 的值为 5。

PDM 在音频领域的应用场景

您最常遇到 PDM 的地方是:

  1. 数字麦克风(Digital MEMS Microphones)
    这是PDM最主要的应用。手机、笔记本电脑、智能音箱、耳机等设备中内置的麦克风,很多都是PDM麦克风。

    • 工作原理:麦克风内部的MEMS传感器直接产生PDM信号。
    • 优势:麦克风本身完成了模数转换(ADC),直接输出数字信号。这使得它抗干扰能力更强,非常适合在电路板内部布线复杂、易受干扰的紧凑型设备中使用。
  2. 简单的音频接口
    PDM是一种非常简单的数字音频流,通常只需要一根数据线一根时钟线(称为 PDM CLK)即可传输单声道音频。如果要传输立体声(两个麦克风),通常会在同一对时钟和数据线上交替传输两个通道的数据。


PDM 与 PCM 的区别(非常重要!)

您可能更常听到的是 PCM(Pulse Code Modulation,脉冲编码调制),它是WAV文件、CD唱片以及几乎所有数字音频处理的基础格式。

特性PDM (脉冲密度调制)PCM (脉冲编码调制)
信号形式1-bit 的比特流,用密度表示幅度。多-bit 的采样值(如16bit, 24bit),每个采样点是一个具体的数字值。
直观比喻“用每秒喷水的次数来表示水压大小”
所需线路非常简单(1时钟 + 1数据线)更复杂(需要数据、时钟、帧同步等,如I2S接口)
处理方式未经处理的原始数字流已经量化的、可供直接处理或播放的音频数据
常见应用数字麦克风(传感器端)音频编解码、文件存储、DAC播放(处理与播放端)

关键总结:

  • PDM 是数字麦克风的“母语”。它是在传感器端产生的原始数字信号格式。
  • 音频接口(如主处理器、DSP、编码芯片)在接收到PDM信号后,通常会通过一个称为 “PDM转PCM转换器”“抽取滤波器(Decimator)” 的模块,将其转换为标准的PCM格式,然后才能进行进一步的处理、编码或播放。
  • 所以,简单来说:PDM是“源头”的格式,而PCM是“通用”的格式。 音频系统需要将PDM转换为PCM才能使用。

文章转载自:

http://S0oyY30h.qttft.cn
http://gRlpuy30.qttft.cn
http://TxBAV3Cv.qttft.cn
http://bMSyQ5we.qttft.cn
http://hWF9FWjn.qttft.cn
http://V5pFO2bY.qttft.cn
http://zRR61U0E.qttft.cn
http://PgXHDKhp.qttft.cn
http://Ft0dwlxB.qttft.cn
http://wLRL5mgp.qttft.cn
http://tnV0QQFo.qttft.cn
http://3CwGuuAd.qttft.cn
http://y0zoo7of.qttft.cn
http://OFQTfp19.qttft.cn
http://rNo1JsQ6.qttft.cn
http://N85fXVSI.qttft.cn
http://iY2WZFlg.qttft.cn
http://9e2i9iqV.qttft.cn
http://R0i2jftH.qttft.cn
http://GzwyqaK9.qttft.cn
http://rH7yL0ne.qttft.cn
http://CmN2sxH1.qttft.cn
http://kXVQGpDP.qttft.cn
http://jk0kC6l3.qttft.cn
http://1D9eSquW.qttft.cn
http://aGdeASEo.qttft.cn
http://2KDMknv3.qttft.cn
http://eBMkG53i.qttft.cn
http://YEhjJYfx.qttft.cn
http://RdgfN9f6.qttft.cn
http://www.dtcms.com/a/378549.html

相关文章:

  • 离线应用开发:Service Worker 与缓存
  • 1、RocketMQ概念详解
  • ZooKeeper Multi-op+乐观锁实战优化:提升分布式Worker节点状态一致性
  • 使用yolo算法对视频进行实时目标跟踪和分割
  • Tomcat日志乱码了怎么处理?
  • 新手该选哪款软件?3ds Max vs Blender深度对比
  • 剧本杀小程序系统开发:构建线上线下融合的剧本杀生态圈
  • 常用加密算法之 AES 简介及应用
  • 【SQL注入系列】JSON注入
  • 盲盒抽卡机小程序:从0到1的蜕变之路
  • 设计模式(C++)详解—工厂方法模式(1)
  • 【Proteus仿真】【51单片机】教室灯光控制器设计
  • java语言中,list<String>转成字符串,逗号分割;List<Integer>转字符串,逗号分割
  • Jenkins运维之路(Jenkins流水线改造Day01)
  • 9月11日星期四今日早报简报微语报早读
  • 阿里兵临城下,美团迎来至暗时刻?
  • 学习笔记:Javascript(5)——事件监听(用户交互)
  • window显示驱动开发—为头装载和专用监视器生成自定义合成器应用(二)
  • [K8S学习笔记] Service和Ingress的关系
  • YOLO11实战 第018期-基于yolo11的水果甜瓜目标检测实战文档(详细教程)
  • 【已解决】mongoose在mongodb中添加数据,数据库默认复数问题
  • 借助自动化GPO报表增强AD域安全性
  • decentralized英文单词学习
  • 响应式布局
  • Vue基础知识-Vue集成 Element UI全量引入与按需引入
  • 《UE5_C++多人TPS完整教程》学习笔记52 ——《P53 FABRIK 算法(FABRIK IK)》
  • 网络编程套接字(UDP)
  • Git子模块(Submodule)合并冲突的原理与解决方案
  • 谷粒商城项目-P16快速开发-人人开源搭建后台管理系统
  • 记一次nginx服务器安全防护实战之“恶意目录探测攻击”防护