How to prove that with separable 2D functions, 2D Fourier transforms are simply the product of the individual 1D Fourier transforms.
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I try to prove that like this,
a1=[1,7,13,54,5,26];
a2=[7,1,3,1,61,52]';
b1= fft(a1);
b2= fft(a2);
b3= b1.*b2;
c1=a1.*a2;
c2= fft2(c1);
if b3==c2
"same"
else
"different"
end
but I'm failed.
I think there are some problems with dimension. Help me :(
0 commentaires
Réponses (1)
Emmanouil Tzorakoleftherakis
le 24 Jan 2018
Hi Sumin,
There does not seem to be an issue with the dimensions, but rather with the condition that you are using. Try the following:
if norm(vecnorm(b3-c2)) < 1e-5
"same"
else
"different"
end
The reason why you need to do this is because all the calculations made by "fft" are subject to numerical errors. So, when you are checking whether "b3" is equal to "c2", you should not expect all the decimal digits to match since both variables are matrices of doubles.
0 commentaires
Voir également
Catégories
En savoir plus sur Discrete Fourier and Cosine Transforms 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!