How to prove that with separable 2D functions, 2D Fourier transforms are simply the product of the individual 1D Fourier transforms.

Asked by Sumin Kim

Sumin Kim (view profile)

on 15 Jan 2018
Latest activity Answered by Emmanouil Tzorakoleftherakis

Emmanouil Tzorakoleftherakis (view profile)

on 24 Jan 2018
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 :(

Tags

Answer by Emmanouil Tzorakoleftherakis

Emmanouil Tzorakoleftherakis (view profile)

on 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.