The inverse of the continous Fractional Fourier Transform (FrFT)

29 vues (au cours des 30 derniers jours)
Foxy Seif Eddine
Foxy Seif Eddine le 16 Sep 2013
Commenté : zoubir le 13 Fév 2023
Hello,
I'm trying to use this pre-programmed function of the continuous fractional Fourier transform (FrFT) for 1-D arrays available on this website:
Precisely, the one which is the core of the rest of codes (2D,discret ..etc).
It takes as entry parameters, a 1-D array to transform i.e: X, and the transform fractional order i.e: a, it works fine for the forward transform
F = FrFT(X,a)
But I couldn't get the inverse transform when I tried to obtain the inverse transform to recover the 1D original array X:
Xr = FrFT(F,-a)
Xr obtained values are completely different from the original X values, can anyone tell me what is wrong here, please?
As far as i know, one of the properties of the FrFT, its inverse is obtained by taking the FrFT of the negatif of its order, i.e FrFT with order -a.
Regards,
  2 commentaires
Tzila Ajamian
Tzila Ajamian le 20 Mar 2017
Hello Sir, I'm trying to apply the same work that you tried before 4 years. So can you give me some advices from your experience? Did you reach a solution?
Best regards,
Banhi  Das
Banhi Das le 11 Jan 2023
Please help me with the Code of inverse fractional fourier transform

Connectez-vous pour commenter.

Réponses (3)

Kritika
Kritika le 5 Nov 2014
hello sir,
Even I am trying to do the same thing but with a different frft code and its result are not coming correct. If you can help me with it then let me know so that i can share my program with you.
  1 commentaire
zoubir
zoubir le 13 Fév 2023
Hello sir
i have this prb can u help me
Error using .*
Integers can only be combined with integers of the same class, or scalar doubles.
Error in frft (line 31)
fI(m, n) = 1/sqrt(M*N) * sum(sum(I.*exp(-2*pi*1i*((m-1)*U/(M) + (n-1)*V/(N))).*(abs(U/(M))+abs(V/(N)))^alpha));
then i did the double but the same prb
Error using .*
Integers can only be combined with integers of the same class, or scalar doubles.
Error in frft (line 31)
fI(m, n) = 1/sqrt(M*N) * sum(sum(I.*exp(-2*pi*1i*((m-1)*U/(M) + (n-1)*V/(N))).*(double(abs(U/(M))+abs(V/(N))))^alpha));

Connectez-vous pour commenter.


Torben Purz
Torben Purz le 11 Oct 2018
Hello, I think I figured out how to fix this without a lot of work. Just add this line:
if (a<0), a = 2+a; end
above the if(a==0) condition. After applying the inverse transform you need to flip your array then. If you think about it, applying first a (FrFT) and then -a (iFrFT) you end up with a "total" a of 2, so you need to flip your end result.
Hope that helps!
  2 commentaires
天渝 苏
天渝 苏 le 19 Oct 2021
so,cool. That's right. Can you tell me the reason?
zoubir
zoubir le 13 Fév 2023
Hello sir
i have this prb can u help me
Error using .*
Integers can only be combined with integers of the same class, or scalar doubles.
Error in frft (line 31)
fI(m, n) = 1/sqrt(M*N) * sum(sum(I.*exp(-2*pi*1i*((m-1)*U/(M) + (n-1)*V/(N))).*(abs(U/(M))+abs(V/(N)))^alpha));
then i did the double but the same prb
Error using .*
Integers can only be combined with integers of the same class, or scalar doubles.
Error in frft (line 31)
fI(m, n) = 1/sqrt(M*N) * sum(sum(I.*exp(-2*pi*1i*((m-1)*U/(M) + (n-1)*V/(N))).*(double(abs(U/(M))+abs(V/(N))))^alpha));

Connectez-vous pour commenter.


aaru sri
aaru sri le 21 Jan 2019
i m also trying vsame thing but not getting its inverse correct

Catégories

En savoir plus sur Dynamic System Models dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by