DSPRelated.com
Forums

Can you recommend a good explanation of the STFT?

Started by maxplanck July 2, 2008
I've read Smith's "Scientist's and Engineer's Guide to DSP" and Lyons'
"Understanding DSP," from reading these two books I have a grasp of the
DFT.  Now, I want to learn about the STFT.

Can you recommend a book/website/article that presents a good, easily
understandable explanation of the STFT?  Preferably one that explains many
of the concepts that it uses, instead of simply invoking them?
On Wed, 02 Jul 2008 19:28:04 -0500, maxplanck wrote:

> Can you recommend a book/website/article that presents a good, easily > understandable explanation of the STFT? Preferably one that explains > many of the concepts that it uses, instead of simply invoking them?
Unlike the DFT and FT, the STFT is not a mathematically pure concept: it is an engineering hack that can be used for certain sorts of things. The closest that you're going to get to a mathematically rigorous STFT is probably Gabor transforms. Beyond that you're in the fairly arbitrary world of window design and tradeoffs, assumptions of short-time stationarity and all sorts of other hand-waving. Cheers, -- Andrew
this is a very cool topic/thread.  (at this point i can thank Max for
bringing up the subject.)  i essentially agree completely with Andrew,
but sometimes think i might run into a different semantic.

On Jul 2, 10:04&#4294967295;pm, Andrew Reilly <andrew-newsp...@areilly.bpc-
users.org> wrote:
> On Wed, 02 Jul 2008 19:28:04 -0500, maxplanck wrote: > > Can you recommend a book/website/article that presents a good, easily > > understandable explanation of the STFT? &#4294967295;Preferably one that explains > > many of the concepts that it uses, instead of simply invoking them? > > Unlike the DFT and FT, the STFT is not a mathematically pure concept:
well, it can have a mathematically consistent definition and at least one mathematically consistent interpretation: +inf X(f,tau) = integral{ x(t) exp(-j*2*pi*f*t) w(t-tau) dt} -inf interpretation: if one separates the concepts of "slow time" and "fast time" (like thinking of or perceiving a sound as an evolving spectrum which is varying more slowly in time), the STFT separates the two by giving you, for a single instance "tau" in slow time, the frequency response (in fast time) of the input in the general vicinity of that time tau. w(t-tau) is a sliding window function centered at time tau. now, all that can be said, i think, within anyone's POV, no? how often tau might be sampled (as well as t) and how wide and what the window is, is all that differentiates different implementations of the STFT, no?
> it > is an engineering hack that can be used for certain sorts of things. &#4294967295;The > closest that you're going to get to a mathematically rigorous STFT is > probably Gabor transforms. &#4294967295;Beyond that you're in the fairly arbitrary > world of window design and tradeoffs, assumptions of short-time > stationarity and all sorts of other hand-waving.
but there's a reconstruction formula for the STFT that imposes some restriction on the window function and the sampling rate of "slow time" tau. +inf +inf x(t) = integral{ integral{ X(f,tau) exp(-j*2*pi*f*t) w(t-tau) df} dtau} -inf -inf (or you can switch df and dtau around.) that says something about the area of the window function, w(t). and of tau is sampled every tau0 seconds, that says something about the shape of w(t) (has to be complementary; adjacent skirts add to 1). but there is still a bit of wand-having involving what sort of window to use. for what reason? (that last restriction about w(t) doesn't apply if you ain't worried about reconstruction. otherwise, i dunno how one designs a complementary kaiser window.) also, of course, what the application of the STFT is, has lotsa wand- having. other than that, i agree with Andrew that most of the rest people do with the STFT involves rules of thumb we get from practice and hand- waving. (why the hyphen?) r b-j
robert bristow-johnson wrote:



> ... rules of thumb we get from practice and hand-waving. > (why the hyphen?)
There shouldn't be one. If it were an adjective (all right, a gerundive, but what the hey) then the hyphen is needed: a hand-waving argument. Otherwise, no hyphen: arm waving is akin to boat rowing. I wouldn't have said, but you asked. Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
>> ... rules of thumb we get from practice and hand-waving. (why the >> hyphen?) > > There shouldn't be one. If it were an adjective (all right, a gerundive, > but what the hey) then the hyphen is needed: a hand-waving argument. > Otherwise, no hyphen: arm waving is akin to boat rowing. > > I wouldn't have said, but you asked. > > Jerry > -- > Engineering is the art of making what you want from things you can get. > &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
You didn't need to answer. r b-j wrote "lotsa wand-having." Who's "lotsa" and does she do magic? : )
"Jerry Avins" <jya@ieee.org> wrote in message 
news:Jo-dnXKdUfnk2vHVnZ2dnUVZ_o_inZ2d@rcn.net...
> There shouldn't be one. If it were an adjective (all right, a gerundive, > but what the hey) then the hyphen is needed: a hand-waving argument. > Otherwise, no hyphen: arm waving is akin to boat rowing.
The greundive only exists in Latin grammar. What you describe is a participle. "Come back when you know a little more"
12 WPM Class A wrote:
> "Jerry Avins" <jya@ieee.org> wrote in message > news:Jo-dnXKdUfnk2vHVnZ2dnUVZ_o_inZ2d@rcn.net... >> There shouldn't be one. If it were an adjective (all right, a gerundive, >> but what the hey) then the hyphen is needed: a hand-waving argument. >> Otherwise, no hyphen: arm waving is akin to boat rowing. > > The greundive only exists in Latin grammar. What you > describe is a participle.
A greundive doesn't exist at all. In English, a gerundive is a present participle used as an adjective.
> "Come back when you know a little more"
How about you don't come back at all? Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
On Jul 2, 8:05 pm, robert bristow-johnson <r...@audioimagination.com>
wrote:


> well, it can have a mathematically consistent definition and at least > one mathematically consistent interpretation: > > +inf > X(f,tau) = integral{ x(t) exp(-j*2*pi*f*t) w(t-tau) dt} > -inf
If it does, this isn't it, for an OP interested in building on a newly acquired knowledge of the DFT.
> ... > > now, all that can be said, i think, within anyone's POV, no?
No.
> how > often tau might be sampled (as well as t) and how wide and what the > window is, is all that differentiates different implementations of the > STFT, no?
No. Actual implementations use the DFT. This 'tall S's with +inf and - inf' might fly in a wikipedia, but not it does not adequately describe real use. The windowing operation from the continuous definition above does not accurately represent the two independent processes of 1) sampling a finite set of discrete values to feed the DFT and 2) weighting the signal to shape the transformed response. The number of samples fed to the DFT may be more or less than the number of signal samples with non-zero weight. For an example of a definition that is actually used (but still not adequate for all usages): http://ccrma.stanford.edu/~jos/parshl/Short_Time_Fourier_Transform_STFT.html Dale B. Dalrymple
"Jerry Avins" <jya@ieee.org> wrote in message 
news:i5OdnQBBcOcGZPHVnZ2dnUVZ_tTinZ2d@rcn.net...
> How about you don't come back at all?
High time that you grew up, OM
On Jul 2, 7:04 pm, Andrew Reilly <andrew-newsp...@areilly.bpc-
users.org> wrote:
> On Wed, 02 Jul 2008 19:28:04 -0500, maxplanck wrote: > > Can you recommend a book/website/article that presents a good, easily > > understandable explanation of the STFT? Preferably one that explains > > many of the concepts that it uses, instead of simply invoking them? > > Unlike the DFT and FT, the STFT is not a mathematically pure concept: it > is an engineering hack that can be used for certain sorts of things. The > closest that you're going to get to a mathematically rigorous STFT is > probably Gabor transforms. Beyond that you're in the fairly arbitrary > world of window design and tradeoffs, assumptions of short-time > stationarity and all sorts of other hand-waving. > > Cheers, > > -- > Andrew
A STFT is a system that performs a time sequence of DFT operations on preprocessed data and then postprocesses the DFT outputs. What concepts are involved depends on the applications for which the pre- and post- processings are selected. One of the classical providers of STFT instrumentation is Bruel&Kjaer. Bruel&Kjaer makes available a useful set of technical reviews: search on fft at http://www.bksv.com/Library/Technical%20Reviews.aspx They do good hand waving. Dale B. Dalrymple