This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6748的FFT例程最大只支持128K个点,这个是受什么的限制?



C6748的FFT例程最大只支持128K个点,这个是受什么的限制?

  • 在dsplib user guide里有对每个FFT函数的N点最大值说明,如DSPF_sp_fftSPxSP函数要求8 <= N <= 131072

    void DSPF_sp_fftSPxSP (int N, float *ptr_x, float *ptr_w, float *ptr_y, unsigned char *brev, int n_min, int offset, int n_max)



    --------------------------------------------------------------------------------

    Function Documentation
    void DSPF_sp_fftSPxSP ( int N,
    float * ptr_x,
    float * ptr_w,
    float * ptr_y,
    unsigned char * brev,
    int n_min,
    int offset,
    int n_max
    )

    The benchmark performs a mixed radix forwards fft.


    Parameters:
    N length of FFT in complex samples
    ptr_x pointer to complex data input
    ptr_w pointer to complex twiddle factor
    ptr_y pointer to complex output data
    brev pointer to bit reverse table containing 64 entries
    n_min should be 4 if N can be represented as Power of 4 else, n_min should be 2
    offset index in complex samples of sub-fft from start of main fft
    n_max size of main fft in complex samples

    Algorithm:
    DSPF_sp_fftSPxSP_cn.c is the natural C equivalent of the optimized linear assembly code without restrictions. Note that the linear assembly code is optimized and restrictions may apply.
    Assumptions:
    N needs to be power of 2
    8 <= N <= 131072
    Arrays pointed by ptr_x, ptr_w, and ptr_y should not overlap
    Arrays pointed by ptr_x, ptr_w, and ptr_y should align on the double words boundary