Filter löschen
Filter löschen

The inverse of the continous Fractional Fourier Transform (FrFT)

32 Ansichten (letzte 30 Tage)
Foxy Seif Eddine
Foxy Seif Eddine am 16 Sep. 2013
Kommentiert: zoubir am 13 Feb. 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 Kommentare
Tzila Ajamian
Tzila Ajamian am 20 Mär. 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 am 11 Jan. 2023
Please help me with the Code of inverse fractional fourier transform

Melden Sie sich an, um zu kommentieren.

Antworten (3)

Kritika
Kritika am 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 Kommentar
zoubir
zoubir am 13 Feb. 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));

Melden Sie sich an, um zu kommentieren.


Torben Purz
Torben Purz am 11 Okt. 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 Kommentare
天渝 苏
天渝 苏 am 19 Okt. 2021
so,cool. That's right. Can you tell me the reason?
zoubir
zoubir am 13 Feb. 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));

Melden Sie sich an, um zu kommentieren.


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

Kategorien

Mehr zu Dynamic System Models finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by