IFFT of Bandpass signal data

5 次查看(过去 30 天)
AK
AK 2012-1-5
Dear Sir,
I am having a data from VNA which is in the frequency range of 5-10 GHz and i want to take its inverse FFT but taking its IFFT in normal way of MATLAB does not give the corect solution
[Merged from duplicate question]
Sorry I could not get what u ask that "what is the arrangement of the data". I have data in the form of complex valuesand could not tell u what is the correct data. I am doing a project on Microwave permittivity reconstruction for which i have wavenumber domain Reflection coefficient which on taking inverse fourier transform converts to distance domain so the problem is that my algorithm is correct as when i am taking frequency vector from zero to 10 GHz then the results caome correctbut as i take th frequency vector from 5-10 GHz thye results go wrong due to wrong ifft calculation. I you want i can give you my MATLAB code for ifft calvulation so that you can please help me to correct it.

回答(7 个)

Walter Roberson
Walter Roberson 2012-1-5
Is the frequency data in equal sized frequency bins, with all the bins starting from the constant term and all of the 0 bins?
Is the frequency data in "mirrored" format such as fft() produces, or is it arranged with the constant term at the center, or is it just one half of the fft output without the mirror image?
What difference do you see between what you get and what you expect?

AK
AK 2012-1-5
the frequency spacing is equal in sized as it is taken from vector Network analyser(VNA) while doing experiment. I need to take its inverse Fourier transform using MATLAB. The data from VNA is discrete values having real and complex parts but bandpass in nature( 5-10 GHz).
  1 个评论
Walter Roberson
Walter Roberson 2012-1-5
Okay, that answers half of one of the questions I posed, but none of the others...

请先登录,再进行评论。


Walter Roberson
Walter Roberson 2012-1-6
Instead of posting new copies of the question, answer what has been asked of you already: what is the arrangement of the data, and what is the difference between what you expect and what you get?

Walter Roberson
Walter Roberson 2012-1-16
Posting new copies of the question will not help.
  • Assume we have no idea what a VNA is and that we were too lazy to research it
  • Assume we have no idea how you have configured the VNA (whatever that is)
  • does the data have all the fft bins starting from the constant term and all of the bins whose value is 0 ?
  • is the frequency data in "mirrored" format such as fft() produces, or is it arranged with te constant term at the center, or is it just one half of the fft output without the mirror image?
  • What is the difference between what you get and what you expect? Do not just say that it is "wrong"
  • Upload images. Upload sample data files if you need to (but if you do, tell us the binary file format). http://www.mathworks.com/matlabcentral/answers/7924-where-can-i-upload-images-and-files-for-use-on-matlab-answers
  1 个评论
AK
AK 2012-1-17
here is my code for ifft calculation for wavenumber to distance domain conversion when the frequency vector is from 0 to 10 GHz. Now what change will it require so that if freqency vector is changed from 5 to 15 and the results to be correct.
frequency=0:5e7:5e9;
n=length(frequency);
k0=2*pi*frequency/3e8;
NOW I AM LOADING THE VNA REFLECTION COEFFICIENT FILE IN MY CODE
load gama_at_x_eq_0_constant.txt
real_part=gama_at_x_eq_0_constant(:,1);
imag_part=gama_at_x_eq_0_constant(:,2);
gama=complex(real_part,imag_part);
s=length(gama)
conj_gama=(conj(gama));
app_gama=conj_gama(s-1:-1:2);
length(app_gama)
total_gama=[gama;app_gama];
epsilon(1)=1;
r_ifft=ifft(total_gama);

请先登录,再进行评论。


AK
AK 2012-1-17
frequency=0:5e7:5e9;
n=length(frequency);
k0=2*pi*frequency/3e8;
NOW I AM LOADING THE VNA REFLECTION COEFFICIENT FILE IN MY CODE
load gama_at_x_eq_0_constant.txt
real_part=gama_at_x_eq_0_constant(:,1);
imag_part=gama_at_x_eq_0_constant(:,2);
gama=complex(real_part,imag_part);
s=length(gama)
conj_gama=(conj(gama));
app_gama=conj_gama(s-1:-1:2);
length(app_gama)
total_gama=[gama;app_gama];
epsilon(1)=1;
r_ifft=ifft(total_gama);

Walter Roberson
Walter Roberson 2012-2-9
There is no way to solve the problem without answers to the questions I asked on 16 Jan 2012.
You will find the upload locations given twice above, once on Jan 6, 2012, and once on Jan 16, 2012.
Email that requests a Return Receipt will usually be deleted before being read.

Walter Roberson
Walter Roberson 2012-2-11
Making a whole series of assumptions:
total_gama = [0, zeros(size(gama)), gama, conj(fliplr(gama)), zeros(size(gama))];
r_ifft = ifft(total_gama);
This code will create an output that has an odd number of points, not an even number of points.
It appears that to get out an even number of points, then:
total_gama = [0, zeros(size(gama)), gama, conj(fliplr(gama(2:end))), zeros(size(gama))];
r_ifft = ifft(total_gama);
If the original signal was complex-valued then all bets are off: the dfft() of a complex signal is not conjugate-symmetric.

类别

Help CenterFile Exchange 中查找有关 Spectral Measurements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by