freqLimited = MaxRisingFrequency(check=..., window=..., freqHzMeanMax=...).y;
In any (sliding) time window of length window, the mean frequency of the rising edges of Boolean input check is limited by freqHzMeanMax. Therefore, in any sliding window the following constraint shall hold:
if nRising > 1 then freqHzMean = 1/(window/(nRising-1)); else freqHzMean = 0 end if; freqHzMean ≤ freqHzMax
where nRising is the number of rising edges of check in the last time window of length window. The mean frequency over the sliding time window is also provided as additional output signal freqHzMean. If the mean frequency is not larger as freqHzMeanMax, output y is set to true, otherwise to y = false.
The property is demonstrated with the following example calling the block as:
results in
simulation result |