有限脉冲响应 (FIR) 滤波器通过以下公式来描述,其中 x 表示输入,c 表示系数,y 表示输出,N 表示滤波器长度。
以下提供了 32 抽头滤波器示例。
每个输出都执行 32 次乘法。如果取 cint16
作为数据类型和系数类型,则需要 4 个周期来计算内核中的一个样本,因为每个 AI 引擎每个周期可执行 8 次 MAC 运算。如果数据从某一个串流端口(32 位)串流输出,那么每个数据均可生成一项输出(在处理过程中间)。
因此,设计受到计算限制。后续将演示如何将内核拆分为 4 个级联内核,以便每个周期处理一个样本。