I have tried the following methods to test the orthogonality on Fixed point FFT implementation.


Y = A*x, where A = FFT basis and x = input, Y= FFT output

If the input (x) is set to A-1(A inverse), then the o/p will be an identity matrix. To get A-1(A inverse), first set the input (x) an identity matrix. The output is nothing but the basis vector. Take the transpose and set this as next input, which should give an identity matrix as output.

16bit fixed point implementation, an input value of 1 is set as 0x7FFF, but I was not able to get the orthogonality test by setting this value. Please help me in doing orthogonality test on fixed point FFT implementations.


  • $\begingroup$ You're going to need to provide more details than that, but I don't know that your result should be that surprising. You're essentially testing whether an FFT/IFFT sequence gives you the exact same values that you started with. In a 16-bit fixed point implementation of an FFT, you're bound to have some degree of quantization error that will cause this condition to not strictly hold. It's not clear what you were seeing in your output, or how you're doing the computations. If you're on a fixed-point embedded DSP platform, there are often existing FFT libraries that I would recommmend you use. $\endgroup$ – Jason R Apr 20 '15 at 19:12
  • $\begingroup$ Hi Jason, My objective is to find the max error because of fixed point implementation. By seeing the deviation of result of orthogonality I can quantify what is the max errors the implementation can have. $\endgroup$ – Ben Alex Apr 21 '15 at 17:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.