  In this paper we propose a new fast Fourier transform to recover a real
nonnegative signal ${\bf x}$ from its discrete Fourier transform. If the signal
${\mathbf x}$ appears to have a short support, i.e., vanishes outside a support
interval of length $m < N$, then the algorithm has an arithmetical complexity
of only ${\cal O}(m \log m \log (N/m)) $ and requires ${\cal O}(m \log (N/m))$
Fourier samples for this computation. In contrast to other approaches there is
no a priori knowledge needed about sparsity or support bounds for the vector
${\bf x}$. The algorithm automatically recognizes and exploits a possible short
support of the vector and falls back to a usual radix-2 FFT algorithm if ${\bf
x}$ has (almost) full support. The numerical stability of the proposed
algorithm ist shown by numerical examples.
