搜索
bottom↓
回复: 11

STM32F4采集PDM数字麦克风进行IIR滤波疑问

[复制链接]

出0入0汤圆

发表于 2016-8-18 08:57:37 | 显示全部楼层 |阅读模式
    大家好!最近项目要求,想用STM32F4采集数字麦克风PDM信号,再通过MATLAB计算IIR滤波参数,但采集的数据,发现波形很杂乱,请问大家有做过这样的项目吗?请多多指教,谢谢!!!

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出10入23汤圆

发表于 2016-8-18 09:20:11 来自手机 | 显示全部楼层
什么叫波形很杂乱?音频信号不就是这样么?

出0入0汤圆

 楼主| 发表于 2016-8-18 11:05:14 | 显示全部楼层
zouzhichao 发表于 2016-8-18 09:20
什么叫波形很杂乱?音频信号不就是这样么?

我用STM32F4采集PDM的数据是这样子的
javascript:;
然后经过IIR带通滤波后,和原来的差不多
javascript:;

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2016-10-3 07:28:50 | 显示全部楼层
MOAILin 发表于 2016-8-18 11:05
我用STM32F4采集PDM的数据是这样子的
javascript:;
然后经过IIR带通滤波后,和原来的差不多

PDM信号需要转PCM信号,才好处理。

不过转换的过程需要去掉噪音,ST有提供PDM to PCM的库你试试。

出0入0汤圆

发表于 2016-10-3 07:50:42 | 显示全部楼层
你可以先输入1个标准正弦波信号给数字MIC, 看F4读取的I2S数据串是否正常,一般从I2S数值的变化,你可以大概看出是正弦波数据。
请教下楼主, 你是怎么把F4读到的I2S数据输给MATLAB计算IIR滤波参数的?

出0入0汤圆

发表于 2016-10-3 07:51:16 | 显示全部楼层
你可以先输入1个标准正弦波信号给数字MIC, 看F4读取的I2S数据串是否正常,一般从I2S数值的变化,你可以大概看出是正弦波数据。
请教下楼主, 你是怎么把F4读到的I2S数据输给MATLAB计算IIR滤波参数的?

出675入8汤圆

发表于 2024-6-24 16:47:41 | 显示全部楼层
楼主,请问有 STM32F4采集数字麦克风PDM信号 的例程吗?可付费求购

出0入0汤圆

发表于 2024-6-24 16:52:39 | 显示全部楼层
MATLAB  IIR滤波参数涉及到采样率,楼主考虑过滤波器系数的采样率了没有

出0入1119汤圆

发表于 2024-6-24 16:54:52 | 显示全部楼层
本帖最后由 Himem 于 2024-6-24 17:24 编辑
xml2028 发表于 2024-6-24 16:47
楼主,请问有 STM32F4采集数字麦克风PDM信号 的例程吗?可付费求购
(引用自7楼)


STM32F4-Discovery_FW_V1.1.0\Project\Audio_playback_and_record\src\waverecorder.c
直接参考官方评估板的例程就行

大致思路就是spi dma双缓冲拿pdm数据,dma满了送入filter(libPDMFilter_IAR.a 官方库),出pcm


https://www.st.com/resource/zh/u ... icroelectronics.pdf

出675入8汤圆

发表于 2024-6-24 18:09:55 | 显示全部楼层
Himem 发表于 2024-6-24 16:54
STM32F4-Discovery_FW_V1.1.0\Project\Audio_playback_and_record\src\waverecorder.c
直接参考官方评估 ...
(引用自9楼)

我刚下载了,好多宏定义啊    我研究一下,好好啃啃哈

出0入1119汤圆

发表于 2024-6-24 19:25:36 | 显示全部楼层
本帖最后由 Himem 于 2024-6-24 19:43 编辑
xml2028 发表于 2024-6-24 18:09
我刚下载了,好多宏定义啊    我研究一下,好好啃啃哈
(引用自10楼)

  1.     /* Filter LP & HP Init */
  2.     Filter.LP_HZ = 8000;
  3.     Filter.HP_HZ = 10;
  4.     Filter.Fs = 16000;
  5.     Filter.Out_MicChannels = 1;
  6.     Filter.In_MicChannels = 1;
  7.    
  8.     PDM_Filter_Init((PDMFilter_InitStruct *)&Filter);

  9. ....

  10.    PDM_Filter_64_LSB((uint8_t *)InternalBuffer, (uint16_t *)pAudioRecBuf, volume , (PDMFilter_InitStruct *)&Filter);
复制代码


基本核心就一个初始化配置,一个流式转换

https://github.com/istarc/stm32/blob/master/STM32F4-Discovery_FW_V1.1.0/Project/Audio_playback_and_record/src/waverecorder.c

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出675入8汤圆

发表于 2024-6-24 23:08:25 来自手机 | 显示全部楼层
Himem 发表于 2024-6-24 19:25
基本核心就一个初始化配置,一个流式转换

https://github.com/istarc/stm32/blob/master/STM32F4-Disc ...

(引用自11楼)

我搞定了联系你,给您发红包,谢谢您的回答
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 01:07

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表