How to create the complex representation from magnitude and phase information to perform an inverse fast fourier transformation (IFFT)?
이전 댓글 표시
Hello all!
I have a problem with converting amplitude and phase data into the complex form, which is required to perform an IFFT. (inverse fast fourier transformation). This is the only data I have. (See two pictures below)
My frequency range goes from 0.1 to 2.6 and, with 200 samples. I would like to use IFFT to obtain a time signal. Furthermore, can anyone advise me how to choose a time domain and sampling time in order to get useful results?
I have never used IFFT (Or fft) before, so some helpful insights would be very helpful!
<<


>>
답변 (1개)
Walter Roberson
2015년 8월 10일
0 개 추천
Presuming that you want a real result after ifft:
The first value of the array should be the desired mean, multiplied by the total number of samples in the array.
The 2nd through N+1'st values should be complex values whose abs() is the desired magnitude and whose complex part is the desired phase.
After that there may be one real value
The remaining values should be the complex conjugates of the N+1'st through 2nd values (that is, take the N complex value and take conj(fliplr(X))
The total number of entries in the array will be even if you had that one real value, and will be odd if it was not present.
The number of points of output from the ifft will be the same as the length of the input.
댓글 수: 3
Walter Roberson
2015년 8월 12일
The amplitude in the frequency domain is complex, and you need to take its abs() to get the magnitude.
Possibly I do not understand your question. An example might help.
카테고리
도움말 센터 및 File Exchange에서 Spectral Measurements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!