DSPRelated.com
Forums

seeking formula for Fourier xform of Hamming family of windowing functions

Started by Unknown 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.

Thanks in advance,
-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. > > Thanks in advance, > -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. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#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 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 > > > &#4294967295; &#4294967295; 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. &#4294967295;
...
> 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. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#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 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 > >>> &#4294967295; &#4294967295; 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. &#4294967295; > > ... > >> 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