Issues with an Inverse Fourier Transform

1 visualización (últimos 30 días)
Sean Raffetto
Sean Raffetto el 26 de Oct. de 2017
Editada: Matt J el 27 de Oct. de 2017
I have an algorithm that I am trying to reverse. The initial algorithm involves a Fast Fourier Transform of a matrix I call d:
for m = 1:f
D(:,m) = fft(d(:,m)/sqrt(J));
end
After stepping through the rest of the initial algorithm and running through the reverse of it, I arrive to the point where I need to Inverse Fast Fourier Transform the D matrix above that is renamed below to D_ROI:
for m = 1:f
% Inverse fft to get to weighted measured data
d_ROI(:,m) = (ifft(D_ROI(:,m)));
end
Essentially, I need d_ROI to equal d to continue on through the reverse of my algorithm to prove that it works. It seems as simple as the ifft and a normalization factor, but for some reason, it's not. I've attached the code with the input .csv file.

Respuestas (1)

Matt J
Matt J el 26 de Oct. de 2017
Editada: Matt J el 26 de Oct. de 2017
In your forward processing you have applied a scale factor of 1/sqrt(J). In your inversion, you therefore need to apply 1/(1/sqrt(J)).
  4 comentarios
Sean Raffetto
Sean Raffetto el 26 de Oct. de 2017
So are you saying I need to scale those values as well in the reverse part of the algorithm? The forward part of the algorithm (i.e. the forward algorithm ends at Line 227 where I solve for gH and the reverse beings at ttH_2 Line 230) I have left untouched because I proved that gH is correct in the commented-out area.
Matt J
Matt J el 27 de Oct. de 2017
Editada: Matt J el 27 de Oct. de 2017
Anything you do in the forward part, you must undo in the "reverse".

Iniciar sesión para comentar.

Categorías

Más información sobre Fourier Analysis and Filtering en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by