Is there an easy/general way to calculate this? For instance, the rectangular window has a maximum scalloping loss of 0.3634, which can be derived in frequency domain from a normalized sinc(0.5)
.
The only way, given a precomputed window function, I can think of, is to apply the window function to a signal whose period is 2pi*(k + 0.5)/N and amplitude A, calculate a N FFT and measure the bin k. Bin k should have a magnitude of A * N * f, where f is a factor giving the worst-case scalloping loss, irrespective of N/sampling size, right?
Answer
Harris defines the scalloping loss as the ratio of coherent gain for a tone located half a bin from a DFT sample to the coherent gain at a sample (see the paper for the definitions) $$ \mathrm{SL} = \frac{\left\lvert \sum_n w(nT)e^{-j\frac{\pi}{N}n} \right\rvert}{\sum_n w(nT)} = \frac{W\left(\omega_{1/2}\right)}{W(0)} $$ Where $w$ is the window and $W$ is the window DFT
$$ \omega_{1/2} =\frac{\pi}{NT} $$
Guess the value you are after is really $1-SL$
EDIT: I believe the left hand side of the equation is enough to answer @Shaggi's question, but to clarify a bit the notation of the rest, Harris defines DFTs as functions of $\omega_k$, so
\begin{align} W(\omega_k) & = W\left(\frac{2\pi k}{NT}\right) = \\ & = \sum_n w(nT) e^{-j\omega_k nT}\\ & = \sum_n w(nT) e^{-j 2\pi kn/N}\\ W(\omega_{1/2}) & = \sum_n w(nT) e^{-j \pi n/N}\\ W(0) &= \sum_n w(nT) \end{align}
F. J. Harris - On the Use of Windows for Harmonic Analysis with the Discrete Fourier Transform
No comments:
Post a Comment