Clear Filters
Clear Filters

iFFT for Band-pass Measurement

1 view (last 30 days)
cmd
cmd on 17 Apr 2011
Hi,
I have a outsource data (txt. file)of a band pass measurement which i took from a vector network analyzer. Measurement was made between 700 MHZ-1GHz The data contains 2 columns; 1. 301 measured frequency points 2. real return loss values of points. I have to transform the data from frequency domain to time domain with ifft function in order to calculate distance to fault on a coaxial cable How could i do it? My data is not complex conjugate and not symetric. Shoul i zero padding and mirroring ? What should i do to take ifft?
Thanks in advance!

Answers (6)

David Young
David Young on 17 Apr 2011
Solve the problem in two stages:
  1. Read the data from the file into an array, containing complex values. See textread, or the import wizard.
  2. Call the ifft function. This is general - it does not require any particular symmetries.
  1 Comment
cmd
cmd on 17 Apr 2011
Hi David thanks for your answer,
My data is not complex, it is absolute values of complex values. for example;
Frequency Return Loss
7e+008 -4.08136
7.01e+008 -5.84865
7.02e+008 -8.39599
Can i transform the real data to time domain as real?
The code i tried to write is that,but i could't get the right result;
fid = fopen('rlos.txt');
FDomain = fscanf(fid, %f %f\n',[2,inf]);
FDomain = FDomain';fclose(fid);
f = FDomain(:,1);
RL = FDomain (:,2);
N = 301;
fstep = 1e6;
dt = 1/(fstep*(N-1));
t = dt*[0:N-1];
inv_RL = ifft(RL);
plot(t,inv_RL);

Sign in to comment.


cmd
cmd on 18 Apr 2011
I have only positive frequency points and Real RL values. Should i have complex conjugate symetric data for ifft in order to transform to time domain? Is my ifft point 301 or 2^n like 512 or 1024? How could i get it? Please halp me..
Thanks in advance...

jks
jks on 2 May 2011
i am working on the same kind of problem , please let me know if you have solved the case

Joh Yhan
Joh Yhan on 9 May 2011
Hi cmd,
Try to replace your fstep to the following. B is the measurement bandwidth.
fstep = B / N;

AK
AK on 10 Jan 2012
Well I am also working on some similar kind of problem in 5-10 GHz range which i obtained from VNA which i need to calculate ifft but assuming zero values in 5-10 GHz range will always make results go wrong so some other technique will be required to be done. please let me know if r able to find solution to this answer
  1 Comment
Walter Roberson
Walter Roberson on 10 Jan 2012
We *might* be able to find a solution to this, but to do that we need you to answer the questions raised in response to your Question on this topic, http://www.mathworks.com/matlabcentral/answers/25345-ifft-of-bandpass-signal-data

Sign in to comment.


Dr. Seis
Dr. Seis on 10 Jan 2012
You cannot reconstruct your timeseries unless you have either:
1. Complex values for both positive and negative frequencies. The real parts of the amplitudes are symmetric about 0 frequency, while the imaginary parts of the amplitudes are anti-symmetric [i.e., imag(G(f)) = -1*imag(G(-f)) ] about 0 frequency.
2. Absolute values for both positive and negative frequencies (which are symmetric about 0 frequency) and the phase-angle information associated with the real and imaginary parts.

Tags

Community Treasure Hunt

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

Start Hunting!