Le 10/10/2018 à 08:47, Samuel Gougeon a écrit :
Le 09/10/2018 à 21:52, antoine monmayrant a écrit :
Hello Samuel,
Sorry I might not have made myself clear: fft and fftshift provide
the ability to perform transform along only one of the dimensions of
a multidimensional array.
Something like S(x,y,z) --[FFT along 3rd dim]-->
ffthift(ffft(S(x,y,z), -1,3),3)=Ŝ(x,y,kz).
In that case, you need to perform fft and eventually fftshift along
only the dimension of the transform.
ifftshift should also provide the same possibility to perform the
inverse transform: Ŝ(x,y,kz) --[IFFT along 3rd dim]-->
iffthift(ffft(Ŝ(x,y,kz), +1,3),3)=S(x,y,z).
This is a basic signal processing requirement in my field.
Hello Antoine,
Yes, you are right: in case of directional FFT and odd number of
elements along the chosen direction, ifftshift can't presently be used.
Could you please post the same remark on bugzilla? This bug/wish is
not yet reported.
OK, I'll put it in my TODO-list.
IMO we may propose and include it in Scilab as soon as for Scilab 6.0.2.
BTW, still IMO, fftshift and ifftshift should rather be merged in a
single function.
It's the same code, except a floor<=>ceil. This should deserve just an
option, not a separate dedicated function.
I guess that this separation likely comes from a kind of abusive
Matlab-like mimicry.
Yes, I agree.
But I don't see how we can merge the two without increasing the huge
halo of confusion that blurs the help pages and use of fft-related
functions¹ ².
The first idea that came to my mind was to make one single fftshift
function where:
- if dim>0, you do direct shift (ie for a direct Fourier transform)
along dimension dim;
- if dim<0, you do inverse shift (ie for an inverse Fourier transform)
along dimension |dim|.
But as "-1" means direct fft and "+1" inverse fft, mixing fft and
fftshift would be a real mess.
Antoine
¹ One I just discovered yesterday: the help page for fft is not listed
in "Scilab Help >> Signal Processing > Transforms " ! Only ifft is
listed, cool, he? Of course, ifft points to "Scilab Help >> Signal
Processing > Transforms > fft". Idem for dst, ...
² Oh, and this one cool too: in the fft help page:
"incr
a vector of positive numbers with integer values, or a vector of
positive integers. *See the Description part for details.*" but the
Description never says what the heck "incr" is, does and means....
Arghhh. It only appears once in an example of a "previous syntax".
Best regards
Samuel
_______________________________________________
users mailing list
[email protected]
http://lists.scilab.org/mailman/listinfo/users
--
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
Antoine Monmayrant LAAS - CNRS
7 avenue du Colonel Roche
BP 54200
31031 TOULOUSE Cedex 4
FRANCE
Tel:+33 5 61 33 64 59
email : [email protected]
permanent email : [email protected]
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
_______________________________________________
users mailing list
[email protected]
http://lists.scilab.org/mailman/listinfo/users