做免提通话产品,回声是绕不开的坎:喇叭一响,麦克风把声音又收回去,对面听到自己的声音延迟回来,验收直接打回。
传统解法两条路,都不轻松。软件AEC看似免费,实际是时间黑洞——参考信号对齐、双讲检测、参数收敛,每一项都和产品腔体强相关,换结构就重调,三个月耗进去很常见。自研DSP方案能走通,但芯片、算法授权、音频算法工程师的门槛和成本都在那摆着。
有没有第三条路?有,简单到不像话——F-18,把AEC做成免驱硬件模块,接线即用,不用写一行代码。
它是什么
F-18是声讯电子的语音处理模块,核心是富迪FM1188 DSP,出厂已固化回声消除+噪音压制算法参数。适用于以太网、WiFi、蓝牙、电话线、2.4G等数字传输的通话产品:可视门铃、门禁对讲、电梯广播对讲、监护仪、免提平板、蓝牙通话音响、车载通话……全是免提全双工的回声重灾区。
所谓免驱,是系统架构层面的:麦克风信号进模块,采样、对消、降噪、输出全部在模块内闭环完成。不占主控算力和存储,无驱动、无固件、无操作系统依赖——主控哪怕是8051跑裸机都不影响。
三天量产是怎么做到的
回到标题。为什么用F-18的团队敢说三天量产?我们把接线这件事拆开看。
F-18总共12个脚位,真正必须接的只有这么几组:供电两个脚(GND加VCC,电压4到5V,标准5V就行);主麦克风两个脚(MIC0的正负极);一个参考信号输入脚(LINE_IN);一个处理结果的输出脚(LINE_OUT)。满打满算,飞线8根,一个下午焊完。
麦克风这边几乎没有选型负担。MIC0用最普通的驻极体电容麦克风就行,灵敏度没有特别要求,因为模块内部自带增益调节——这个细节很贴心,意味着你不用为了配麦克风灵敏度再去搭一级运放。麦克风信号进模块,经过回声消除和噪音压制,从LINE_OUT出来,直接接你系统主控的MIC输入端。对主控来说,进来的是一个已经洗干净的音频信号,它什么都不用做。
那回声消除的参考信号从哪来?这是整个方案里唯一需要你动脑子的地方。F-18的LINE_IN脚是AEC参考信号的输入端,这个脚要接你系统功放的输出端。逻辑很好理解:模块得知道喇叭在放什么,才能把麦克风信号里混进去的那部分"喇叭声"减掉。参考信号接对了,回声消除才有的放矢;接错了,效果等于零。后面避坑章节我会再展开。
所以"三天"的构成大概是这样:第一天读手册、确认接口定义,第二天接线焊接、装进结构件,第三天整机联调、验证通话效果。没有一行代码,没有算法参数,没有开发环境。你原来打算花在AEC调优上的三个月,可以直接省下来去打磨别的功能。
它内部到底怎么工作的
有必要交代一下原理层面的东西,不然这模块听起来像玄学。
F-18的核心处理链路是这样的:主麦克风MIC0拾取的声音里,混杂着三样东西——你想传送的人声、喇叭放出来又被收进去的回声、以及环境噪音。FM1188拿到这个"脏"信号,同时从LINE_IN拿到功放端的参考信号,也就是喇叭正在放的内容。DSP用参考信号做模板,把麦克风信号里与模板相关的那部分成分对消掉——回声就这么被抹掉了。剩下的人声再过噪音压制,从LINE_OUT输出干净信号。
模块还留了一对喇叭差分输出脚(SPK_P/SPK_N),不过要说明白这对脚的真实身份:它输出的是LINE_IN进来的信号经过FM1188内部处理后的版本,可以拿来当通话监听用,也就是说你可以直接挂一个小喇叭在模块上听对面的声音,省掉系统侧的一套放音链路。
另外F-18支持双麦克风模式,但这里有个非常容易踩的认知坑:次麦克风MIC1在工作中只负责拾取环境音,辅助降噪,它的信号永远不会从LINE_OUT输出。有人以为双麦就是双通道输出,接到设计里才发现第二路麦克风"没声音",跑来怀疑模块坏了——不是坏了,本来就是这么设计的。常规的消回音加降噪应用,MIC1不接都行,空置或者用一颗104电容接地即可,单主麦完全够用。
几个实打实的避坑点
方案简单不等于没有坑,这几个点是从手册和应用说明里挖出来的,每一个都可能让你多返工一轮。
第一,喇叭输出的驱动能力。F-18的SPK差分输出只够驱动32Ω以上阻抗的喇叭。你如果拿它去推4Ω、8Ω的常见小喇叭,声音出不来甚至烧模块,别问我怎么知道的。需要大音量的产品,老老实实在模块后端加一颗功放芯片。当然,加了后级功放也别忘了:功放的输出端要回接到LINE_IN做参考信号,这个环路不能断。
第二,采样率是8kHz,这是颗语音专用芯片。FM1188采样率8K,人声通话完全够用,频宽也就是电话音质。但如果你的产品还要放音乐——比如门铃带门铃音乐、音响产品要播歌——直接拿这对SPK输出,音质会糊成一片。手册给出了明确的处理办法:这种场景把3、4脚悬空,喇叭改由你自己系统的功放驱动,参考信号照常接到LINE_IN。也就是说,音乐播放走系统链路,F-18专职负责上行方向的回消和降噪,各干各的活。这其实是个合理的架构分工,8kHz的频宽拿来处理语音,成本和算力都不浪费。
第三,参考信号的接法。LINE_IN要接功放输出端,这一点再强调一次,因为它是整个回声消除的锚点。常见错误有两种:一是接到了功放输入端,幅度不对,对消效果打折;二是压根没接,以为模块自带魔法。没参考信号的AEC等于没睁眼的狙击手,一切免谈。
第四,供电范围是4到5V,别超。标准5V供电最稳妥,有些产品母板是3.3V系统,直接接上去模块是不工作的,需要升压到5V。设计电源树的时候把这个电压需求提前规划进去。
第五,想清楚你的场景是不是全双工。F-18的价值在免提全双工场景——喇叭和麦克风同时工作的场合。如果你的产品是按键对讲(半双工,说话时不放音),回声问题天然不存在,上这颗模块属于浪费预算。先把场景想清楚,再选方案。
这颗模块适合谁,不适合谁
说了这么多,给个明确的判断标准。
适合的情况:你的产品是门禁对讲、门铃、监控对讲、广播对讲、免提通话这一类,全双工免提、回声是刚需痛点,同时你的团队没有音频算法能力,或者有这能力但不想把三个月烧在AEC调参上——F-18就是为你准备的。
需要再掂量的情况:你的产品对音质有要求,比如要播音乐、要高保真通话,8kHz语音通道撑不起这个需求,得考虑USB音频类的全功能方案(比如AP-0316那一路的模组,带USB音频加数字功放,频宽和灵活度都高一档);或者你的主控本身性能富余、有现成的AEC软件库和懂算法的人,那软方案可能更省BOM。另外如果对成本敏感到大几十块钱都不想加,那这个问题本文解决不了,这是另一个维度的事。
写在最后
回到开头那个问题:别人调三个月的回声消除,他三天就量产了,差距不在技术水平,在解决方案的选型思路。前者的思路是"我自己造轮子",后者的思路是"回声消除是成熟问题,买成熟答案"。做产品这件事,工程师的价值应该花在产品差异化的地方,而不是每个团队都把AEC重新发明一遍。
当然,三天量产的前提是坑都提前知道。喇叭阻抗、采样率、参考信号、供电电压,这四点吃透了,F-18就是一颗接上就能用的"回声消除黑盒";吃不透,再简单的模块也能给你惊喜。
基于F-18模块说明书整理,参数以最新版规格书为准。踩过回声坑的,评论区聊聊,详细咨询请私信公众号后台,期待与您交流。