On Thu, 3 Jun 2010 13:19:18 -0700 (PDT), Vivek Menon <vivek.menon79@gmail.com> wrote:>Alan: > >Thanks for these tips.>> 2. Look for being off by an output stride permutation or transpose. >I am not sure how to check this. Can you elaborate ?You started quite well, in your previous post. You observed:> �xk_re[0] 117467 Matlab:f2_r[0] 117467and> But on closer observation, the 64th value obtained from Xilinx > simulation is same as the 2nd value, i.e. > xk_re[64] 6002.34 = Matlab:f2_r[1] 6002.34Just take this further. Compare xk_re[128] with Matlab:f2_r[2] xk_re[192] with Matlab:f2_r[3] xk_re[256] with Matlab:f2_r[4] and so on. A pattern might become visible. The solution may turn out to be as simple as re-ordering address bits in one output array to match the other. - Brian
Re: Verifying/comparing the FFT output between Xilinx Coregen block and Matlab’s fft function
Started by ●June 3, 2010
Reply by ●June 4, 20102010-06-04
On Thu, 3 Jun 2010 20:28:11 -0700 (PDT), Vivek Menon <vivek.menon79@gmail.com> wrote:>Brian: > >Thanks for that info. As per your suggestion, I tried looking for a >pattern and I got > >xk_re[0] = 117020.000000 out1[0] = 117020.000000 >xk_re[64] = 6299.545898 out1[1] = 6299.546058 >xk_re[128] = -480.795319 out1[2] = -480.795307 >xk_re[192] = -2098.480957 out1[3] = -2098.480978>But why did this happen?? I did setup the Xilinx FFT core as 4096 pt >natural order output with 32 bit floating point. Now I need to reorder >the data as per this logic, then do the complex multiplication and >then take an IFFT. Now I am not sure if my IFFT values will match >Matlab.At this point I think the next step is to read some introductory material about FFTs, paying attention to how FFTs can be decomposed into simpler ones. That should help you understand what is going on. - Brian