PCM和PDM的区别

主要区别是:

PCM:

1.使用等间隔采样方法:将每次采样的模拟分量幅度表示为N位的数字分量(N = 量化深度)
2.每次采样的结果都是N bit字长的数据
3.逻辑更加简单
4.需要用到数据时钟,采样时钟和数据信号三根信号线
PDM:
1.使用远高于PCM采样率的时钟采样调制模拟分量
2.PDM采样的音频数据 也常被叫做:Oversampled 1-bit Audio
3.只有1位输出:要么为0,要么为1
4.逻辑相对复杂
5.只需要两根信号线,即时钟和数据

### I2S中PCMPDM信号的区别 #### PCM (脉冲编码调制) PCM是一种广泛使用的音频采样方法,在I2S总线上传输时,数据通常按照固定的位宽(如16位、24位或32位)表示每个样本。PCM的特点在于其通过量化模拟信号幅度来实现数字化,具体表现为: - **高分辨率**:能够提供较高的音质,适用于高质量音乐播放设备。 - **固定比特率**:每秒传输的数据量相对稳定,便于硬件设计者规划带宽需求。 对于I2S接口而言,PCM格式意味着同步串行通信中的每一位代表实际声音波形的一个离散点[^1]。 ```c // 示例代码展示如何配置I2S以支持PCM模式 i2s_config_t i2s_pcm_config = { .mode = I2S_MODE_MASTER | I2S_MODE_TX, .sample_rate = 44100, // CD质量的采样频率 .bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT, }; ``` #### PDM (脉冲密度调制) 相比之下,PDM采用了一种不同的策略来进行音频信号处理。它不是直接测量振幅变化而是记录一段时间内正负电平转换次数的比例。这种技术特别适合于低功耗应用场合因为只需要一位二进制数即可表达大量信息而不需要复杂的模数转换器(ADC)。 当应用于I2S协议时,尽管物理层面上仍然是基于两线制(SCK & WS),但是逻辑上却有很大差异——这里不再有传统意义上的左/右声道区分以及精确的时间戳标记;取而代之的是连续的一系列高低脉冲序列用来近似原始声源特性。 ```c // 配置I2S用于接收麦克风输入(PDMPCM转换) i2s_pin_config_t pin_config; pin_config.bck_io_num = GPIO_NUM_27; /* Bit clock out */ pin_config.ws_io_num = GPIO_NUM_26; /* Word select out */ audio_hal_codec_config_t codec_cfg = AUDIO_HAL_CODEC_CONFIG_DEFAULT(); codec_cfg.pdm_rx_slot_mask = AUDIO_HAL_PDM_RX_SLOT_MONO_R; esp_err_t err = audio_board_iis_init(&pin_config); if (err != ESP_OK) { ... } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值