SPIKE – Spike filter

Block SymbolLicensing group: ADVANCED
Qt SVG Document Exported by REXYGEN Studio u y SPIKE

Function Description
The SPIKE block implements a nonlinear filter for suppressing isolated peaks (pulses) in the input signal u. One cycle of the SPIKE filter performs the following transformation (u ,y) y:

delta := y - u;  
if abs(delta) < gap  
  then  
     begin  
        y := u;  
        gap := gap/q;  
        ifgap < mingap then gap:= mingap;  
     end  
  else  
     begin  
       if delta < 0  
          then y := y + gap  
          else y := y - gap;  
       gap := gap * q;  
     end

where mingap and q are the block parameters.

The signal passes through the filter unaffected for sufficiently large mingap parameter, which defines the minimal size of the tolerance window. By lowering this parameter it is possible to find an appropriate value, which leads to suppression of the undesirable peaks but leaves the input signal intact otherwise. The recommended value is 1 % of the overall input signal range. The q parameter determines the adaptation speed of the tolerance window.

This block propagates the signal quality. More information can be found in the 1.4 section.

Input

u

Input signal to be filtered

Double (F64)

Parameter

mingap

Minimum size of the tolerance window  0.01

Double (F64)

q

Tolerance window adaptation speed   1.0 2.0

Double (F64)

Output

y

Filtered output signal

Double (F64)

2024 © REX Controls s.r.o., www.rexygen.com