AnsweredAssumed Answered

Blackfin code examples v2.0, jan 2007, cfft example

Question asked by twilkers Employee on Jan 7, 2010
Latest reply on Dec 8, 2010 by MerrilWeiner

I am looking for some assistance in porting the attached files, which came from the v2.0 1/2007 blackfin code examples, on the public website.   I need them to work in vdsp 5.0 update 6.  Cannot wait for Andromeda.  This particular complex fft has the shortest execution time which is attractive to my customer. 



We have buffers of interleaved I and Q data from a converter that reside in a single buffer. 


The issue at hand is that the asm routine wants to use a data type of complex_fract16 but of course this isn’t in our current fract libs.  It seems to me this should map, or be the same as, fr2x16.  Do you agree?


As a point of reference, attached is the tabulation of the current complex fft libs. 


VDSP libs

C:\Program Files\Analog Devices\VisualDSP 5.0 update 6\Blackfin\lib\src\libdsp  


Filename             description                         cycles for 64 pts

Cfftf_fr16.asm                  radix4 DIF cfft                    627

Cfft_fr16.asm                    radix2 with scaling           2196 w/o scaling(N=128), 406 w/o scaling(N=16) to 452 w dynamic scaling(N=16) ß-------------------------------------------------

Cfftrad24_fr16.asm         radix2 DIT cfft                    557(N=32)


Blackfin code examples, rev 2.0 jan 2007

These routines each contain example projects and are only built in older VDSP so they will  need a recompile to 5.0 (project file will certainly change), archive attached above.




cfft_rad4_ns_nbrev.asm              outplace                              589 (N=64)

cfft_rad4_ps_nbrev.asm              radix4 outplace                 558(N=64)  

cfft_rad4_ps_pbrev.asm              radix4 outplace DIT         527(N=64)  ß-------------------------------               

cfftrad2x2_scaled.asm                  2D DIT radix                        779 (8x8)

cfftrad2x2non_scaled.asm          2D DIT                                   760 (8x8 input)

cr2fftn_out_place.asm                  out of place                        711 (N=64)


r8x8dct.asm                                       real inputs only, Chen’s algorithm            293 (8x8 only)   

r8x8invdct.asm                                 real inputs only, idct, Chen’s                       319 (8x8 only)

r8x8invdct_ieee.asm                      real inputs only, idct, chen’s                        417 (8x8 only)





Thanks in advance,




Message was edited by: AndyR - Fixed broken link to Blackfin processor code examples.