Path: news.mathworks.com!newsfeed-00.mathworks.com!newsfeed2.dallas1.level3.net!news.level3.com!postnews.google.com!u12g2000prd.googlegroups.com!not-for-mail
From: Rune Allnor <allnor@tele.ntnu.no>
Newsgroups: comp.soft-sys.matlab
Subject: Re: how to reverse windowing effect?
Date: Tue, 20 May 2008 14:31:53 -0700 (PDT)
Organization: http://groups.google.com
Lines: 59
Message-ID: <ce40645a-ff51-449e-9db0-9a3652651bae@u12g2000prd.googlegroups.com>
References: <g0t486$r84$1@fred.mathworks.com>
NNTP-Posting-Host: 212.17.141.54
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
X-Trace: posting.google.com 1211319114 12851 127.0.0.1 (20 May 2008 21:31:54 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Tue, 20 May 2008 21:31:54 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: u12g2000prd.googlegroups.com; posting-host=212.17.141.54; 
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET 
Xref: news.mathworks.com comp.soft-sys.matlab:469557


On 20 Mai, 01:59, "ggk giust" <ggkm...@comcast.net> wrote:
> Greetings,
>
> I'd like to apply the blackman-harris window to my real-
> time data array, before taking its FFT and applying a
> frequency-domain filter to it.
>
> My question is, when I then do the inverse FFT, how do I
> reverse the effect of windowing (in this case using
> blackman-harris 4 term, -92db) so that the resulting real-
> time waveform is as accurate as possible?
>
> Is there some equation I can simply apply? I see a lot of
> references to windowing in the literature, but no
> information about how to reverse the effect of windowing
> when going back from the frequency to the time domain.
> Looking for practical advice how to compute this.

So you want to apply a window and then reverse the effects
of the same window? That inspires the question why you think
you want to apply the window in the first place. Keep in
mind that windowing is not a voodoo ritual that needs to be
performed in a seanse to please the powers of the CPU.

Windowing is a technique which serves a very specific purpose.

The shortish story is that 'windowing' is one of many ways to
design FIR filters. The method is appealing because FIR
filters are simple to implement (there are no weird numerical
effects to consider) and FIR design by windowing is merely
a cookbook exercise with no need for fancy software.

Now, the windowing method is based on first finding a finite-
length approximation of an ideal FIR filter, which is of
infinite length. Truncating the ideal filter causes
certain non-ideal effects to appear, most notably what
is known as spectral leakage. There is no way to avoid
this, so from here on the filter design problem consists
of balancing a number of 'bad' factors:

- Stop-band attenuation
- Filter length
- Transition bandwidth

The different window functions have different properties:
Some give short filters but mediocre stop band attenuation.
Others give excellent stop band attenuation, but result
in filters that have lots of coefficients and wide
transition bands.

And so on.

The very short story is that you have to accept some
'degradation' of the filtered signal. It is your
responibilty as system designer to select a filter which
cleans up the data while avoiding to distort the data
too badly.

Rune