赞
踩
本文章为笔者学习国产高云FPGA的学习记录,如有不妥请指正。
闲来无事记录一下前段时间使用fpga采集麦克风阵列拾音的demo。使用高云GW2A系列开发板,采集64阵列MEMS数字麦克风信号,并通过以太网发送上位机进行验证。
首先我们要明确的是麦克风采集的原始音频是PDM脉冲信号,为了便于后续处理使用高云自带的IP核PDM2PCM对原始数据进行转换。
下面简单介绍一下两种类型。
PDM是一种不同的音频编码方式,它将模拟音频信号转换为脉冲序列,其中脉冲的密度表示音频信号的幅度变化。PDM编码中,每个采样点都用一个脉冲表示,脉冲的密度或者称为脉冲宽度表示音频信号的幅度。PDM编码的音频数据以高速脉冲序列进行传输和存储,需要通过滤波器进行后续处理才能得到原始音频信号。
PCM是一种常见的音频编码方式,它将模拟音频信号按照一定的采样率进行采样,并将每个采样值量化为离散的数字值。PCM使用固定的位数来表示每个采样值,例如16位PCM表示每个采样值用16位二进制数表示。因此,PCM编码的音频数据以固定的比特率进行传输和存储。
PDM2PCM 的实现是由 CIC Filter 以及 CIC Compensation Filter 两部分 组成。
CIC 滤波器是滑动平均滤波器的一种有效实现。
图 1-1 CIC Filter
如图 1-1 所示,CIC Filter 是由多阶积分滤波器和梳状滤波器级联而成的 滤波器。PDM2PCM 使用的抽取结构的 CIC filter,输入信号先后经过积分器, 降采样,以及梳状滤波器进行处理。
传递函数为:
图 1-2 Integrator Filter
积分器,如图 1-2 所示。积分器是单极点的 IIR 滤波器。状态方程为
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。