>On Wed, 20 Apr 2011 14:28:13 -0500, creekmor <user@compgroups.net/>
>wrote:
>
>>I have a question about Grandke's method of frequency interpolation. (I
suspect this question has been asked before). Using the Hanning window
(and Schoukens, 1991 notation), he derives
>>
>>f_interp = (i + delta) * fo, where
>>
>>delta = (2*alpha - 1) / (alpha + 1), and
>>
>>alpha = abs(X(i+1) / X(i)), and
>>
>>{X(i), X(i+1)} includes the peak. By definition,
>>
>>0 < delta < 1, which implies 1/2 < alpha < 2. Why must
>>
>>alpha satisfy this?
>
>The units on delta are DFT bins, so if delta > 1 then you picked the
>wrong bin for the maximum. The correction is just to find a finer
>estimate between bins, so the assumption is that the peak is already
>determined within one bin.
>
>
>Eric Jacobsen
>http://www.ericjacobsen.org
>http://www.dsprelated.com/blogs-1//Eric_Jacobsen.php
>
I agree with that; however, the quantity
alpha = abs(X(i+1) / X(i))
clearly could be between 0 and infty. For example, if the peak is located
at bin # i, and the next largest bin # is i+1, then
0 < alpha < 1
while if the peak is located at bin # i+1 and the next largest bin # is i,
then
1 < alpha < infty
However, to ensure that the fractional bin spacing delta satisfies
0 < delta < 1,
alpha must then satisfy
1/2 < alpha < 2
which contradicts the above. In comparison, the interpolation formula for
the rectangular window is
delta = alpha / (alpha+1)
which causes no similar problem.
Reply by dbd●April 21, 20112011-04-21
On Apr 20, 2:01�pm, robert bristow-johnson <r...@audioimagination.com>
wrote:
>
> so the discrete peak can be either X[i] or X[i+1]? �what if you
> included the wrong "2nd place" with the discrete peak? �e.g. �what if
> X[i] is the discrete peak, but you should have chosen X[i-1] instead
> of X[i+1]?
Is there some reason to think it is unreasonably more difficult to
locate the peak value and the next greatest value than to find the
peak and the two adjacent values?
>
> dunno who Grandke is, but i think this method sorta sucks. �a simple
> quadratic peak interpolation with three points (the discrete peak and
> its two adjacent neighbors) is better, both analytically ...
Analytically, Grandke's method is derived from and exact for the von
Hann weighting. The quadratic peak interpolator is exact for the log
of the power spectrum for the Gaussian window and very good for large
transforms or high sidelobe rejection Gaussian windows for the
discrete case. The quadratic method may be more robust to some
mismatched window choices and is commonly used by people who accept
the inaccuracy for the benefit of code reuse.
Dale B. Dalrymple
Reply by robert bristow-johnson●April 20, 20112011-04-20
On Apr 20, 3:28=A0pm, creekmor <u...@compgroups.net/> wrote:
> I have a question about Grandke's method of frequency interpolation. =A0(=
I suspect this question has been asked before). =A0Using the Hanning window=
(and Schoukens, 1991 notation), he derives
>
> f_interp =3D (i + delta) * fo, where
>
> delta =3D (2*alpha - 1) / (alpha + 1), and
>
> alpha =3D abs(X(i+1) / X(i)), and
>
> {X(i), X(i+1)} includes the peak.
so the discrete peak can be either X[i] or X[i+1]? what if you
included the wrong "2nd place" with the discrete peak? e.g. what if
X[i] is the discrete peak, but you should have chosen X[i-1] instead
of X[i+1]?
dunno who Grandke is, but i think this method sorta sucks. a simple
quadratic peak interpolation with three points (the discrete peak and
its two adjacent neighbors) is better, both analytically and, since
division is required in both cases, in practice. this method has a
name (i think i saw the person's name in Numerical Recipes) but i
dunno who it is.
r b-j
Reply by Eric Jacobsen●April 20, 20112011-04-20
On Wed, 20 Apr 2011 14:28:13 -0500, creekmor <user@compgroups.net/>
wrote:
>I have a question about Grandke's method of frequency interpolation. (I suspect this question has been asked before). Using the Hanning window (and Schoukens, 1991 notation), he derives
>
>f_interp = (i + delta) * fo, where
>
>delta = (2*alpha - 1) / (alpha + 1), and
>
>alpha = abs(X(i+1) / X(i)), and
>
>{X(i), X(i+1)} includes the peak. By definition,
>
>0 < delta < 1, which implies 1/2 < alpha < 2. Why must
>
>alpha satisfy this?
The units on delta are DFT bins, so if delta > 1 then you picked the
wrong bin for the maximum. The correction is just to find a finer
estimate between bins, so the assumption is that the peak is already
determined within one bin.
Eric Jacobsen
http://www.ericjacobsen.orghttp://www.dsprelated.com/blogs-1//Eric_Jacobsen.php
Reply by creekmor●April 20, 20112011-04-20
I have a question about Grandke's method of frequency interpolation. (I suspect this question has been asked before). Using the Hanning window (and Schoukens, 1991 notation), he derives
f_interp = (i + delta) * fo, where
delta = (2*alpha - 1) / (alpha + 1), and
alpha = abs(X(i+1) / X(i)), and
{X(i), X(i+1)} includes the peak. By definition,
0 < delta < 1, which implies 1/2 < alpha < 2. Why must
alpha satisfy this?
---