

This file is associated with application note

  Implementing In-Place FFTs on SISD and SIMD SHARC Processors (EE-267)

that can be found at http://www.analog.com/ee-notes.


Code has been tested using

 - VisualDSP++ 3.5 with September 2004 update
 - ADSP-21065L silicon revision 0.3
 - ADSP-21161  silicon revision 1.2



The Demo Project contains the following folders:

(1) CODE FOR TABLE GENERATION
(2) CODE FOR TWID GENERATION
(3) TEST DATA GENERATION
(4) INCLUDE FILES
(5) SIMD CODE
(6) SISD CODE

____________________________
Code For Table Generation:
____________________________

	Contains a C-code "create_table.c" for generating the look up tables. The code has been built under project "create_table.dpj" on the ADSP-21161 with VDSP++3.5. The same C-code could be built under any C compiler.
	The output of the above program are two data files "mod.dat" and "rev_data.dat". These files would be used for the FFT computation.
	For generating the look up tables, you need to specify the size of the FFT Block in the file "create_table.c" under the lable "N".

________________________________
Code For Twid Generation:
________________________________

	Contains the C-code "twid.c" for  generating the Twiddle Factors. The code has been built under project "twid.dpj" on the ADSP-21161 with VDSP++3.5. The same C-code could be built under any C compiler.
	The output from the above program are two files "sin_twid.dat" and "cos_twid.dat".
	You need to specify the size of the FFT block under the label "N".

________________________
Test Data Generation:
________________________

	Contains the C-code "test_data.c" for  generating the test data pattern for the FFT demo code. The code has been built under project "test_data.dpj" on the ADSP-21161 with VDSP++3.5. The same C-code could be built under any C compiler.
	The output from the above program is the file "test_data.dat".
	You need to specify the size of the FFT block under the label "N".
	The Sampling freq and tonal freq in the test signal are defined by the labels SAMP, T1 and T2.

______________________
Include Files:
______________________

	The two sub-folders "1024 point" and "4096 point" contain the twidlle factors, look up tables and test data files for the 1024-point and 4096-point FFT blocks.
	
_________________
SIMD code:
_________________

	Test code for the FFT on SIMD SHARC.


_________________
SISD code:
_________________

	Test code for the FFT on SISD SHARC.



		*************************
		*  How to use the Demo. *
		*************************

(1) The Demo programs in the folders "SIMD code" and "SISD code" are set for the demo of 1024-point FFT demo.
(2) In case you want to perform FFT on a block of different size, first you need to create the twiddle factors, look up tables and test data files. The files can be created using the different programs as mentioned above. Once all the files have been generated, copy them to the test folder (SISD code or SIMD code).
(3) The data pattern specified in the file "test_data.dat" is passed as the real input to the FFT code. The imaginary input is zero.
(4) Run the FFT code. You could view the real and imaginary outputs "In_real" and "In_comp" by plotting them under the VDSP++ plot utility. This utility can  be launched by clicking at "View--> Debug Windows --> Plot --> New". configure the appropriate parameters here to see the plot.
(5) The FFT code can be tested with different test inputs. The different test inputs can be generated by changing the sampling rate and tonal freq in the program "Test_data.c".



						-- kunal singh (13th September, 2004)
						   DSP Applications Engineer,
						   Analog Devices.		 




      


