05-21-2018 05:45 AM - edited 05-21-2018 05:46 AM
i have been successfully integrating Logicore Fast Fourier Transform v9.0 blocks inside my block designs for the past few months ,but my company has now requested inverse transforms and I am having trouble in just piloting and managing the same block with FWD_INV opposite "functionality". I keep getting imaginary outputs around zero, for any kind of input signal.
- should we just change the FWD_INV configuration bit in the config field, to setup an Inverse transform?
- can we directly link a Logicore IFFT block to the output of a Logicore FFT one, and expect to get back the original signal in time domain?
- can and /or should we operate on NFFT or on NFFT/2 samples, for inverse transform purposes?
- I read the documentation and it seems like the signal has to be packaged same way, Real part in LSB and Imaginary part in MSB, padded to the byte.
Is there, in general, any specific setup option I should take care of, when operating on an inverse transform?
thanks in advance for your cooperation,
05-25-2018 05:17 AM - edited 05-25-2018 05:18 AM
this is a pressing issue, and since I've not received any reply up to now, I am going to attach a screenshot showing the results of our FFT and the corresponding (bad) IFFTs.
3rd screenshot shows the INPUT.
05-25-2018 06:57 AM
First, how does your FFT look compared to a MatLab FFT with the same data window? How wide is your input bus and how big is your input signal, that is how many bits are really toggling? How big is your data window compared to your signal burst?
05-28-2018 01:49 AM - edited 05-28-2018 01:51 AM
our FFTS have Always looked extremely similar if not identical to Matlab's FFT, we even verified the peak's positions
We have parametric time-on and time-off in our signals, currently we have 4 pulses of 512 samples each, on a total of 8192 NFFT samples
we have 16bit input, and our input waveform is generated on Matlab (and verified through FFT and IFFT in there) and converted in 16 bit Fix16_15 for usage on Vivado.
Hope I answered your questions :)