This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC1310 PDM

Other Parts Discussed in Thread: CC1310

我使用CC1310 做PDM采集,将PDM采集的数据转换为PCM,然后生成WAV格式的音频,发现音频有两个问题。

1:当说话声音大时,会出现破音。我修改PDM的增益defaultFilterGain 参数,有默认的12DB ,改成0DB,会好一些

2: 有背景噪声,不管说不说话都会有 “滋滋”的声音。PDM采样有16K改为8K,背景噪声变小。

现在采集的音频质量还无法满足我们的需求,请问我改怎么来优化?

  • 跟同事讨论一下,稍后再来回复
  • 谢谢,希望尽快得到您的回复!

  • 根据问题描述,怀疑是麦克风本身的问题,而不是软件设置

    1、你有没有试过把defaultFilterGain 改得更低? PDMCC26XX_GAIN_12、PDMCC26XX_GAIN_0可以被替换为42【-3dB】,甚至21【-6dB】
    2、怀疑是麦克风本身的噪音,为了验证这一点,可以把PDM麦克风移除并把数据线保持为0。如果这一步消除了噪音,那说明麦克风需要做一些优化【有些电源线可能会带来噪音,具体得请教硬件专家】

    还有就是对PCM数据进行滤波,来降低噪声。
  • 这个问题找到了,是MIC的原因。现在遇到了另一个问题,通过I2S播放声音,发现声音会破掉,我使用STM32F4的开发板播放声音正常。通过逻辑分析仪抓取时钟,发现CC1310和STM32的I2S的Mclk是有差别的,STM32的是2048K,CC1310是2407K,我调整MCLKDivider的参数,mclk无法输出2048的时钟。请问I2S的这个参数该怎么调试?