正在加载图片...
to approximate the angle of the target.At last,we approach samples.At last,we transmit the nonzero RSSI samples and the target and rectify the angle iteratively until the collecting the boundary as data set Rangle for Fine-grained rotation. information is enough to locate accurately.In order to estimate the rough distance,we measure the curve in Fig.1 and store Algorithm 2 Data Preprocessing it in the database Tis as ideal RSSI feature. Require:0maz and rssi_map 1:0L=8mar-40,0r=0(max)+40 Algorithm 1 Coarse-grained rotation 2:if rssio =0 and rssiog =0 then Require:nE(0,1)for judging RSSI peak,T for judging the while 6mar -eL 1 do RSSI value 4: 0L =(0mar +0L)/2 and OR=(0ma+0R)/2 1:for 0 from 0360 step by 40 and collect rssi do 5 if rssi>0 or rssiog >0 then 2: add tuple (0,rssie)into list rssi_map 6: break 3: record the tuple with largest RSSI(0maz,rssimar) 7: end if 头 if rssio <(1+n)*rssimar then 8: end while 5 find a peak and break 9:end if 6. end if 10:0M=(rssieL=0)?(0max+0r)/2:0M 7:end for 11:6M=(rssi0a=0)?(0max+8L)/2:6M 8:if0max≤180then 12:return set Rangle←(0L,8max,fM,8r) 9: rotate to the back of the antenna and record the tuple with largest RSSI(0mar,rssimaz) 10:end if 11:while rssimaz <T do Algorithm 3 Fine-grained Rotation 12: move according to T-rssimar based on database Tdis Require:threshold a for estimate the angle and do Coarse-grained rotation again 1:dest null 13:end while 2:while eest -0maz >1 do 14:return 0maz 3: add Best to Rangle 4: Omar -rssidest rssiomaz?0est:Omar 5: do quadratic function fitting on Rangle and set 0est to A.Coarse-grained Scan the peak of the function The Coarse-grained Scan is used to roughly determine the 6: sort(Rangle)and leng=length(Rangle) sector of the object.Because our antenna's 3dB beamwidth is 7: Oest=(0est Rangle[O])?(0L Rangle[1])/2:0est 40°,we sample the RSSI value every4o°to roughly determine 8: Best =(0est Rangle[leng-1])?(OR+Ranglelleng- which 40 sector the object is located in.As shown in Alg. 2])/2:0est 9:end while 1,we rotate the antenna and collect RSSI every 40 until detecting the first peek.The parameter n represents the swing 10:return Qest rate of the RSSI value from Fig.3.The parameter r means if RSSI is below T,the RSSI value varies little when we rotate the antenna.Instead of rotating the whole circle,once we got C.Fine-grained Rotation the peek,we skip other rotation samples.The only extra work As shown in Fig.4,we realize when we rotate the antenna. is to check the back of the antenna,because the antenna would RSSI varies following a special pattern.If the RSSI patterns identify tags at the back in near field communication.If the at different tag-antenna distances can be distinguished,we can RSSI value of the target sector is smaller than a threshold T, determine the orientation easily.To reveal the effectiveness we just move along the target sector according to RSSI and the of the RSSI pattern,we do quadratic function fitting on the database Tdis.Then we do the coarse-grained scan again to data set of Fig.4.We use the peak of the fitting quadratic estimate the rough sector.At last,we transmit all the collected function to represent the estimated tag orientation.And the samples to the Data Preprocessing section for further handling. result shows the difference between the estimate angle and real angle is [0.21,-0.04,4.65,1.76,10.41]representing different B.Data Preprocessing distances,i.e.,[1m,2m,3m,4m,5m],which is accurate enough for After determining the rough sector,we handle the raw data fine-grained localization. to generate enough information for fined-grained rotation,i.e., Based on the analysis above,we propose Fined-grained at least 3 neighboring nonzero RSSI samples for quadratic Rotation method,as shown in Alg.3.The whole process is an function fitting.As shown in Alg.2,when the two neighboring iterative function,which terminates until the estimate angle is samples of the target sector are both zero,we do binary similar as the angle with largest RSSI.In the iterative function, search in both sector until we find a nonzero sample.At the we do quadratic function fitting on the data set Rangle,which same time,we can shrink the search range.If there is only is got from the Data Preprocessing.We estimate the angle a neighboring sample's RSSI is zero,we just need to add 0est according to the result of the quadratic function.If est a sample whose angle is in the middle of the two nonzero is beyond the search scope,we will set best to middle of theto approximate the angle of the target. At last, we approach the target and rectify the angle iteratively until the collecting information is enough to locate accurately. In order to estimate the rough distance, we measure the curve in Fig. 1 and store it in the database Tdis as ideal RSSI feature. Algorithm 1 Coarse-grained rotation Require: η ∈ (0, 1) for judging RSSI peak, τ for judging the RSSI value 1: for θ from 0 → 360 step by 40 and collect rssi do 2: add tuple (θ, rssiθ) into list rssi map 3: record the tuple with largest RSSI (θmax, rssimax) 4: if rssiθ < (1 + η) ∗ rssimax then 5: find a peak and break 6: end if 7: end for 8: if θmax ≤ 180 then 9: rotate to the back of the antenna and record the tuple with largest RSSI (θmax, rssimax) 10: end if 11: while rssimax < τ do 12: move according to τ −rssimax based on database Tdis and do Coarse-grained rotation again 13: end while 14: return θmax A. Coarse-grained Scan The Coarse-grained Scan is used to roughly determine the sector of the object. Because our antenna’s 3dB beamwidth is 40◦ , we sample the RSSI value every 40◦ to roughly determine which 40◦ sector the object is located in. As shown in Alg. 1, we rotate the antenna and collect RSSI every 40◦ until detecting the first peek. The parameter η represents the swing rate of the RSSI value from Fig. 3. The parameter τ means if RSSI is below τ, the RSSI value varies little when we rotate the antenna. Instead of rotating the whole circle, once we got the peek, we skip other rotation samples. The only extra work is to check the back of the antenna, because the antenna would identify tags at the back in near field communication. If the RSSI value of the target sector is smaller than a threshold τ, we just move along the target sector according to RSSI and the database Tdis. Then we do the coarse-grained scan again to estimate the rough sector. At last, we transmit all the collected samples to the Data Preprocessing section for further handling. B. Data Preprocessing After determining the rough sector, we handle the raw data to generate enough information for fined-grained rotation, i.e., at least 3 neighboring nonzero RSSI samples for quadratic function fitting. As shown in Alg. 2, when the two neighboring samples of the target sector are both zero, we do binary search in both sector until we find a nonzero sample. At the same time, we can shrink the search range. If there is only a neighboring sample’s RSSI is zero, we just need to add a sample whose angle is in the middle of the two nonzero samples. At last, we transmit the nonzero RSSI samples and the boundary as data set Rangle for Fine-grained rotation. Algorithm 2 Data Preprocessing Require: θmax and rssi map 1: θL = θmax − 40, θR = θ(max) + 40 2: if rssiθL = 0 and rssiθR = 0 then 3: while θmax − θL > 1 do 4: θL = (θmax + θL)/2 and θR = (θmax + θR)/2 5: if rssiθL > 0 or rssiθR > 0 then 6: break 7: end if 8: end while 9: end if 10: θM = (rssiθL = 0)?(θmax + θR)/2 : θM 11: θM = (rssiθR = 0)?(θmax + θL)/2 : θM 12: return set Rangle ← (θL, θmax, θM , θR) Algorithm 3 Fine-grained Rotation Require: threshold α for estimate the angle 1: θest = null 2: while | θest − θmax |> 1 do 3: add θest to Rangle 4: θmax = rssiθest > rssiθmax ?θest : θmax 5: do quadratic function fitting on Rangle and set θest to the peak of the function 6: sort(Rangle) and leng = length(Rangle) 7: θest = (θest < Rangle[0])?(θL + Rangle[1])/2 : θest 8: θest = (θest > Rangle[leng − 1])?(θR + Rangle[leng − 2])/2 : θest 9: end while 10: return θest C. Fine-grained Rotation As shown in Fig. 4, we realize when we rotate the antenna, RSSI varies following a special pattern. If the RSSI patterns at different tag-antenna distances can be distinguished, we can determine the orientation easily. To reveal the effectiveness of the RSSI pattern, we do quadratic function fitting on the data set of Fig. 4. We use the peak of the fitting quadratic function to represent the estimated tag orientation. And the result shows the difference between the estimate angle and real angle is [0.21,-0.04,4.65,1.76,10.41] representing different distances,i.e.,[1m,2m,3m,4m,5m],which is accurate enough for fine-grained localization. Based on the analysis above, we propose Fined-grained Rotation method, as shown in Alg. 3. The whole process is an iterative function, which terminates until the estimate angle is similar as the angle with largest RSSI. In the iterative function, we do quadratic function fitting on the data set Rangle, which is got from the Data Preprocessing. We estimate the angle θest according to the result of the quadratic function. If θest is beyond the search scope, we will set θest to middle of the
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有