Table of Contents
内嵌的DSP上掌握固定点的 IIR 过滤器
在固定点数字信号处理器(DSP)上执行无限电容反应(IIR)滤波器需要严格的数字分析和对目标硬件的深刻理解。虽然浮点算术简化了数学,但固定点仍然是高容量、电压的嵌入式系统的主要选择。从消费者耳罩主动取消噪声到工业驱动器的闭路电动机控制,使用固定点算术执行稳定、高性能的IIR滤波器的能力是核心工程能力。 本条概述了这些系统固有的量化、缩放和稳定性挑战所需的技术战略。
IIR系统固定点算术基础
为什么固定点主控器嵌入DSP
固定点处理器消耗的硅面积和功率大大低于其浮点对等设备. 单一16位的多聚(MAC)操作只需要单精度浮点(MAC)所需的一小部分逻辑资源. 对于针对电池动力设备或高通道计数系统的应用,这直接降低了材料单(BOM)并延长了运行寿命. 固定点架构还为关键环路提供了定数周期计算,使其对于实时控制任务来说非常可预测.
Q 格式和数字代表
在固定点系统中,小数点位置是固定的。 [[FLT: 0][[FLT: 1]] Q格式 指定了整数和分数部分分配的位数。 Q15数字使用16位数总计(1个符号位,15个分数位),代表从 -1.0 到 0.999. 。 Q31 数字将这个数字扩展至 32位, 提高精确度。 然而, 过滤系数往往超过标准分数格式的整数范围。 例如, 双数系数 [[FLT: 0]] 可能等于 -1.885。 这个数值需要一个带有整数位数的格式, 如 Q1.14 或 Q2.30 。 选择错误的Q格式会导致溢出、 饱和度, 或系数精度的丧失。
固定点IIR过滤器的重要结构决定
直接表格一与直接表格二
滤波差方程的地形是影响数值性能的单一最重要的决定. 直接形式II结构使用较少的延迟线,但集中了递归反馈部分的全部滤波增益. 这样做如果状态没有正确缩放,则会产生很高的内部溢出风险,因为内部节点可以远远超出输入信号. Direct Form I (DFI) 将向导(0)和反馈(poles)部分分离,使其固有的阻溢性更高. 对于固定点系统,通常倾向于 Direct Form I Transposed (DF1T) 结构,因为它提供了最佳的信号对噪量比,并简化了高速执行的管道延迟的添加.
连环比夸德标准
任何固定点执行都不应该直接实现一个作为单一单曲的高阶(例如第8位)转移函数。过滤系数对四分位化的敏感性随着过滤顺序的指数增长。通过将转移函数分解为 分级二阶区或双曲区,将杆子组合成复杂的对位,将数值误差降到最低。最佳做法要求双曲区{Q因子最高的分位程序}应放在级联链中早期,并隔离于收益高的区,以最大限度地扩大动态范围。
量化和扩大核心执行战略
高效量化和极地安置
双精度设计的滤镜系数必须被量化到目标固定点的字长。这种量化移动理想的极点位置。在系数定量后,一个完全稳定的滤镜可以变得略为稳定或不稳定。工程师必须进行定量后稳定性检查,核实所有量化的极点的大小严格低于1.0。在将系数量化到固定点网格之前,必须先先先将模拟原型进行打压,以补偿双线变换的频率扭曲。
管理内部信号增长和放大
IIR 过滤器的递归性质意味着内部节点值即使有微小的投入也能增长大。例如,高Q共振器可以在反馈循环内以100或100倍的系数放大小输入。为防止溢出,必须引入输入缩放系数(通常是逻辑移右移)。请考虑标准的DF1双方差方程 :
如果从到的转移函数的最大收益是G,输入信号必须缩放为(或2近似功率),以保证反馈路径不溢出. 对于更高阶的系统,每个双流相需要根据其最大增益贡献进行自己的缩放分析.
利用宽积和饱和度
大多数固定点 DSP 都具有一个40位或56位积分的特性。 这个宽的寄存器可以累积乘积操作的结果而不失去精确度。 当40位积分结果必须存储回一个16位或32位内存位置时, 挑战就会发生。 存在两种模式: 包和饱和 。 [[FLT: 0]] 刷新 [[FLT: 1] 会导致一个大正信号突然变成一个大负信号, 引入灾难性的扭曲 。 [[FLT: 2] 饱和 将输出按最大代表表正值或负值进行夹住 。 设置 ALU 饱和 标记是音频和控制应用程序在瞬间超载时维持信号完整性的标准要求 。
高级数字陷阱和补救
限制循环和死亡区域
固定点的IR滤波器即使输入为零,也可以显示自维持的极限周期。 角限制周期是由递归乘法中的四舍五入错误造成的。 当产品 被四舍五入以适应字长时, 圆周误可以累积。 一个标准补救是执行一个死区: 当输入和状态变量低于一个确定的阈值时, 状态变量被清除或强制为零。 这可以确保过滤器完全和解。 分解, 添加一个小随机噪声信号, 也可以以提高噪声底为代价打破相关限制循环行为 。
处理高Q和窄边过滤器
带高Q系数的窄带IR滤波器对系数的量化格外敏感。分母系数的微小变化可以显著改变中心频率或带宽。在这种情况下,考虑使用[纬度滤波器[或状态-空间结构,这些结构表现出较低的系数敏感度,而牺牲了更多的计算。此外,使用双字长度(例如,在16位处理器上存储32位系数)可以为分母系数提供必要的精确度。
核实和审定方法
Bit- True 模拟和共模拟
信任一个不模拟的固定点执行是危险的。 工程师在部署到硬件之前, 必须先通过一个比特真实的模型运行精确的量化系数和固定点算术操作。 诸如 MATLAB 固定点设计器或带有饱和度和四舍五入内在的自定义 C 模型等工具允许进行这种模拟。 将固定点模型的输出与理想的双精度参考模型进行比较, 提供了平均方差( MSE) 和峰值误差界限。 这一步骤验证了所选择的Q格式和缩放系数符合系统的信号对噪比( SNR) 要求。
硬件在环( HIL) 测试
一旦过滤器运行在目标 DSP 上, 核查就会移动到硬件域。 注入已知的测试矢量—— 如单位冲动、 关键频率下正弦波、 多通信号—— 让工程师能够将实际 DAC 输出与模拟输出进行比较。 对输出的光谱分析可以揭示内部饱和或限制周期引起的意外的谐波扭曲。 执行一种诊断模式是标准的做法, 将内部变量流回主机PC 进行分析。
强健度单位测试
生产代码应包括边缘病例的单位测试:
- DC稳定性:输入恒定的DC值,并验证输出在定义的界限内结算.
- 最大振幅正弦波:[在过段边缘应用全比例正弦波,并验证不发生饱和.
- 零输入回收:应用一个大输入,然后将其删除。测量结算时间,确认无限制周期。
- 流量回收: 注入一个使积分器饱和的信号,并在清除信号时验证输出能顺利恢复.
结论
安装DSP芯片上带有固定点算术的IR滤波器仍然是嵌入式系统工程师的一项艰巨但必要的任务. 成功实施需要在三个关键领域进行仔细规划:架构(在高序段上选择级联双方块),缩放(在限定字长范围内管理信号增长),以及核查(利用比特真实模拟和严格的HIL测试). 工程师通过坚持这些最佳做法,可以开发数字稳定的IR滤波器,产生低扭曲,并满足现代嵌入式信号处理系统的严格性能限制.