DSPRelated.com
Forums

Hanning window roll off (Matlab)

Started by Dimitar Penev December 17, 2003
Hi All,

In Matlab there is Hanning function which implement cos^2(t) window.
It has -18 db/oct roll off. I need to estimate the signal PSD using
window with
higer roll off. The sin^4(t) seems adequate for my purpose but it
seems it is not implemented in Matlab?

I wonder is there in Matlab window with roll off in terms of -30
db/oct implemented?

Thanks!
penev
Dimitar Penev wrote:

> Hi All, > > In Matlab there is Hanning function which implement cos^2(t) window. > It has -18 db/oct roll off. I need to estimate the signal PSD using > window with > higer roll off. The sin^4(t) seems adequate for my purpose but it > seems it is not implemented in Matlab? > > I wonder is there in Matlab window with roll off in terms of -30 > db/oct implemented? > > Thanks! > penev
What do you mean by "roll off"? All I can think of is sidelobe suppression, and a Von Hann window is what it is. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Dimitar:

Every window trades off center frequency width (i.e., smear) vs. sidelobe
amplitude. The best window for any given situation depends not only on the
specs you wish to achieve with your result, but also what you know about the
signal you are transforming. For example, a "rectangle" window is a bad
choice for an unkown signal, but is the best choice if you know some things
about the signal--e.g., that you can start and end at zero-crossings of the
signal.

Recall that a windowed response in frequency is the convolution of the
measured signal's (assumed periodic) frequency response with the frequency
response of the window. The whole need for windowing is created by the fact
that the signal may be periodic, but you don't know that ahead of time, and
thus need to "force" it to be periodic by windowing it. Thus, every window
forces zero crossings at either edge, to inforce periodicity, but do so in
different ways. The sharper the trajectory the window takes from an edge up
to unity gain, the less spectral spreading of the measured signal, but the
more "artifacts" created by forcing periodicity.

Stated another way, the frequency response of a windowed signal is the
convolution of the frequency response of the measured signal (which is at
this point assumed to be periodic), with the frequency response of the
window. Thus, you only need look at the frequency responses of the window to
understand the tradeoffs it makes between spectral spreading and sidelobe
rejection.

My take is you are unhappy with the spectral spreading resulting from the
hanning window. In short, try the Blackman-Hamming, as it has the least
spectral spreading of all "common" windows, and still decent sidelob
rejection. Also, since you are working in Matlab, you can create whatever
window you want. Make one to fit your application. There is nothing magic
about Hanning, Hamming, etc. They are just names given to common windows
that tend to be acceptable in a variety of applications.

Further, if you need a synopsis of the tradeoffs of most common window
functions, the best "text" I have seen is an applications book proffered by
ADI, but written by a prof at Georgia Tech, and designed for a "hands on"
DSP course at Georgia Tech, called "Digital Signal Processing in VLSI". It
has an excellent section on choices of window functions.

Jim Gort

"Dimitar Penev" <dpenev@yahoo.com> wrote in message
news:74727cb9.0312170920.64551c3f@posting.google.com...
> Hi All, > > In Matlab there is Hanning function which implement cos^2(t) window. > It has -18 db/oct roll off. I need to estimate the signal PSD using > window with > higer roll off. The sin^4(t) seems adequate for my purpose but it > seems it is not implemented in Matlab? > > I wonder is there in Matlab window with roll off in terms of -30 > db/oct implemented? > > Thanks! > penev
dpenev@yahoo.com (Dimitar Penev) writes:

> In Matlab there is Hanning function which implement cos^2(t) window. > It has -18 db/oct roll off. I need to estimate the signal PSD using > window with higer roll off. The sin^4(t) seems adequate for my > purpose but it seems it is not implemented in Matlab? > > I wonder is there in Matlab window with roll off in terms of -30 > db/oct implemented?
Do any of these: CHEBWIN Chebyshev window. CHEBWIN(N,R) returns the N-point Chebyshev window with R decibels of relative sidelobe attenuation. See also BARTLETT, BARTHANNWIN, BLACKMAN, BLACKMANHARRIS, BOHMANWIN, GAUSSWIN, HAMMING, HANN, KAISER, NUTTALLWIN, RECTWIN, TRIANG, TUKEYWIN, WINDOW. help? Ciao, Peter K. -- Peter J. Kootsookos "I will ignore all ideas for new works [..], the invention of which has reached its limits and for whose improvement I see no further hope." - Julius Frontinus, c. AD 84
On Thu, 18 Dec 2003 01:43:24 GMT, "Jim Gort" <jgort@comcast.net>
wrote:

>Dimitar: > >Every window trades off center frequency width (i.e., smear) vs. sidelobe >amplitude. The best window for any given situation depends not only on the >specs you wish to achieve with your result, but also what you know about the >signal you are transforming. For example, a "rectangle" window is a bad >choice for an unkown signal, but is the best choice if you know some things >about the signal--e.g., that you can start and end at zero-crossings of the >signal. > >Recall that a windowed response in frequency is the convolution of the >measured signal's (assumed periodic) frequency response with the frequency >response of the window. The whole need for windowing is created by the fact >that the signal may be periodic, but you don't know that ahead of time, and >thus need to "force" it to be periodic by windowing it. Thus, every window >forces zero crossings at either edge, to inforce periodicity, but do so in >different ways. The sharper the trajectory the window takes from an edge up >to unity gain, the less spectral spreading of the measured signal, but the >more "artifacts" created by forcing periodicity. > >Stated another way, the frequency response of a windowed signal is the >convolution of the frequency response of the measured signal (which is at >this point assumed to be periodic), with the frequency response of the >window. Thus, you only need look at the frequency responses of the window to >understand the tradeoffs it makes between spectral spreading and sidelobe >rejection. > >My take is you are unhappy with the spectral spreading resulting from the >hanning window. In short, try the Blackman-Hamming, as it has the least >spectral spreading of all "common" windows, and still decent sidelob >rejection. Also, since you are working in Matlab, you can create whatever >window you want. Make one to fit your application. There is nothing magic >about Hanning, Hamming, etc. They are just names given to common windows >that tend to be acceptable in a variety of applications. > >Further, if you need a synopsis of the tradeoffs of most common window >functions, the best "text" I have seen is an applications book proffered by >ADI, but written by a prof at Georgia Tech, and designed for a "hands on" >DSP course at Georgia Tech, called "Digital Signal Processing in VLSI". It >has an excellent section on choices of window functions. > >Jim Gort
Hi Jim, I agree with all the good window/convolution advice you gave Dimitar. However, I think great care should used when talking about periodicity. Windowing a sequence does not make it periodic. I can window a sequence of random numbers, and that windowed sequence is not periodic. Just a comment. We often read something like, "The DFT assumes its input is periodic." Because DFTs are not alive, they can make no assumptions. On this topic, Glen Herrmannsfeldt posted some very useful information: Newsgroups: comp.dsp Subject: Re: Frequency Resolution of the DFT Date: Fri, 31 Oct 2003 20:22:48 GMT See Ya', [-Rick-]