TI中文支持网
TI专业的中文技术问题搜集分享网站

低通滤波程序求助

最近在看电机控制程序,下面几行滤波程序看了一天多,没有头绪,希望得到大家的帮助,我的问题如下:
1.这三个程序前两个是一阶低通滤波吗,如果是为何与我网上看到程序不太一样,第三个呢
void lpf_calc(LPF *v)

 v->y += _IQmpy(v->Tc,_IQmpy(v->wc,(v->x – v->y_old)));//y=y+Tc*(wc*(x-y_old))
 v->y_old = v->y;
}
void lpf11_calc(LPF11 *v)
{   _iq temp_k1;
   temp_k1 = _IQmpy(v->wc,(v->x – v->y));//temp_k1=wc*(x-y)
   v->y = v->y + _IQmpy(temp_k1,v->Tc);//y=y+temp_k1*Tc
}
void lpf12_calc(LPF12 *v)
{    _iq temp_k1, temp_k2;
   temp_k1 = _IQmpy(v->wc,(v->x – v->y));//temp_k1=wc*(x-y)
   temp_k2 = _IQmpy(temp_k1,_IQ(1.0) – _IQmpy(v->wc,v->Tc));//temp_k2=temp_k1*(1-wc*Tc)
   v->y = v->y + _IQmpy(_IQmpy(v->Tc,temp_k1 + temp_k2),_IQ(0.5));//y=y+0.5*(Tc*(temp_k1 + temp_k2))
}

Terry Deng:

前两个是比较标准的一阶滤波,第三个也是滤波但算法比较复杂。

你是在哪里看见这个算法

最近在看电机控制程序,下面几行滤波程序看了一天多,没有头绪,希望得到大家的帮助,我的问题如下:
1.这三个程序前两个是一阶低通滤波吗,如果是为何与我网上看到程序不太一样,第三个呢
void lpf_calc(LPF *v)

 v->y += _IQmpy(v->Tc,_IQmpy(v->wc,(v->x – v->y_old)));//y=y+Tc*(wc*(x-y_old))
 v->y_old = v->y;
}
void lpf11_calc(LPF11 *v)
{   _iq temp_k1;
   temp_k1 = _IQmpy(v->wc,(v->x – v->y));//temp_k1=wc*(x-y)
   v->y = v->y + _IQmpy(temp_k1,v->Tc);//y=y+temp_k1*Tc
}
void lpf12_calc(LPF12 *v)
{    _iq temp_k1, temp_k2;
   temp_k1 = _IQmpy(v->wc,(v->x – v->y));//temp_k1=wc*(x-y)
   temp_k2 = _IQmpy(temp_k1,_IQ(1.0) – _IQmpy(v->wc,v->Tc));//temp_k2=temp_k1*(1-wc*Tc)
   v->y = v->y + _IQmpy(_IQmpy(v->Tc,temp_k1 + temp_k2),_IQ(0.5));//y=y+0.5*(Tc*(temp_k1 + temp_k2))
}

jinsheng LU:

回复 Terry Deng:

这三个都是我看得别人的程序,用于过电压保护的,程序大部分和ti程序差不多,不知道这部分是不是后来加上的

赞(0)
未经允许不得转载:TI中文支持网 » 低通滤波程序求助
分享到: 更多 (0)