# seeking formula for Fourier xform of Hamming family of windowing functions

Started by February 5, 2008
```Can someone please post a closed form *formula* for (not just a plot
of) the Fourier transform of windowing
functions in the Hamming family of such functions, or at least post
link(s) to web page(s) containing such a
formula.

-Michael
```
```On Feb 5, 12:10&#2013266080;pm, M.Aram...@verizon.net wrote:
> Can someone please post a closed form *formula* for (not just a plot
> of) the Fourier transform of windowing
> functions in the Hamming family of such functions, or at least post
> link(s) to web page(s) containing such a
> formula.
>
> -Michael

Wow Michael,

That is a REALLY basic question, at least for Hamming windows and some
others.  Have you considered trying to compute a few yourself?

BTW you didn't specify continuous time or discrete time.

Dirk
```
```If I define a Hamming family windowing function to be of the form:
f(x) = { a + (1-a)*cos(2*pi*x)    (-1/2<x<1/2)
{ 0                               (x<-1/2, x>1/2)
where a is a real valued parameter (i.e. a=0.54 for the actual Hamming
transform),
then the formula I come up for its continuous Fourier transform is:
F(alpha) = a*sqrt(2/pi)*sin(alpha/2)/alpha - (1-a)*sqrt(2/
pi)*alpha*sin(alpha/2)/(alpha**2-4*pi**2)
which can be simplified to
F(alpha) = sqrt(2/pi)*sin(alpha/2)/
(alpha**2-4*pi**2)*[(2*alpha**2-4*pi**2)/alpha*a - alpha]

However, I read someplace that if a=25/46 (a little more than 0.54),
there will be a
null in the Fourier transform at alpha=5*pi/2.  However for my formula
above to get a
null at alpha=5*pi/2 requires that a=25/34 (about 0.735), so it looks
like I messed up
something in my derivation.

-Michael
```
```On Feb 5, 12:10 pm, M.Aram...@verizon.net wrote:
> Can someone please post a closed form *formula* for (not just a plot
> of) the Fourier transform of windowing
> functions in the Hamming family of such functions, or at least post
> link(s) to web page(s) containing such a
> formula.

i'm curious what is meant by "family".  would that be different sizes
of the "pedestal" that the Hann part of the Hamming sits upon?

the Hamming window (in continuous time) is:

w(t) = ( 0.54 + 0.46*cos(pi*t) )*rect(t/2)

where  rect(u) = 1 for |u| < 1/2,  0 otherwise

i s'pose you could generalize the definition a little

w(t) = (1/2)*( (1+p) + (1-p)*cos(pi*t) )*rect(t/2)

where "p" is a constant parameter that defines the pedestal size (for
Hann, p=0, for Hamming, p=0.08) for the window definition.  you could
plot a family of curves with different values of "p".  what else could
be meant by the "Hamming family" other than people such as his spouse,
Wanda, in Monterey, CA?

BTW, as Dirk put it, you should be able to compute the Fourier
transform inclosed form of the above expression readily.  use the F.T.
of the rect() (a sinc() function) and the frequency shifting property
of the F.T.

r b-j
```
```On Feb 5, 10:38 am, robert bristow-johnson <r...@audioimagination.com>
wrote:
> On Feb 5, 12:10 pm, M.Aram...@verizon.net wrote:
>
> > Can someone please post a closed form *formula* for (not just a plot
> > of) the Fourier transform of windowing
> > functions in the Hamming family of such functions, or at least post
> > link(s) to web page(s) containing such a
> > formula.
>
> i'm curious what is meant by "family".  would that be different sizes
> of the "pedestal" that the Hann part of the Hamming sits upon?
>
> the Hamming window (in continuous time) is:
>
>     w(t) = ( 0.54 + 0.46*cos(pi*t) )*rect(t/2)
>
>     where  rect(u) = 1 for |u| < 1/2,  0 otherwise
>
> i s'pose you could generalize the definition a little
>
>     w(t) = (1/2)*( (1+p) + (1-p)*cos(pi*t) )*rect(t/2)
>
> where "p" is a constant parameter that defines the pedestal size (for
> Hann, p=0, for Hamming, p=0.08) for the window definition.  you could
> plot a family of curves with different values of "p".  what else could
> be meant by the "Hamming family" other than people such as his spouse,
> Wanda, in Monterey, CA?
>
> BTW, as Dirk put it, you should be able to compute the Fourier
> transform inclosed form of the above expression readily.  use the F.T.
> of the rect() (a sinc() function) and the frequency shifting property
> of the F.T.
>
> r b-j

Another way to parse 'Hamming family' is by window size. If you
consider 'Hamming' to mean 'cosine on pedestal, optimized for minimum
peak sidelobe amplitude, etc.', the coefficient values are a function
of discrete window size. IIRC in the discrete case the commonly used
two digit rounded form is optimal at about 30 or 31 samples. The
values called 'exact' are the values for large windows.

Dale B. Dalrymple
http://dbdimages.com
http://stores.lulu.com/dbd
```
```robert bristow-johnson wrote:
> On Feb 5, 12:10 pm, M.Aram...@verizon.net wrote:
>> Can someone please post a closed form *formula* for (not just a plot
>> of) the Fourier transform of windowing
>> functions in the Hamming family of such functions, or at least post
>> link(s) to web page(s) containing such a
>> formula.
>
> i'm curious what is meant by "family".  would that be different sizes
> of the "pedestal" that the Hann part of the Hamming sits upon?
>
> the Hamming window (in continuous time) is:
>
>
>     w(t) = ( 0.54 + 0.46*cos(pi*t) )*rect(t/2)
>
>     where  rect(u) = 1 for |u| < 1/2,  0 otherwise
>
> i s'pose you could generalize the definition a little
>
>     w(t) = (1/2)*( (1+p) + (1-p)*cos(pi*t) )*rect(t/2)
>
> where "p" is a constant parameter that defines the pedestal size (for
> Hann, p=0, for Hamming, p=0.08) for the window definition.  you could
> plot a family of curves with different values of "p".  what else could
> be meant by the "Hamming family" other than people such as his spouse,
> Wanda, in Monterey, CA?

:-)

The split .54, .46 was carefully (empirically?) chosen to minimize the
first sidelobe. A family of Hamming windows makes no more sense than a
family of third-order Butterworth lowpasses.

...

Jerry
--
Engineering is the art of making what you want from things you can get.
&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;
```
```On second thought, there is supposed to be a null at alpha=5*pi
(*not*, as I erroneously
previously posted, at 5*pi/2) when a=25/46.  Substituting 5*pi for
alpha and 25/46 for a
in the formula for F(alpha) in my previous posting does in fact yield
0.

-Michael
```
```On 5 Feb, 23:04, Jerry Avins <j...@ieee.org> wrote:
> robert bristow-johnson wrote:

> > i s'pose you could generalize the definition a little
>
> > &#2013266080; &#2013266080; w(t) = (1/2)*( (1+p) + (1-p)*cos(pi*t) )*rect(t/2)
>
> > where "p" is a constant parameter that defines the pedestal size (for
> > Hann, p=0, for Hamming, p=0.08) for the window definition. &#2013266080;
...
> The split .54, .46 was carefully (empirically?) chosen to minimize the
> first sidelobe.

While these are interesting facts, I wonder if they are relevant
from a practical point of view?

Wouldn't it make a lot more sense to go straight for the
Parks-McClellan method if one has an application where
textbook (simplified) formulas come up short?

Rune
```
```Rune Allnor wrote:
> On 5 Feb, 23:04, Jerry Avins <j...@ieee.org> wrote:
>> robert bristow-johnson wrote:
>
>>> i s'pose you could generalize the definition a little
>>>     w(t) = (1/2)*( (1+p) + (1-p)*cos(pi*t) )*rect(t/2)
>>> where "p" is a constant parameter that defines the pedestal size (for
>>> Hann, p=0, for Hamming, p=0.08) for the window definition.
> ...
>> The split .54, .46 was carefully (empirically?) chosen to minimize the
>> first sidelobe.
>
> While these are interesting facts, I wonder if they are relevant
> from a practical point of view?
>
> Wouldn't it make a lot more sense to go straight for the
> Parks-McClellan method if one has an application where
> textbook (simplified) formulas come up short?

For windowing the input to a Fourier transform? (But I generally use
Blackman or Nuttlall for that.)

Jerry
--
Engineering is the art of making what you want from things you can get.
&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;
```
```On 6 Feb, 16:28, Jerry Avins <j...@ieee.org> wrote:
> Rune Allnor wrote:
> > On 5 Feb, 23:04, Jerry Avins <j...@ieee.org> wrote:
> >> robert bristow-johnson wrote:
>
> >>> i s'pose you could generalize the definition a little
> >>> &#2013266080; &#2013266080; w(t) = (1/2)*( (1+p) + (1-p)*cos(pi*t) )*rect(t/2)
> >>> where "p" is a constant parameter that defines the pedestal size (for
> >>> Hann, p=0, for Hamming, p=0.08) for the window definition. &#2013266080;
> > ...
> >> The split .54, .46 was carefully (empirically?) chosen to minimize the
> >> first sidelobe.
>
> > While these are interesting facts, I wonder if they are relevant
> > from a practical point of view?
>
> > Wouldn't it make a lot more sense to go straight for the
> > Parks-McClellan method if one has an application where
> > textbook (simplified) formulas come up short?
>
> For windowing the input to a Fourier transform? (But I generally use
> Blackman or Nuttlall for that.)

Point taken.

Still, I would like to see a justification for using something else
than one of the standard windows for PSD estimation.

Rune
```