idamnjanovic@48: function op = opFFTxd(n, dim) idamnjanovic@48: % OPFFT One-dimensional fast Fourier transform (FFT). idamnjanovic@48: % idamnjanovic@48: % OPFFT(N) create a one-dimensional normalized Fourier transform idamnjanovic@48: % operator for vectors of length N. idamnjanovic@48: idamnjanovic@48: % Copyright 2008, Ewout van den Berg and Michael P. Friedlander idamnjanovic@48: % http://www.cs.ubc.ca/labs/scl/sparco idamnjanovic@48: % $Id: opFFT.m 1040 2008-06-26 20:29:02Z ewout78 $ idamnjanovic@48: idamnjanovic@48: op = @(x,mode) opFFTxd_intrnl(n,x, dim,mode); idamnjanovic@48: idamnjanovic@48: idamnjanovic@48: function y = opFFTxd_intrnl(n,x,dim,mode) idamnjanovic@48: x=reshape(x, [size(x,1)/n n]); idamnjanovic@48: %checkDimensions(n,n,x,mode); idamnjanovic@48: if mode == 0 idamnjanovic@48: y = {size(x,1),size(x,1),[1,1,1,1],{'FFT'}}; idamnjanovic@48: elseif mode == 1 idamnjanovic@48: y = fft(x, [], dim);% / sqrt(length(x)); idamnjanovic@48: else idamnjanovic@48: y = ifft(x, [], dim);% * sqrt(length(x)); idamnjanovic@48: end idamnjanovic@48: y=reshape(y, [size(y,1)*size(y,2) 1]); idamnjanovic@48: