hongfadg 发表于 2016-10-24 16:30:54

如何解析数字麦克风的PCM信号

最近研究了下数字麦克风,播放一段音频声音,部分波形如下



我又用逻辑分析仪抓取了麦克风的波形,,部分波形如下



我现在想把数据还原为上面的波形数据 ,请问有什么好的办法呢,对PCM不是很了解,,希望朋友们指点下,,谢谢!!!

NJ8888 发表于 2016-10-24 16:34:09

是PDM,转模拟就是低通,转数字,我看要FPGA{:lol:},不过定时器也可能能用没试过

aozima 发表于 2016-10-24 16:47:13

CPLD/FPGA最靠谱了。
实在不行,也可以像ST的板子那样,用I2S采回来,然后用软件转换成PCM。

NJ8888 发表于 2016-10-24 16:50:30

aozima 发表于 2016-10-24 16:47
CPLD/FPGA最靠谱了。
实在不行,也可以像ST的板子那样,用I2S采回来,然后用软件转换成PCM。 ...

也可低通后用STM的ADC重采样{:lol:}

xwkm 发表于 2016-10-24 23:17:31

这是PDM信号。解析蛮简单的,写个FIR滤波器就搞定了。

34071417 发表于 2016-10-25 11:25:53

坐等大牛分析

NJ8888 发表于 2016-10-25 14:04:47

xwkm 发表于 2016-10-24 23:17
这是PDM信号。解析蛮简单的,写个FIR滤波器就搞定了。

你说的FIR我觉得有疑问,fir输入并行信号,楼主是串行脉冲没法直接给fir滤波器处理的

huangqi412 发表于 2016-10-25 14:27:51

NJ8888 发表于 2016-10-24 16:50
也可低通后用STM的ADC重采样

我进无言以对

at90s 发表于 2016-10-25 15:38:33

NJ8888 发表于 2016-10-25 14:04
你说的FIR我觉得有疑问,fir输入并行信号,楼主是串行脉冲没法直接给fir滤波器处理的 ...

用足够高的采样率采,如几兆,采到高电平就认为是32767,低电平是是-32767,然后丢到fir降采滤波。

at90s 发表于 2016-10-25 15:41:05

如果也可以先用cic滤波器降到合适的采样率后再用fir,这样可以省点资源。

li.wen 发表于 2016-10-25 15:44:29

请看附件

NJ8888 发表于 2016-10-25 16:05:12

at90s 发表于 2016-10-25 15:38
用足够高的采样率采,如几兆,采到高电平就认为是32767,低电平是是-32767,然后丢到fir降采滤波。 ...

我用滤波器软件试了下,这样做阶数吓死人的大,不现实

at90s 发表于 2016-10-25 16:15:40

NJ8888 发表于 2016-10-25 16:05
我用滤波器软件试了下,这样做阶数吓死人的大,不现实

先过cic滤波器,降采样后再fir

at90s 发表于 2016-10-25 16:28:30

NJ8888 发表于 2016-10-25 16:05
我用滤波器软件试了下,这样做阶数吓死人的大,不现实

先过cic滤波器,降采样后再fir。可以去找篇delta-sigma ADC设计的毕业论文或芯片手册看看设计方法,delta-sigma调制之后为几兆采样率,1比特量化的数据,之后滤波降采到正常的采样率,如44.1ksps。

xwkm 发表于 2016-11-23 11:03:41

at90s 发表于 2016-10-25 16:28
先过cic滤波器,降采样后再fir。可以去找篇delta-sigma ADC设计的毕业论文或芯片手册看看设计方法,delta ...

对。就是这样。不过对FPGA而言直接做个一百来阶的FIR都是小菜。M3的确需要CIC先降一下。

xwkm 发表于 2016-11-23 11:05:51

NJ8888 发表于 2016-10-25 14:04
你说的FIR我觉得有疑问,fir输入并行信号,楼主是串行脉冲没法直接给fir滤波器处理的 ...

定点处理的话把输入1给成INT_MAX/2,输入0改成-INT_MAX/2就是。浮点就是+1和-1,不用动。FIR滤波器输入的不是所谓并行信号,而是离散,量化后的信号。1bit量化也是量化。

90999 发表于 2016-11-23 11:53:52

PDM转PCM很快,只用做加减。

myxiaonia 发表于 2016-11-23 12:04:20

xwkm 发表于 2016-11-23 11:05
定点处理的话把输入1给成INT_MAX/2,输入0改成-INT_MAX/2就是。浮点就是+1和-1,不用动。FIR滤波器输入 ...

你还是中学生啊这么吊我看你软硬都吊的飞起

xwkm 发表于 2016-11-23 12:44:34

myxiaonia 发表于 2016-11-23 12:04
你还是中学生啊这么吊我看你软硬都吊的飞起

大二了都…

LQS1200 发表于 2016-11-23 14:29:16

xwkm 发表于 2016-11-23 12:44
大二了都…

大二就那么猛
页: [1]
查看完整版本: 如何解析数字麦克风的PCM信号