FFT 4096 on BF592

Hi ,

Is there a way to use BF592 for 4k FFT .

And can we use AD9609-20 with BF592 400 Mhz using PPI .

Please let me know if you have any reference circuit to connect AD9609-20 with any Blackfin .

Thanking you

With best regards and wishes

  • Hi,

    Srivatsa Medavaram wrote:

    And can we use AD9609-20 with BF592 400 Mhz using PPI .

    Please let me know if you have any reference circuit to connect AD9609-20 with any Blackfin .

    I would recommend posting this as a separate question in the Blackfin Processors community, as it does not specifically relate to the CrossCore Embedded Studio Tools.

    Regarding the FFT question - is there a particular FFT library you're looking to use? What data type/size? If there isn't enough memory to do the FFT in one shot, it may be possible through use of the overlap-add method.

    Regards,

    Craig.

  • Hi ,

    Do you have any reference , planning to use cfft but will be able to Trade for anything for FFT .

    Thanking you

  • Hi,

    I spoke with one of my colleagues, who is really the expert in our DSP Runtime Library, and he suggested this

    can be done if you compute the FFT in place (one data buffer for inputs and outputs), and you use the scratchpad for the stack and heap. Doing so gives you the maximum amount of L1 data memory, at the expense of performance. A code snippet how to use the FFT function:

    #include <filter.h>
    #define N_FFT 4096
    
    #pragma section ("L1_data_a")
    complex_fract16  data[N_FFT];
    
    #pragma section ("L1_data_a")
    complex_fract16  twiddle[N_FFT/2];
    
    extern int
    main(void)
    {
      int be;
      twidfftrad2_fr16(twiddle, N_FFT);
      cfft_fr16(data,data,twiddle,1,N_FFT,&be,2);
      return be;
    }
    

    In the example, the FFT is called with dynamic scaling enabled. This will give the best dynamic range in the output. If performance is more important, one could change it to static scaling (last argument set to 1 instead of 2).

    If you use a System Builder LDF (one that is managed through the project system.svc file, by including the LDF/Startup Code Add-In), you can control the placement of Heap and Stack in Scrachpad memory through the options.

    Regards,

    Craig.

  • Hi Craig,

    Thank you for the information .

    I will check on this issue ,  but this method is not overlap-add method , right .

    Thanking you

    With best regards and wishes