The present disclosure relates generally to location prediction and, in particular embodiments, to location prediction using hierarchical classification.
There currently exist multiple manners in which a device may determine its own location in a three-dimensional (3D) space. For example, using a Global Positioning System (GPS), the device may base a location self-determination on signals received from a plurality of satellites. If the device is configured to communicate using local area wireless technology (e.g., Wi-Fi) or short-wavelength radio waves (e.g., Bluetooth™), analysis of signal strength in conjunction with awareness of a static location of transmitting stations may allow the device to self-determine a location. However, each of these technologies carry with them flaws that lead to potential for an imprecise determination of location. In the case of GPS, received power is often too low, due to distance, for accurate location determination. In the case of Wi-Fi, multi-path interference may cause timing variations for signals received by the device.
Some embodiments of the present disclosure provide a neural network location classifier that is designed and trained in accordance with a hierarchical architecture, thereby producing a hierarchical neural network location classifier. Further embodiments relate to obtaining, through use of the hierarchical neural network location classifier, an inferred hierarchical label for a user equipment location. The inferred hierarchical label may then be decoded to obtain a location.
According to an aspect of the present disclosure, there is provided a single-transmission-point user equipment (UE) locating method, the method includes receiving a normalized input tensor and obtaining, through use of a hierarchical neural network location classifier, an inferred hierarchical label for a location corresponding to the normalized input tensor. The method further includes obtaining a predicted location by decoding the inferred hierarchical label and transmitting an indication of the predicted location. Additionally, aspects of the present application provide an apparatus for carrying out this method and a computer-readable medium storing instructions that cause a processor to carry out this method.
For a more complete understanding of the present embodiments, and the advantages thereof, reference is now made, by way of example, to the following descriptions taken in conjunction with the accompanying drawings, in which:
For illustrative purposes, specific example embodiments will now be explained in greater detail in conjunction with the figures.
The embodiments set forth herein represent information sufficient to practice the claimed subject matter and illustrate ways of practicing such subject matter. Upon reading the following description in light of the accompanying figures, those of skill in the art will understand the concepts of the claimed subject matter and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
Moreover, it will be appreciated that any module, component, or device disclosed herein that executes instructions may include, or otherwise have access to, a non-transitory computer/processor readable storage medium or media for storage of information, such as computer/processor readable instructions, data structures, program modules and/or other data. A non-exhaustive list of examples of non-transitory computer/processor readable storage media includes magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, optical disks such as compact disc read-only memory (CD-ROM), digital video discs or digital versatile discs (i.e., DVDs), Blu-ray Disc™, or other optical storage, volatile and non-volatile, removable and non-removable media implemented in any method or technology, random-access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology. Any such non-transitory computer/processor storage media may be part of a device or accessible or connectable thereto. Computer/processor readable/executable instructions to implement an application or module described herein may be stored or otherwise held by such non-transitory computer/processor readable storage media.
In the context of the known (flat, classic, non-hierarchical) fingerprinting approach, a surveyor (not shown) may “survey” the environment 100 of
Location determination using fingerprinting is known to enable the UE to determine its location based on signals received from one or more base stations 106. Based on the signals received from the one or more base stations 106, the UE can determine a measured channel data tensor. By matching the measured channel data tensor to a previously recorded fingerprint, the UE can determine a label for its location. The UE can then convert the label to coordinates that are associated with the label. Notably, where none of the channels over which the signals are received are LoS channels, fingerprinting is particularly useful.
The facilitation of a universal use of location determination using fingerprinting may be understood to involve the UE storing the fingerprints with associated locations. Unfortunately, the huge number of fingerprints that would allow for such universal use of location determination using fingerprinting may be shown to be impractical. Indeed, both the amount of memory that would be used and the amount of computation power that would be used help to establish the impracticality of universal use of location determination using fingerprinting.
In an effort to reduce the amount of memory and computation power that would be used, use of deep learning has been suggested. Deep learning is part of a family of machine learning (ML) methods based on artificial neural networks with representation learning. Deep learning architectures, such as deep neural networks, deep belief networks, recurrent neural networks and convolutional neural networks have been applied in a plurality of fields.
The problem of location determination using fingerprinting may be cast as a neural classification task. Deep learning is known to be suitable to neural classification tasks. That is, given a single input tensor of data, a deep learning model can produce a classification of the input tensor of data and also indicate a degree of confidence to associate with the classification. Producing a classification of the input tensor of data may be understood to involve determining that the input tensor of data belongs to a particular class. If each grid point 104 in the environment 100 of
Location determination using fingerprinting while employing deep learning models may be shown to have an advantage in that an original, single, huge dataset of channel tensors may be compacted into a classifier implemented as a neural network (NN) defined by several millions of parameters. Notably, although the task of storing several millions of parameters may, at first, appear daunting, it turns out that storing these parameters uses much less memory than the memory used to store the original dataset.
In a second stage 204, flat location encoding (labeling) takes place. Each grid point (fingerprint location, q) is associated, in the second stage 204, with a flat label, q. The second stage 204 may be represented as a flat labelling function, Af(⋅), that receives, as input, a location, (x,y,z)q, and produces, as output, a flat label, q. In this way, output from the second stage 204 may be an entire training dataset ={({circumflex over (X)}q, q)}q that includes the flat label, q, and the normalized input tensor, {circumflex over (X)}q, for each of the plurality of grid points 104 (fingerprint locations, q).
The training dataset ={({circumflex over (X)}q, q)}q may be used in a third stage 206 to train a flat NN location classifier. The flat NN location classifier may be represented as a function, g(⋅), that receives, as input, a normalized input tensor, {circumflex over (X)}q, and produces, as output, an inferred flat label, q, that is, q=g({circumflex over (X)}q).
A fourth stage 208 may be considered to be representative of operation of an artificial intelligence (AI) engine. Upon receipt of a normalized input tensor, {circumflex over (X)}q, the AI engine may employ the trained flat NN location classifier to obtain the inferred flat label, q.
A fifth stage 210 may be considered to be representative of operation of a location management function. Subsequent to receiving the inferred flat label, q, the location management function may employ an inverse of the flat labelling function, Af (⋅), to convert the inferred flat label, q, to a location, (x,y,z), that is, Af−1(q)=(x,y,z).
However, simply casting the problem of location determination using fingerprinting as a task to be handled by a flat NN location classifier suffers from other issues. These issues include learning complications (at the third stage 206) along with high memory use and extensive computation time (at the fourth stage 208).
Consider a first example in which a 100 m by 100 m area is surveyed, with a resolution of 1 m by 1 m. In the first example, the surveying would involve recording 10,000 fingerprints and pairing, in a training dataset, each of these 10,000 fingerprints with each unique one of 10,000 corresponding location labels.
Consider a second example in which a 10 km by 10 km city is surveyed. With the same resolution (1 m by 1 m), the number of fingerprints and location labels to record in a training dataset is 100,000,000.
Treating each location label as a single class requires training a flat NN location classifier with as many outputs as there are location labels. Training such a gigantic flat NN location classifier using known learning algorithms may be considered nearly impossible in terms of convergence.
The flat NN location classifier to be trained for the second example will be enormous in size. Concretely, if the penultimate layer of this flat NN location classifier has only 1% as many neurons as there are outputs, it can be determined that the flat NN location classifier will have 1e+14 weights at the last layer. Restricting these weights to only half-precision (two bytes) and given that training at each epoch not only requires storage of weights, but activations, gradients, etc., training this flat NN location classifier may be expected to use at least a petabyte of read only memory (RAM). Approaches that apply distributed learning algorithms, e.g., splitting the flat NN location classifier between multiple graphics processing units (GPUs), have been considered but, even using those approaches, it has been considered that training such a gigantic flat NN location classifier remains nearly impossible.
Aspects of the present application relate to a hierarchical approach to location determination using fingerprinting. The hierarchical approach is known in the field of “multi-task learning” in ML. When employing a multi-task learning algorithm, an inherent hierarchy in a set of data is exploited by reusing learned concepts when classifying an input as belonging to an umbrella class to improve classifying the input as belonging to a sub-class. For instance, when the task is to classify various images of pets as being images of particular breeds of dogs and cats, a hierarchical NN image classifier can start by classifying the features that distinguish cats from dogs before moving on to distinguishing (classifying) an image of a “bulldog” from an image of a “Labrador dog” or an image of a “Persian cat” from an image of a “Sphynx cat.”
All cats have some common features (e.g., pointy ears, pronounced whiskers) that can help a hierarchical NN image classifier to distinguish an image of a cat from an image of a dog. Furthermore, there are different breeds (classes) of cat that differ from each other in some more distinctive ways. Cross-breeding between these breeds (classes) results in new breeds (classes) that carry common features with their parent breeds (classes). Because all cats may be considered to have common features, such as having pointy ears and pronounced whiskers, it may be considered to be more efficient, in terms of learning and model size, to primarily learn to distinguish an image of a cat from an image of a dog based on common cat features before, secondarily, moving on to distinguish an image of a Persian cat from an image of a Sphynx cat based on finer differences, such as having a different density of fur and having a different skin color, etc.
Notably, the hierarchical NN image classifier, once trained, can be used at all times and locations. This is not the case for a hierarchical NN location classifier.
A location label within a training dataset collected in a first environment may be shown to have no relation to the same location label within a fingerprint database collected in a second environment. It follows that a hierarchical NN location classifier trained on the training dataset collected in the first environment is unusable for inferring labels for locations inside the second environment. Accordingly, the cost of surveying is not a single-shot task but accumulates in time and space. This is due to underlying, so-called factors of variation (FoV). The FoV differ between the first environment and the second environment.
A hierarchical architecture may be used to guide a learning algorithm towards establishing common/parental features before moving on to settling more detailed differences. A hierarchical NN location classifier, designed and trained using a hierarchical architecture, may be shown to be smaller than a flat NN classifier, designed and trained using a flat architecture, wherein all classes are treated in the same way. Conveniently, the hierarchical NN classifier may be shown to capture dependencies better than the flat NN classifier. Accordingly, it may be shown that the smaller hierarchical NN classifier makes fewer catastrophic classification mistakes than the larger flat NN classifier, e.g., classifying a cat as a dog or vice versa.
In overview, aspects of the present application relate to designing and training a NN location classifier in accordance with a hierarchical architecture thereby producing a hierarchical NN location classifier. Further aspects of the present application relate to obtaining, through use of the hierarchical NN location classifier, an inferred hierarchical label for a UE location.
The FoVs that cause a channel, received at a receiver from a transmission point, to exhibit multipath behavior are affected by factors such as a location of the receiver, an orientation of the receiver and electrical properties of clutter that may be illuminated by the channel. Within a periphery of several meters, many locations exist that are affected by multipath reflections from the same clutter.
An idea has been established hereinbefore that a channel is most likely to be affected by the same objects when received in locations in the same periphery. In contrast, a channel is most likely to be affected by different objects when received in locations distant from one another. Aspects of the present application relate to exploiting this idea to design and train a deep learning NN location classifier. To reduce use of storage and reduce computation overhead while also reducing training time, aspects of the present application relate to adopting a hierarchical design and training approach to the NN location classifier.
Ideally, it is expected that the hierarchical nature of wireless channel degradation can be exploited to improve accuracy in location determination using a deep neural network location classifier trained on a hierarchical training dataset of wireless data. Indeed, determining which grid points fall into the same hierarchies, which means determining which grid points are impacted by the same clutter, involves characterizing the environment. Such characterizing may be accomplished, for example, using ray-tracing. Notably, the characterization of the environment may be considered to be a more challenging task than location determination using a hierarchical NN location classifier.
To exploit environment characterization information for training the hierarchical NN location classifier, aspects of the present application involve using a hierarchical representation to encode output from the hierarchical NN location classifier. Such a representation is in contrast to the so-called “one-hot” representation, which has been used to encode output from known flat NN location classifiers. A one-hot representation is a representation in which categorical variables are converted into a form that may be provided to an ML algorithm to improve the predictions of the ML algorithm.
To distinguish among a plurality of hierarchies, each hierarchy may be given a hierarchical label. In the hierarchical representation that is specific to aspects of the present application, within each hierarchy among the plurality of hierarchies, grid points are represented with one-hot encoding.
To generate hierarchical labels, information is used. The information can be collected from UEs, using a partial map information that a positioning server possesses from the environment. Alternatively or additionally, the information can be collected by algorithmic processing of channel tensors, as will be further described hereinafter.
The environment 100 of
Conventionally, each grid point 104 of the floorplan 100 can be labelled using a one-hot representation, i.e., q=[0, ⋅ ⋅ ⋅ , 1, ⋅ ⋅ ⋅ , 0]T77×1. Accordingly, if the flat NN location classifier described hereinbefore was designed for the environment 100 of
Designing and training a NN location classifier using a hierarchical architecture, rather than training the NN location classifier using a flat architecture (wherein all classes are treated in the same way), may be shown to result in a smaller NN location classifier.
According to aspects of the present application, each grid point 104 of the environment 100 can be represented with a label in a hierarchy. An example distribution of labels using a three-level hierarchy is illustrated in
Accordingly, a hierarchical NN location classifier designed for the environment 100 of
By expanding this example to the more realistic scenario of city-wide location classification, it may be illustrated that aspects of the present application can significantly reduce learning overhead. That is, the learning overhead for the hierarchical NN location classifier is expected to be less than the learning overhead for the flat NN location classifier. The reason for the reduced learning overhead may, in part, be due to the quantity of parameters concentrated in the final layer of each NN location classifier, for large surveying areas.
Approaches to location determination using fingerprinting have been pursued in both academia and industry due to such approaches providing UEs with an ability to self-determine location using measurements of a channel received from only a single base station. Reasons for intensifying interest in single-BS location determination solutions is multifold: first, the lack of synchronization induces an irreducible error to the location-determining problem that can hardly be fully eliminated with the current technology; and second, geometric (i.e., classic) location determination methods suffer from an inability to identify Non-Line-of-Sight (NLoS) channels and compensate for the inability. Unfortunately, without compensating for NLoS bias, location determination with geometric methods suffers from significant error. In contrast, location determination using fingerprinting follows a completely different methodology. UEs practicing location determination using fingerprinting may be shown to be negligibly impacted by the issues associated with the lack of an LoS channel.
The practice of fingerprinting by learning from data has been pursed in the past decade using various machine-learning tools. In P. Bahl and V. Padmanabhan, “RADAR: An in-building RF based user location and tracking system,” in 19th Annual Joint Conf. IEEE Comput. Commun. Soc., Tel Aviv, Israel, 2000 and S. Han, C. Zhao, W. Meng and C. Li, “Cosine similarity based fingerprinting algorithm in WLAN indoor positioning against device diversity,” in IEEE Int. Conf. Commun. (ICC), London, U. K., 2015, the authors promote the use of location determination using fingerprinting using classic ML algorithms, such as the known k-nearest neighbor (KNN) ML algorithms, to learn the location of users. Unfortunately, these approaches that promote the use of location determination using fingerprinting using classic ML algorithms may be shown to have limited learnability. Additionally, these approaches that promote the use of location determination using fingerprinting using classic ML algorithms may be shown to not be scalable, due to a need to store an entire dataset instead of storing a compressed representation of the dataset. With the emergence of deep learning models and deep learning NNs, use of classic ML algorithms for location determination using fingerprinting may be considered to have fallen out of fashion.
In A. Decurninge, L. Ordóñez, P. Ferrand, H. Gaoning, L. Bojie, Z. Wei, and M. Guillaud, “CSI-based outdoor localization for massive MIMO: Experiments with a learning approach,” in Inti. Symp. Wireless Comm. Sys. (ISWCS), Lisbon, Portugal, August 2018 and X. Wang, L. Gao, S. Mao and S. Pandey, “CSI-Based Fingerprinting for Indoor Localization: A Deep Learning Approach,” IEEE Transactions on Vehicular Technology, vol. 66, no. 1, pp. 763-776, January 2017 approaches have been shown wherein NNs are able to efficiently learn inherent interdependencies between locations. Such efficient learning has been shown to allow these approaches to achieve prediction accuracy that is improved relative to the approaches that fail to efficiently learn. Despite the fact that these approaches were able to improve learnability, upon close inspection, it appears that these approaches remain to be useful only for indoor location determination, where the number of grid points (with which fingerprints may be associated) are limited. More specifically, as above-mentioned, using a flat NN location classifier for outdoor scenarios with millions of fingerprints, suffers from practicality issues.
Aspects of the present application relate to efforts to address the impracticality of flat NN location classifiers to outdoor scenarios, while maintaining advantages that deep neural networks offer in improving learnability in NN location classifiers.
A primary base station 506-P is illustrated as communicating with the device 508-A. The device 508-A is also illustrated in communication with a secondary base station 506-S. Additionally, a plurality of neighboring UEs including a secondary UE 508-B and several other UEs 508-C, 508-D, 508-E (collectively or individually 508) is illustrated in
In contrast to
As illustrated in
As illustrated in
As illustrated in
As illustrated in
The surveyor 508-A may record the identity of the neighboring UEs 508. The surveyor 508-A may include the identities when storing an input tensor. Accordingly, the location management function 520 may configure the hierarchical labelling function, Ah(⋅), based, in part, upon the identities of neighboring UEs 508 received from the surveyor 508-A in association with each input tensor. The location management function 520 may adjust weights in a hierarchical clustering algorithm, to be discussed hereinafter, such that grid points associated with similar neighboring UE identity information are associated with hierarchical labels that are within a particular hierarchy.
The surveyor 508-A may record the level of power received from each of the neighboring UEs 508. The surveyor 508-A may include the power level information when storing an input tensor. Accordingly, the location management function 520 may configure the hierarchical labelling function, Ah(⋅), based, in part, upon the power level information received from the surveyor 508-A in association with each input tensor. The location management function 520 may adjust weights in a hierarchical clustering algorithm, to be discussed hereinafter, such that grid points associated with similar neighboring UE received power level information are associated with hierarchical labels that are within a particular hierarchy.
It is known that Wi-Fi access points advertise themselves to in-range devices with a Service Set Identifier (SSID). The surveyor 508-A may record the SSID of one or more local Wi-Fi access points and may include the SSIDs when storing an input tensor. Accordingly, the location management function 520 may configure the hierarchical labelling function, Ah(⋅), based, in part, upon the SSIDs received from the surveyor 508-A in association with each input tensor. The location management function 520 may adjust weights in a hierarchical clustering algorithm, to be discussed hereinafter, such that grid points associated with similar SSIDs are associated with hierarchical labels that are within a particular hierarchy.
In a second stage 604, location encoding (labeling) takes place. Each grid point (fingerprint location, q) is associated, in the second stage 604, with a hierarchical label, q. The second stage 604 may be represented as implementing the hierarchical labelling function, Ah(⋅). In this way, output from the second stage 604 may be an entire training dataset ={({circumflex over (X)}q, q)}q that includes a hierarchical label, q, and a normalized input tensor, {circumflex over (X)}q, for each of a plurality of grid points (fingerprint locations, q). Indeed, the number of grid points in the plurality may be represented by ||.
The training dataset ={({circumflex over (X)}q, q)}q may be used in a third stage 606 to train a hierarchical NN location classifier. The hierarchical NN location classifier may be represented as a function, f(⋅).
A fourth stage 608 may be considered to be representative of operation of the AI engine 522 of
A fifth stage 610 may be considered to be representative of operation of the location management function 520 of
As discussed in relation to the second stage 604 of
It has been discussed hereinbefore that the surveyor 508-A may navigate through an environment, stopping at a grid point to probe the channel, where the probing involves collecting raw channel data. The surveyor 508-A then records the raw channel data for later processing. The channel that is probed has a plurality of subcarriers that traverse multiple paths from a transmission point, “TP” (e.g., the primary base station 506-P), with a plurality of transmit antennas (not shown) to a receiver (the surveyor 508-A) with a plurality of receive antennas (not shown).
The raw channel data may be considered to be represented as a vector, h(t)=[hkn
where fk is the frequency of the kth subcarrier, Nsc is the number of subcarriers, Nrx is the number of receive antennas, Ntx is the number of transmit antennas, Nmp is the number of multipath components, kn
Due to the presence, in Equation (1), of the term e−2πifk(τn
In accordance with an aspect of the present application, the pre-processing of the raw channel data has several steps, including: determining a frequency domain cross-covariance matrix; transforming the cross-covariance matrix from the frequency domain to a delay domain; zeroing out unimportant features of the delay domain cross-covariance matrix; concatenating cross-covariance matrices related to multiple base stations; and normalizing features. It should be clear that there are many others ways to pre-process raw channel data. The manner of pre-processing that is described in the following is presented for example purposes.
For the jth base station, a frequency domain cross-covariance matrix, Rj, may be determined as follows:
Rj=hj·hjH. (2)
If the expectation in (2) is taken with respect to the distribution of the vector, hj(t), within a stationarity region, i.e., within an area in which the statistics of a propagation channel remain constant, then the vector, hj(t), may be considered to be an ergodic process. A process is said to be ergodic if statistical properties of the process can be deduced from a single, sufficiently long, random sample of the process. Ensemble averaging may be shown to approximate the statistical averaging of Equation (2) with good precision, as follows:
where hjn
where
Note that even though the range of m is −Nsc<m<Nsc, it is straightforward to show that rj,m=rj,−m*. It follows that there are only Nsc independent values an m element column, rj, of the cross-covariance matrix, Rj.
The column, rj, may be transformed, using an inverse fast Fourier transform, into a vector herein called a “delay spectrum vector,” {circumflex over (r)}j, as follows:
where
are complex terms.
The delay spectrum vectors, {circumflex over (r)}j, may be considered similar to a partial dependence plot (PDP) that can be obtained from |{hj}|2 It is known that a PDP shows a marginal effect that one or two features can have on a predicted outcome of a ML algorithm. The delay spectrum vectors, {circumflex over (r)}j determined in Equation (6) may be considered to be differentiated from the PDP, |{hj}|2, in that the PDP has sincN2(x) components, rather than the sincN(x) components found in Equation (6). Recall that the parameter βn
[{circumflex over (n)},{circumflex over (p)}]=Peaks({circumflex over (r)}j)
{tilde over (r)}j={circumflex over (r)}j⊙νj (7)
where {circumflex over (n)} are the indices of the peaks of the delay spectrum vector, {circumflex over (r)}j, and where {circumflex over (p)} are the powers of the peaks of the delay spectrum vector, {circumflex over (r)}j, a peak selection vector νj=[νj,n]n is given by:
and where ⊙ is representative of element-wise multiplication.
Because, in general, the UEs 508 can sense relay stations (not shown) to the primary base station 506-P, as well as relay stations (not shown) to the secondary base station 506-S, aspects of the present application relate to concatenating the trimmed delay spectrum vectors, {tilde over (r)}j, from several base stations 506. Moreover, aspects of the present application relate to separating real parts and imaginary parts of the trimmed delay spectrum vectors, {tilde over (r)}j, and treating the real parts and the imaginary parts as different channels in an un-normalized input tensor, Xq, as follows:
Xq=[[Re({tilde over (r)}1),Im({tilde over (r)}1)], ⋅ ⋅ ⋅ ,[Re({tilde over (r)}N
The un-normalized input tensor, Xq, is expected to be of dimension Nsc×NBS×2 for a given grid point (fingerprint location, q) with the hierarchical label q.
In any ML algorithm, feature normalization is a step towards efficient and quick learning. Even the most advanced ML algorithms have proven to have extreme difficulty in learning from features whose magnitudes are inhomogeneous. Feature normalization has been shown to alleviate this problem.
The un-normalized input tensor, Xq, has a plurality of elements, xn,j,c,q, where n is an index of a peak, j is a reference to a particular subcarrier, q is a reference to a particular grid point and c∈{0,1} indicates that the element is either a real part (0) or an imaginary part (1). Recall that, for the un-normalized input tensor, Xq, the real parts and the imaginary parts are treated as distinct channels. Taking each element, xn,j,c,q, of the un-normalized input tensor, Xq, as an input feature, normalized elements, xn,j,c,q, may be determined as follows:
In this way, the normalized input tensor, {circumflex over (X)}q, portion of ={({circumflex over (X)}q, q)}q (the training dataset) is generated.
To this point, the input tensor information has been discussed as being recorded by the surveyor 508-A based, at least in part, on measured characteristics of subcarriers in a downlink (DL) channel from the primary base station 506-P. It should be clear that there exist alternatives to associating, with grid points, measured characteristics of the DL channel. For example, the primary base station 506-P may measure characteristics of subcarriers in an upload (UL) signal from the surveyor 508-A.
As part of the environment characterization and label generation sub-stage 603, the location management function 520 (
On the one hand, to generate labels in the flat fingerprinting approach, a surveyor: navigates through the meshed environment; stops at a grid point to probe the channel; estimates coordinates for the grid point; randomly associates a location label to the grid point; determines channel data; records the channel data as a fingerprint; and pairs the fingerprint with the location label.
On the other hand, to generate labels in the hierarchical fingerprinting approach, more than just a random label assignment is preferred. Concretely, the objective, in label assignment, is to assign the same label to a plurality of locations that experience the same FoVs. To that end, aspects of the present application rely on the information that can be provided by each UE about a perception of respective neighborhoods as well the information that can be inferred by the network itself. The accuracy of label generation depends on how much information is at the disposal of the entity assigning the labels, which, in this case, is the location management function 520. On this basis, several embodiments have been envisioned, including embodiments wherein an environment map is available and embodiments wherein an environment map is not available.
Furthermore, when estimating the coordinates for the grid point 104, the surveyor 508-A may use a local coordinate system. Use of the local coordinate system may be shown to allow the primary base station 506-P in combination with the location management function 520 and the AI engine 522 to use the hierarchical NN location classifier (with some variations) for tasks other than location classification. Such other tasks may include mobility prediction and UE matching in multiple user multiple input multiple output (MU-MIMO), among others.
In an embodiment in which an environment map is available to the location management function 520, the location management function 520 may carry out label generation by (i) performing ray-tracing (RT) on the environment map and (ii) using an unsupervised clustering algorithm, e.g., a hierarchical clustering algorithm.
An environment map 700 is illustrated in
A limited example of the performance of ray-tracing on the environment map 700 is illustrated in
The location management function 520 may map the high-dimensional label vector generated for each grid point 704 into the high-dimensional space 900. Indeed,
An example result of the hierarchical clustering in the high-dimensional space 900 is illustrated in
Upon completing the hierarchical clustering, the location management function 520 may use the hierarchical labels in the labeling of the locations (stage 604,
The hierarchical clustering for label generation may be based on any one of many known hierarchical clustering algorithms. However, for the hierarchical clustering algorithm to work efficiently, the input space is preferably a lower dimensional space. Because the dimensions of the input tensors can be very large, it is proposed herein to employ an auto-encoder as a dimensionality reduction tool.
Accordingly, rather than performing the hierarchical clustering in the high-dimensional space 900, the location management function 520 may perform the hierarchical clustering in the relatively lower-dimensional space that defines the output of the auto-encoder. Accordingly, there are options for the location management function 520 when generating a hierarchical label for each grid point 704 among the plurality of grid points.
In an embodiment in which an environment map is not available, the location management function 520 may utilize alternative techniques to generate labels. For example, it may be understood that increased “locality,” that is, proximity of two grid points 704, may be shown to correlate with an increase in a likelihood that the surveyor 508-A will observe similar FoVs at the two grid points 704.
It follows that the location management function 520 may generate similar (if not the same) hierarchical labels for two grid points 704 that are close-by to one another whereas, in contrast, the location management function 520 may generate distinct hierarchical labels for grid points 704 that are distant from one another.
Even in the absence of prior knowledge, such as an available environment map, the location management function 520 may generate labels by “meshing” the environment 700. Given that a wireless channel changes continuously, it may be considered valid that the location management function 520 can operate on an expectation that a closeness, between two grid points 704, in a parameter space would correlate with closeness in normalized input tensors determined for the two grid points 704. Consider a case wherein, through pre-processing, a first normalized input tensor, {circumflex over (X)}1, has been determined for a first grid point 704 and a second normalized input tensor, {circumflex over (X)}2, has been determined for a second grid point 704. It follows that when {circumflex over (X)}1 and {circumflex over (X)}2 are close to each other in the high-dimensional input space, in which the normalized input tensors may be defined, the location management function 520 may make the assumption that {circumflex over (X)}1 and {circumflex over (X)}2 have probably been determined for two close-by grid points 704.
With this assumption in place, the location management function 520 can use unsupervised clustering algorithms (e.g., hierarchical clustering algorithms) to associate a hierarchical label, q, with each of the normalized input tensors, {circumflex over (X)}q, that are associated with the grid points, q.
Once the location management function 520 has generated these labels, q, the labels may be used to form the training dataset, ={{circumflex over (X)}q, q}q, along with corresponding normalized input tensors, {circumflex over (X)}q, to train the hierarchical NN location classifier in the third stage 606 in
It is known that, to train a NN classifier, it helps to define a loss function. Accordingly, to train the hierarchical NN location classifier (the third stage 606 in
Because the task under consideration is classification, each of the outputs of the hierarchical NN location classifier is arranged to terminate with a terminal SoftMax layer, so that the final, trained hierarchical NN location classifier approximates, at each terminal SoftMax layer, a conditional probability mass function (PMF) of classes.
The hierarchical NN location classifier uses weights, W, to process || normalized input tensors, {circumflex over (X)}q, to produce, at one output level among H output levels one inferred hierarchical label, q, among C inferred hierarchical labels, q. A composite loss function for the hierarchical NN location classifier may defined as follows:
With fW(⋅) representing the hierarchical NN location classifier using weights, W, it follows that fW,c,h({circumflex over (X)}q) may be used to represent the cth output value at the hth level responsive to the qth normalized input tensor, {circumflex over (X)}q, and q,c,h is the cth value of the hth ground-truth label vector in the hierarchical label set of the qth normalized input tensor, {circumflex over (X)}q. Level weights, h, are hyper-parameters that allow the placement of different emphasis on different output levels (e.g., the topmost level, the middle level and the innermost level) of the hierarchy.
Accordingly, in the third stage 606 in
At a first signal trace 1102, the primary UE 508-A receives a side-load signal from the secondary UE 508-B.
At a second signal trace 1104, the secondary UE 508-B receives a side-load signal from the primary UE 508-A.
At a third signal trace 1106, the primary base station 506-P receives an upload signal from the secondary UE 508-B. The upload signal may, in part, include an indication of measurements made when the secondary UE 508-B received the side-load signal (the second signal trace 1104) from the primary UE 508-A.
At a fourth signal trace 1108, the primary base station 506-P receives an upload signal from the primary UE 508-A. The upload signal may, in part, include an indication of measurements made when the primary UE 508-A received the side-load signal (the first signal trace 1102) from the secondary UE 508-B.
At a fifth signal trace 1110, the primary base station 506-P receives a sounding reference signal (SRS) from the primary UE 508-A. The SRS may, in part, include indications of measurements made by various elements of the primary UE 508-A. For one example, the SRS may include indications of measurements made by the GPS module 512. For another example, the SRS may include indications of information extracted from the map information database 514. For a further example, the SRS may include indications of measurements made by the vision sensing module 516. The information included in the SRS may be considered to be useful in the environment characterization and label generation sub-stage 603 in
The primary base station 506-P may pre-process the un-normalized input tensor, Xq, as described in view of Equation (9), to produce a normalized input tensor, {circumflex over (X)}q.
At a sixth signal trace 1112, the location management function 520 receives the normalized input tensor, {circumflex over (X)}q, from the primary base station 506-P.
At a seventh signal trace 1114, the AI engine 522 receives the normalized input tensor, {circumflex over (X)}q, from the location management function 520. Upon receipt of the normalized input tensor, {circumflex over (X)}q, the AI engine 522 may implement the trained hierarchical NN location classifier to carry out the fourth stage 608 (
At an eighth signal trace 1116, the location management function 520 receives the inferred hierarchical label, q, from the AI engine 522. The location management function 520 may carry out the fifth stage 610 (
At a ninth signal trace 1118, the primary UE 508-A receives an indication of the predicted location from the location management function 520.
In combination,
It should be appreciated that one or more steps of the embodiment methods provided herein may be performed by corresponding units or modules. For example, data may be transmitted by a transmitting unit or a transmitting module. Data may be received by a receiving unit or a receiving module. Data may be processed by a processing unit or a processing module. The respective units/modules may be hardware, software, or a combination thereof. For instance, one or more of the units/modules may be an integrated circuit, such as field programmable gate arrays (FPGAs) or application-specific integrated circuits (ASICs). It will be appreciated that where the modules are software, they may be retrieved by a processor, in whole or part as needed, individually or together for processing, in single or multiple instances as required, and that the modules themselves may include instructions for further deployment and instantiation.
Although a combination of features is shown in the illustrated embodiments, not all of them need to be combined to realize the benefits of various embodiments of this disclosure. In other words, a system or method designed according to an embodiment of this disclosure will not necessarily include all of the features shown in any one of the Figures or all of the portions schematically shown in the Figures. Moreover, selected features of one example embodiment may be combined with selected features of other example embodiments.
Although this disclosure has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the disclosure, will be apparent to persons skilled in the art upon reference to the description. It is therefore intended that the appended claims encompass any such modifications or embodiments.
Number | Name | Date | Kind |
---|---|---|---|
20080086261 | Robinson | Apr 2008 | A1 |
20130178231 | Morgan | Jul 2013 | A1 |
20190166466 | Diamanti | May 2019 | A1 |
20210337354 | Faustino | Oct 2021 | A1 |
Number | Date | Country |
---|---|---|
108470213 | Aug 2018 | CN |
108696932 | Oct 2018 | CN |
108769969 | Nov 2018 | CN |
Entry |
---|
P. Bahl and V. Padmanabhan, “RADAR: An in-building RF based user location and tracking system,” in 19th Annu. Joint Conf. IEEE Comput. Commun. Soc., Tel Aviv, Israel, 2000, pp. 775-787. |
S. Han, C. Zhao, W. Meng and C. Li, “Cosine similarity based fingerprinting algorithm in WLAN indoor positioning against device diversity,” in IEEE Int. Conf. Commun. (ICC), London, U.K., 2015., pp. 2710-2714. |
A. Decuminge, L. Ordóñez, P. Ferrand, H. Gaoning, L. Bojie, Z. Wei, and M. Guillaud, “CSI-based outdoor localization for massive MIMO: Experiments with a learning approach,” in Intl. Symp. Wireless Comm. Sys. (ISWCS), Lisbon, Portugal, Aug. 2018, pp. 1-6. |
X. Wang, L. Gao, S. Mao and S. Pandey, “CSI-Based Fingerprinting for Indoor Localization: A Deep Learning Approach,” IEEE Transactions on Vehicular Technology, vol. 66, No. 1, pp. 763-776, Jan. 2017. |
Number | Date | Country | |
---|---|---|---|
20220109950 A1 | Apr 2022 | US |