896 IEEE TRANSACTIONS ON COMPUTERS,VOL.65,NO.3.MARCH 2016 Interference tags 7 Tag Specified area Interference tags Interference tags Interference tags Antenna Fig.9.Tags located at different depths. Fig.8.Identify the tags in the specified area in two-dimensional space. which means the identified tag sets {Nk}are closest to the In order to find the area containing interference tags, target tags.Then,the reader selects one set Nk which is iden- EPIA rotates the antenna around the specified area S.We tified with the smallest power Pk from {Nok},and uses Nol use Aore to divide the boundary into different regions,as as the interference tags,which will be used for power step- shown in Fig.8.According to Fig.3a in Section 4,when the ping as PIA does.Similarly,EPIA selects this smallest end- rotation angle 0,∈[60°,90],the reader has better perfor- ing power Pok as the initial power Ps for power steeping, mance to identify the tags.Therefore,we set△ore=6O°,in which is described in Algorithm 2. order to make sure that each region of the boundary can be located in the reader's effective scanning range.However, Algorithm 4.EPIA:Exploring the Boundary in Two- when the direction is fixed,the reader identifies the tags as Dimensional Space PIA does.When identifying the tags in one direction,the Input:The specified area S antenna rotates away from the target tags by A0,=30 to Pw min Pu,na=0,0e=0 identify the interference tags as PIA does.In this way, while ns<ne and P<max P do the tags to be identified are always located in the center Get n,tag IDs Na, of the interrogation region..It means that,∈[75°,90l, Pu min(Pu +APu:max Pe). where the reader will undoubtedly have good performance if Pe max Pe then P max Pu,Return. for tag identification.The difference between the value of The antenna randomly selects a direction to identify interfer- △Ore and△a,lies in that△ore is only used to divide the ence tags,.k=1,△9mtm=90°. boundary,while A0,is used to identify the tags while 0c∈[0°,360)do i=1,nk=0,△8k=0° while ng<ne and△9rk<△9 min do 9 DISCUSSION FOR TAG IDENTIFICATION TOWARDS The antenna rotates away from the target tags, MORE COMPLEX ENVIRONMENTS the accumulative rotation angle is In the above sections,the target tags and the interference tags △9rk=min(△9rk+△6r,△0,mm are mainly located at the same depth.However,in more while P<max P do Ans tag IDs in N.disappear, complex environments,the objects may be located at differ- n=nsg-△n· ent depths.As shown in Fig.9,the vertical distance between Get ni tag IDs Nu not is S. the target tags and the antenna is dl,while the vertical dis- if ng ne then Break. tance between the interference tags and the antenna are if ns<n,then dir,dir2,dir3,dir,respectively.The value of dis and ifi>1and△ns,<△ns-then diri(i [1,4)may be different. Break. At this time,the rotation angle o of the antenna cannot be Pu min(Pu +APu;max Pu). calculated by 3D camera in the way described in Section 6.1.2. else Break. For example,the 3D camera can calculate the distances dL i=i+1. Puk=Pu. and dis,whilearccos(),because ddr.PID can if△9k<△Omin then△Bmit=△9rk. not work well in such an environment.Fortunately,we can 0e=0e+△0e,k=k+1. use EPIA to explore the boundary of the specified area S by For the sets {Nu}satisfying Aork=Aomin,select one Nok with rotating the antenna.However,if the di(i[1,4)is much the smallest Pick. smaller than d,more interference tags will be identified.At Ni=Nik. this time,we can try to adjust the placement of the objects or Output:Tag IDs in the boundary:No antenna,aiming to reduce the depth difference among the tags.Then,the reader uses EPIA to identify the target tags.which means the identified tag sets fNbkg are closest to the target tags. Then, the reader selects one set Nbk which is identified with the smallest power Pwk from fNbkg, and uses Nbk as the interference tags, which will be used for power stepping as PIA does. Similarly, EPIA selects this smallest ending power Pwk as the initial power Pws for power steeping, which is described in Algorithm 2. Algorithm 4. EPIA: Exploring the Boundary in TwoDimensional Space Input: The specified area S Pw ¼ min Pw, ns ¼ 0, uc ¼ 0. while ns < n" and Pw < max Pw do Get ns tag IDs Ns, Pw ¼ minðPw þ DPw; max PwÞ. if Pw ¼ max Pw then P w ¼ max Pw, Return. The antenna randomly selects a direction to identify interference tags, k ¼ 1, Dumin ¼ 90. while uc 2 ½0; 360Þ do i ¼ 1, nk ¼ 0, Durk ¼ 0. while nk < n" and Durk < Dumin do The antenna rotates away from the target tags, the accumulative rotation angle is Durk ¼ minðDurk þ Dur;DuminÞ. while Pw < max Pw do Dnsi tag IDs in Ns disappear, nsi ¼ ns Dnsi . Get nk tag IDs Nbk not is S. if nk n" then Break. if nsi < ns then if i > 1 and Dnsi < Dnsi 1 then Break. Pw ¼ minðPw þ DPw; max PwÞ. else Break. i ¼ i þ 1. Pwk ¼ Pw. if Durk < Dumin then Dumin ¼ Durk. uc ¼ uc þ Durc, k ¼ k þ 1. For the sets fNbkg satisfying Durk ¼ Dumin, select one Nbk with the smallest Pwk. Nb ¼ Nbk. Output: Tag IDs in the boundary :Nb In order to find the area containing interference tags, EPIA rotates the antenna around the specified area S. We use Durc to divide the boundary into different regions, as shown in Fig. 8. According to Fig. 3a in Section 4, when the rotation angle ur 2 ½60; 90, the reader has better performance to identify the tags. Therefore, we set Durc ¼ 60, in order to make sure that each region of the boundary can be located in the reader’s effective scanning range. However, when the direction is fixed, the reader identifies the tags as PIA does. When identifying the tags in one direction, the antenna rotates away from the target tags by Dur ¼ 30 to identify the interference tags as PIA does. In this way, the tags to be identified are always located in the center of the interrogation region. It means that ur 2 ½75; 90, where the reader will undoubtedly have good performance for tag identification. The difference between the value of Durc and Dur lies in that Durc is only used to divide the boundary, while Dur is used to identify the tags. 9 DISCUSSION FOR TAG IDENTIFICATION TOWARDS MORE COMPLEX ENVIRONMENTS In the above sections, the target tags and the interference tags are mainly located at the same depth. However, in more complex environments, the objects may be located at different depths. As shown in Fig. 9, the vertical distance between the target tags and the antenna is d?s, while the vertical distance between the interference tags and the antenna are d?r1; d?r2; d?r3; d?r4, respectively. The value of d?s and d?riði 2 ½1; 4) may be different. At this time, the rotation angle ’ of the antenna cannot be calculated by 3D camera in the way described in Section 6.1.2. For example, the 3D camera can calculate the distances d?s and db3, while ’3 6¼ arccosð d?s db3 Þ, because d?s 6¼ d?r3. PID can not work well in such an environment. Fortunately, we can use EPIA to explore the boundary of the specified area S by rotating the antenna. However, if the d?riði 2 ½1; 4Þ is much smaller than d?s, more interference tags will be identified. At this time, we can try to adjust the placement of the objects or antenna, aiming to reduce the depth difference among the tags. Then, the reader uses EPIA to identify the target tags. Fig. 9. Tags located at different depths. Fig. 8. Identify the tags in the specified area in two-dimensional space. 896 IEEE TRANSACTIONS ON COMPUTERS, VOL. 65, NO. 3, MARCH 2016