我在使用 TI 提供的 FPU.h 中提供的FIR滤波器, 使用中共用了3个滤波器, 一个带通的, 两个低通的, 测试中, 带通的没问题, 低通的,使用情况是,两个滤波器完全一样。
LPB_I.order = LPB_ORDER;
LPB_I.dbuffer_ptr = FIR_LPB_I_Buf;
LPB_I.coeff_ptr=(float *)FIR_LP_COEFF_I;
LPB_I.init(&LPB_I);
LPB_Q.order = LPB_ORDER;
LPB_Q.dbuffer_ptr = FIR_LPB_Q_Buf;
LPB_Q.coeff_ptr=(float *)FIR_LP_COEFF_Q;
LPB_Q.init(&LPB_Q);
.........
for 循环
{
LPB_I.input = FIR_IN_LPB_I[i];
LPB_I.calc(&LPB_I);
LPB_I_Val = LPB_I.output;
LPB_Q.input = FIR_IN_LPB_I[i];
LPB_Q.calc(&LPB_Q);
LPB_Q_Val = LPB_Q.output;
}
两个滤波器输入完全相同的情况下, 第一个 LPB_I, 有输出, 但LPB_Q 结果跟第一个却不一样, 要嘛就是 1.#INF, 为什么会出现这种情况?