Radio frequency identification (RFID) is used in a wide variety of logistics, supply chain, manufacturing, and other applications. In ultra-high frequency (UHF) backscatter RFID the read range can be 10 meters or more. In many applications it is useful to know where the tag is with higher precision than 10 meters. It may be important to know where in the interrogation zone the tag is. It may also be important to have an estimate of the tag's velocity. A common solution to this problem is to use phased array antennas which use a steerable beam to estimate the exact position and/or movement of tags. However, this is a more expensive solution which can also increase the time required to scan the interrogation zone because of the narrow beam.
Embodiments of the present invention provide apparatus and methods for tracking backscatter RFID tags using the phase and receive signal strength of the tag signal received from one or more antennas. The apparatus according to embodiments of the invention can significantly improve the accuracy of tag position tracking without specialized phased array antennas.
An RF system according to at least some embodiments of the invention includes one or more antennas in known positions. Having more than one antenna improves the spatial diversity of the system. Regulatory environments which use narrow frequency bands or which do not use frequency hopping may require more than one antenna for diversity, particularly if there are no constraints on tag motion. Systems to read tags such as on conveyer belts or in vehicle tolling environments may operate with single antenna/single frequency because of a priori knowledge of the tags' motion.
The tag tracking design in some embodiments uses a computationally efficient recursive procedure to update the RFID tag state estimate on each new response of the tag based on the previous tag state estimate and the measured phase of the tag signal in the new tag response. A channel phase model can also be used. Some embodiments use a Monte Carlo simulation based on the previous tracking algorithm state and a statistical model of the forces acting on the tag. The tracking algorithm may use the previous tag state estimate to determine a plurality of possible actual phases of the tag signal. On each new response of the tag, the Monte Carlo simulation may generate an updated state using a random or pseudorandom set of forces drawn from the force model. The Monte Carlo simulation results may be resampled using a bootstrap sampling process using the likelihood of the phase measurement equation given the actual measured phase for each tag response. The tag state may be estimated using the updated Monte Carlo simulation outputs together with the phase likelihoods. The measured phase can be used as an assumed central location in a phase distribution in the channel phase model. The large set of tag position and velocity samples, or points, together with the likelihood of each can form an estimate of the tag's true state probability density function. Various estimators can be calculated from this estimate of the tag's true state probability density function, include the mean and variance.
Some embodiments use a bootstrap sampling process after each tag response to convert the Monte Carlo updated points to a set of likely position/velocity points by statistically removing points which are highly unlikely. The tag position and velocity estimates may be taken as the unweighted mean across the Monte Carlo points after the bootstrap sampling processing.
A system according to example embodiments of the invention includes a receive path to receive a tag signal from the RFID tag, with the receive path typically including a quadrature mixer. A processor connected to the quadrature mixer is operable, for example through the use of firmware or some other type of programming to estimate a state of an RFID tag as described herein. The system can also include a local oscillator, a modulator connected to the local oscillator, and/or an RF power amplifier to send a transmit signal to cause the tag signal to be returned from the RFID tag, although this functionality can be separate from the RF system that tracks the tag. It should also be noted that a tag might be tracked without actually decoding any RFID responses from the tag. Thus, an RF system can be implemented solely to track the position of tags without necessarily having more traditional RFID functions.
Embodiments of the present invention now will be described more fully hereinafter with reference to the accompanying drawings, in which embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Like numbers refer to like elements throughout.
Terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” or “comprising,” when used in this specification, specify the presence of stated features, steps, operations, elements, or components, but do not preclude the presence or addition of one or more other features, steps, operations, elements, components, or groups thereof. Additionally, comparative, quantitative terms such as “above”, “below”, “less”, “more”, are intended to encompass the concept of equality, thus, “less” can mean not only “less” in the strictest mathematical sense, but also, “less than or equal to.”
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. It will be further understood that terms used herein should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein. It will also be understood that when an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the other element or intervening elements may be present.
This subsection provides a summary of the more significant variables and functions used in this specification. These definitions all refer to tracking one specific tag, i.e., the sequence of response times tk are for a specific tag even though multiple tags may be simultaneously tracked.
“kε” is the index of the tag responses for a specific tag; k is a natural number greater than or equal to zero. Tag response k=0 represents the first tag response with respect to the disclosed algorithm.
“tk” is the time of the kth tag response as measured from some arbitrary reference time.
“τk=tk−tk-1” is the time difference from tag response k−1 to tag response k.
“fk” is the RFID reader carrier frequency in hertz for tag response k.
“ωk=2πfk” is the RFID reader angular carrier frequency (in radians per second) for tag response k.
“λk” is the RFID reader carrier wavelength (in free space) for tag response k; if “c” is the speed of light in free space then λk=c/fk.
“Na” is the number of antennas attached to the RFID reader.
“ak” is the antenna used for tag response k, akε{1, . . . , Na}.
“ca” is the point position representation of antenna a; all positions are given as Cartesian coordinates (x, y, z) relative to the position of antenna 1, which without loss of generality is located at the origin (x, y, z)=(0, 0, 0)=c1.
“ca
“sk=[xk, yk, zk, {dot over (x)}k, {dot over (y)}k, żk]T” is the unknown position and velocity state of the tag at response k, where the superscript “T” denotes vector or matrix transpose. This is a 6×1 vector consisting of the unknown position (xk, yk, zk) in the reference Cartesian coordinate system as well as the unknown velocity ({dot over (x)}k, {dot over (y)}k, żk), where the dot accent above the coordinates denote time derivative of the respective coordinate.
“Ak” is the known 6×6 state matrix, or simply state matrix, from tag response k−1 to tag response k.
“Bk” is the known 6×3 input matrix from tag response k−1 to tag response k.
“uk=[ukx, uky, ukT]” is the random force process used in the Monte Carlo simulation of the system model.
“sk=Ak·sk-1+Bk·uk” is the system model used in the Monte Carlo simulation of the tag motion.
“Fu(u)” is the probability distribution of uk. Typically the forces acting on the tagged object are unobservable and the true probability distribution of the force is unknown. Thus, the model distribution Fu(u) is designed to match the application as closely as possible.
“N” is the number of Monte Carlo points used to simulate the tag's state progression at each tag response k.
“nε{1, . . . , N}” is the index used to identify the Monte Carlo point.
“qk-1n” denotes the nth Monte Carlo point prior to tag response k. This is a 6×1 vector consisting of a possible position and velocity. The likelihood of this Monte Carlo point is given by the phase likelihood defined below.
“{qk-1n}” denotes the set of all N Monte Carlo points prior to tag response k.
“Qk-1={{qk-1n}, tk-1}” denotes the Monte Carlo state of the phase likelihood tracking algorithm for a tag after response k−1.
“{tilde over (q)}kn” denotes the nth Monte Carlo updated point at tag response k which is generated by the Monte Carlo simulation {tilde over (q)}kn=Ak·qk-1n+Bk·ukn, where the random or pseudorandom sample force ukn is drawn from the probability distribution Fu(u)
“{{tilde over (q)}kn}” denotes the set of all Monte Carlo updated points.
“qkn” denotes the set of all N Monte Carlo points which are generated via a bootstrap resampling process of the Monte Carlo updated points {{tilde over (q)}kn} based on the phase likelihood after tag response k as defined below.
“KF” is the Rician wireless propagation channel K-factor. This parameter can be used to estimate the depth is amplitude fades and, more importantly for the disclosed algorithm, the amount of phase noise due to the channel's multipath fading.
“Rk” is the line of sight range from the tag position (xk, yk, zk) to the position of antenna ak at the kth tag response.
“ρk” is the received tag power at the kth tag response. The receive tag power will generally depend on the reader's transmit power, the unknown range Rk, antenna gains, and the unknown wireless channel fading state.
“RSSk” is the RFID reader's estimate of ρk at the kth tag response. Note that RSS is generally understood to stand for “receive signal strength”.
“Pi” denotes the incident RF power at the tag. Note that Pi is generally time dependent due to motion of the tag, although this dependence is not explicitly shown.
“SNRk” is the signal-to-noise ratio (SNR) estimate at the output of the DSP matched filter at tag response k. The SNR will typically vary from response to response because of changes in ρk due to both tag motion and multipath fading.
“θtotal(t, R, ω, Pi)” denotes the overall, round trip phase shift from the reader's transmitter to the reader's receiver. This overall phase shift can be broken down into components from transmitter phase modulation, phase shift through conducted paths through the RFID radio, tag reflection phase, and channel phase shift. The channel phase shift is the component which contains all location information.
“θch(Rk, ωk)” denotes the line-of-sight phase shift due to the wireless propagation at tag response k. In ideal free space this is equal to −2·ωk·Rk/c, where c is the speed of light. It is readily seen that this ideal free space equation depends linearly on the range Rk at response k.
“θtag(ωk, Pi)” denotes the phase shift due to the reflection phase from the tag backscatter modulation.
“θradio(ωk)” denotes the phase shift due to the conducted path within the reader's radio electronics.
“φk” denotes the reader's receive phase angle measurement, sometimes computed by approximating the four quadrant arctangent of the receive matched filter output. φk is an estimate of θtotal(tk, Rk, ωk, Pi) modulo 2π at time tk.
“θk” is the RFID reader's estimate of the channel phase shift at the kth tag response. This is also referred to as the channel phase statistic. It is computed by subtracting estimates of the transmitter modulation phase, radio conduction phase, and tag reflection phase from φk.
“θk=h(sk, ak, λk)+vk(SNRk, KF)” defines the observation model wherein the phase is a function of the tag's unknown position at response k, the antenna for response k, and the wavelength at response k, plus an additive measurement noise process vk.
“h(sk, ak, ωk)=|−2·ωk·Rk/c|mod 2π” denotes the ideal measurement model, or the ideal measurement function.
“vk(SNRk, KF)” denotes the phase observation additive noise process.
“Fv(v; SNRk, KF)” denotes the probability distribution of the additive measurement noise process vk. The notations vk(SNRk, KF) and Fv(v; SNRk, KF) indicate that the probability distribution of the phase measurement noise at response k depends on SNRk and the K-factor of the Rician channel since the reflected paths will randomly perturb the phase from the ideal line-of-sight path.
“{tilde over (θ)}kn=h({tilde over (q)}kn, ak, λk)” is the expected phase measurement assuming the nth Monte Carlo updated point at tag response k.
“lkn=Fv(({tilde over (θ)}k−θk); SNRk, KF)” is the likelihood of the nth Monte Carlo updated point {tilde over (q)}kn at tag response k, given the actual channel phase statistic θk.
is the probability measure of the nth Monte Carlo updated point {tilde over (q)}kn at tag response k. The probability measures pkn and Monte Carlo updated points {tilde over (q)}kn form a randomly generated discrete approximation to the continuous probability density function of the true state sk at tag response index k.
denotes one method of calculating a tag state estimate from the Monte Carlo points after boot strap sampling has been done to generate qkn from {tilde over (q)}kn.
This disclosure has to do with tracking the position and velocity of backscatter RFID tags as they move through the interrogation zone. The algorithms use digital signal processing (DSP) techniques for processing the receive signal to extract amplitude and phase information. Continuous time analog signals are sampled to produce a “digital signal”, which is a quantized and sampled time signal. These digital signals may be denoted such as x(n), where the argument is a variable such as n, m, or k. These variables represent the sample index, typically under a uniform sampling period TS. For band limited signals there can be a one-to-one correspondence between the continuous time, continuous amplitude version x(t) and the digital signal x(n), where we have replaced the sampled time argument “n” with the continuous time argument “t”. The signal name “x” remains the same to indicate the sampled time and continuous time signals represent the same signal, even though there will generally be scaling differences and small time delays in the two signal representations. This Nyquist sampling theory and practice of sampled data systems is well-known to those skilled in the art.
All the tags such as 4011 and 4012 use the RF carrier signal from the reader 1000 as the medium to communicate back to the reader via backscatter modulation. The tags modulate their radar cross section to vary the amount of the reader's RF carrier which is reflected to the reader. This backscatter modulated RF signal may be received by one or more of the reader's antennas and passed into the RFID reader 1000 for processing. Note that although the example embodiments described herein are focused on UHF band RFID, the methods and apparatus described in the following can readily be applied to the 2.45 GHz microwave band, or other RFID readers and protocols in the UHF or microwave bands.
The RFID tags of interest such as 4011 and 4012 which are to be tracked via the disclosed position and velocity estimation algorithm are attached to physical objects such as 4001 and 4002 shown in
Given the specific use case of an RFID system such as in
The positions for the antennas in the system are assumed known and are expressed as c1 being the position of antenna 1, c2 being the position of antenna 2, and more generally ca being the position of antenna a, where the position is expressed in a three dimensional Cartesian coordinate system as a 3-tuple ca=(x, y, z) of position coordinates along a reference x, y, and z axis system. Without loss of generality herein the positions will be expressed in meters, and furthermore the position of the first antenna a=1 will be taken as the origin for the system shown in
c
1=(0,0,0),
although other definitions are possible and do not depart from the concepts disclosed herein. This model treats the antennas as point sources which may be most accurate in the far field of the antennas. It is possible to augment the disclosed algorithm with the ability to discount or compensate for measurements made by antennas within the near field or transition region. The concepts of near field, far field, and transition region are familiar to those skilled in the art of wireless propagation and antenna theory.
With regard to the tracked objects, such as 4001 in
In order to estimate the tag position and velocity using the disclosed algorithm the tag must respond multiple times. Each tag response will be indexed sequentially using the index k which is a natural number. The time of tag response k will be denoted tk, expressed in seconds. The unknown position and velocity of the tag at response k is referred to as the tag's state
s
k
=[x
k
,y
k
,z
k
,{dot over (x)}
k
,{dot over (y)}
k
,ż
k]T,
which a six dimensional state vector consisting of the unknown position [xk, yk, zk]T, and the unknown velocity [{dot over (x)}k, {dot over (y)}k, żk]T at response k. The superscript T denotes matrix transpose. The position and velocity are expressed in meters and meters per second, respectively. Note that the tag's position and velocity are not directly observable by the RFID reader 1000. The reader's only measurements regarding the tag are the amplitude and phase of the tag's signal at each response k when the tag responds to the reader. The RFID reader also knows the RF carrier frequency ωk=2πfk, as well as the antenna on which the response occurred. If we define the number of antennas attached to the reader to be Na, then the reader also knows which antenna akε{1, . . . , Na} the response k took place on and furthermore the position of that antenna ca
We may assume that an unknown force acts on the object along the x, y, and z axes. For simplicity in our model we may assume that the force is stepwise constant from time tk-1 to time tk. This does not limit the applicability of the algorithm since we are not interested in estimating the unknown force. Our stepwise constant force model denoted uk=[ukx, uky, ukz]T is such that it may yield the same motion states at times tk as the unknown continuous value force. We may express the translational movement of the tag in a linear state space model assuming tag state sk and unknown input forces uk. Under the assumed stepwise constant force model the state matrix for the tag can be written
where
τk=tk−tk-1,
is the time difference between tag response k and tag response k−1 which is known to the RFID reader 1000. The input matrix can be written as
so that in a shorthand matrix-based linear algebra notation we may write
s
k
=A
k
·s
k-1
+B
k
·u
k.
The state transition equation above, together with the measurement equation derived below with respect to
The Monte Carlo simulation requires a statistical model of the input force process uk. This model may be dependent on the forces in a particular use case and the statistical model for these forces may be developed to encompass system parameters such as minimum and maximum object mass, minimum and maximum applied forces, plus any directional constraints on the forces and movement of the object through the interrogation zone. In the example embodiments of this disclosure we assume that the forces along the three axis are independent identically distributed Gaussian random variables with zero mean and variance σu2. This model assumes equal probability to move along all three axes. Note that is not a limiting aspect of the algorithm. This model of the forces can and should be tuned to the specific use case. For example, in a vehicle tolling environment it is known what direction the tag motion is most likely to occur in and that the forces acting on the object have higher variance along some vectors than others. This additional knowledge can be used to improve the tracking accuracy of the algorithm by including it in the system model. The magnitude and even the distributions of the random forces should be adapted to maximize the value of any a priori knowledge of the system in the model.
The output of modulator 1330 is passed to an RF power amplifier (RFPA) 1340 which substantially increases the power level of the transmitter RF signal. The high power transmit signal passes from the RFPA 1340 to the coupler 1420, which passes most or all of the transmit signal through the antenna multiplexer (mux) 1430 to the currently selected antenna, which for the purposes of illustration is antenna 1 in
The antenna 1 acts as a transducer which converts the electrically conducted RF signal from the reader into an electromagnetically propagating wave, i.e., the antenna converts between electrical power and electromagnetic power. The transmitted electromagnetic signal travels across a distance R to the tag 4011, the distance also referred to as the range. If the tag 4011 is near enough to activate and/or decode the signal from the reader 1000, then it may respond by backscatter modulating data back to the antenna 1 across exactly the same range R. At antenna 1 the backscatter signal is converted back from an electromagnetic signal to an electrical receive signal. The backscattered signal from the tag travels back to the reader 1000 through the coaxial cable, passes back through the mux 1430 to the coupler 1420. The coupler passes the returned backscatter signal to the quadrature receive mixer 1510. The receive mixer 1510 takes the local oscillator from the frequency synthesizer 1410 and splits it into two paths; a direct path to mixer 1514 to produce an in-phase baseband output and a second path which passes through a 90 degree phase shifter 1512 to a second mixer 1516 which produces a quadrature phase baseband output. In practice the quadrature receive mixer 1510 is a single integrated circuit whose implementation details are vendor specific. Other embodiments may use a 90 degree hybrid to split the local oscillator into quadrature components. The exact implementation is not critical, as long as the receive signal from the coupler 1420 is converted to baseband such that the signal's phase angle can be estimated.
x
0(t)=exp(jθ0),
where exp( ) is the exponential function, j=√{square root over (−1)}, and θ0 is an arbitrary reference phase of the local oscillator. Baseband equivalent representations are well known to those skilled in communications and signal processing engineering. The local oscillator carrier frequency ω is typically programmable and it is implied in the baseband equivalent representation. It plays a key role in this disclosed algorithm since the phase likelihood depends on the carrier frequency. There is no explicit time dependence for the local oscillator baseband representation since there is no amplitude or phase modulation at the local oscillator output. Strictly speaking the oscillator does have low levels of amplitude and phase noise, but these noise components are not significant enough to play an explicit role in the disclosure of this tag tracking algorithm. Engineers familiar with backscatter RFID systems are familiar with the role of oscillator noise in overall RFID system design.
The local oscillator signal follows the transmit conducted path 5100 to the antenna 1 where it can be written
x
1(t)=exp(j(θ0+tx(t)+θtx(ω))),
where tx(t) is phase modulation imparted by the transmit modulation via DACs 1312 and 1314, θtx(ω) is the total phase shift due to propagation through the path 5100, and the amplitude has been normalized to one. The phase shift through path 5100 is frequency dependent. While the total phase shift through path 5100 may be many radians due to the electrical length of all transmission lines and coaxial cables, plus the phase shift through all passive and active components in the path 5100, although typically only the modulo 2π part matters. The phase shift θtx(ω) will generally be a function of the RF carrier frequency, but this effect can be calibrated out. This calibration is discussed in more detail below.
Continuing with
θch(R,ω)=2·ω·R/c,
where ω=2πf, f is the carrier frequency in hertz, and c is the speed of light in free space in meters per second. Note that the electromagnetic propagation path 5200 will often consist of a multitude of paths, so-called multipath. This multipath channel may consist of a line of sight path plus other paths due to reflections and scattering. The tag tracking algorithm disclosed herein will perform best when the multipath behaves as a Rician fading channel with a high K-factor, meaning there is a dominant line-of-sight path. The accuracy of the tag tracking algorithm will be degrade if the wireless channel becomes Rayleigh fading. Wireless systems engineers are familiar with the standard Rician and Rayleigh fading channel models.
The modulated backscatter signal from the tag 4011 which reaches the antenna 1 can be expressed as
y
1(t)=B(t)·exp(j(θ0+tx(t)+θtx(ω)+θch(R,ω)+θtag(ω,Pi))),
where B(t) is the data carrying modulation of the tag backscatter and θtag(ω, Pi) is a nuisance reflection phase shift due to the reflection coefficient of the tag which is generally dependent on both the carrier frequency ω and on the incident power Pi at the tag. The tag reflection coefficient will be discussed in detail below with regard to
y
1(t)=B(t)·ej(
where we have assumed that the double RF frequency terms are eliminated by the filters 1522 and 1524, and that the receive mixer has removed the local oscillator phase θ0. The noise signal v(t) is modeled as a circularly symmetric complex additive white Gaussian noise process. In practice any phase offsets remaining are lumped into the receive path phase θrx(ω). Let the overall phase shift from transmitter to receiver at the input to the ADCs be denoted
θtotal(t,R,ω,Pi)=tx(t)+θtx(ω)+θch(R,ω)+θtag(ω,Pi)+θrx(ω).
The baseband output signal into the DSP 1100 from the in-phase ADC 1532 and the quadrature-phase ADC 1534, respectively, can be written
r
i(m)=B(m)·cos(θtotal(t,R,ω,Pi))+vi(m),
r
q(m)=B(m)·sin(θtotal(t,R,ω,Pi))+vq(m),
where m is the sample index of the ADC sampled discrete time receive signal and vi(m) and vq(m) are discrete time uncorrelated random noise processes modeled as white Gaussian noise with power spectral density N0.
The DSP computes a matched filter output based on the signal B(m) which for the purposes here is assumed to be known, although in practice the DSP will need to estimate the sequence. The theory and practice of matched filters and sequence detection is well known to those skilled in the art. The matched filter output for tag response k will be denoted Mk which is taken as a complex number by using the in-phase component from ADC 1532 as the real part and the quadrature-phase component from ADC 1534 as the imaginary part. The phase angle is then computed using the four quadrant arctangent
φk=tan−1(Im{Mk},Re{Mk}),
φk≈θtotal(t,R,ω,Pi)modulo 2π.
Thus, φk is an estimate of θtotal(t, R, ω, Pi) modulo 2π at time tk. In some implementations there can be a 180 degree phase ambiguity or even 90 degree phase ambiguity due to demodulation techniques and rectifications which occur inside the DSP 1100 or receiver analog circuitry, in which case the angle is estimated modulo π or π/2, respectively. Note that exact implementations of the inverse tangent are not necessary. Any approximation of the inverse tangent to get some measure of the baseband backscatter angle in any scaling system whatsoever is within the scope of this disclosure.
If the matched filter implementation has a processing gain G and the input signal-to-noise ratio for response k is SNR_INk, then the signal to noise ratio out of the matched filter is
SNRk=G·SNR_INk,
and the variance of the phase estimate given above is
This specification will model the measurement noise for φk as Gaussian. In paragraphs below a Gaussian model for the probability distribution of φk will be justified. Other probability distributions are possible and may improve performance, though the underlying concepts remain the same as what is disclosed herein.
The conducted phase shift through the transmit path 5100 and the receive path 5300, θtx(ω) and θrx(ω), respectively, can be calibrated out as will be described in more detail later. Furthermore, the phase shift due to transmitter modulation tx(t) is known to the reader 1000 and can therefore be removed from the phase estimate. The remaining nuisance parameter is the reflection phase shift θtag(ω, Pi) due to the reflection coefficient of the tag itself. This is more difficult to calibrate out, but it is possible as will be discussed below with respect to
RSSk=|Mk|2=Re{Mk}2+Im{Mk}2.
Therefore, the algorithm can use the known local oscillator frequency ωk together with RSSk and tag reflection phase calibration data described with respect to
Assuming that all calibrations have been done so that the nuisance parameters can be accurately removed, then
θk=φk−tx(tk)−{circumflex over (θ)}tx(ωk)−{circumflex over (θ)}tag(ωk,RSSi)−{circumflex over (θ)}rx(ωk).
θk=φk−tx(tk)−{circumflex over (θ)}radio(ωk)−{circumflex over (θ)}tag(ωk,RSSi),
where we have substituted the composite radio phase shift,
{circumflex over (θ)}radio(ωk)={circumflex over (θ)}tx(ωk)+{circumflex over (θ)}rx(ωk),
where ωk is the angular carrier frequency used on tag response k.
The analysis and equations above define a model of the channel phase statistic θk, which is instrumental in the disclosed phase likelihood based tag tracking algorithm. The phase measurement model is
θk=h(sk,ak,ωk)+vk(SNRk,KF),
where h(sk, ak, ωk) is the ideal measurement function defined as
h(sk,ak,ωk)=|2·ωk·Rk/c|mod 2π,
and vk(SNRk, KF) is the additive measurement noise process. In the disclosed embodiment the measurement noise is modeled as a zero mean Gaussian random variable with distribution Fv(v; SNRk, KF), i.e., the variance is a function of the matched filter output SNR at response k, SNRk, and the Rician propagation channel K-factor KF. However, other measurement noise models may be appropriate and do not depart from the concepts disclosed herein. Recall that the range of the tag at tag response k is Rk=|ca
The ideal phase measurement function h(sk, ak, ωk) and the measurement noise distribution Fv(v; SNRk, KF) are used in the disclosed tag tracking algorithm to define the phase likelihood on which the Monte Carlo based position and velocity estimator is based. This specification will describe how the phase likelihood may be computed in the RFID reader or RFID client from the inverse tangent approximation of the complex valued matched filter output, together with the known transmitter phase modulation and the calibrated radio phase shift and tag reflection phase. The measurement modulo nonlinearity above may be only π or even π/2 depending on the demodulator implementation, but it will be shown below how to adjust the algorithm for such cases. The estimate θk above is the basis for the tag tracking via phase likelihood algorithm.
Before giving a detailed description of the phase likelihood tracking algorithm itself, this disclosure will describe in more detail the nature of the nuisance reflection phase shift of the tag, θtag(ω, Pi).
and the loaded quality factor is
When the RFID chip 320 sends data back to RFID reader 1000, the chip 320 modulates the tag backscatter by changing the chip capacitance 322 which causes a change in the reflection coefficient between the chip 320 and the antenna 310, which causes varying amount of incident power to be reflected back to the reader 1000. The reflection coefficient in the quiescent matched state is
where
Z
a
=R
a
+jωL
a
is the complex impedance of the antenna 310, and
Z
c
=R
c+1/iωCc
is the complex impedance of the chip 320 in the quiescent state and * indicates complex conjugate. In the modulated state let the change in chip capacitance be denoted ΔCc, where this change in capacitance is a chip manufacturer dependent design value and can be positive or negative Then the reflection coefficient in the modulated state is
where
Z
m
=R
c+1/iω(Cc+ΔCc).
Note that the modulation of the chip capacitance is not explicitly shown in
The dependence of the receive phase on incident power Pi is due to the fact that the chip load resistance 324 is actually dependent on the incident power, i.e., Rc(Pi). To some extent the chip capacitance 322 may also depend on the incident power, but for simplicity and without loss of generality we will consider the incident power dependence to be due to various nonlinear voltage-current relationships in the chip's charge pump, decoder, and logic circuitry. Recall that the circuit diagram 300 is just a model used herein to develop the concept of the frequency and power dependent tag reflection phase θtag(ω, Pi).
The change of reflection coefficient between the two states during modulation is
ΔΓ(ω,Pi)=Γq(ω,Pi)−Γm(ω,Pi),
and the tag reflection phase is
θtag(ω,Pi)=tan−1(Im{ΔΓ(ω,Pi)},Re{ΔΓ(ω,Pi)}).
The resonant frequency of the tag ωres is a manufacturer chosen design parameter of the tag. For common UHF RFID tags this is typically designed to have resonance somewhere in the 900 MHz to 915 MHz range.
An example
Whatever model is used for the reflection phase shift θtag(ω, Pi) from the tag, the model must be trained or calibrated. The carrier frequency ω is known to the reader 1000, while the incident power at the tag Pi must be estimated. For monostatic antenna configurations the tag power received at the reader, denoted as simply “ρ” here, is in one-to-one correspondence with the incident power Pi at the tag assuming the transmit power is fixed, the tag does not alter its impedance modulation depth, antenna gains, and all cable losses are accounted for. Recall that RSS is the RFID reader's estimate of ρ. Therefore it is possible to train or calibrate a tag reflection phase shift estimate {circumflex over (θ)}tag(ω, RSS) by placing the tag at an appropriate location in the interrogation zone and sweeping the reader through frequency ω and transmit power level. Unfortunately this is not possible in open systems, such as in retail supply chain, where the tag manufacturer and type is not fixed. However, in closed systems such as vehicle tolling or animal identification the tags used can be controlled so this simple tag reflection calibration procedure is possible. In open systems it would be possible for tag vendors to calibrate the tags and store the results in user data to be used in tag tracking. Alternatively, in open systems it is possible to measure the minimum activation power of a tag across the frequency band and from this information infer the resonant frequency and estimate the reflection phase angle. This disclosure applies to any of these methods or other feasible approaches.
The phase shifts due to the transmit path 5100 and the receive path 5300, θtx(ω) and θrx(ω), respectively, must also be calibrated out. Since these are only dependent on carrier frequency and not on transmit power, this calibration is simpler. It should be noted that the individual phase shifts θtx(ω) and θrx(ω) are not important as long as the sum
θradio(ω)=θtx(ω)+θrx(ω),
can be estimated to within modulo 2π. One of the easiest calibration methods is to disconnect the antenna at the end of the coaxial cable. Ideally, this will cause the conducted RF electrical signal to completely reflect from the open circuit end of the coaxial cable with no phase in the voltage waveform at the cable end. Therefore, the DSP 1100 can induce phase modulation tx(t) which is measured at the receiver side of the DSP 1100, {circumflex over ()}rx(t). This can be used to produce an estimate
{circumflex over (θ)}radio(ω)=tx(t)−{circumflex over ()}rx(t).
Other methods are possible, such as placing tags, whose reflection phase shifts have been previously calibrated, at one or more distances from the antenna, preferably in an RF anechoic chamber. The estimate {circumflex over (θ)}radio(ω) is then produced after removing the components due to tx(t), θch(R, ω) and θtag(ω, Pi). The radio conducted path calibration is a necessary step and alternative means of doing this do not depart from the tag tracking algorithm disclosed herein.
The raw phase statistic φk for tag response k may be calculated using the arctangent of the matched filter statistic Mk, which is then converted to the channel phase statistic θk by removing the known and calibrated phase components
θk=φk−tx(tk)−{circumflex over (θ)}radio(ωk)−{circumflex over (θ)}tag(ωk,RSSk),
which is a modulo 2π estimate of the line-of-sight phase θch(Rk, ωk). The variance of the raw phase statistic was given above as a function of the input signal-to-noise ratio at response k and the processing gain of the matched filter. The variance of the raw phase statistic φk is the same as the variance of the channel phase statistic θk. In the tag tracking via phase likelihood algorithm disclosed herein we must have a model probability distribution function for the channel phase statistic θk. Since passive backscatter RFID systems are typically forward link limited, meaning the tag's minimum activation power is what limits the range Rk, the signal-to-noise ratio SNRk at the receiver is typically high.
However, there is additional uncertainty in the phase statistic θk due to the Rician multipath environment. The table below shows Rician K-factor vs. standard deviation of the phase statistic θk due solely to multipath:
Thus, depending on the application environment adjustments can be made to the probability model of the phase statistic for the phase likelihood tag tracking algorithm. The Rician K-factor of the interrogation zone may be measured using a site survey, or the RFID reader 1000 can adaptively estimate the K-factor using the statistical properties of the channel phase statistic θk. These methods are known to those skilled in the art, or alternative methods may be devised. However the Rician K-factor is determined, the use of this parameter in modeling the probability distribution of the channel phase statistic is fundamentally disclosed herein.
Because the channel phase statistic θk is a modulo 2π estimate of θch(Rk, ωk), the channel phase statistic creates a range ambiguity wherein each 2π radians of θch(Rk, ωk) representing λk/2 meters of range Rk between the antenna and the tag is equally likely. This is illustrated in
where m is any natural number, including zero. The diagram 600 shows a train of Gaussian distribution functions with means {circumflex over (R)}km for m≧0 each with variance
var(θk)=σk2(SNRk,KF)=var(Fv(v;SNRk,KF)),
recalling that Fv(v; SNRk, KF) is the model of the distribution from which the measurement noise process vk is drawn. The first distribution 610 is centered at mean {circumflex over (R)}k0, with each subsequent Gaussian distribution λk/2 further along the range axis. Henceforth we will assume the phase statistic θk is modulo 2π although as previously discussed this is dependent on the receiver and demodulator design. Some implementations may be limited to modulo π or even modulo π/2, but the adjustments necessary to the disclosed algorithm is simply to change λk/2 in the formula for Rm to λk/4 or λk/8, respectively. Those skilled in the art will understand this adjustment.
The set of ranges {{circumflex over (R)}km} given by the equation above define a set of “spherical shells” of diameters {circumflex over (R)}km with a common center at ca
The tag signal measurement model, calibration, and phase compensation techniques have been disclosed and described in detail with respect to
Step 1: Tag Response Signal Measurement
The method iteratively determines a measured phase φk and the receive signal strength RSSk of a received tag signal at each tag response k using the receiver of RFID reader 1000. At each iteration, the measured phase φk is a combination of the actual, but unknown, channel phase θch(Rk, ωk) of the tag signal propagation path plus noise vk(SNRk, KF) and offsets θradio(ωk) and θtag(ωk, Pi). The noise is due to noise in the radio electronics as well as noise from the Rician multipath environment. The offset in the measured phase is due to a phase shift in the radio electronics due to conducted paths 5100 and 5300 in
Step 2: Phase Compensation Using Calibration Data
The offset due to the conducted paths is removed by subtracting the estimate {circumflex over (θ)}radio(ωk) from the measured phase at response k. The calibration procedure for measuring the offset due to the conducted paths 5100 and 5300 was discussed in relation to
The offset due to the tag reflection coefficient is dependent on the incident power at the RFID tag and the carrier frequency θtag(ω, Pi), as discussed in reference to the tag model 300 in
After the phase compensation is completed by subtracting the estimated offsets and any known transmitter modulation phase tx(tk), the measured phase φk is converted to the channel phase statistic θk,
θk=φktx(tk)−{circumflex over (θ)}radio(ωk)−{circumflex over (θ)}tag(ωk,RSSk),
which is a modulo 2π estimate of the line-of-sight phase θch(Rk, ωk),
θk=θch(Rk,ωk)|mod 2π+vk(SNRk,KF).
Note that we have assumed the receiver phase estimator is capable of a modulo 2π estimate of the signal phase, although as previously discussed other modulo estimates are also possible such as π or even π/2, depending on the receiver implementation. The equation above is of importance to the algorithm since it represents the measurement model which maps the tag range R to the observed phase θ. This is the channel phase model 600 in
Step 3: Monte Carlo Simulation Update
In order to ease visualization of the algorithm,
When in steady state, the iterative state estimation algorithm is based on Monte Carlo methods. Specifically, we define a collection of N Monte Carlo points qk-1n, nε{1, . . . , N}, which are the prior results from tag response k−1 at time tk-1. Each of these points represent a possible actual value of the true but unknown tag state sk-1. Thus, each Monte Carlo point qk-1n is a six dimensional vector consisting of position and velocity in the Cartesian coordinate system used by the reader.
{tilde over (q)}
k
n
=A
k
·q
k-1
n
+B
k
·u
k
n,
where ukn is a random or pseudorandom force vector drawn from the use case dependent probability distribution Fu(u). This represents a Monte Caro simulation of the tag's motion from response k−1 to response k. This set of Monte Carlo updated points {{tilde over (q)}kn} is represented by cluster 720 on plot 700. Note that it is typical for the Monte Carlo updated points {{tilde over (q)}kn} 720 to be spread more randomly due partially to the influence of the random force input {ukn} and also to the variations in the velocity estimates of {qk-1n} 710.
Step 4: Map Monte Carlo Update Points to Possible Actual Phases
The iterative tag state estimation algorithm has thus far comprised an RSS and phase measurement, phase compensation, and a Monte Carlo simulation at the current tag response iteration k. The next step in the algorithm is to map the plurality of updated tag states 720 each to one of a plurality of possible actual phases, which is illustrated in
{tilde over (R)}
k
n
=|c
a
−[{tilde over (x)}
k
n
,{tilde over (y)}
k
n
,{tilde over (z)}
k
n]T|,
and these ranges are then mapped to a plurality of possible actual phases
{tilde over (θ)}kn=|2·ωk·{tilde over (R)}kn/c|mod 2π=|4π·{tilde over (R)}kn/λk|mod 2π=h({tilde over (q)}kn,ak,λk),
an example of which is plotted in 800 for the iteration updated points 720. This equation represents a noiseless measurement model of how the point {tilde over (q)}kn maps to an ideal phase measurement assuming the position in {tilde over (q)}kn, the antenna ak, and the wavelength λk. In other words, {tilde over (θ)}kn is the exact line-of-sight propagation phase if the tag were located at the position in the point {tilde over (q)}kn and there were no measurement noise due to the Rician channel fading or SNRk. The actual possible ranges are calculated from the antenna position ca
Step 5: Map Possible Actual Phases to Phase Likelihoods
The plurality of updated Monte Carlo points {tilde over (q)}kn are next assigned likelihoods by mapping the possible phases {tilde over (θ)}kn using the phase model distribution Fv(v; SNRk, KF) located at the measured channel phase statistic θk for the current iteration, as shown in plot 800 of
l
k
n
=F
v(({tilde over (θ)}kn−θk);SNRk,KF),
where θk is subtracted in the argument of the probability distribution function since the phase measure noise process vk is zero mean. Plot 800 illustrates ideal measurement function outputs {tilde over (θ)}kn verses the phase likelihood outputs lkn corresponding to the cluster 720 in
Step 6: Resample to Generate Final Monte Carlo Iteration k State
After the complete set of phase likelihoods {lkn} has been generated from the N Monte Carlo updated points for tag response k, the probability measures for each Monte Carlo updated point can be calculated as
from which it can be readily verified that
Σn=1Npkn=1,
which is to say that the set of probability measures {pkn} is an estimate of the probabilities of {{tilde over (q)}kn}.
It often happens that some of the Monte Carlo updated points {tilde over (q)}kn have extremely low probability measures. The points with very low probability measures are of little value since they will likely continue to diverge further from the true tag state sk. It is therefore beneficial to perform a bootstrap resampling of the Monte Carlo updated points before finishing the algorithm for the current tag response event. This resampling is done by randomly drawing N points from {{tilde over (q)}kn} according to the probability distribution {pkn}, with repeated draws allowed. The result of this resampling is the final Monte Carlo state {qkn} for the phase likelihood tag tracking for tag response k. Note that because the algorithm allows repeats in the resampling process, it is possible and indeed typical for updated points {tilde over (q)}kn with high probability measures pkn to be repeated multiple times in the set {qkn}. This set is subsequently used for the next tag response event k+1 to repeat the process again. Resampling does not have to be done on every tag response and could be performed as needed when the algorithm determines too many points have low probability, or according to some other rule.
Step 7: Compute Tag State Estimate for Iteration k
The final step in the algorithm for tag response k is to calculate the unweighted average
which is our estimate of the tag state at tag response k. This estimator assumes the bootstrap sampling has been performed at each tag response. If resampling is not done each response, possibly to reduce computations, then the probability measures must be factored in such as
and {qkn}={{tilde over (q)}kn} for the next tag response. In conclusion, the method outlined in the steps above use a channel phase model 600 to produce the current iteration tag state from a plurality of possible actual phases 800 of the tag signal.
Note that resampling of step 950 does not need to be done on every iteration, but is done so here for simplicity in the algorithm description. Other methods could be devised to reduce how frequently the resampling occurs, but this type of variation does not depart from the algorithm disclosed herein. If a resampling is not done at tag response k, then the Monte Carlo updated points become the new simulation points qkn={tilde over (q)}kn.
√{square root over ((xk−{circumflex over (x)}k)2+(yk−ŷ)2+(zk−{circumflex over (z)}k)2)}.
For this simulation the total absolute position error is typically in the range of about 1 centimeter.
The iterative tag tracking algorithm via phase likelihood has been described in detail in the specification. The disclosed algorithm takes the prior Monte Carlo state from the previous response {qk-1n} and tk-1, then updates it with new information of response k at tk of measured phase, RSS, antenna number, and wavelength, to produce {qkn} as well as the tag position and velocity state estimate. The algorithm byproduct of the probability measure {pkn} also can serve as a measure of the statistical variance or confidence in the tag position/velocity estimates.
When the tag enters the interrogation zone at the first response k=0 the iterative process must be initialized by some mechanism as illustrated in step 970 of
then trilateration can be used to get the initial position estimate. Also, the newly arrived tag could be made to respond in rapid succession at the same frequency on each of the antennas which provides an estimate of radial velocity with the initial Cartesian velocity estimate being solved for algebraically or in a least squares sense. This type of technique would neglect other tags while the new tag is repeatedly responding for the initial state estimate, from which {q1n} can be generated via a Monte Carlo perturbation.
Another technique is to use a very high number of Monte Carlo points during the initialization sequence, in other words NINIT>>N so that the initial position and velocity uncertainty can be accommodated. The number of Monte Carlo points can be reduced algorithmically as the confidence in the state estimate improves. This techniques can be combined with the previously mentioned technique of rapidly measuring the same tag on various frequencies and antennas to acquire extra information by making it to respond repeatedly.
The example devices and methods in this disclosure can track moving tags in the interrogation zone with high accuracy than any previously proposed algorithm. This algorithm has broad commercial value across many sectors. Given the long read range of backscatter RFID systems, localizing the tag position and estimating its velocity is a key enabling technology for a wide array of new features in RFID.
In some embodiments, a general-purpose processor such as a DSP, microcontroller or microprocessor is used and non-transitory firmware, software, or microcode can be stored in a tangible storage medium that is associated with the device. Any such device may be referred to herein as a “processor” or a “microprocessor.” Such a medium may be a memory integrated into the processor, or may be a memory chip that is addressed by the controller to perform control functions. Such firmware, software or microcode is executable by the processor and when executed, causes the processor to perform its control functions. Such firmware or software could also be stored in or on a tangible medium such as an optical disk or traditional removable or fixed magnetic medium such as a disk drive used to load the firmware or software into an RF system. The components of the RF system with the software provide the means to carry out embodiments of the invention.
It should be noted that any data and information necessary to support the execution of instructions for any embodiment of the disclosure can be placed in a removable storage medium as well. These could be stored on a disk as well, especially for development purposes or for maintenance and update purposes. Such a storage medium may be accessed either directly or over a network, including the Internet.
Although specific embodiments have been illustrated and described herein, those of ordinary skill in the art appreciate that any arrangement which is calculated to achieve the same purpose may be substituted for the specific embodiments shown and that the invention has other applications in other environments. This application is intended to cover any adaptations or variations of the present invention. The following claims are in no way intended to limit the scope of the invention to the specific embodiments described herein.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US15/35231 | 6/11/2015 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
62025166 | Jul 2014 | US |