zoukankan      html  css  js  c++  java
  • ANC中的啸叫

    啸叫定义

    当扬声器的输出信号被麦克风采集到时,声通路形成闭合回路,产生声反馈现象,该信号在声反馈回路中会不断叠加放大形成正反馈,此时现象被称为自激震荡,因为其自激频率通常在中高频(1k-5kHz),听感似口哨(Whistle),人们通常将此现象称作啸叫。

     

    啸叫产生原理

     

    v(ω)是近端语音信号,u(ω)是扬声器馈给信号,y(ω)是麦克风采集的信号,x(ω)是经过传递函数G(ω)滤波的反馈信号,C(ω)是放音系统传递函数,主要是A/D、D/A产生的时延,K是扬声器增益。

    根据上图,计算得出响应函数:

     

    根据奈奎斯特闭环系统稳定性判据,

     

    系统就可产生自激振荡从而出现啸叫,n为任意整数。上式说明形成自激振荡必须具备两个条件:即相位平衡条件和振幅平衡条件。相位平衡要求反馈信号与近端语音信号必须相位相同,即保证形成的反馈是正反馈。振幅平衡条件要求的幅值大于幅度反复累加最后形成自激振。

    啸叫抑制算法

    对于单通道音频系统,主流的三种啸叫抑制方法为移频移相法、陷波抑制法和自适应抵消法。一般情况下这三种方法单独应用其控制效果依次是:自适应反馈抵消法优于陷波抑制法优于移相移频法。

    指标

    最大稳定增益MSG(Maximum Stable Gain)来衡量系统最大且不啸叫时的绝对增益, MSG(t)=20log10Kmax,其中Kmax为整个系统所能达到的临界增益值,(即出现啸叫时刻的增益值)在此基础上,定义相对增益量来评价嘯叫抑制系统的性能,ΔMSG(t)=20log10(K1max/ K2max),其中K1max为整个系统不加啸叫控制所能达到的临界增益值,K2max为整个系统加啸叫控制所能达到的临界增益值,因此表示采用啸叫抑制系统前后,扩音系统MSG的提升量。

    ANC中的啸叫

    啸叫产生有以下两种情况,分别会导致前馈或反馈滤波器发散。

    滤波器

    前馈

    反馈

    原因

    参考mic采集到耳机内部泄漏的声信号,形成声反馈通路

    用户佩戴习惯不同或摘下耳机,导致S(z)不匹配,噪声不能被抵消

    解决方式

    反馈抵消:根据误差mic的信号,生成抵消信号,将参考mic采集到的信号中泄漏的信号抵消。

    设定反馈输出信号的阈值,当输出信号超过阈值时,将反馈增益调小,直至输出在阈值之内。

    直接将增益调小

  • 相关阅读:
    OpenCV -- CV_8UC1,CV_32FC3等参数的含义
    OpenCV -- 命名空间及相关函数介绍
    Qt -- QMutex使用详解
    QT -- 常用数据结构及函数
    Qt -- QQueue用法
    Qt -- QSetting类/ini配置文件的读写操作
    QT--日期操作QDateTime
    设备接口总汇(含实物图)
    “SurfFeatureDetector”: 未声明的标识符/不能实例化抽象类
    OpenCV -- Shi-Tomas角点检测与亚像素级角点检测
  • 原文地址:https://www.cnblogs.com/keepthinking-go/p/13864485.html
Copyright © 2011-2022 走看看