Prev: ISE Design Suite 11 will not evaluate 2's comp
Next: Calling different modules of a project from another main file
From: Brian Drummond on 3 Jun 2010 19:26 On Thu, 3 Jun 2010 13:19:18 -0700 (PDT), Vivek Menon <vivek.menon79(a)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] 117467 and > 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.34 Just 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
From: Brian Drummond on 4 Jun 2010 09:28
On Thu, 3 Jun 2010 20:28:11 -0700 (PDT), Vivek Menon <vivek.menon79(a)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 |