Re: Median algorithm for 8051
- From: paul$@pcserviceselectronics.co.uk (Paul Carpenter)
- Date: Wed, 02 May 2007 10:16:34 +0100 (BST)
On Wednesday, in article
<f198ko$6r3$1@xxxxxxxxxxxxxxxxxxxxxxxxxx>
fake@xxxxxxxxxxxxxx "Arthur Richards" wrote:
I need to find the median of a 64 element unsigned int array. I would use
qsort() but my Keil compiler doesn't support it. I'm using the small model
so the algorithm should be non-recursive. Just to make it interesting I have
less than 500 microseconds to do the calc on a 25 MHz Silabs C8051F410.
The data is obtained sequentially from a ADC so that it may be possible to
do some of the calculation while the ADC is still working.
I would welcome any suggestions/code etc.
Possibly look at smaller sorts of sections using the top 'n' bits of the data
as a hashing table to specify your sections. This is best done with some
link lists, but may end up using more data storage of byte size. The hashing
table may be using 4 bits of the data if twelve bit ADC, so you only actually
store the bottom 8 bits directly. Even a bubble sort of each index table
(upto 64 values for each) on index to byte data may be fast, but puts in
a level of indirection.
With only 64 items you could possibly just use a bubble sort as each value
comes in, and start by putting the values in at the middle of the array.
Potential for moving blocks of the array (or indecii/link list) when
bounds reached. Basically filling from the middle may save time. However
needs to keep track of current lowest and highest filled positions, which is
still only byte information.
--
Paul Carpenter | paul@xxxxxxxxxxxxxxxxxxxxxxxxxxx
<http://www.pcserviceselectronics.co.uk/> PC Services
<http://www.gnuh8.org.uk/> GNU H8 & mailing list info
<http://www.badweb.org.uk/> For those web sites you hate
.
- Follow-Ups:
- Re: Median algorithm for 8051
- From: Arthur Richards
- Re: Median algorithm for 8051
- References:
- Median algorithm for 8051
- From: Arthur Richards
- Median algorithm for 8051
- Prev by Date: Re: Median algorithm for 8051
- Next by Date: Re: Selection of a USB microcontroller
- Previous by thread: Re: Median algorithm for 8051
- Next by thread: Re: Median algorithm for 8051
- Index(es):
Relevant Pages
|