#技术巡猎# #华为# 上次我们说了比亚迪的降噪,这次聊聊华为的。这份专利也是有意思的,降噪处理方法、头枕、座椅及车辆。核心的目的,是要解决“头枕ANC量产最容易翻车的短板“---麦克风信号非常容易被干扰,而且这些被干扰的“脏数据”,也会有所谓的垃圾进、垃圾出的情况---系统是持续受到训练的,学到了脏数据,它的处理也就不太可能好得了。
一个朴素的认识。
麦克风、扬声器的布置,离声源越近,频带理论上可以越宽,肯定是更准确、降噪量也会更好看。但现实情况在于,你离用户越近,你就越容易被用户所“干扰”。用户的头靠一靠,或者是衣服一蹭,抓痒痒,麦克风就会收到那种“乘员没什么感觉、但麦克风响应巨大”的摩擦/触碰信号。此时控制器如果把它当成噪声去进行抵消,扬声器反向放出的干扰音肯定是有问题的---比如本来只是衣服擦了一下,结果车里给你放了个“嗡”的一声,肯定不对。
这个专利的思路是这样的:它不求一对左右麦克风就能把环境给听清楚,它试图堆冗余。专利里左前区域放M个、右前区域放N个误差麦克风,而且M、N都要求大于2。也就是说,不是“左右一对”,是“左右一排”。布置是讲究的:同高度左右两个麦克风水平间距给到15---30cm(例子是22cm),扬声器到麦克风拾音孔的距离还要求至少3cm,避免近场的串扰太离谱。
关键是它怎么“挑麦克风”呢。
这个专利不要求所有的麦克风都是正常的,它接受“有部分麦克风会被遮挡、会受到乘员的摩擦、或者是出现离群的情况”,然后要先把不靠谱的麦克风信号先剔除出去,再用剩下的去做控制。
判断方法也很朴素:遮挡的话,就看高频衰减(500---20000Hz这一段衰减超过阈值,就判定可能被人头挡住了)。
摩擦/拍打就看能量突增(全频或1000---8000Hz的能量超过阈值,就认为有衣物摩擦这类干扰)。
还有一个是相关度,如果某只麦克风跟其他麦克风都“不合群”,相关性低于阈值,那它大概率在采自己那点“私域”,也是可以直接剔除的。
最后保证至少还有P路(P>1)信号参与运算---核心是让系统别被受到干扰的那个麦克风给带偏了。
另外,比较有产品指向的,是“虚拟麦克风”这条路。
专利描述的是:用多个真实麦克风的信号,通过预训练模型去估计“左耳/右耳附近”的虚拟麦克风信号;而且模型可以按可用麦克风组合切换,比如这次用1、2、4估计左耳附近的虚拟点,下次某只麦克风挂了,就换另一套组合。
你耳朵旁边的那个空间,始终是最关键的观测点,但现实里你不可能布置一只麦克风放在那里。只能说是通过软件,虚拟的,反推计算出那个位置的状态,就等同于“捏”出了一个等效的、虚拟的观测点。如此,来获取近耳的收益,同时又绕开近耳太脆弱的布置风险。
还有个很实用的思考。
遇到吹风干扰(低频50---500Hz能量异常)或者检测到人声时,系统可以选择不更新滤波器参数,先保持上一时刻的输出。做过自适应的人会知道,自适应最怕拿非稳态的东西去学习---开窗后一阵风、乘员突然开始聊天,算法如果还在更新的话,学废了一次就真的废了。所以在这里,与其“努力犯错”,不如短暂地对学习过程进行冻结。
我感觉到了今天ANC不算很稀奇的存在了,但是ANC的更进一步,肯定是去思考“人”的微观感受了。
