Issues with an Inverse Fourier Transform

4 visualizzazioni (ultimi 30 giorni)
Sean Raffetto
Sean Raffetto il 26 Ott 2017
Modificato: Matt J il 27 Ott 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.

Risposte (1)

Matt J
Matt J il 26 Ott 2017
Modificato: Matt J il 26 Ott 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 Commenti
Sean Raffetto
Sean Raffetto il 26 Ott 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 il 27 Ott 2017
Modificato: Matt J il 27 Ott 2017
Anything you do in the forward part, you must undo in the "reverse".

Accedi per commentare.

Categorie

Scopri di più su Fourier Analysis and Filtering in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by