DTD算法

1. 基于能量的检测方法

这个能量指的是短时能量,原理就是近端说话的时候,理论上应该声音能量明显大于只有回声的时候。

1.1 GEIGEL算法

把扬声器输出的信号与麦克风采集到的信号做能量比较,采集到的信号如果能量高于输出信号的话,则说明一定有回声。除非麦克风有放大输入信号的作用。由于输入信号和播放信号之间有一定的时延,所以拿当前的输入信号和一段时间之内(取大于等于时延的最小值)的输出信号的最大值做对比,如果输入信号大于这个值,则认为有double talk。 当然精确的说,应该是取正好是从当前时间向前推时延个时间单位的扬声器输出信号和输入做对比。但。。。GEIGEL木有这么做。
例子代码在 https://www.ietf.org/mail-archive/web/avt/current/msg04629.html

int dtdNdx;
    /* For Normalized Least Means Square - Pre-whitening */
    #define NLMS_LEN  (240*8)             /* maximum NLMS filter length in taps
    #define DTD_LEN 16          // block size in taps to optimize DTD
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值