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 06:52:01 +0000 (UTC)
Organization: Image Processing &#38; Math More
Lines: 62
Message-ID: <g0e26h$ig$1@fred.mathworks.com>
References: <g0e20u$kmt$1@fred.mathworks.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 1210747921 592 172.30.248.37 (14 May 2008 06:52:01 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Wed, 14 May 2008 06:52:01 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 805005
Xref: news.mathworks.com comp.soft-sys.matlab:468286



"Chen Sagiv" <chensagivron@gmail.com> wrote in message 
<g0e20u$kmt$1@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 = 10;
w0 = 2*pi;
sigma = 1;
% Case 1: there are 10 cycles of the cosine function
t1 = 0:0.01:10-0.01;
f1 = cos(w0*t1);
fw1 = fftshift(fft(f1));

% Case 2: there are 10 cycles + 1 point
t2 = 0:0.01:10;
f2 = cos(w0*t2);
fw2 = 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