In Kaldi, "povey" is a window made to be similar to Hamming but to go to zero at the edges, it's:

$$g(n) = \left(\frac{1-\cos\left(\frac{n}{N2\pi}\right)}{2}\right)^{0.85}$$

Please, can anyone mathematically explain why we are considering raising to the power of 0.85? Why not 0.8 or 0.9?

  • $\begingroup$ Can I please ask what "kaldi" means? $\endgroup$ – A_A Jan 14 '19 at 10:00
  • $\begingroup$ kaldi is a speech processing tool. Here they have proposed a new widow just like Hamming and Hanning window. Link for kaldi toolkit is : kaldi-asr.org $\endgroup$ – Rhythm Jan 14 '19 at 10:53

It is difficult to explain the exact reasoning behind this exponent quantitatively but more generally, raising a function to some power $\alpha$, sharpens (for $\alpha>1$) or "dulls", (for $\alpha<1$) the curve's slopes.

In this particular application, raising to a power, changes the slopes of the window function which, multiplied by some signal $x(n)$, will eventually shape its spectrum. This is the purpose of the window function.

(In the application of the Raised cosine filter for example, the "pulse shaping" is more intuitive).

Therefore, the short answer is that the coefficient is 0.85 because that coefficient gave the designers the sort of spectrum lobe shaping they were after.

Now, for a more practical demonstration, here is the exact same curve but at different exponents. On the left it is the window function itself, on the right it is the window's spectrum.

enter image description here

There are a few things worth noticing here:

  • I have put the windows and their spectra in the same graph because the differences for small variations of the exponent are subtle.

  • Because the window function is multiplied with the signal in the time domain, the resulting signal (from the application of the window) is the convolution of the signal's spectrum with the window's spectrum. So what you see on the right, the spectrum of the window function, is not multiplied with the signal. It undergoes the slightly more complicated operation of convolution. Given a signal $x(n)$ and a window function $h(n)$, the resulting signal is $y(n) = x(n) \cdot h(n)$. But this will result in $Y = \mathcal{F}(x) * \mathcal{F}(y)$ where $\mathcal{F}$ denotes the Discrete Fourier Transform.

  • This convolution operator is what causes the shaping of the spectrum. To understand broadly what effect does the window have on the spectrum, you need to understand the relationship between the time domain and the frequency domain. Broadly speaking, a "sharp" function in the time domain has a "wide" frequency domain representation and vice versa. For more information about why this is, consider the shape of the sinc filter. Now, if you convolve your spectrum with a "wide" function, you basically smooth the sharp transitions between harmonics and vice versa. But, to produce a wide convolving function in the frequency domain, you need a sharp function in the time domain (and vice versa). To achieve this, you raise the exponent.

  • This might be a little confusing at first but once you get the relationship between the two domains, along with the convolution theorem, you will be in a better position to understand what a window function achieves and how.

Hope this helps.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.