This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi,
I just got C6713 DSK evaluation board and I am newbie in the field of processors. I want to process real signal 1KHz to 10KHz and perform 1024 point FFT over it. I coudn't found any FFT routine for real data. I don't know how to use codec in code to sample analog signal, I would really appreciate if some one please help me with real time FFT routine.
-Sid
Have you seen the DSP Library? The DSPLIB has a number of FFT functions and presumably one of them will work for you.
Specifically you may want to check out the following wiki article:
http://processors.wiki.ti.com/index.php/Efficient_FFT_Computation_of_Real_Input
The article applies to the C674x DSPLIB, but it is based on a more generic C6000 appnote.
http://focus.ti.com/lit/an/spra291/spra291.pdf
Hi Sid,
As Tim suggested, DSPLIB is what you are after. Also, download spru657 application note as it will be your bible for the type of work you are about to undertake.
The functions you will need to look into in that application note are as follows:
- cfftr2_dit()
- bitrev()
However, I would be cautious on using any DSPLIB function as I am currently having some troubles myself. You might want to check out my question post on this topic to get the details.
As far as I know, the above fft functions work if you are using DSP BIOS but I cannot ensure that they would work if you are using some other RTOS or scheduler.
Good luck !
Cryptoman
I have downloaded DSP Library, folder C6700/dsplib/support/fft contain so many .c and .h files, I don't know which one should I use that supports FFT of real signal ? There should be some function that does sampling of analog signal which I will apply at the LINE IN input of the DSK kit.
Please help me.
Hi BAS,
I first suggest that you download the user guide "spru657c.pdf". That document is very important as it provides all the details of the FFT functions you will use. Knowing the header filename will be of little help on its own as you need to clearly understand how to use the FFT API interface. That information is in the user guide I just mentioned. Please read the section 4.1.3 in that document, which is purely on FFT routines that you need. Depending on your application, you will need to use one or more of the following header files:
DSPF_sp_bitrev_cplx.h
DSPF_sp_cfftr4_dif.h
DSPF_sp_cfftr2_dit.h
DSPF_sp_fftSPxSP.h
DSPF_sp_ifftSPxSP.h
DSPF_sp_icfftr2_dif.h
Regarding the sampling part of your question, unfortunately there is no library function (that I am aware of) that does all the sampling for you. That part needs to be designed and coded by yourself. I would suggest that you search for some application notes on sampling. I am sure there will be some good pointers for DSK users even some sample code. I would suggest starting with an application code for the DSK and slowly modifying it to get an initial understanding of the signal processing on the kit. I would then try to bring in the required functions (such as the sampling and the FFT) to the working sample code.
Please be prepared to do a lot of reading and testing to get a good grasp of DSP applications using the kit.
I hope you will find the above useful.
Regards...
Hi BAS,
My company does not use the DSK; it has its proprietary hardware that includes external ADCs and SDRAMS. Therefore, the sampling routines we use are specific to that hardware.
I think application codes that come with the DSK will be more relevans and useful for your purposes. DSK will have its own ADC chip that will need to be configured for your specific sampling rate etc. ADCs in the market vary greatly and therefore you will need the specific datasheet for the ADC you are going to work with.
Also, depending on how the ADC is connected to the DSK, you may need to toggle some control lines of the ADC from witin your software to put it into the correct mode of operation. However, in order to understand all the requirements, you will need to carefully read and understand the ADC-C6713 interface.
Regards...