您好!
请帮助我了解残余直流去除滤波器的计算方法。
以下是我的代码。 如何计算 *p 的电流和电压值?
int16_t dc_filter (int32_t * p、int16_t x)
{
//one 希望通过以下方式估算 DC:
// z +=(((((int32_t) x << 15)- z)>> 14);
//返回 x -(z >> 15);
//但是:
// z +=(((((int32_t) x << 16)- z)>> 14);
//返回 x -(z >> 16);
//速度快一点,16的移位将永远不会
//在此应用程序中导致溢出。 但是、
//请记住,这不是通用直流滤波器!
*p +=(((((int32_t) x << 16)-*p)>> 14);
x -=(* p >> 16);
返回 x;
}
此致、
微型