Understanding the DoubleFFT_1D#realForward Method for FFT Library jtransforms

Asked 2 years ago, Updated 2 years ago, 40 views

In the realForward method in jtransforms, Javadoc, click

This method computers only half of the elements of the real transform. The other half situations the symmetry condition. If you want the full forward transform, use realForwardFull.To get back the original data, use realInverse on the output of this method.

This method calculates only half of the elements of the actual transformation.The other half satisfies the symmetry condition.If full actual forward conversion is required, use the realForwardFull.Use this method in the output for realInverse, which retrieves the original data.
(Google Translation)

It says, "Calculate only half of the elements of the actual conversion.Does the other half satisfy the symmetry condition mean "the other half satisfies the target condition" and "calculate and return imaginary parts"?
Or do you mean "return the exact same number in half" for real and imaginary parts?

I still don't fully understand the meaning of FFT formula, and I can't determine if the power spectrum data is positive when implemented.

java

2022-09-30 19:24

1 Answers

Do you mean "calculate and return imaginary parts"?

No, as stated in the JavaDoc description, real and imaginary values are obtained for different elements.

Do you mean "return exactly the same number in half" for real and imaginary parts?

There is no point in calculating if it contains exactly the same number, so there is a high possibility that I have missed my intention, but it is probably not.

If N real values are input in DFT (discrete Fourier transform, FFT is one of the algorithms to calculate it), the result is N complex values.

^
|
|   @       *
|  @ @     * *
|     @   *
| @    @ *    *
|       @
|@             *
@---------------------->n 
0 N/2 N

(n>N/2 value is a complex conjugate of the corresponding left half value)

Therefore, although not "exactly identical," the value in the right half is easily known from the left half, so "return only the value in the left half" means This method computers only half of the elements of the real transform..
(This method should be translated as RealCalculate only half the elements of the conversion.)


2022-09-30 19:24

If you have any answers or tips


© 2024 OneMinuteCode. All rights reserved.