首页 > 人工智能 > 语音识别 > CI1302 AEC回声消除硬件调试指南
在开发语音打断(Voice Barge-in)功能时,许多开发者会遇到一个令人困惑的问题: 明明启用了AEC回声消除功能,效果却"不太明显",在播放音频时唤醒率依然很低。
真实用户反馈(技术交流群,2026-02-06):
"CI1302的AEC回声消除功能不太明显,不管接入多大幅值的电压,回声消除感觉不起作用,达不到增加唤醒率。"
"未经放大后的音频与放大后的音频都接入测试过,相关还是不行。"
这个问题背后反映的是 AEC硬件电路设计的关键细节。AEC功能的生效不仅取决于固件配置,更取决于参考信号的采集方式、信号幅度、相位匹配等多个硬件因素。
本文将基于真实的技术支持案例,系统性地讲解CI1302芯片AEC功能的硬件调试方法,涵盖功放前级/后级采样、信号衰减计算、D类/AB类功放兼容性等核心问题。
AEC(Acoustic Echo Cancellation,声学回声消除)的核心作用是:当设备扬声器正在播放音频时,系统能够区分哪些是设备自身播放的声音(回声),哪些是用户的真实语音输入。
┌─────────────────────────────────────────────────────────────┐ │ AEC工作原理示意 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ 音频源 ──▶ 功放 ──▶ 喇叭 ──▶ 声音辐射 │ │ │ │ │ │ │ 声学回声 ───────────┘ │ │ │ │ │ │ ▼ ▼ │ │ 参考信号采集 麦克风采集 │ │ (AEC_IN) (MIC_IN) │ │ │ │ │ │ └──────▶ AEC算法 ◀──────┘ │ │ │ │ │ ▼ │ │ 消除回声后的语音 │ │ │ └─────────────────────────────────────────────────────────────┘
| 条件 | 说明 | 常见问题 |
|---|---|---|
| 参考信号正确采集 | 需要采集功放输出的音频作为参考 | 未接AEC_IN、接错位置 |
| 信号幅度匹配 | 参考信号幅度需在芯片接收范围内 | 幅度过大/过小 |
| 相位同步 | 参考信号与实际播放信号需同步 | 前级采样导致相位差 |
| 功放类型兼容 | 需使用AB类功放,D类需特殊处理 | 使用D类功放不兼容 |
应用场景:设备播放AI合成语音时,需要进行语音唤醒打断
测试环境:
尝试过的方案:
硬件工程师陈工的分析指出了几个关键问题:
"经过你的AEC支路衰减后,幅度都不够了哈,你算算看;另外功放前级信号与喇叭输出信号的相位是不一样。"
"按照我们的模组推荐电路,直接取功放的输出信号经过衰减后送入到芯片的AEC采样脚哈。"
核心问题总结:
| 采样位置 | 优点 | 缺点 | 推荐度 |
|---|---|---|---|
| 功放前级 | 信号幅度小,易于处理 | 与喇叭输出相位不同,无法反映真实播放 | ❌ 不推荐 |
| 功放后级 | 与喇叭输出同步,相位一致 | 信号幅度大,需要衰减 | ✅ 强烈推荐 |
为什么后级采样更好?
前级采样的问题: ┌─────────────────────────────────────────────────────────────┐ │ 音频源 → 功放芯片 ──▶ [前级采样点] ──▶ 后级放大 ──▶ 喇叭 │ │ ▲ │ │ AEC参考 │ │ │ │ 问题: │ │ 1. 采样点之后还有放大电路,相位发生变化 │ │ 2. 喇叭实际输出与采样信号不完全同步 │ │ 3. AEC算法无法准确预测回声路径 │ └─────────────────────────────────────────────────────────────┘ 后级采样的优势: ┌─────────────────────────────────────────────────────────────┐ │ 音频源 → 功放芯片 ──▶ 后级放大 ──▶ [后级采样点] ──▶ 喇叭 │ │ ▲ │ │ AEC参考(经衰减) │ │ │ │ 优势: │ │ 1. 采样点与喇叭输出完全一致 │ │ 2. 相位同步,AEC算法能准确消除回声 │ │ 3. 能真实反映喇叭播放的音频 │ └─────────────────────────────────────────────────────────────┘
根据SmartPi官方推荐,AEC参考信号应按以下方式连接:
┌─────────────────────────────────────────────────────────────┐ │ AEC参考信号采集电路 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ 功放输出端 │ │ │ │ │ │ ~~~~~~~~ (音频交流信号) │ │ ▼ │ │ ┌─────────┐ │ │ │ 100nF │ C19: 隔直电容 │ │ └────┬────┘ │ │ │ │ │ ▼ │ │ ┌─────────┐ │ │ │ 22kΩ │ R12: 衰减电阻(上拉) │ │ └────┬────┘ │ │ │ │ │ ├───┬─── AEC_IN (芯片AEC采样引脚) │ │ │ │ │ │ ▼ ▼ │ │ ┌─────────┐ │ │ │ 2.2kΩ │ R11: 衰减电阻(下拉到地) │ │ └────┬────┘ │ │ │ │ │ ▼ │ │ GND │ │ │ │ 衰减比例计算: │ │ V_AEC = V_SPK × (R11 / (R11 + R12)) │ │ V_AEC = V_SPK × (2.2k / (2.2k + 22k)) │ │ V_AEC = V_SPK × 1/11 ≈ V_SPK × 0.09 │ │ │ │ 即:将喇叭输出信号衰减到约1/11 │ └─────────────────────────────────────────────────────────────┘
关键参数说明:
| 元件 | 值 | 作用 |
|---|---|---|
| C19 | 100nF | 隔直电容,只通过交流音频信号 |
| R12 | 22kΩ | 上拉衰减电阻 |
| R11 | 2.2kΩ | 下拉衰减电阻 |
| 衰减比 | 1:11 | 将喇叭输出衰减到芯片可接收范围 |
技术专家建议:
"我们的功放输出比你的功率大一倍,取的是1/20;你尝试着取1/10试试看哈。"
| 功放输出功率 | 推荐衰减比例 | 推荐电阻组合 (R12/R11) |
|---|---|---|
| ≤3W | 1:10 | 100kΩ / 10kΩ |
| 3W-6W | 1:11 | 22kΩ / 2.2kΩ(官方推荐) |
| 6W-10W | 1:15 | 150kΩ / 10kΩ |
| ≥10W | 1:20 | 240kΩ / 12kΩ |
测试设备:示波器
测试步骤:
第1步:测量功放前级信号 ├─ 测试点:功放芯片输入端 ├─ 信号类型:交流音频信号 └─ 典型幅度:0.5V - 1.5V (峰峰值) 第2步:测量功放后级信号 ├─ 测试点:功放芯片输出端(到喇叭之间) ├─ 信号类型:交流音频信号 └─ 典型幅度:3V - 10V (峰峰值,取决于功率) 第3步:测量AEC输入端信号 ├─ 测试点:CI1302的AEC_IN引脚 ├─ 信号类型:交流音频信号(已衰减) └─ 合理范围:0.5V - 1.5V (峰峰值)
案例中的问题:
"我用1K的调试信号,前级的峰值是3.3V的,经过滤波,并入到CI1302的峰值在2V左右。"
专家指出的问题:
"你是指的DC吧,AC信号怎么可能这么大"
"现在功放的增益多少?"
"NS4150B的功放管,150K电阻,增益1.6"
分析:
正确计算方法:
功放NS4150B增益设定: Gain = 1 + (Rf / Ri) Rf = 150kΩ (反馈电阻) 假设Ri = 100kΩ (输入电阻,需确认实际值) Gain = 1 + (150k / 100k) = 2.5倍 如果前级输入:1Vpp 功放输出:1V × 2.5 = 2.5Vpp 经过AEC衰减(1/11): AEC_IN = 2.5V × 1/11 ≈ 0.23Vpp ← 可能偏低 建议调整为1/10衰减: AEC_IN = 2.5V × 1/10 = 0.25Vpp (100k/10k组合) 或调整功放增益以获得更大的驱动信号
用户的设计:
专家建议:
"功放的增益根据你前级信号的AC幅度放大多少倍数,到你需要得到的喇叭功率来决定的哈。放大倍数越低,你的功放就越工作稳定。"
设计建议:
| 方案 | 功放增益 | 优点 | 缺点 |
|---|---|---|---|
| 低增益 | 1.6-2倍 | 工作稳定,不易破音 | 需要更大前级信号 |
| 中增益 | 2-4倍 | 平衡方案 | 需注意破音保护 |
| 高增益 | >4倍 | 小信号可驱动 | 易破音,稳定性差 |
推荐做法:
这是CI1302 AEC设计中的一个 关键限制。
| 功放类型 | 输出信号特性 | AEC兼容性 | 说明 |
|---|---|---|---|
| AB类功放 | 模拟音频信号 | ✅ 完全兼容 | 输出可直接用于AEC采样 |
| D类功放 | 高频PWM方波 | ❌ 不兼容 | 需要额外去载波电路 |
┌─────────────────────────────────────────────────────────────┐ │ AB类 vs D类功放输出波形对比 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ AB类功放输出(模拟信号): │ │ ┌───┐ ┌───┐ ┌───┐ ┌───┐ │ │ │ │ │ │ │ │ │ │ ← 可直接用于AEC │ │ │ │ │ │ │ │ │ │ │ │ └───┘ └───┘ └───┘ └───┘ │ │ │ │ D类功放输出(PWM方波): │ │ ┌───────────────────────────────────────────┐ │ │ │██| |██| |██| |██| |██| |██| |██| |██│ ← 无法直接采样│ │ └───────────────────────────────────────────┘ │ │ ↑ 载波频率(通常几百kHz) │ │ │ └─────────────────────────────────────────────────────────────┘
问题:D类功放输出的是高频方波信号,AEC采样电路无法直接提取音频信息。
如果必须使用D类功放(如WM8960、MAX98357),有以下选择:
方案一:增加去载波电路(复杂)
┌─────────────────────────────────────────────────────────────┐ │ D类功放AEC去载波电路示意 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ D类功放输出 │ │ │ │ │ ▼ │ │ ┌─────────┐ 低通滤波器 │ │ │ LC滤波 │ ──────────────▶ 提取音频包络 │ │ └─────────┘ │ │ │ │ │ ▼ │ │ ┌─────────┐ 信号调理 │ │ │ 整流/ │ ──────────────▶ 转换为可采样信号 │ │ │ 检波 │ │ │ └─────────┘ │ │ │ │ │ ▼ │ │ AEC_IN │ │ │ └─────────────────────────────────────────────────────────────┘
方案二:更换为AB类功放(推荐)
| AB类功放型号 | 输出功率 | 特点 |
|---|---|---|
| NS4150B | 3W | 用户正在使用,兼容性好 |
| LTK5128 | 5W | 官方推荐,性能稳定 |
□ 确认使用AB类功放(非D类) □ AEC参考信号取自功放后级(输出端) □ 隔直电容已安装(100nF) □ 衰减电阻值正确(根据功率选择) □ AEC_IN引脚焊接良好 □ 麦克风连接正常 □ 功放增益设置合理
□ 测量功放输出幅度(空载和带载) □ 测量AEC_IN端信号幅度(应0.5-1.5Vpp) □ 验证信号波形无失真 □ 检查相位关系(后级采样应与喇叭同步)
□ 平台已选择"语音识别+AEC打断"模式 □ 麦克风配置选择单MIC □ 固件已重新生成并烧录
□ 静音环境唤醒测试(6米范围) □ 播放中唤醒打断测试 □ 不同音量下的打断测试 □ 不同距离下的打断测试
A:前级采样存在两个问题:
建议:始终采样功放后级(输出端)信号。
A:根据CI1302芯片规格,AEC_IN引脚的输入信号幅度建议在 0.5V - 1.5V(峰峰值)范围内。
A:功放增益应根据前级信号幅度和目标输出功率来确定。
原则:
A:用户案例中使用的是0.9Ω喇叭,这是一个低阻抗设计。
| 喇叭阻抗 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 4Ω-8Ω | 标准,兼容性好 | 音量相对较小 | 通用产品 |
| 2Ω-4Ω | 较大音量 | 对功放要求高 | 中等功率产品 |
| <2Ω | 大音量 | 需要专业设计,易破音 | 特殊声学设计 |
注意:低阻抗喇叭需要功放有足够的驱动能力,否则可能输出失真。
A:MICBIAS是麦克风偏置电压输出引脚,用于给驻极体麦克风提供工作电压。
A:可以通过以下测试验证:
合格标准:播放音频时的唤醒率应达到静音时的70%以上。
SmartPi官方提供的AEC参考电路(来自CI-03T系列模组设计):
┌─────────────────────────────────────────────────────────────┐ │ SmartPi官方AEC电路参考 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ 功放输出端 ──┬── 100nF ───┬── 22kΩ ───┬── CI1302 AEC_IN │ │ │ (C19) │ (R12) │ │ │ │ │ │ │ │ │ └── 2.2kΩ ───┴── GND (R11) │ │ │ │ │ └──▶ 喇叭 │ │ │ │ 关键参数: │ │ - C19: 100nF 隔直电容 │ │ - R12: 22kΩ 上拉衰减电阻 │ │ - R11: 2.2kΩ 下拉到地电阻 │ │ - 衰减比: 约1:11 │ │ - 适用功放功率: 3W-6W │ │ │ └─────────────────────────────────────────────────────────────┘
技术支持建议:
"你直接按这个电路设计吧,这个是我们的另外一个模组的电气原理图。"
CI1302的AEC回声消除功能是一个强大的特性,但要让其正常工作, 硬件电路设计是关键。
核心要点回顾:
快速检查清单:
如果按照以上步骤调试后效果仍不理想,建议:
文档版本:v1.0 创建日期:2026-02-11 适用芯片:CI1302、CI-03T系列、CI-33T系列 素材来源:技术交流群真实案例 + SmartPi官方文档(硬件设计FAQ)
| 资源类型 | 说明 |
|---|---|
| CI-03T硬件设计FAQ | SmartPi官方文档 |
| 语音调优FAQ | AEC功能调试相关内容 |
| 平台配置指南 | AEC功能固件配置方法 |
相关文章推荐:
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70049243/viewspace-3175153/ ,如需转载,请注明出处,否则将追究法律责任。