Sign in

username:

password:



Not a member?

Search c6x



Search tips

Subscribe to c6x



c6x by Keywords

AD535 | BIOS | Booting | Bootloader | C621 | C6211 | C6415 | C671 | C6711 | C6711DSK | C6713 | CCS | Chassaing | COFF | DAT | DM64 | DM642 | DMA | DSK671 | DSK6711 | EDM | EDMA | EMIF | Emulator | EVM | EVM620 | FFT | FIR | GPIO | Halting | HPI | HWI | IDK | JTAG | LDB | LDH | LDW | Linker | LMS | LOG_printf | Matlab | McBSP | MEM_alloc | MIPS | PCI | PCM3003 | Pipeline | Profiling | QDM | Reset | ROM | RTDX | Sampling | SDRAM | Stack | TEB | THS1206 | TMS320C621 | TMS320C6416 | TMS320C6711 | TMS320C6713 | UART | Vector Table | XBUS | XDS560

Ads

Discussion Groups

See Also

Embedded SystemsFPGAElectronics

Discussion Groups | TMS320C6x | Question about the FFT on C6711

Technical discussions about the TI C6000 DSPs (including the c62x, c64x and c67x DSPs).

  

Post a new Thread

Question about the FFT on C6711 - Rouxel, Jeanmarc - Jan 16 10:03:00 2001

Question about the FFT on C6711

Hello everybody,

I'm implementing a FFT on a TMS320C6711.

The  code provided by TI (you can find it at ftp://ftp.ti.com/pub/tms320bbs/c67xfiles/fftspx_h.asm) realizes a mixed radix FFT and will work as both as

Radix-2 and Radix-4 FFT (for no of points of FFT as a power of 2 or 4).
Unfortunately the application note describing the code has not been finished yet.

This algorithm allows the main fft of size N to be divided into several steps, allowing as much data reuse as possible.

Has somebody tried to implement this algorithm with several steps ? I have some questions about the use of the factors.

Thanks.

Jean-Marc ROUXEL.




______________________________
New Code Sharing Section now Live on DSPRelated.com. Learn about the Reward Program for Contributors here.



(You need to be a member of c6x -- send a blank email to c6x-subscribe@yahoogroups.com )

Re: Question about the FFT on C6711 - Andrew Elder - Jan 16 13:52:00 2001

Jean-Marc,

I have got it to work correctly in several steps. I divided a 1024 pt
FFT into 4 256 pt FFTs. It seemed to work fine.

The idea is that you can either run the FFT completely, or you can
divide a large FFT into a number of small ones and then run those.

BTW, fftspx_h is not interrupt safe. The way it uses the stack is not
compatible with TI's C tools. The easiest fix is to disable
interrupts around the entire call.

The following example is incorrect as well !

* fftSPxSP_asm(512, &x_asm[0],&w[0],y_asm,brev,2,
0,512); *
*
*
* is equvalent
to: *
*
*
* fftSPxSP_asm(128, &x_asm[2*0], &w[2*384],y_asm,brev,4,
0,512); *
* fftSPxSP_asm(128, &x_asm[2*128],&w[2*384],y_asm,brev,4,
128,512); *
* fftSPxSP_asm(128, &x_asm[2*256],&w[2*384],y_asm,brev,4,
256,512); *
* fftSPxSP_asm(128, &x_asm[2*384],&w[2*384],y_asm,brev,4,
384,512); * Andrew Elder

--- In , "Rouxel, Jeanmarc" <jeanmarc.rouxel@a...>
wrote:
> Hello everybody,
>
> I'm implementing a FFT on a TMS320C6711.
>
> The code provided by TI (you can find it at
> ftp://ftp.ti.com/pub/tms320bbs/c67xfiles/fftspx_h.asm) realizes a
mixed
> radix FFT and will work as both as
> Radix-2 and Radix-4 FFT (for no of points of FFT as a power of 2 or
4).
> Unfortunately the application note describing the code has not been
finished
> yet.
>
> This algorithm allows the main fft of size N to be divided into
several
> steps, allowing as much data reuse as possible.
>
> Has somebody tried to implement this algorithm with several steps ?
I have
> some questions about the use of the factors.
>
> Thanks.
>
> Jean-Marc ROUXEL.


______________________________
New Code Sharing Section now Live on DSPRelated.com. Learn about the Reward Program for Contributors here.



(You need to be a member of c6x -- send a blank email to c6x-subscribe@yahoogroups.com )

RE: Re: Question about the FFT on C6711 - Rouxel, Jeanmarc - Jan 17 14:31:00 2001

RE: [c6x] Re: Question about the FFT on C6711

Thanks for your help, Andrew.

But I try to divide my FFT into 4 FFTs with disabling the IT, but the results were not good.
The results were only good when using the FFT completely.


Can you help me on these several points ?

1. I wonder if the address of the factor's array is always the same for all the calls of the small FFTs ?
Example : for N=1024 they always use &w[2*768] as parameters of the 4 small FFTs ! Is it normal ?

2. In case of a number of complex points which is not a power of 4, the n_min parameter is equal to 2 or 4 ?

3. If wonder if we always divide a large FFT into 4 small FFTs ? Example for N=2048, can we divide into 8 small FFTs (of 256 points) or I am obliged to divide into 4 small FFTs ?

Thanks,

Jean-Marc ROUXEL


-----Message d'origine-----
De : Andrew Elder [mailto:a...@bigfoot.com]
Envoye : mardi 16 janvier 2001 14:52
A : c...@egroups.com
Objet : [c6x] Re: Question about the FFT on C6711


Jean-Marc,

I have got it to work correctly in several steps. I divided a 1024 pt
FFT into 4 256 pt FFTs. It seemed to work fine.

The idea is that you can either run the FFT completely, or you can
divide a large FFT into a number of small ones and then run those.

BTW, fftspx_h is not interrupt safe. The way it uses the stack is not
compatible with TI's C tools. The easiest fix is to disable
interrupts around the entire call.

The following example is incorrect as well !

*          fftSPxSP_asm(512, &x_asm[0],&w[0],y_asm,brev,2, 
0,512);          &nbs p; *
*           &nbs p;                           &n bsp;            &nbs p;                 
         *
*          is equvalent
to:           &n bsp;            &nbs p;                            *
*           &nbs p;                           &n bsp;            &nbs p;                 
         *
*          fftSPxSP_asm(128, &x_asm[2*0],  &w[2*384],y_asm,brev,4,   
0,512);  *
*          fftSPxSP_asm(128, &x_asm[2*128],&w[2*384],y_asm,brev,4, 
128,512);  *
*          fftSPxSP_asm(128, &x_asm[2*256],&w[2*384],y_asm,brev,4, 
256,512);  *
*          fftSPxSP_asm(128, &x_asm[2*384],&w[2*384],y_asm,brev,4, 
384,512);  *


Andrew Elder

--- In c...@egroups.com, "Rouxel, Jeanmarc" <jeanmarc.rouxel@a...>
wrote:
> Hello everybody,
>
> I'm implementing a FFT on a TMS320C6711.
>
> The  code provided by TI (you can find it at
> ftp://ftp.ti.com/pub/tms320bbs/c67xfiles/fftspx_h.asm) realizes a
mixed
> radix FFT and will work as both as
> Radix-2 and Radix-4 FFT (for no of points of FFT as a power of 2 or
4).
> Unfortunately the application note describing the code has not been
finished
> yet.
>
> This algorithm allows the main fft of size N to be divided into
several
> steps, allowing as much data reuse as possible.
>
> Has somebody tried to implement this algorithm with several steps ?
I have
> some questions about the use of the factors.
>
> Thanks.
>
> Jean-Marc ROUXEL.



_____________________________________



______________________________
New Code Sharing Section now Live on DSPRelated.com. Learn about the Reward Program for Contributors here.



(You need to be a member of c6x -- send a blank email to c6x-subscribe@yahoogroups.com )