Search found 3 matches

by zhou_xingxing1
Tue Apr 07, 2026 1:42 am
Forum: ESP-IDF 中文讨论版
Topic: ESP32C3 读取 Raw PDM 数据问题
Replies: 4
Views: 644

Re: ESP32C3 读取 Raw PDM 数据问题

INMP441 输出的是 I2S 格式数据,我用的是颗 PDM 数字 mic,和标准 I2S 不太一样。 :(

我现在按照 IDF 文档里的说明在处理了:
无论原始 PDM 格式还是 PCM 格式,PDM 模式下的一个数据单元总是 16 比特的位宽。例如,用原始 PDM 格式发送数据,那么您数组中的数据应该像这样排列:CH0 0x1234,CH1 0x5678,CH0 0x9abc,CH1 0xdef0。RX 方向同理。

即只取奇数位 u16 的数据做处理。

只是之前测试的时候发现,我硬件上只接了一个通道的 PDM MIC,但不论取奇数位,还是偶数位的 u16,好像都有效果 ...
by zhou_xingxing1
Tue Mar 24, 2026 2:31 pm
Forum: ESP-IDF 中文讨论版
Topic: ESP32C3 读取 Raw PDM 数据问题
Replies: 4
Views: 644

Re: ESP32C3 读取 Raw PDM 数据问题

哥们,感谢讨论。你这个还能解释的通。
我用的 ESP32C3 没有内置的 PDM2PCM 模块,然后项目上用的又是个 PDM MIC。
从数据量和采样时长上解释不通,看原始数据,也看不出 left, right 数据到底是怎么样分布的
by zhou_xingxing1
Thu Mar 19, 2026 9:40 am
Forum: ESP-IDF 中文讨论版
Topic: ESP32C3 读取 Raw PDM 数据问题
Replies: 4
Views: 644

ESP32C3 读取 Raw PDM 数据问题

使用的是 esp-idf v5.5.3

.clk_cfg = I2S_PDM_RX_CLK_DEFAULT_CONFIG(1024000),
.slot_cfg = I2S_PDM_RX_SLOT_RAW_FMT_DEFAULT_CONFIG(I2S_DATA_BIT_WIDTH_16BIT, I2S_SLOT_MODE_MONO),

基于这样的配置,我想通过 i2s_channel_read 连续采样 20ms 的 PDM 数据。
是不是需要的 buffer 大小为:
1024000 * 20 / 1000 = 20480 bits = 2560 bytes

但是我通过 esp ...

Go to advanced search