请问通过DFSDM模块滤波后的声音,通过SAI 输出后,失真是.....
如题,我使用STM32L4系列的mcu开发了mic上行功能,通过DFSDM模块滤波以后,再通过SAI以I2S协议输出,但是通过DAC听到的声音完全失真,有做过这方面功能的大神吗?求助。自己给自己顶一下 顶顶顶顶顶 这个是不是需要编码?,滤波以后编码之后再通过DA发声? 没有做过类似项目,
估计是增益过高了,把增益调低一点。 没搞过这个,DFSDM只是个滤波器,你可以先不对信号进行处理,采集转换后直接I2S协议输出看看有没有失真,判断是哪个环节出问题了,如果是没问题,那应该就是DFSDM配置有问题了,一步步排除,希望能帮到你,DFSDM相关资料可以参考AN4957,利用DFSDM开发PDM麦克风应用介绍,STM32L4产品技术培训: L4 sigma delta数字滤波器模块(DFSDM)介绍 无薪税绵 发表于 2017-12-11 12:41
没有做过类似项目,
估计是增益过高了,把增益调低一点。
谢谢解答,请问增益是在哪个模块调节的呢? 若1989 发表于 2017-12-12 09:14
谢谢解答,请问增益是在哪个模块调节的呢?
你可以参考一下这篇文章:
https://www.stmcu.org.cn/module/forum/thread-612832-1-1.html 问题已经解决,造成声音失真的主要原因是SAI 的DMA配置发生错误,本应将hdma_sai1_a.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
hdma_sai1_a.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD;
做次配置,但是之前配置为了 DMA_PDATAALIGN_WORD 以及DMA_MDATAALIGN_WORD;
页:
[1]