changeset 9957:fbacee957ac6 octave-forge

control-devel: touch up fft method (3)
author paramaniac
date Wed, 04 Apr 2012 09:19:42 +0000
parents c570726d5254
children 35a9395eb191
files extra/control-devel/devel/fixtest.m extra/control-devel/inst/@iddata/fft.m
diffstat 2 files changed, 36 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/extra/control-devel/devel/fixtest.m	Wed Apr 04 09:19:42 2012 +0000
@@ -0,0 +1,34 @@
+% Extract FFT
+for N = 1:500
+
+  if (rem (N, 2))     % odd
+    n1 = (N+1)/2;
+  else                % even
+    n1 = N/2+1;
+  endif
+
+  n2 = fix (N/2) + 1;
+  
+  if (n1 != n2)
+    warning ("FFT %d: n1=%d, n2=%d", N, n1, n2);
+  endif
+  
+endfor
+
+
+% Frequency Vector
+for N = 1:500
+
+  if (rem (N, 2))     % odd
+    n1 = (N-1)/2;
+  else                % even
+    n1 = N/2;
+  endif
+
+  n2 = fix (N/2);
+  
+  if (n1 != n2)
+    warning ("W %d: n1=%d, n2=%d", N, n1, n2);
+  endif
+  
+endfor
--- a/extra/control-devel/inst/@iddata/fft.m	Wed Apr 04 09:09:45 2012 +0000
+++ b/extra/control-devel/inst/@iddata/fft.m	Wed Apr 04 09:19:42 2012 +0000
@@ -53,6 +53,8 @@
   dat.y = cellfun (@(y, n) fft (y, n)(1:fix(n/2)+1, :) / sqrt (n), dat.y, n, "uniformoutput", false);
   dat.u = cellfun (@(u, n) fft (u, n)(1:fix(n/2)+1, :) / sqrt (n), dat.u, n, "uniformoutput", false);
   
+  % w = (0:fix(n/2)) * (2*pi/tsam/n)
+  
   dat.timedomain = false;
 
 %  dat.y = cellfun (@(y) fft (y, n), dat.y, "uniformoutput", false);