Re: Improving RFID reader throughput!




robertwessel2@xxxxxxxxx wrote:
Ali wrote:
Folks,

I'm doing performance measurements on our MCU based RFID
reader. The very problem I'm facing is redundancy of tag ID (say 12
bytes) transmission, every time my MCU receives a tag ID; will just
push that ID to UART without any prior knowledge of that it is sending
the same ID again and again. (Due to poor designs of RFID tag protocols
single tag can response its ID repeatedly unless some other tag steps
in). Is it possible to implement some AI or data structure technique to
avoid that? And to decide that this tag id was pushed before so no use
to resend go-on to process another incoming IDs.

I just can't ignore the incoming tags while executing some complex
comparison or say search algorithm even assuming that I have 2K free
memory.


Are you just looking for a fast way to filter tags, IOW, something
like: don't retransmit a tag already sent in the last N seconds?

Perhaps a hash to divide your search space into N buckets of M tags
(perhaps 64 buckets of four tags), then just search the M tags, and
manage those on a pseudo-LRU basis? Obviously all that depends on
exactly how much filtering you want to do, and how much CPU time and
memory you actually have available to do it.

Donald Wrote:

So the RFID tag should have enough code and memory to keep track of other tags in >its immediate area ??

Yes you are right the right place to handle this problem is tag side.
Well friend as I mentioned in my post that we are developing reader so
it is suppose to operate with third party products ( tags falling in
reader supported protocols i.e. ISO , EM , EPC Gen 1 or Gen 2 . )
All rfid tags use binary or aloha algorithm to backscatter their
response (ID), these algorithms assure to minimize the tags response in
anit-collision situation but neither of these algorithm consider that
tag should not be responding repeatedly. The bottom line is that I need
to provide logic on reader to avoid retransmitting the ID!

I was just thinking if following can work:

Assumptions :
RS = An double index array for holding the 15 tags ID.
RS_Counter = This counter will help to make that straight array look
like circular list.

Pseudo-code:
If(RS[RS_Counter] == Recently_Processed_ID)
//Do nothing and process new incoming ID because RS_Counter will always
point to last transmitted ID.


for(i=RS_Counter ; i == 0; i--)
if(RS[i] == Recently_Pocessed_ID)
//got it in list so no use to transmit skip to process more incoming
IDs

If(RS_Counter == 15)
//Ok here I'm! could not find any ID in my stored array so time to
put in array and transmit it.
RS_Counter = 0;
RS[RS_Counter++] = Recently_Processed_ID
//Send it to UART while storing it in array but before make sure that
that array is not full. If array is filled then overwrite the oldest ID
in array, whihc is allways at the starting index.

Not sure if it is worthy ,of course it simply can't be the solution
if I'm using more processing as compare to retransmission.



ali

.



Relevant Pages

  • Re: Address of an array = address of its 1st element: undecidable question ?
    ... Lisp compilers, especially Lisp compilers for Lisp-machines, tend ... For instance, if there are exactly two tag bits available, we might ... and a two dimensional array is not *just* a bigger block ... with the aid of an "array descriptor" and possibly even some ...
    (comp.lang.c)
  • Re: Improving RFID reader throughput!
    ... The very problem I'm facing is redundancy of tag ID (say 12 ... Well friend as I mentioned in my post that we are developing reader so ... RS = An double index array for holding the 15 tags ID. ... put in array and transmit it. ...
    (comp.arch.embedded)
  • Re: Splitting Comma delimited list
    ... tag to an array then I print out the array in the heredoc and it works. ... Post a message with the input data, the script, and the ... Leave the cms out of it for now. ...
    (perl.beginners)
  • REXML screen scraping questions
    ... My goal here is to take an HTML table and convert it into an array of ... I'm using REXML to parse the DOM tree. ... + Some important text is inside tags, but it's hard to remove a tag ...
    (comp.lang.ruby)
  • Re: cant retrieve content from inside a

... that if I only got to the <span>, I could easily access the innerHTML ... function getElementsByClass (theClass, node, tag) { ... are accessing the Array instance instead of the element object. ...
(comp.lang.javascript)