DSPRelated.com
Forums

Windows and "overlap and add"

Started by Richard Owlett September 19, 2004
Richard Owlett wrote:
> Stan Pawlukiewicz wrote: > >> Richard Owlett wrote: >> >>> Jerry Avins wrote: >>> >>>> Richard Owlett wrote: >>>> >>>>> Just how flat need a window be to utilize "overlap and add" >>>>> >>>>> Window data -- FFT -- manipulate in freq domain -- IFFT -- add in >>>>> time domain >>>> >>>> >>>> >>>> >>>> >>>> Why window? the artifacts caused by a rectangular window should cancel >>>> in the overlap. >>>> >>>> Jerry >>> >>> >>> >>> >>> Some of my analysis will be in frequency domain and comparing >>> frequency domain of multiple sequential "samples". >>> >>> I'm grouping for a well formulated question. >>> >>> This has much to do with my other post titled >>> >>> As "Nyquist" is to "sample rate" "????" is to "sample >>> period/duration/width/?" ? >>> >> >> It kind of depends on your overlap percentage and the amount of ripple >> you can tollerate back in the time domain. It also depends on how >> coloured the data is. Whitening the data prior to windowing should >> help a bit as well. >> > > You lost me;] > I've been told not to use label "newbie". > I'm surely "neophyte" ;] >
Where are you lost? I'm guessing about prewhitening. Any particular window function trades off the width of the main lobe response with the level of side lobe leakage. One typically wants much less leakage power from other bins in any particular bin than signal and/or noise. In a number of applications, like passive SONAR the background noise spectrum is continuous but not flat. One doesn't want sidelobe leakage masking weak signals in quiet parts of the spectrum. If you prewhiten the data, the overall spectrum is more flat. The level of signal and/or noise in the quiet parts of the spectrum is increased and the level of signal and/or noise is reduced in the louder parts of the spectrum. The whitened spectrum is less susceptible to masking from leakage. This makes the choice of window less dependent on a sidelobe leakage criteria. One can concentrate on the time domain scalloping instead.
Richard Owlett <rowlett@atlascomm.net> writes:

> Randy Yates wrote: > > [snip] > > (Did that sound flippant/irreverent? I didn't mean for it to.) > > Not at all. Seems like a reprasing of my comment that not only do I > not know what I'm talking about, I'm not sure of subject ;)
Hi Richard, Figuring out the question you want to ask is always a good exercise! How about this: "When performing processing involving the DFT or FFT, what tasks require the use of windows and for what reason are they used?" -- Randy Yates Sony Ericsson Mobile Communications Research Triangle Park, NC, USA randy.yates@sonyericsson.com, 919-472-1124
Randy Yates wrote:

> Richard Owlett <rowlett@atlascomm.net> writes: > > >>Randy Yates wrote: >> >>>[snip] >>>(Did that sound flippant/irreverent? I didn't mean for it to.) >> >>Not at all. Seems like a reprasing of my comment that not only do I >>not know what I'm talking about, I'm not sure of subject ;) > > > Hi Richard, > > Figuring out the question you want to ask is always a good exercise!
Requiring student to think -- how crude :)
> > How about this: "When performing processing involving the DFT or FFT, > what tasks require the use of windows and for what reason are they used?"
And the answer is ??? Actually I was beginning to come near to that question. But I like your phrasing. I also may have gotten in trouble for my *PARTIAL* understanding of the second half of the question. partial answer: Proper windows can reduce 'crud' in adjacent bins. Aside: Now that I'm no longer entitled to term "newbie", how do I say I KNOW dat i know nutin ;?
Stan Pawlukiewicz wrote:

> Richard Owlett wrote: > >> Stan Pawlukiewicz wrote: >> >>> Richard Owlett wrote: >>> >>>> Jerry Avins wrote: >>>> >>>>> Richard Owlett wrote: >>>>> >>>>>> Just how flat need a window be to utilize "overlap and add" >>>>>> >>>>>> Window data -- FFT -- manipulate in freq domain -- IFFT -- add in >>>>>> time domain >>>>> >>>>> >>>>> Why window? the artifacts caused by a rectangular window should cancel >>>>> in the overlap. >>>>> >>>>> Jerry >>>> >>>> Some of my analysis will be in frequency domain and comparing >>>> frequency domain of multiple sequential "samples". >>>> >>>> I'm grouping for a well formulated question. >>>> >>>> This has much to do with my other post titled >>>> >>>> As "Nyquist" is to "sample rate" "????" is to "sample >>>> period/duration/width/?" ? >>>> >>> >>> It kind of depends on your overlap percentage and the amount of >>> ripple you can tollerate back in the time domain. It also depends on >>> how coloured the data is. Whitening the data prior to windowing >>> should help a bit as well. >>> >> >> You lost me;] >> I've been told not to use label "newbie". >> I'm surely "neophyte" ;] >> > > Where are you lost? I'm guessing about prewhitening.
That's one of I suspect many.
> > Any particular window function trades off the width of the main lobe > response with the level of side lobe leakage. One typically wants much > less leakage power from other bins in any particular bin than signal > and/or noise. In a number of applications, like passive SONAR the > background noise spectrum is continuous but not flat. One doesn't want > sidelobe leakage masking weak signals in quiet parts of the spectrum. If > you prewhiten the data, the overall spectrum is more flat. The level of > signal and/or noise in the quiet parts of the spectrum is increased and > the level of signal and/or noise is reduced in the louder parts of the > spectrum. The whitened spectrum is less susceptible to masking from > leakage. This makes the choice of window less dependent on a sidelobe > leakage criteria. One can concentrate on the time domain scalloping > instead. >
I'm sorry but that paragraph does not communicate. I've an idea where you are going, but I'm missing some underlying assumption &/or competency :{
Richard Owlett wrote:

   ...

> Now that I'm no longer entitled to term "newbie", > how do I say I KNOW dat i know nutin ;?
Inaudibly: "Please pardon my iggerance." 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;
Richard Owlett wrote:
> Stan Pawlukiewicz wrote: > >> Richard Owlett wrote: >> >>> Stan Pawlukiewicz wrote: >>> >>>> Richard Owlett wrote: >>>> >>>>> Jerry Avins wrote: >>>>> >>>>>> Richard Owlett wrote: >>>>>> >>>>>>> Just how flat need a window be to utilize "overlap and add" >>>>>>> >>>>>>> Window data -- FFT -- manipulate in freq domain -- IFFT -- add in >>>>>>> time domain >>>>>> >>>>>> >>>>>> >>>>>> Why window? the artifacts caused by a rectangular window should >>>>>> cancel >>>>>> in the overlap. >>>>>> >>>>>> Jerry >>>>> >>>>> >>>>> Some of my analysis will be in frequency domain and comparing >>>>> frequency domain of multiple sequential "samples". >>>>> >>>>> I'm grouping for a well formulated question. >>>>> >>>>> This has much to do with my other post titled >>>>> >>>>> As "Nyquist" is to "sample rate" "????" is to "sample >>>>> period/duration/width/?" ? >>>>> >>>> >>>> It kind of depends on your overlap percentage and the amount of >>>> ripple you can tollerate back in the time domain. It also depends >>>> on how coloured the data is. Whitening the data prior to windowing >>>> should help a bit as well. >>>> >>> >>> You lost me;] >>> I've been told not to use label "newbie". >>> I'm surely "neophyte" ;] >>> >> >> Where are you lost? I'm guessing about prewhitening. > > > That's one of I suspect many. >
>> >> Any particular window function trades off the width of the main lobe >> response with the level of side lobe leakage.
Did you get this? One typically wants
>> much less leakage power from other bins in any particular bin than >> signal and/or noise.
This? In a number of applications, like passive SONAR
>> the background noise spectrum is continuous but not flat. One doesn't >> want sidelobe leakage masking weak signals in quiet parts of the >> spectrum.
this? If you prewhiten the data, the overall spectrum is more
>> flat.
how about this? The level of signal and/or noise in the quiet parts of the
>> spectrum is increased and the level of signal and/or noise is reduced >> in the louder parts of the spectrum.
this? The whitened spectrum is less
>> susceptible to masking from leakage.
this? This makes the choice of window
>> less dependent on a sidelobe leakage criteria. One can concentrate on >> the time domain scalloping instead.
this?
>> > > I'm sorry but that paragraph does not communicate. > I've an idea where you are going, but I'm missing some underlying > assumption &/or competency :{
Matt Timmermans wrote:
> "Richard Owlett" <rowlett@atlascomm.net> wrote in message > news:10l160r7oi8ptd4@corp.supernews.com... > >>>It's not about FFT convolution. It's about direct (possibly nonlinear) >>>spectral manipulation. >>> >> >>I suspect last paragraph is key. >>I do not know enough to ask intelligent question. >> >>where do I go from here? > > > That depends. When you say "manipulate in the frequency domain", what > application do you have in mind? >
Long response to short question. The best way to describe my application is to review the history of my self assigned project. It should be emphasized that I'm doing this as an amateur in all aspects of the problem. My focus has shifted from "solving a particular problem" towards getting a good feel for initial problem and learning how to use certain tools - DSP. This will be rather long. But I think some of my unstated assumptions may show up this way. It started when I was thinking about adding speech recognition to my computer. Reading posts to comp.speech.users seemed to indicate an absurdly good acoustic environment and overly nuanced enunciation were required to get good results. Lack of speaker independence was also bothersome. I have neither the background nor inclination to investigate the recognition engines. Working over ( pun intended ) the input signal seemed a reasonable route. Subtasks include: 1. Filtering with multiple passbands for voice features ( did not know what a formant was at that time ) and stop bands for interference sources. 2. AGC - haven't gotten into that bees' nest at all yet 3. Morphing each speaker into a "standard speaker". This is definitely *PIE IN SKY* idealism. But I have found it useful in my thinking about some problems. This has led to asking: 1. Should some tasks be offloaded from speech recognition engine to a DSP in a sound pod? 2. Would it be useful to consider each formant to be a separate AM signal. Now to my filtering problem. When I say I'm interested in a arbitrarily shaped filter I DO mean *ARBITRARY* ;) I visualized sets of overlapped triangles ( or trapezoids ) in the frequency domain as a first approximation. It will be crude analog of a speech spectrum with each tooth centered on a formant. I chose to work in frequency domain because: 1. I think that way. My background is low level analog from 25-40 years ago. 2. I have no "real time" time constraints. Data is on CD. Initially I wish to plot spectra of data segments ( filtered/unfiltered ). This leads to questions about windowing. Eventually, I'll want to reassemble the filtered segments. This leads to overlap and add questions. [ my sanity need not be questioned. family and friends would shout "What Sanity?" ;] Does this make some (any) of my questions make sense?