Forum Discussion

志姜000's avatar
志姜000
Icon for New Contributor rankNew Contributor
6 years ago

FFT+IFFT WRONG ANSWER

Dear Intel Community,

I'm working with the FFT IP core provided by the Intel in Quartus.I want to use the same module to implement FFT and IFFT.For example,

FFT IP CORE SETTING:

Device:Cyclone IV E

Length:64

Data Flow:Variable Streaming

Data Representation: Floating Point

Direction:Bi-directional

First, I first sent the tested data into the FFT module, where the inverse signal was at a low level. Then, after FFT operation, I sent the output data into the module as the input data of IFFT, and changed the inverse signal into a high level.But the timing of the output is not consistent with my expectations.

Can you help me what are the other things i should see to find out this problem?

Thanks for reading.

11 Replies

  • CheepinC_altera's avatar
    CheepinC_altera
    Icon for Regular Contributor rankRegular Contributor

    Hi,

    As I understand it, you observe some issue with the FFT to iFFT interface. Just would like to check with you on the following:

    1. Would you mind to further elaborate on the timing not meeting your expectation observation? Some screenshot of docx would be helpful.
    2. Are you observing this in Modelsim simulation or hardware?
    3. If it is hardware, it is recommended for your to create simple test design and simulate with Modelsim to isolate potential functional issue prior to hardware testing.
    4. What is the Quartus version that you are using?
    5. Have you tested with other data format ie try start with fixed point

    Please let me know if there is any concern. Thank you.

    • 志姜000's avatar
      志姜000
      Icon for New Contributor rankNew Contributor

      Quartus version:Quartus 13.1

      I have done the simulation with the Modelsim , and the test results are as follows

  • CheepinC_altera's avatar
    CheepinC_altera
    Icon for Regular Contributor rankRegular Contributor

    Hi,

    Thanks for the update. Would you mind to further elaborate on your simulation waveform? I observe from the waveform that the inverse seems to be toggling half way when the input data is still streaming into the FFT. Not sure if this is something expected?

    Just wonder if you have had a chance to look into the example design which I share previously?

    To facilitate your debugging, it would be great if you could create simple test design with test data (ie sine wave) -> FFT -> iFFT -> output data (sine wave with reduce magnitude) in your simulation. With this, you could cross check again the output data of iFFT to see if it is still following the same shape of the input data with reduced magnitude.

    Please let me know if there is any concern. Thank you.

    Best regards,

    Chee Pin

    • 志姜000's avatar
      志姜000
      Icon for New Contributor rankNew Contributor

      Thank you for your reply.

      My idea is whether it is possible to use only one module to realize FFT and IFFT operations, so I only use one IP core to do the following test,

      According to FFT data manual, FFT operation is performed on 64-point sinusoidal data, and the inverse is equal to 0;Then wait for FFT to output the data, and send the output data source_real and source_imag into the same module for IFFT operation, at which time inverse=1.But the source_valid timing, source_real and source_imag seem to be wrong.

      What is the reason for this problem? Thank you in advance for your help

      • CheepinC_altera's avatar
        CheepinC_altera
        Icon for Regular Contributor rankRegular Contributor
        Hi, Thanks for your update For your information, I have not really testing using single module to perform FFT and iFFT. As I understand it, generally we will feed a complete data stream into the FFT which start with SOP and end with EOP for the FFT to operate correctly. Probably you can try to feed complete data stream, then store the complete FFT output. Then switch to iFFT, feed the complete FFT output to iFFT to see if it works. Please let me know if there is any concern. Thank you. Best regards, Chee Pin