查看: 4592|回复: 2

[LPC双核挑战赛] 【imetro】LPC54114的DMIC和HWVAD示例(基于万利LPC54110开发板)

[复制链接]

该用户从未签到

6

主题

32

帖子

11

高级会员

Rank: 4

积分
529
最后登录
2023-2-23
发表于 2018-4-28 23:17:30 | 显示全部楼层 |阅读模式
本帖最后由 imetro 于 2018-4-28 23:45 编辑

之前一直在测试LPC5411x SDK中的电源管理API,花了太多时间,惭愧惭愧这两天抽空了解了一下DMIC和HWVAD,并且写了一个简单的例程用来测试效果,现在分享出来,希望能对大家有所帮助

简单地介绍一下这个项目吧。由于目标是测试数字麦克风的采样、滤波和语音活动识别(VAD,即Voice Activity Detection)的性能,所以并没有使用双核和低功耗特性,但是足以比较完整地体验DMIC模块的功能了。现在模块可以做以下几件事:
1. 驱动板上数字麦克风运行。DMIC时钟为FRO 12 MHz分频至2.4 MHz,再经DMIC模块的CIC滤波器(75倍下采样)和两级半带滤波器(共提供4倍下采样),最后得到的PCM信号的时钟应为8 kHz。
2. 识别语音活动。这里直接使用了HWVAD来完成,有几个配置的参数可以调整增益滤波器信号/噪声估计,这些参数都和环境相关且很大程度上影响识别效果,因此必须合理配置。目前的设定是语音活动产生后保持500 ms的空闲时间(毕竟人说话的时候总是要停顿一下的),如果在500 ms内有语音活动则重置计数器。使用LED0指示状态。
3. 通过USART0输出PCM信号。输出格式为16位小端,仅在有语音活动时输出。可以通过PC上的串口工具接收数据,再由GoldWave等软件分析语音信号。
4. 通过SWO输出LOWZ值。LOWZ值为HWVAD的一个指标,按照要求最好在500到1000之间,具体可看参考手册,这里就不废话了。

这里给大家提个醒,由于我对板子进行了一定改造,几乎断开了所有外设的连接,所以IOCON和GPIO的初始设置可能不满足原始板子的要求(除了DMIC、USART0 TX和LED外,大部分引脚都是GPIO+输入+下拉的状态),还请移植时仔细测试。另外,由于对SDK的某些驱动不满意,所以动手重写了一部分驱动,但是代码目前还不是很理想,所以看起来会有点混乱,不过我在相应的地方都做了注释,应该可以理解。

对了,项目使用的是Keil MDK 5.25,并且使用ARM Compiler 6编译器,新的编译器用过的都说好,建议大家尝试

---------- 分割线 ----------

接下来简单介绍一下DMIC和HWVAD的原理。首先来说说DMIC。
DMIC.jpg
DMIC说白了就是将数字麦克风输出的PDM信号转成PCM信号。我们知道,PDM使用超采样使得信号可以使用1-bit编码,代价就是更高的时钟和更高的带外噪声,必须通过滤波和降采样才能使用(当然他们是纯数字处理)。这需要经过以下几个步骤:
1. CIC滤波器。CIC滤波器可以高效地进行滤波和降采样,在倍频点附近的信号可以被有效过滤。当然,由于CIC滤波器的频率特性,通常降采样后的采样率仍为最终采样率的数倍,以便后续步骤使用更精细的滤波器进行滤波。在这个步骤可以对信号的增益进行调整,并且输出的信号可供HWVAD使用。
2. 预加重滤波器和半带滤波器。半带滤波器可以高效地对高于半带的信号进行过滤,代价是会损失半带附近的信号,因此这里可以选择使用预加重滤波器来补偿半带附近的信号。这里可以看到,DMIC模块可以选择输出1 FS或2 FS信号,分别对于不同的最终采样率。
3. DC滤波器。DC滤波器是高通滤波器(废话),用于滤除低频段的环境噪声,同时还可以对信号增益和饱和进行设置。最终结果将通过FIFO输出。

接下来是HWVAD,可以看到HWVAD直接用了4 FS PCM信号进行计算。
HWVAD.jpg
相对于DMIC,HWVAD的选项则要简单得多。HWVAD内建了信号和底噪的包络探测器,两者的输出结果将会分别乘上一个值(THGS和THGN)并进行比较,如果比较结果成立则发出HWVAD event。可以看到,THGS和THGN可以直接影响HWVAD的计算效果,而HWVADGAIN也很重要,通过合理设置可以使得包络探测器可以正确工作。

HWVAD.zip

601.71 KB, 下载次数: 10, 下载积分: 威望 1

回复

使用道具 举报

  • TA的每日心情
    奋斗
    2020-6-16 09:38
  • 签到天数: 589 天

    连续签到: 1 天

    [LV.9]以坛为家II

    3

    主题

    1039

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2387
    最后登录
    2020-6-16
    发表于 2018-5-1 21:23:57 | 显示全部楼层
    可以放几张试验时的图片进来呀!
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-7-2 13:42
  • 签到天数: 31 天

    连续签到: 1 天

    [LV.5]常住居民I

    12

    主题

    253

    帖子

    0

    高级会员

    Rank: 4

    积分
    576
    最后登录
    2020-4-7
    发表于 2018-5-21 15:36:33 | 显示全部楼层
    学习了学习了
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-8-11 04:27 , Processed in 0.083015 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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