Path: news.mathworks.com!not-for-mail
From: "Chen Sagiv" <chensagivron@gmail.com>
Newsgroups: comp.soft-sys.matlab
Subject: Re: Strange Behavior in Phase Calculation
Date: Wed, 14 May 2008 08:30:20 +0000 (UTC)
Organization: Image Processing &#38; Math More
Lines: 136
Message-ID: <g0e7us$d3h$1@fred.mathworks.com>
References: <g0e20u$kmt$1@fred.mathworks.com> <g0e26h$ig$1@fred.mathworks.com>  <dda8029b-882c-463b-8424-0473115436e1@c19g2000prf.googlegroups.com>
Reply-To: "Chen Sagiv" <chensagivron@gmail.com>
NNTP-Posting-Host: webapp-02-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1210753820 13425 172.30.248.37 (14 May 2008 08:30:20 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Wed, 14 May 2008 08:30:20 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 805005
Xref: news.mathworks.com comp.soft-sys.matlab:468304



NZTideMan <mulgor@gmail.com> wrote in message <dda8029b-
882c-463b-8424-0473115436e1@c19g2000prf.googlegroups.com>...
> On May 14, 7:20=A0pm, "Chen Sagiv" 
<chensagiv...@gmail.com> wrote:
> > NZTideMan <mul...@gmail.com> wrote in message <5784b2e7-
> >
> > 6422-4da5-bbfa-
6f93523e0...@k10g2000prm.googlegroups.com>...
> >
> >
> >
> >
> >
> > > On May 14, 6:52=3DA0pm, "Chen Sagiv"
> > <chensagiv...@gmail.com> wrote:
> > > > "Chen Sagiv" <chensagiv...@gmail.com> wrote in 
message
> >
> > > > <g0e20u$km...@fred.mathworks.com>...
> >
> > > > > Dear friends,
> >
> > > > > I have a strange phenomenon.
> > > > > I have a cosine wave. I take two instances of it.
> >
> > > > > I call the first Case 1, where I have 10 cycles of
> > this
> > > > > wave. Case 2 is 10 cycle + one extra point.
> >
> > > > > Now, when I calculate the FT of both signals, I 
get a
> > non
> > > > > zero imaginary value for the second case.
> >
> > > > > If I try to calculate the phase, and use either 
atan,
> > > > > atan2, angle and phase commands I get a linear 
phase.
> >
> > > > > Isn't it Gibberish ? How does Matlab generate 
linear
> > > > phase
> > > > > when the imaginary part of the FT is practically
> > zero ?
> >
> > > > > I would be happy to get comments on this issue.
> >
> > > > > Thanks,
> >
> > > > > Chen
> >
> > > > Sorry, forgot to attach the code:
> >
> > > > close all;
> > > > clear all;
> >
> > > > % Constants
> > > > T =3D3D 10;
> > > > w0 =3D3D 2*pi;
> > > > sigma =3D3D 1;
> > > > % Case 1: there are 10 cycles of the cosine function
> > > > t1 =3D3D 0:0.01:10-0.01;
> > > > f1 =3D3D cos(w0*t1);
> > > > fw1 =3D3D fftshift(fft(f1));
> >
> > > > % Case 2: there are 10 cycles + 1 point
> > > > t2 =3D3D 0:0.01:10;
> > > > f2 =3D3D cos(w0*t2);
> > > > fw2 =3D3D fftshift(fft(f2));
> >
> > > > figure ;
> > > > subplot(3,2,1); plot(real(fw1),'.k');
> > > > title('Case 1: real FT');
> > > > subplot(3,2,3); plot(imag(fw1),'.k');
> > > > title('Case 1: imag FT');
> > > > subplot(3,2,5); plot(atan2(imag(fw1), real
(fw1)),'.');
> > > > title('Case 1: phase of FT');
> > > > subplot(3,2,2); plot(real(fw2),'.k');
> > > > title('Case 2: real FT');
> > > > subplot(3,2,4); plot(imag(fw2),'.k');
> > > > title('Case 2: imag FT');
> > > > subplot(3,2,6); plot(atan2(imag(fw2), real
(fw2)),'.');
> > > > title('Case 2: phase of FT');
> >
> > > > Best,
> >
> > > > Chen- Hide quoted text -
> >
> > > > - Show quoted text -
> >
> > > It's called "leakage". =A0It's a feature of the FFT, 
so
> > don't for a
> > > moment think you've discovered something new.
> > > There's a very good explanation in E Oran Brigham's 
book
> > Fast Fourier
> > > Transform published in 1973.
> >
> > Dear NZTideMan,
> >
> > I am afraid you completely missed my point.
> > I am not referring to the leakage (thanks for the 
reference
> > though), but to the linear phase that seems to be
> > calculated with no reason.
> >
> > If you can refer to this point, i will appreciate it.
> >
> > Best,
> >
> > Chen- Hide quoted text -
> >
> > - Show quoted text -
> 
> OK, so it's leakage AND truncation error.
> You should have realised this when you saw the plot for 
fw1's phase.
> Did you notice it's all over the place between -pi and 
pi?  Did you
> ask yourself why?

Dear NZTideMan,

Yes I did, but got no good answer.
But, as I see it it is a "reasonable" behavior for an 
error. When it takes the form of an ordered pattern, as is 
the case for the phase of fw2, I do not have a good 
explanation yet.

Best,

Chen