6.2 实时处理系统


文档摘要

6.2 实时处理系统 本节摘要:实时处理系统要在采样周期内完成整条算法链:滤波、更新、保护、调度。本节给出乘加需求的核算方法,讨论定点与浮点、多速率架构与功耗调度的工程取舍,并用一次从算法规格到芯片选型的完整核算示范流程。 算法章里算过一笔账:双通路耳机的 FxLMS 每秒约千万次乘加。这个数字听起来对任何现代芯片都不构成压力,但实时系统的难度从不在平均值,而在每一拍都不能慢:四十八千赫兹采样率下,每二十点七微秒必须交付一次输出,迟到的结果等于没有结果。本节讲的就是如何在这条死线下安排全部计算。 核算方法:从算法清单到每秒负载 核算用一张三列清单就能完成:算法模块、每采样开销、每秒开销。

6.2 实时处理系统

本节摘要:实时处理系统要在采样周期内完成整条算法链:滤波、更新、保护、调度。本节给出乘加需求的核算方法,讨论定点与浮点、多速率架构与功耗调度的工程取舍,并用一次从算法规格到芯片选型的完整核算示范流程。

算法章里算过一笔账:双通路耳机的 FxLMS 每秒约千万次乘加。这个数字听起来对任何现代芯片都不构成压力,但实时系统的难度从不在平均值,而在每一拍都不能慢:四十八千赫兹采样率下,每二十点七微秒必须交付一次输出,迟到的结果等于没有结果。本节讲的就是如何在这条死线下安排全部计算。

核算方法:从算法清单到每秒负载

核算用一张三列清单就能完成:算法模块、每采样开销、每秒开销。把系统里所有模块列全,是核算不翻车的第一步——新手只列 FxLMS 主体,漏掉的多半是下面几样:次级路径模型支路的滤波(与主滤波同量级)、在线辨识器的并行 LMS(5.2 节,约三成额外量)、限幅与泄漏等保护运算(量小但每采样都跑)、探询波形生成与正交化、风噪与语音检测(频域特征提取,块处理)。漏项的后果是"选型时余量充足、联调后跑不满采样率",被迫在中途降阶数或砍功能。

核算的第二层是余量策略。实时系统的可用负载按七成封顶规划:三成余量覆盖固件迭代的功能增长、极端工况的分支逻辑(比如同时触发风噪检测与失配刷新)、以及未来两年的算法升级空间。一颗七成满的芯片是健康的,一颗九成满的芯片是在给下一代产品埋雷。

图:一套耳机的每秒负载核算示例

图:一套耳机的每秒负载核算示例

定点与浮点:量产世界的默认答案

浮点实现直观省心,定点实现省电省钱——量产 ANC 几乎全在定点域完成,原因有三。第一,音频 ANC 的动态范围需求在十六位量化加适当定标就能满足,二十四位定点格式的动态余量绰绰有余。第二,定点运算的功耗与时延确定性远优于浮点(无需处理浮点的规格化与异常分支),对实时调度的友好度天差地别。第三,成本与生态:定点 DSP 内核的芯片价格与授权体系成熟,蓝牙音频 SoC 内嵌的正是这类内核。

定点的代价是定标工程:每个变量的小数点位置要人工规划,防溢出要靠饱和运算与逐级缩放。工程纪律有三条:所有增益类变量预留不少于六分贝的头部余量防溢出;自适应权值的定标精度优先保障(权值量化噪声直接进稳态残余);饱和运算必须用饱和加法而不是溢出回绕——回绕一次,输出从正满幅跳到负满幅,用户听到的是一声爆音。定点化是 ANC 固件里事故率最高的工序,任何定点改动都要跑完整的极限工况回归。

多速率架构与功耗调度

多速率架构是时延预算与算力预算的和解方案。控制环路跑低采样率(例如十六千赫兹),只服务对冲频段(八千赫兹上限封顶),滤波器阶数与乘加需求按比例下降;音频通路跑全速率,两者在数字域用插值与抽取桥接。第 2 章 2.3 的预算会案例已经预演过它的用法——用算力买时间,或反过来说,用频段上限换算力。多速率的陷阱在桥接滤波器:插值滤波器的群时延要计回时延账本,抽取的混叠要靠抗混叠滤波挡住,两笔账漏记都会在联调时还债。

功耗调度是耳机形态的命门(续航即体验)。调度策略按场景分层:检测到安静环境,环路以低占空比运行(权值更新降频、检测类块处理拉长周期);强噪声场景全速运行;通透与通话模式按各自需求重配。进阶形态是事件驱动的分层睡眠——检测链常开(功耗极低),确认噪声事件后按需唤醒主环路。调度的设计约束来自第 5 章:模型保鲜与保护链不能被睡眠饿死,检测链必须比主环路更"清醒"——睡着的主环路可以,睡着的保护链不行。

案例展开:一次芯片更换的迁移核算

背景。某耳机项目因供应链原因需将主控从 A 芯片(内置两百兆赫兹定点 DSP)切换到 B 芯片(一百二十兆赫兹,同代定点内核,其他外设更优)。算法链原占用约五成算力,直觉上"远没满"可平移,团队先做迁移核算再动手。

操作。核算暴露了三个直觉之外的事实。其一,负载不只看兆赫兹:B 芯片内核的存储器布局不同,关键延迟线的存取周期数更高,等效乘加能力按基准测试折算只有 A 的四成八而非六成,原负载折算后占用升到近八成。其二,中断结构不同:B 的音频口缓冲深度更浅,调度中断频率被迫加倍,上下文切换开销额外吃掉百分之六。其三,原固件有三处为 A 的单周期寻址模式写的手工优化循环,在 B 上退化为通用循环,热点函数实测慢四成。

结果。方案定为:反馈通路滤波器借多速率改造降采样率(对冲频段本来不超过两千五百赫兹),节省约一成八负载;手工优化循环按 B 的寻址模式重写;探询调度从固定周期改为事件驱动(顺带降低了功耗)。改造后负载回落到五成八,时延账本复核未超预算(多速率桥接的群时延已计入)。迁移总耗六周,其中基准测试与账本复核占两周。

结果解读与变式。这六周买到的不是"换了一颗芯片",而是一份可复用的迁移核算模板:等效能力基准、调度开销折算、热点函数清单、时延账本复核四步,后来成为该团队所有硬件变更的标准流程。变式:升级方向的反向迁移(低配到高配)同样需要这套流程——余量变大的第一反应不应该是加功能,而是重新分配三成余量里的"功能、鲁棒、迭代空间"三份预算。

⚠️ 常见坑:以平均值负载做选型结论。实时系统的考核指标是最坏帧:检测类块处理、探询爆发、失配刷新叠在同一帧时的峰值负载才是选型依据。量过峰值的项目都有一个共同发现——峰值是平均值的数倍,靠平均值得出的"余量充足"结论全部作废。

本节要点回顾

  • 死线思维:每采样周期必须交付,核算按模块清单逐项列全,检测保护调度都在清单上。
  • 七成封顶:三成余量留给迭代、极端分支与升级,九成满的芯片是给下一代埋雷。
  • 定点是量产默认:动态范围够用、时延确定、功耗低;定标纪律与饱和保护是事故高发区。
  • 多速率架构:低采样率环路换算力,桥接滤波器的群时延与混叠要计回账本。
  • 功耗调度分层:检测链常开、主环路按需唤醒,保护链永远不许睡。

硬件选型核算完毕,最后一环是结构:麦克风装在哪、腔体怎么开,物理世界给算法出题。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U