> > > I recently studied the LPC MAC instruction set > > and > > > suspect > > > > that the 21xx would be very good at running many > > > DSP routines. I did a feasibility study on line-echo cancellation based on an LMS filter for a DECT phone handset back in '95 on ARM7TDMI. The echo cancellation functions were broadly compliant to ETS 300 175-2. I got fairly good results using C compiled with the then current ARM tools (SDT 2.0 I think), but had to go to assembler to minimise the data shuffling and work on 4 data terms at a time in parallel. The final code required just 4MHz for the LMS filter and another 1MHz total for two non-linear processing functions, assuming zero waitstate memory. Sorry I can't remember details of the filter I used, itwas a long time ago :) Lack of division hardware is a pain, but if you're doing repeated divisions *by the same divisor*, there is a nice alternative using the 7TDMI's UMULL instruction to multiply by 0xFFFFFFFF/divisor and take the top word of the result. You do have to check the result by multiplying and add one if there has been a rounding error, but this is still much faster than a straight division. Peter.
Message
Re: DSP'ing with the LPC21xx
2004-01-15 by Peter
Attachments
- No local attachments were found for this message.