DSPRelated.com
Forums

Why (if) should be windows in spectral analysis nonnegative ?

Started by Robert Rozman September 3, 2003
Hello,

thanks for response. Please see below...

"Fred Marshall" <fmarshallx@remove_the_x.acm.org> wrote in message
news:C6w5b.707$v22.590005@feed2.centurytel.net...
> > You didn't say what the optimization criteria or the objective function
were
> for the "new window". So, maybe that's the difference.
I used common Parks McClellan method (minmax Chebisev approximation) for symmetric FIR filters. I got sequence that is better in magnitude response since it has lower maximum height of side lobes (I used same main lobe width as Hamming window in specification). One could assume that according to magnitude response this is better window cause it has lower side lobes. But in time domain it goes negative and back to zero when approaching the ends. This property collides directly with statements that I read in some articles that windows should be nonnegative. And that's is bothering me. Why should be windows nonnegative if I can get lower sidelobes iin magnitude response relaxing constraint of nonnegativity in time domain ?
> > Here's a factoid: the definition of "window" is a function that is
intended
> to minimize the main lobe width and minimize the side lobe amplitude > simultaneously. van der Maas came up with the theoretical limiting > function. Taylor found a physically realizable analytical approximation.
I
> developed a method that was minimax in the sidelobe peaks (similar to > Taylor) and would allow forcing zeros (such as for intersymbol
interference
> reduction) at the same time. All of these methods result in a window that > is real, even and always positive. Gibby and Smith extended the Nyquist > criterion for bandwidth which has some interesting aspects in that the > window has multiple zeros at the ends (but is still all positive). >
Could you get me some references of more info about your work ?
> So, what can be said is that the optimum windows come out to be all > positive. Why this would be the case is an interesting question that I'd > have to think about. One guess is that many of these developments were
done
> for antenna illumination weighting for beam pattern control. In those > cases, the phase is equal across the array - which would preclude having > zeros in the weighting (which would represent phase reversals). >
I guess this is what bothers me also but I'm not so sure why optimum windows have to be positive and according to what exactly criteria is optimality about...Maybe you can point me to this references and I'll study them carefully.
> Think of this: The objective of a good window is to have its Fourier > Transform approximate a dirac. The inverse transform of a dirac is flat > response for all time. When we limit time, we generate a "gate" function > which has a sinx/x Fourier Transform. The objective of windowing is to > modify the "gate" so that the Fourier Transform is as narrow as possible
yet
> have low sidelobes. This ultimately means that the main lobe in frequency > will be wider than the main lobe of the sinx/x and that the sidelobes will > have better properties than the sinx/x. > > We can start to approach improved windows by slightly tapering the edges
of
> the gate. > Then, by tapering the edges of the gate to zero perhaps. > Then, by extending the taper region until the taper region extends from
both
> ends to the middle. > As soon as you introduce zeros in the middle of the window function, you > have effectively shortened the window which results in a wider main lobe > than necessary for a given sidelobe level. Wider main lobe, higher
spectral
> leakage for nearby frequencies. > > So, it appears that your objective function was something like a lowpass > filter? It wasn't something like a sinx/x I'd venture to guess. >
Yes. Regards, Robert Rozman
Hi Robert

I cant put forward any theoretical proof regarding minimization of side 
lobes and such, but from a product and experimental standpoint I have 
been doing this for quite some time. Basically you are on the right 
track and asking some very good questions.  The bottom line is that you 
can have negative window coefficients, and they can lead to some very 
interesting effects.

In another reply Fred Marshall referred to the fact that a time domain 
window acts like a filter, but in the frequency domain.  Here is how you 
get there.

Consider that the window multiplication you want to perform in the Time 
domain is mathematically equivelent to a convolution in the Frequency 
domain, where the two signals being convolved are the frequency 
responses of the signal and the frequency response of the window function.

The raised cosine window would therefor consist of three coefficients, 
-0.5, 1.0, -0.5 centered around the 0th bin.  Basically you can see the 
DC component and the positive and negative images of the cosine with a 
period of N.

          1.0
           |
           |
   <-+--+--+--+--+->
        |     |
      -0.5  -0.5

The nice part of this is that if you convolve these simple coefficients 
through the (rectangular windowed) FFT'd signal you get the same result 
as if you had done the windowing in the time domain, but you dont have 
to keep a table around full of coefficients (saves space).  Furthermore 
if you dont like the results you can modify the coefficients and go back 
through the data again and again.

A Blackman, where I did not take the time to look up the exact 
coefficient values, would look something like this.

             1.0
              |
              |
       .05    |    .05
        |     |     |
   <-+--+--+--+--+--+--+->
           |     |
           |     |
        -0.47  -0.47


So what about this?  Its a raised sine!

          1.0
           | 0.5
           |  |
   <-+--+--+--+--+->
        |
      -0.5

Or maybe I want a sine and a cosine of period N/2.  Whould this be 
usefull for say extracting out I/Q information but for the frequency N/2?


                   0.5       0.5         0.5
                    |         |           |
   <-+--+--+--+--+--+->  <-+--+--+--+--+--+--+->
        |   (dc)                   (dc)
      -0.5


If you are interested, you can easily modify these coefficients and 
create real time filters from within one of the Sliding DFT demos that 
was written for the C31 DSK some 4-5 years ago (a guess).  I guess its 
time to dust that one back off again and upgrade it for the VC33 DSK. Or 
maybe someone else wants to take credit :-)

Best regards,
Keith Larson
------------------------------------------
Robert Rozman wrote:

Hello,

thanks for response and sorry for any inconvenience. I admit I wasn't 
clear enough.

Let me repeat question in more precise way:

- I have for instance Hamming window (positive in time domain). Now I 
design new window sequence of same length with method for design of 
optimal FIR filter. I get new window that has lower side lobes in 
magnitude response but is also negative in time domain. From magnitude 
response' point of view it would be better since distortion from latter 
window should be smaller (lower spectral leakage). But I've read in 
several articles that windows sequences should be nonnegative in time 
domain.

Now I wonder if this statement has theoretical ground and proper 
theoretical explanation.

Regards,

Robert Rozman.
+------------------------------------------+
|Keith Larson                              |
|Member Group Technical Staff              |
|Texas Instruments Incorporated            |
|                                          |
| 281-274-3288                             |
| k-larson2@ti.com                         |
|------------------------------------------+
|     TMS320C3x/C4x/VC33 Applications      |
|                                          |
| $150 TMS320VC33 DSK's ARE NOW AVAILABLE  |
|                                          |
|               TMS320VC33                 |
|    The lowest cost and lowest power      |
|    floating point DSP on the planet!     |
|              500uw/Mflop                 |
+------------------------------------------+

Robert Rozman wrote:
 
> ... Why should be windows > nonnegative if I can get lower sidelobes iin magnitude response relaxing > constraint of nonnegativity in time domain ?
...
> I guess this is what bothers me also but I'm not so sure why optimum windows > have to be positive and according to what exactly criteria is optimality > about...Maybe you can point me to this references and I'll study them > carefully. >
... First of all, recognize that being non negative is not a specification, but just "the way it turns out". Next, think about what a window is for and how it does what it does. When a block of data is extracted arbitrarily from a longer record, there are necessarily discontinuities at the ends. (When the longer record is periodic and it is possible to extract a whole number of periods, the rectangular window represented by the extraction is best.) An additional window serves to mitigate the discontinuity and, sometimes, its derivatives. Thinking of it as flaring out the data for a smooth landing, while leaving as much of it as is consistent with that. If its coefficients ever go negative, it will have to be steeper in places than if it is monotonic. The idea is to reduce jerkiness; monotonic shape does that. 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;
"Fred Marshall" <fmarshallx@remove_the_x.acm.org> wrote in message
news:Bkw5b.713$v22.590277@feed2.centurytel.net...
> > "Jon Harris" <jon_harrisTIGER@hotmail.com> wrote in message > news:3f552fae$1_3@newsfeed.slurp.net... > > I think you are confusing a "window" with "windowed filter
coefficients".
> > The filter coefficients are created by multiplying the window by a
sinx/x
> > (AKA sinc) function. The window itself is not a filter per se--you
don't
> > directly convolve the window with the input data. Instead, you convolve > the > > windowed filter coefficients with the input data. > > > > In your example, the Hamming window is positive in the time domain, but
a
> > low-pass filter created using a Hamming window would have both positive > and > > negative values since it consists of the Hamming window multiplied by
the
> > oscillating sinc function. In your "method for design of optimal FIR > > filter", presumably what you get out is the low-pass filter
coefficients,
> > NOT a window. If you want to see what the window would have looked
like,
> > you can work backwards by dividing the filter coefficients by the > > appropriate sinc function. I suspect the optimal window will end up
being
> > non-negative. > > Jon, > > I always thought a window could be viewed as a filter (but in the opposite > domain). That is, with respect to where multiplication and where > convolution occur. > I don't understand how you've brought sincs together with a Hamming
window.
> Of course, if we talk in the continuous domains, a Hamming window is > time-limited and therefore is not bandlimited. Because it's time limited, > it can be constructed with an infinite family of frequency domain sincs. > That's very different from "the Hamming window multiplied by the
oscillating
> sinc function."
Fred, I think most of the confusion is coming in with what the window function is used for. I was assuming it was being used to design a LP filter, i.e. using the windowed sinc filter design method. After reading some of the other posts, I see that others are assuming the window is used for windowing data before taking a DFT. I don't know which is correct, but I got my idea because of the OP's use of the phrase "method for design of optimal FIR filter", but I could be wrong. My reference to "the Hamming window multiplied by the oscillating sinc function" refers to how you would create time domain LP filter coefficients using the windowed linear-phase FIR digital filter design (e.g. Matlab's FIR1 function).
> It would be correct to say that the Hamming window is used to multiply a > gate in time and, correspondingly, convolves with the gate's (sinc)
Fourier
> Transform which is pretty much the same thing as saying it can be built up > of an infinite family of superimposed shifted sincs.
Again, you are referring to using a window as part of a FT, while I am assuming it is used for designing a filter.
> I don't see how dividing filter coefficients by a sinc would yield
anything
> interesting. Let's see: let's start with a FIR filter and its frequency > response. If we divide by a sinc in time then that's the same as > multiplying by the inverse of the sinc in time. Lots of zeros to deal
with
> so lots of infinities to deal with. But, ignoring that for now, this is
the
> same as convolving in the frequency domain with the Fourier Transform of
the
> inverse of the time sinc. Awww, I give up.... I don't think this goes > anywhere that's useful.
Let me expand. If an FIR LP filter was designed by windowing a sinc function and all you had were the coefficients, you could find the window function that was used by dividing the coefficients by the sinc, except for that pesky divide by zero issue you mentioned. I was then thinking that if you had some FIR LP coefficients designed using remez or some other optimium technique, you could do the same thing--work backwards and find out what kind of window you would need to design that same filter using the windowed sinc method. But after trying a bit in Matlab, it looks like that isn't actually very useful.
> Anyway, it does appear that the OP has confusion regarding what a window
is. Agreed! -Jon
Jon Harris wrote:
>
...
> > Fred, > > I think most of the confusion is coming in with what the window function is > used for. I was assuming it was being used to design a LP filter, i.e. > using the windowed sinc filter design method. After reading some of the > other posts, I see that others are assuming the window is used for windowing > data before taking a DFT. I don't know which is correct, but I got my idea > because of the OP's use of the phrase "method for design of optimal FIR > filter", but I could be wrong. >
Jon, You're probably right, but except for subtle differences, a window good for data is also good for filter design. The analogy I invoked, coming at the question from data windowing, probably isn't germane, but the conclusion is. Whatever it may be applied to, data or filter coefficients, inversion has no useful place in a tapering function. 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;
"Jon Harris" <jon_harrisTIGER@hotmail.com> wrote in message
news:3f563475$1_4@newsfeed.slurp.net...
> "Fred Marshall" <fmarshallx@remove_the_x.acm.org> wrote in message > news:Bkw5b.713$v22.590277@feed2.centurytel.net... > > > > "Jon Harris" <jon_harrisTIGER@hotmail.com> wrote in message > > news:3f552fae$1_3@newsfeed.slurp.net... > > > I think you are confusing a "window" with "windowed filter > coefficients". > > > The filter coefficients are created by multiplying the window by a > sinx/x > > > (AKA sinc) function. The window itself is not a filter per se--you > don't > > > directly convolve the window with the input data. Instead, you
convolve
> > the > > > windowed filter coefficients with the input data. > > > > > > In your example, the Hamming window is positive in the time domain,
but
> a > > > low-pass filter created using a Hamming window would have both
positive
> > and > > > negative values since it consists of the Hamming window multiplied by > the > > > oscillating sinc function. In your "method for design of optimal FIR > > > filter", presumably what you get out is the low-pass filter > coefficients, > > > NOT a window. If you want to see what the window would have looked > like, > > > you can work backwards by dividing the filter coefficients by the > > > appropriate sinc function. I suspect the optimal window will end up > being > > > non-negative. > > > > Jon, > > > > I always thought a window could be viewed as a filter (but in the
opposite
> > domain). That is, with respect to where multiplication and where > > convolution occur. > > I don't understand how you've brought sincs together with a Hamming > window. > > Of course, if we talk in the continuous domains, a Hamming window is > > time-limited and therefore is not bandlimited. Because it's time
limited,
> > it can be constructed with an infinite family of frequency domain sincs. > > That's very different from "the Hamming window multiplied by the > oscillating > > sinc function." > > Fred, > > I think most of the confusion is coming in with what the window function
is
> used for. I was assuming it was being used to design a LP filter, i.e. > using the windowed sinc filter design method. After reading some of the > other posts, I see that others are assuming the window is used for
windowing
> data before taking a DFT. I don't know which is correct, but I got my
idea
> because of the OP's use of the phrase "method for design of optimal FIR > filter", but I could be wrong. > > My reference to "the Hamming window multiplied by the oscillating sinc > function" refers to how you would create time domain LP filter
coefficients
> using the windowed linear-phase FIR digital filter design (e.g. Matlab's > FIR1 function). > > > It would be correct to say that the Hamming window is used to multiply a > > gate in time and, correspondingly, convolves with the gate's (sinc) > Fourier > > Transform which is pretty much the same thing as saying it can be built
up
> > of an infinite family of superimposed shifted sincs. > > Again, you are referring to using a window as part of a FT, while I am > assuming it is used for designing a filter. > > > I don't see how dividing filter coefficients by a sinc would yield > anything > > interesting. Let's see: let's start with a FIR filter and its
frequency
> > response. If we divide by a sinc in time then that's the same as > > multiplying by the inverse of the sinc in time. Lots of zeros to deal > with > > so lots of infinities to deal with. But, ignoring that for now, this is > the > > same as convolving in the frequency domain with the Fourier Transform of > the > > inverse of the time sinc. Awww, I give up.... I don't think this goes > > anywhere that's useful. > > Let me expand. If an FIR LP filter was designed by windowing a sinc > function and all you had were the coefficients, you could find the window > function that was used by dividing the coefficients by the sinc, except
for
> that pesky divide by zero issue you mentioned. I was then thinking that
if
> you had some FIR LP coefficients designed using remez or some other
optimium
> technique, you could do the same thing--work backwards and find out what > kind of window you would need to design that same filter using the
windowed
> sinc method. But after trying a bit in Matlab, it looks like that isn't > actually very useful.
Jon, The sinc I'm referring to is the very narrow one in frequency defined by the temporal epoch or length of the filter. If you are referring to the somewhat narrow temporal sinc that corresponds to an ideal lowpass filter, that's an entirely different matter. You window (by multiplying with a window function) the somewhat narrow, infinite time sinc in order to get a frequency lowpass function with unit sample response that is finite - the windowing method of filter design. This windowing is the same as convolving the frequency response with the Fourier Transform of the window - which is similar to a narrow frequency sinc, You start with the assumption that the lowpass filter you want is a brick wall filter and go from there. The temporal sinc you're multiplying by the window is the filter impulse response. The narrow sinc-similar functions that are wide in time and that we call "windows" (approximations in some optimum way) are related in width and periodicity to the inverse of the sample epoch. Fred
"Rune Allnor" <allnor@tele.ntnu.no> wrote in message
news:f56893ae.0309040137.146420b@posting.google.com...
> "Robert Rozman" <rozman@fri.uni-lj.si> wrote in message
news:<bj4itk$kce$1@planja.arnes.si>...
> > Hello, > > > > I'm reading a lot of literature on windowing in spectral analysis but > > haven't found theoretical cause of background for statement that windows > > sequences should be nonnegative. It seems logical that weighting should
be
> > done with positive factors but since gained frequency response is > > convolution integral between "real" response and window's response there > > seems to be no cause for not to use for example design method for FIR > > filter to construct window with "better" frequency response but with > > negative time domain samples ? > > I think this is a matter of finding a method for designing filters that > both can be done without very sophisticated tools, and that also yields > relevant filters. > > As you and others have commented on, it is possible to construct "better" > filters, that meets the specs and that are not confined by the limits of > the "usual" window functions. However, doing that requires quite > sophisticated optimization software and rather powerful computers. > > With the "naive" filter specs and one or two simple window functions, > the designer can get a filter up and running by using nothing more than > a piece of paper and the simplest hand calculator (I'm not quite old > enough to mention the slide rule...) in, say, half an hour's time. > > So in my view, it's a matter of getting the job done with a minimum of > tools available. Complicated window functions quickly become too complex > for a human to work with. And once you bring in the computer to optimize > the filter coefficients, you don't need the window functions anyway.
Rune points to what must be the crux of the matter here. In a recent post in this thread, Robert Rozman has admitted that his objective function wasn't the usual objective function for a window. So, this leads me to believe, as Rune suggests, that Rozman is doing filter design using the *windowing method* and comparing the result to a more direct optimization method. I can't tell quite how.... So, let's talk about this a bit.... The windowing method for FIR filter design in simple terms is this: 1) start with an ideal filter response in frequency. This will generally have a bandlimited nature and an infinite impulse response. 2) Multiply the impulse response of the ideal filter with a time-limited window of your choice. This has the effect of convolving the ideal frequency response with the Fourier Transform of the window which generally looks like a sinc as we've discussed previously. That's it. The result has no optimality guaranteed in the filter response. Only the selected window that was used has certain optimality properties. So, if I want to design a lowpass filter I can do this: Use the Parks-McClellan program or something like it to get a minimax / equiripple design which guarantees minimum peak sidelobe levels for a given set of design criteria. or, Use the windowing method as above and get a non-optimum result. How do these differ? Is there a "window" that can be derived from the optimum design? Well, I suppose there might be. If one can deconvolve the ideal response back out of the achieved optimum filter response then some function will presumably result that could be called the "effective window" as if the windowing method had been used in the first place. I venture to guess that the "effective window" will be different for each and every optimum filter design. I also venture to guess that one would find some strange looking sequences that could have negative elements. It might be an interesting research project to see what sorts of functions emerge. Perhaps I'm being anti-intellectual when I say that this research doesn't appear to have value in the applied sense. My colleagues did quite a bit of the math in: "The Optimization of Bandlimited Systems", Temes, Barcilon & Marshall, Proc. IEEE Feb. 1973 pp 196-234. Maybe there's some insight there as to why a window might always be postive. In fact, it appears that the positive nature was often one of the underlying optimization criteria as in eq (97). Later in the paper it appears that there are approximations (not "windows") that appear to have zeros so the sign appears to change. Why might this be? In the optimization of bandlimited functions there is usually a sinusoidal component that extends infinitely - corresponding to the band edge frequency. When all of the functions under consideration are real and even (making things easier to envision), then there is some "phase" associated with this sinusoidal component which may require the weighting in frequency to be negative. The supergained triangle function in Figure 36 appears to have zeros in the magnitude of the Fourier Transform. It's interesting that this is an unusual outcome rather than a typical or more frequent outcome. Fred
"Fred Marshall" <fmarshallx@remove_the_x.acm.org> wrote in message
news:1kQ5b.919$v22.653538@feed2.centurytel.net...
> > "Jon Harris" <jon_harrisTIGER@hotmail.com> wrote in message > news:3f563475$1_4@newsfeed.slurp.net... > > "Fred Marshall" <fmarshallx@remove_the_x.acm.org> wrote in message > > news:Bkw5b.713$v22.590277@feed2.centurytel.net... > > > > > > "Jon Harris" <jon_harrisTIGER@hotmail.com> wrote in message > > > news:3f552fae$1_3@newsfeed.slurp.net... > > > > I think you are confusing a "window" with "windowed filter > > > Jon, > > > > > > I always thought a window could be viewed as a filter (but in the > opposite > > > domain). That is, with respect to where multiplication and where > > > convolution occur. > > > I don't understand how you've brought sincs together with a Hamming > > window. > > > Of course, if we talk in the continuous domains, a Hamming window is > > > time-limited and therefore is not bandlimited. Because it's time > limited, > > > it can be constructed with an infinite family of frequency domain
sincs.
> > > That's very different from "the Hamming window multiplied by the > > oscillating > > > sinc function." > > > > Fred, > > > > I think most of the confusion is coming in with what the window function > is > > used for. I was assuming it was being used to design a LP filter, i.e. > > using the windowed sinc filter design method. After reading some of the > > other posts, I see that others are assuming the window is used for > windowing > > data before taking a DFT. I don't know which is correct, but I got my > idea > > because of the OP's use of the phrase "method for design of optimal FIR > > filter", but I could be wrong. > > > > My reference to "the Hamming window multiplied by the oscillating sinc > > function" refers to how you would create time domain LP filter > coefficients > > using the windowed linear-phase FIR digital filter design (e.g. Matlab's > > FIR1 function). > > > > > It would be correct to say that the Hamming window is used to multiply
a
> > > gate in time and, correspondingly, convolves with the gate's (sinc) > > Fourier > > > Transform which is pretty much the same thing as saying it can be
built
> up > > > of an infinite family of superimposed shifted sincs. > > > > Again, you are referring to using a window as part of a FT, while I am > > assuming it is used for designing a filter. > > > > > I don't see how dividing filter coefficients by a sinc would yield > > anything > > > interesting. Let's see: let's start with a FIR filter and its > frequency > > > response. If we divide by a sinc in time then that's the same as > > > multiplying by the inverse of the sinc in time. Lots of zeros to deal > > with > > > so lots of infinities to deal with. But, ignoring that for now, this
is
> > the > > > same as convolving in the frequency domain with the Fourier Transform
of
> > the > > > inverse of the time sinc. Awww, I give up.... I don't think this goes > > > anywhere that's useful. > > > > Let me expand. If an FIR LP filter was designed by windowing a sinc > > function and all you had were the coefficients, you could find the
window
> > function that was used by dividing the coefficients by the sinc, except > for > > that pesky divide by zero issue you mentioned. I was then thinking that > if > > you had some FIR LP coefficients designed using remez or some other > optimium > > technique, you could do the same thing--work backwards and find out what > > kind of window you would need to design that same filter using the > windowed > > sinc method. But after trying a bit in Matlab, it looks like that isn't > > actually very useful. > > Jon, > > The sinc I'm referring to is the very narrow one in frequency defined by
the
> temporal epoch or length of the filter. > If you are referring to the somewhat narrow temporal sinc that corresponds > to an ideal lowpass filter, that's an entirely different matter. > You window (by multiplying with a window function) the somewhat narrow, > infinite time sinc in order to get a frequency lowpass function with unit > sample response that is finite - the windowing method of filter design. > This windowing is the same as convolving the frequency response with the > Fourier Transform of the window - which is similar to a narrow frequency > sinc,
I think you hit the nail on the head here. We not only were talking about different uses of windows, but also different sincs. Mine was indeed the ideal filter time-domain sinc.
> You start with the assumption that the lowpass filter you want is a brick > wall filter and go from there. The temporal sinc you're multiplying by
the
> window is the filter impulse response. The narrow sinc-similar functions > that are wide in time and that we call "windows" (approximations in some > optimum way) are related in width and periodicity to the inverse of the > sample epoch.
Yes.
"Fred Marshall" <fmarshallx@remove_the_x.acm.org> wrote in message
news:3pQ5b.920$v22.653877@feed2.centurytel.net...
> > "Rune Allnor" <allnor@tele.ntnu.no> wrote in message > news:f56893ae.0309040137.146420b@posting.google.com... > > "Robert Rozman" <rozman@fri.uni-lj.si> wrote in message > news:<bj4itk$kce$1@planja.arnes.si>... > > > Hello, > Rune points to what must be the crux of the matter here. In a recent post > in this thread, Robert Rozman has admitted that his objective function > wasn't the usual objective function for a window. So, this leads me to > believe, as Rune suggests, that Rozman is doing filter design using the > *windowing method* and comparing the result to a more direct optimization > method. I can't tell quite how.... > > So, let's talk about this a bit.... > The windowing method for FIR filter design in simple terms is this: > 1) start with an ideal filter response in frequency. This will generally > have a bandlimited nature and an infinite impulse response. > 2) Multiply the impulse response of the ideal filter with a time-limited > window of your choice. This has the effect of convolving the ideal > frequency response with the Fourier Transform of the window which
generally
> looks like a sinc as we've discussed previously. > That's it. > The result has no optimality guaranteed in the filter response. > Only the selected window that was used has certain optimality properties. > > So, if I want to design a lowpass filter I can do this: > Use the Parks-McClellan program or something like it to get a minimax / > equiripple design which guarantees minimum peak sidelobe levels for a
given
> set of design criteria. > or, > Use the windowing method as above and get a non-optimum result. > > How do these differ? Is there a "window" that can be derived from the > optimum design?
That is exactly what I thought the OP was talking about.
> Well, I suppose there might be. If one can deconvolve the > ideal response back out of the achieved optimum filter response then some > function will presumably result that could be called the "effective
window"
> as if the windowing method had been used in the first place.
Yes! An "effective window" is a good way to describe it. That is where I got off on the idea of dividing the optimum impulse response (aka filter coefficients) by an appropriate sinc function--the same effect as your deconvolving the ideal frequency-domain response. I still think this could work, if the divide by zero problem could be accounted for.
>I venture to guess that the "effective window" will be different for each > and every optimum filter design. > I also venture to guess that one would find some strange looking sequences > that could have negative elements.
Perhaps. In the few examples I looked at, I never saw a negative windows, but that doesn't mean they couldn't occur for certain filters with "unusual" optimizations.
> It might be an interesting research project to see what sorts of functions > emerge. Perhaps I'm being anti-intellectual when I say that this research > doesn't appear to have value in the applied sense. >
<snip> Reading your post, I kept thinking "that's what I was trying to say". But you did a better job of clearly describing it. -Jon
> Fred >