Mercurial > forge
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);