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.

DSPF_sp_ifftSPxSP

I'm using DSPF_sp_ifftSPxSP to computer a IFFT of a vector whose real part and imag part are stored alternately, But the results have a big difference with the results get using MATLAB. And the value of value of input also changed. how could I solve this problem? 

  • The value of the input changed because that particular function does inplace processing. As for the accuracy of the result, did you try to plot both the signals to see what the difference is. What do you mean by a big difference in the output, could the output from DSPLIB be a scaled version of the MAtlab output? Please provide more details on value of number of samples of IFFT computed, what is the value of radix you used? Are the twiddle factors in both cases the same?

    Also, another simple way to verify if the IFFT works correctly is to compute the FFT and then echo the input back by using the IFFT on the output to see if the inputs match. Note that due to inplace processing the input buffer will get over written so ensure that you make a copy of the input when u compute the FFT so that you can compare it with the result of the IFFT.

    Regards,

    Rahul

  • I have verify the output is right when complex twiddle factor was setted correctly. But now I find another qestion wen use the DSP. I define a global variable in MSMCSRAM outside the main fnction. In the main function a child fnction will only read the MSMCSRAM. after execute the child function some variables which never used in the child function  was changed. I do not know why.

  • Hello! I encounted the same problem as you have described, and I want to ask that whether you have used the function for generating the twiddle factor in the demenstration in DSPF_sp_ifftSPxSP_d.c : tw_gen (ptr_w, N); Thank you!!