OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4825|回复: 11

关于使用SPI方式驱动PDM数字麦克风出现噪声的问题。。。

[复制链接]

6

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
121
金钱
121
注册时间
2019-5-23
在线时间
44 小时
发表于 2020-5-8 12:42:27 | 显示全部楼层 |阅读模式
10金钱
我使用的是楼氏的MEMS数字硅麦克风:SPH0641LU4H-1,输出的是数字PDM信号。参考了ST官方的PDM麦克风录音程序,使用SPI1通信产生1.024MH时钟频率经过高低通滤波,和64采样比后得到的PCM数据封装成WAV格式文件存至SD中。
目前出现两个问题:


1、1.024MHz是使用的外部8M晶振分频倍频出来的,再使用SPI的函数做64倍分频产生16KHz的采样率。这种情况下保存的WAV文件放置电脑使用酷狗能正常播放。将频率改为3.072MHz,更改WAV头文件采样为48KHZ,更改滤波输出为48KHz,高通低通截止分别改为20Hz、20KHz,最后生成的WAV格式播放出错。发现更改滤波大于16K以后,WAV文件都无法播放。


2、使用16KHz的采样率,低通高通分别设置为16KHz,20Hz。录制的声音有很大的噪声。比如录制一首歌,播放的时候歌声会伴随着沙沙的噪声。

请求有做过PDM数字麦克风录音的大神帮忙解答一下

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

71

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2016-1-5
在线时间
1 小时
发表于 2020-5-8 12:42:27 | 显示全部楼层
只可惜水平比较弱,只能帮楼主顶一下,尽绵薄之力。
回复

使用道具 举报

0

主题

61

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2018-12-27
在线时间
0 小时
发表于 2020-5-8 16:02:40 | 显示全部楼层
帮顶,相信大家会帮您解答的
回复

使用道具 举报

6

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
121
金钱
121
注册时间
2019-5-23
在线时间
44 小时
 楼主| 发表于 2020-5-9 08:05:03 | 显示全部楼层
问题1已经解决,将输入缓冲区大小和输出缓冲区大小改动即可。问题2尚未有头绪
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2020-5-9 23:46:56 | 显示全部楼层
帮顶
回复

使用道具 举报

0

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2020-5-10
在线时间
25 小时
发表于 2020-5-10 17:21:53 来自手机 | 显示全部楼层
根据采样定理,采样率16kHz,那么低通截止频率不应该高于8kHz。个人建议设置成5到6kHz试试呢?
回复

使用道具 举报

0

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2020-5-10
在线时间
25 小时
发表于 2020-5-10 17:24:51 来自手机 | 显示全部楼层
参考奈奎斯特定理。由于是离散系统,频谱在频率轴上以采样率为周期循环出现。如果信号带宽大于采样率的一半,那么超出来的部分会相互混叠,体现在时域上就是播放出的噪声
回复

使用道具 举报

6

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
121
金钱
121
注册时间
2019-5-23
在线时间
44 小时
 楼主| 发表于 2020-5-10 18:17:13 | 显示全部楼层
fnems 发表于 2020-5-10 17:24
参考奈奎斯特定理。由于是离散系统,频谱在频率轴上以采样率为周期循环出现。如果信号带宽大于采样率的一半 ...

我将低通滤波频率降下去了,噪声还是有。还表现为整体音量下降。附一张记录的波形图。噪声很明显 QQ图片20200510181000.png
回复

使用道具 举报

0

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2020-5-10
在线时间
25 小时
发表于 2020-5-10 20:42:55 | 显示全部楼层
林道友 发表于 2020-5-10 18:17
我将低通滤波频率降下去了,噪声还是有。还表现为整体音量下降。附一张记录的波形图。噪声很明显

是后期对wav进行低通滤波吗?这样可能不行,因为混叠已经产生了。如果是对模拟信号的采样,一定要是进入ADC(采样保持器)之前使用硬件滤波器低通。

但是数字麦克风不一样,其PDM信号产生原理是Delta-Sigma调制,频谱比较复杂。
我不太了解PDM到PCM的转换函数。我猜想转换函数里面是不是有低通滤波器参数,或者有信号带宽的设置?
回复

使用道具 举报

6

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
121
金钱
121
注册时间
2019-5-23
在线时间
44 小时
 楼主| 发表于 2020-5-11 07:51:44 | 显示全部楼层
fnems 发表于 2020-5-10 20:42
是后期对wav进行低通滤波吗?这样可能不行,因为混叠已经产生了。如果是对模拟信号的采样,一定要是进入A ...

是的,PDM到PCM的转换经过了高低通滤波,然后再64倍采样。就可以封装成WAV文件存至SD卡了。没有后期对WAV进行低通滤波。上面的图是录制一段声音存至SD卡的WAV文件导入audacity软件后的结果。
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2020-5-18
在线时间
10 小时
发表于 2020-5-18 16:35:56 | 显示全部楼层
您好楼主,我刚开始接触数字麦克风采集,能否参考下您的程序?1073035597@qq.com
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2020-7-4
在线时间
1 小时
发表于 2020-12-21 10:27:01 | 显示全部楼层
楼主问题解决了吗  我用英飞凌的麦克风 同样噪声很大 能交流一下吗 QQ:154099131
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-3-1 08:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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