Sign in

Not a member? | Forgot your Password?

Search compdsp

Search tips

Free PDF Downloads

A Quadrature Signals Tutorial: Complex, But Not Complicated

Understanding the 'Phasing Method' of Single Sideband Demodulation

Complex Digital Signal Processing in Telecommunications

Introduction to Sound Processing

C++ Tutorial

Introduction of C Programming for DSP Applications

Fixed-Point Arithmetic: An Introduction

Cascaded Integrator-Comb (CIC) Filter Introduction

Discussion Groups

IIR Filter Design Software

Free Online Books

See Also

Embedded SystemsFPGA

Discussion Groups | Comp.DSP | Frequency Interpolation - Grandke's Method

There are 5 messages in this thread.

You are currently looking at messages 1 to .


Is this discussion worth a thumbs up?

0

Frequency Interpolation - Grandke's Method - creekmor - 2011-04-20 15:28:00

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?



---


Re: Frequency Interpolation - Grandke's Method - Eric Jacobsen - 2011-04-20 16:32:00

On Wed, 20 Apr 2011 14:28:13 -0500, creekmor <u...@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


Re: Frequency Interpolation - Grandke's Method - robert bristow-johnson - 2011-04-20 17:01:00

On Apr 20, 3:28 pm, creekmor <u...@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.

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


Re: Frequency Interpolation - Grandke's Method - dbd - 2011-04-21 13:42:00

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


Re: Frequency Interpolation - Grandke's Method - jcreek - 2011-04-29 09:02:00

>On Wed, 20 Apr 2011 14:28:13 -0500, creekmor <u...@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.