|
//
// 一阶滞后滤波 First-order Lag Filter
//
// 取滤波系数 α ∈ (0,1)
// 滤波输出值 = (1-α)*本次采样值 + α*上次采样值
//
// 适用:波动频率高,抑制周期性干扰
//
#T_On(IN := NOT #T_Off.Q,
PT := #Period / 2);
#T_Off(IN := #T_On.Q,
PT := #Period / 2);
#Trigger(CLK := #T_On.Q); // 采样触发,周期 = Period
IF #Trigger.Q THEN
#Filter_Out := (1 - #Alpha) * #Sample_In + #Alpha * #Sample_Old;
#Sample_Old := #Sample_In;
END_IF;
|
|