From: dbd on
On Jul 13, 2:35 am, "Afinko" <afinko(a)n_o_s_p_a_m.gmail.com> wrote:
....

> Is there any way how to compute the phase in praxis, when the FFT is
> computed from Non-Integer number of signal periods?
> ...

> Afinko

A group of methods called "interpolated fft" can be used to calculate
frequency, amplitude, and phase from the complex fft coefficients of
the peak magnitude bin and the adjacent bins on each side. The most
accurate results are achieved when the interpolation formula used is
designed to match the window applied to the data.

Examples:

http://cdsweb.cern.ch/record/738182/files/ab-2004-023.pdf

http://wwwtw.vub.ac.be/elec/Papers%20on%20web/Papers/JohanSchoukens/IM92Schoukens-The%20Interpolated.pdf


Dale B. Dalrymple
From: robert bristow-johnson on
On Jul 14, 5:39 am, "Afinko" <afinko(a)n_o_s_p_a_m.gmail.com> wrote:
> >if the exact frequency, f0, is known in advance, i would just
> >correlate the sampled signal to cos(2*pi*f0*n) and sin(2*pi*f0*n),
> >after LPFing both separately, apply the 4 quadrant arg{} for phase
> >(amplitude is from square rooting the sums of squares).
>
> hi robert bristow-johnson,
> Thanks for your reply.
> The problem is, that in measured signal, there is not only this one
> examined frequency component, but there is a lot of another frequency
> components, with much higher amplitudes. The best solution would be to
> filter this signal first,

no, the best solution is, *if* the frequency of interest is known in
advance, to heterodyne the signal down to DC first where ...

> but such a sharp bandpass filter is a problem to
> achieve with FIR,

... a sharp LPF is not a problem, either FIR or IIR.

r b-j

From: Ron N. on
On Jul 14, 2:16 am, "Afinko" <afinko(a)n_o_s_p_a_m.gmail.com> wrote:
> >If you reference the phase to the center of your FFT aperture
> >(by means of an pre-fftshift, or post flipping of alternate
> >bins), the evenness to oddness ratio of sinusoid can be
> >interpolated, even if it is not an integer number of signal
> >periods in the FFT aperture.  And the evenness to oddness
> >ratio is cleanly related to the atan2() phase.
>
> >The idiocy where people say you can't interpolate phase
> >is because they are using the start of the FFT aperture;
> >and a non-integer period sinusoid in discontinuous at the
> >boundaries of an FFT aperture, so trying to reference the
> >phase to a discontinuity is certainly non-pictorial and
> >non-intuitive.
>
> >Also, most windows go to zero at the boundaries of the
> >FFT aperature.  So you end up looking for the phase of
> >nothing.  The signal, after windowing, is in the middle.
>
> >So just move your phase reference to the center.
>
> Hi Ron N.,
> Thanks for your reply.
> I read your post several times, but I do not understand what exactly you
> mean by "move your phase reference to the center".
> Can you pleas post some MATLAB example how to do this?
> Or can you modify my MATLAB code and show how does it work?

Read about and try using matlabs fftshift command before
the FFT.

It moves the phase reference (actually it leaves the phase
reference at the boundary, but rotates the data within the
aperture, giving the same result as moving the phase
reference.)


IMHO. YMMV.
--
rhn A.T nicholson d.0.t C-o-M
http://www.nicholson.com/rhn/dsp.html
From: Rick Lyons on
On Wed, 14 Jul 2010 09:05:11 -0700 (PDT), dbd <dbd(a)ieee.org> wrote:

>On Jul 13, 2:35�am, "Afinko" <afinko(a)n_o_s_p_a_m.gmail.com> wrote:
>...
>
>> Is there any way how to compute the phase in praxis, when the FFT is
>> computed from Non-Integer number of signal periods?
>> ...
>
>> Afinko
>
>A group of methods called "interpolated fft" can be used to calculate
>frequency, amplitude, and phase from the complex fft coefficients of
>the peak magnitude bin and the adjacent bins on each side. The most
>accurate results are achieved when the interpolation formula used is
>designed to match the window applied to the data.
>
>Examples:
>
>http://cdsweb.cern.ch/record/738182/files/ab-2004-023.pdf
>
>http://wwwtw.vub.ac.be/elec/Papers%20on%20web/Papers/JohanSchoukens/IM92Schoukens-The%20Interpolated.pdf
>
>
>Dale B. Dalrymple

Hi Dale, thanks for those references. I've only
had a look at the Gasior and Gonzalez paper. However,
I'm suspicious of their Figure 1. I wonder what is
the meaning of the dashed curve in their Figure 1.

If that dashed curve is the *true* spectrum (the
discrete-time Fourier transform) of a finite-duration
input sinewave, then the mainlobe null-to-null width
of that dashed curve should be only two bin-widths.
However, their dashed curve has a mainlobe width of
roughly five bin-widths. That doesn't seem
correct to me.

Also, if the input sinewave's freq is located exactly
on a bin center, then the max spectral magnitude component
will be large and its two neighboring spec magnitude
components should be *VERY* small (ideally zero).
But that's not what they show in their Figure 1(a).

Am I missing something here?

See Ya',
[-Rick-]



From: Rick Lyons on
On Sat, 17 Jul 2010 12:03:25 -0700, Rick Lyons
<R.Lyons@_BOGUS_ieee.org> wrote:

[Snipped by Lyons]
>
>If that dashed curve is the *true* spectrum (the
>discrete-time Fourier transform) of a finite-duration
>input sinewave, then the mainlobe null-to-null width
>of that dashed curve should be only two bin-widths.
>However, their dashed curve has a mainlobe width of
>roughly five bin-widths. That doesn't seem
>correct to me.

Oops, in the above where I wrote:

"... mainlobe width of roughly five bin-widths ...",

I should have said:

"... mainlobe width of roughly *four* bin-widths ..."

See Ya',
[-Rick-]