编解码器输出在啁啾输入上具有“波浪”幅度

信息处理 声音的 频率 采样
2022-02-12 16:28:45

我正在向连接到 MCU STM32F405 的音频编解码器 CS42L52 发送从 20Hz 到 500Hz 的啁啾声,并且我正在接收“波浪”幅度输出。MCU 上没有任何处理,我将信号直接从 DMA 输入到 DMA 输出。DMA 为 I2S 线路提供服务。如果我改变啁啾从 20 到 500 Hz 所需的时间,振幅波就会改变它的频率。

这张图片显示了顶部持续时间为 10 秒,底部持续时间为 5 秒的啁啾,并显示 5 秒啁啾的幅度频率是 10 秒啁啾的两倍。

(!芯片20到500

查看编解码器框图,它表明我可以在两个不同的位置绕过 MCU。第一个是在 PGA 输入之后,下一个是在增益调整和 ALC 之后。

cs42l52AnalogInputs

根据此框图,它们都传递到编解码器的 DSP,然后传递到编解码器的 DAC。

cs42l52AnalogOutputs

当我通过这些线路中的任何一条传递信号时,跳过 MCU,输出具有应有的恒定幅度。输入信号干净,没有“波浪”幅度。如果我通过设备输入一个频率,没有啁啾,幅度保持不变。我在编解码器上玩过很多设置,似乎找不到任何影响幅度波的设置。也许我忽略了一个设置?这几乎让我认为这是一个 MCU 问题,但我根本没有在 MCU 上操纵信号。DMA 将其存储为无符号整数是否有问题?可能是什么问题呢?

我的采样频率设置为 48 kHz,但我以 48.5 kHz 测量它,这会影响它吗?

1个回答

这些可能是信号采集或恢复所涉及的(配置错误的)抗混叠滤波器的频率响应中的波纹。可能是在您的 MCU 上运行并初始化编解码器的代码向编解码器发送了无效的配置信息;导致编解码器使用为错误采样率定义的滤波器系数。值得注意的一点是,STM32F4 I2S 主控只能以 256x FS 输出 MCK。检查您的编解码器是否可以在这样的 MCK 频率下以 48kHz 工作。

我能想到的另一件事是您在 MCU 上放置样本的软件“直通”例程。根据块大小和波形周期之间的比率,可能会出现幅度调制效果。