An nonlinear digital signal processing filter (100, 200, 1100, 1308, 1310,
1312, 1346, 1604) maintains a magnitude ordering for successive windows
of signal samples. A set of filter density generator values [f.sub.1,
f.sub.2, f.sub.3 . . . f.sub.j . . . f.sub.ndensities] are used according
to the ordering in a recursion relation that computes successive values
of a set function over the set of filter density generator values. The
recursion relation involves an adjustable nonlinearity defining parameter
.lamda.. The values are normalized by dividing by a largest of the
values, and differences between successive values are taken. An inner
product between each window of signal values (used in order according to
magnitude) and the adaptive differences is a filtered signal sample.