Can the FFT reduce its computation load for specific sparse data patterns? I am working on a signal processing application, which involves an IFT.
My background is CS and not signal processing maths.
Consider an N-FFT configured with 256 &quot;bins&quot; (N = 256) for processing a
100Hz bandwidth. The application is in the a-priori position of knowing at
a given time where the input data can be sparse, in terms of only a subset
of the total bandwidth being active.
Ex: at time T, there is a signal in a band B of [26,40]Hz, while at [0,25)
and (40,100] Hz the signal is zero.
My questions are whether :

in such cases the 256-FFT could be configured to operate only
as a 16-FFT (as B = 40 - 26 = 15, 2^2 &lt; 15 &lt;= 2^4) , and potentially avoid
doing reams of computation as a 256-FFT where the add/multiply would be on
zero values (and thus redundant) .

if so, professional impls of the FFT already do this (a quick scan of
the input vector etc to determine whether such sparsity exists etc before
beginning the computation proper) .
Can the FFT reduce its computation load for specific sparse data patterns?

Sort of but only of it's very sparse. You can always NOT use an FFT but implement the inverse FFT directly and omit the 0 terms from the sum.
We can guestimate the break even point. An FFT takes about 10 operations per butterfly and for a length 256 FFT you have 8 stages with 128 butterflies each, so you end up with about 10000 operations per FFT
For a direct inverse DFT you'll have for each real output sample about 3 operations per non-zero frequency coefficient. In this case the break even point comes out to be 13 or thereabouts.
Your case of 16 is probably close to a wash, so I wouldn't bother.