Sign in

username:

password:



Not a member?

Search lpc2000



Search tips

Subscribe to lpc2000



lpc2000 by Keywords

2106 | ADC | ARM7 | Atmel | Bootloader | CAN | CrossStudio | CrossWorks | DDS | ECos | Ethernet | ETM | FIFO | FLASH | FPGA | GCC | GDB | GNU | GNUARM | GPIO | I2C | IAP | IAR | JTAG | Kickstart | LCD | Linux | LPC | LPC-E2294 | LPC2000 | LPC2100 | LPC2104 | Lpc2106 | Lpc210x | LPC2114 | LPC2119 | LPC2124 | LPC2129 | Lpc2138 | LPC213x | LPC21xx | LPC2210 | LPC2212 | LPC2214 | LPC2292 | LPC2294 | LPC2xxx | LPC3128 | MCB2100 | Olimex | Philips | PWM | Rowley | RTC | RTOS | SPI | SSP | UART | UART0 | UART1 | ULINK | USB | Watchdog | Wiggler

Ads

Discussion Groups

Discussion Groups | LPC2000 | Which FFT Algorithm do you use on LPC21xx?

Discussion group dedicated to the Philips LPC2000 family of ARM MCUs

Which FFT Algorithm do you use on LPC21xx? - stephen_osborn_co - Feb 19 11:26:04 2007

I am looking for a set of FFT algorithms for my LPC21xx application. I
need FFT & IFFT for Real values using Fixed point arithmatic. I need a
FFT for 256 and possibly 1024 samples.

I have searched the world over and can find many routine for PCs but
not much for ARM. I have read all the post on this board and have
purchased the ARM Systems Developer's Guide which only gives only the
complex input FFT optimized for an ARM9. I have found Kiss_FFT and
FFTW, but have not put in any effort to determine the ease of porting
them.

For those of you using FFTs, what do you use and where did you get it?

Would there be interest in collaborating together and posting a simple
FFT set for LPC21xx in the files section?



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


Re: Which FFT Algorithm do you use on LPC21xx? - Brendan Murphy - Feb 19 11:53:20 2007

--- In l...@yahoogroups.com, "stephen_osborn_co"
wrote:
>
> I am looking for a set of FFT algorithms for my LPC21xx
application. I
> need FFT & IFFT for Real values using Fixed point arithmatic. I
need a
> FFT for 256 and possibly 1024 samples.
>
> I have searched the world over and can find many routine for PCs
but
> not much for ARM. I have read all the post on this board and have
> purchased the ARM Systems Developer's Guide which only gives only
the
> complex input FFT optimized for an ARM9. I have found Kiss_FFT and
> FFTW, but have not put in any effort to determine the ease of
porting
> them.
>
> For those of you using FFTs, what do you use and where did you get
it?
>
> Would there be interest in collaborating together and posting a
simple
> FFT set for LPC21xx in the files section?
>

I'm not sure there's any need for anything specific to ARM.

We do quite a lot of DSP work on the LPC2xxx (no FFT I'm afraid,
though). We go through the following stages:

- filter design and characterization using MATLAB
- conversion from MATLAB to floating point 'C' on PC
- further test and characterization and conversion to fixed point
(this is the hardest part of the process)
- further test of fixed point on PC
- port to target: this is trivial if you stick to ANSI 'C'
- if necessary, optimization

On some platforms we need to do hand optimizations in assembler of
the "inner loops", but have found it not to be necessary on ARM (we
use GNU for ARM with optimizer full ON).

Some things to watch for:

- be careful how you declare integers, getting the sign and size
correct in all cases
- make sure you tell the compiler which ARM variant to use (ARM7TDMI
for LPC2xxx)

The compiler does a pretty good job at optimizations, including using
the relevant MAC instructions where needed.

We do a few tricks for optimization at the algorithm level (in
particular a form of loop unrolling), but as I said we've never had
to code in assembler for ARM.

The key thing I'd recommend is to do as much development and test on
a PC: it's a lot easier to work with than even the best embedded
development tools. Stick to ANSI 'C' and "porting" is just a
recompile.

Hope this helps.

Brendan



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

Re: Which FFT Algorithm do you use on LPC21xx? - Mukund Deshmukh - Feb 19 23:41:01 2007



>I am looking for a set of FFT algorithms for my LPC21xx application. I

Phillips design contest has an entry for FFT based project.

Search google.
Warm Regards,

Mukund Deshmukh,
Beta Computronics Pvt Ltd.
10/1 IT Park, Parsodi,
Nagpur -440022 India.
Web site - http://betacomp.com



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

Re: Which FFT Algorithm do you use on LPC21xx? - misterhershel - Feb 21 17:41:22 2007

--- In l...@yahoogroups.com, "stephen_osborn_co" wrote:
>
> I am looking for a set of FFT algorithms for my LPC21xx application. I
> need FFT & IFFT for Real values using Fixed point arithmatic. I need a
> FFT for 256 and possibly 1024 samples.
>
> I have searched the world over and can find many routine for PCs but
> not much for ARM. I have read all the post on this board and have
> purchased the ARM Systems Developer's Guide which only gives only the
> complex input FFT optimized for an ARM9. I have found Kiss_FFT and
> FFTW, but have not put in any effort to determine the ease of porting
> them.
>
> For those of you using FFTs, what do you use and where did you get it?
>
> Would there be interest in collaborating together and posting a simple
> FFT set for LPC21xx in the files section?
>
Take another look at the "ARM Systems Developer's Guide", section
8.5.1.2. It works with ARM7 (at least it works with my LPC213X).


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

Re: Which FFT Algorithm do you use on LPC21xx? - stephen_osborn_co - Feb 24 10:40:20 2007

--- In l...@yahoogroups.com, "misterhershel" wrote:
>
> --- In l...@yahoogroups.com, "stephen_osborn_co"
wrote:
> >
> > I am looking for a set of FFT algorithms for my LPC21xx
application. I
> > need FFT & IFFT for Real values using Fixed point arithmatic. I
need a
> > FFT for 256 and possibly 1024 samples.
> >
> > I have searched the world over and can find many routine for PCs
but
> > not much for ARM. I have read all the post on this board and have
> > purchased the ARM Systems Developer's Guide which only gives only
the
> > complex input FFT optimized for an ARM9. I have found Kiss_FFT
and
> > FFTW, but have not put in any effort to determine the ease of
porting
> > them.
> >
> > For those of you using FFTs, what do you use and where did you
get it?
> >
> > Would there be interest in collaborating together and posting a
simple
> > FFT set for LPC21xx in the files section?
> >
> Take another look at the "ARM Systems Developer's Guide", section
> 8.5.1.2. It works with ARM7 (at least it works with my LPC213X).
>

I agree that the algorithm in 8.5.1.2 "works" on LPC213X I have ran
it myself. But like I said above, I need FFT & IFFT optimized for
Real Values. The ARM Systems Developer's Guide only provides the
complex FFT for ARM9 that also runs on ARM7. Reading 8.2.1 tells us
that for optimum performance we should use LDM and STM, where 8.5.1.2
uses LDRSH and STRH that work but are not optimum for ARM7.


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