не петлевой петли

.
Были модели by Petrov для simulink на этом форуме.
Еще было:
sampling_freq = частота дискретизации;
capture_band = полоса захвата;
AMP = средняя амплитуда входного сигнала (видимо ошибки);
koef = коэффициент, действительно принятый за 0.707;
Вычисляем след. коэффициенты:
T (период) = 1/sampling_freq;
wn = (capture_band*PI)/koef;
g1 = 1 - exp(-2.0*koef*wn*T);
g2 = 1 + exp(-2.0*koef*wn*T) - 2.0*exp(-koef*wn*T)*cos(wn*T*sqrt(1-(koef*koef)) );
G1 = g1/AMP;
G2 = g2/AMP;
Z = 0;
формула фильтрации
out = inp*G1 + (inp+Z)*G2; - выходное значение
Z+=inp; // накопительный регистр
Ведет себя очень здорово.
Использовал для тактовой и фазовой синхронизации:
При частоте входного сигнала 2400 Гц :
полоса захвата 1 Гц - при стабильной работе;
полоса захвата 10 - 100 Гц - когда надо быстро что-нибудь выкрутить;
Кстати, расчитываемые коэффициенты можно менять во время работы, чтобы регулировать скорость реакции системы.