Patent Publication Number: US-9426619-B2

Title: Handling complex signal parameters by a positioning device, and apparatus

Description:
FIELD OF THE INVENTION 
     This invention relates generally to positioning. 
     BACKGROUND TO THE INVENTION 
     There are a number of known techniques for determining the position of an apparatus using radio frequency signals. Some popular techniques relate to use of the Global Positioning System (GPS), in which multiple satellites orbiting Earth transmit radio frequency signals that enable a GPS receiver to determine its position. However, GPS is often not very effective in determining an accurate position indoors. 
     Some non-GPS positioning techniques enable an apparatus to determine its position indoors. However, many of these techniques do not result in an accurate position being determined, and others suffer from other disadvantages. 
     SUMMARY OF THE INVENTION 
     A first aspect of the invention provides a method comprising:
         receiving at each of at least three antenna elements of a positioning device a wireless signal having modulated thereon an identifier relating to a transmitting device;   obtaining complex signal parameters of a signal received at each of the at least three antenna elements;   determining a measure of a strength of the received wireless signal;   comparing the measure to a threshold associated with the identifier;   if the measure exceeds the threshold, processing the complex signal parameters to determine a bearing of the transmitting device from the positioning device, and   if the measure does not exceed the threshold, discarding the complex signal parameters without processing them to determine a bearing.       

     The method may comprise the positioning device comparing the measure to the threshold associated with the identifier, the positioning device transmitting a message comprising the complex signal parameters for remote processing to determine the bearing of the transmitting device from the positioning device if the measure exceeds the threshold, and the positioning device discarding the complex signal parameters without first transmitting them if the measure does not exceed the threshold. 
     The method may comprise storing a database of identifiers and corresponding thresholds, or information from which thresholds can be derived. Here, the method may comprise updating the database using information received from an external device, for instance a remote server. 
     The method may comprise:
         storing a list of disallowed mobile devices;   determining if an identifier received from a transmitting device relates to a mobile device that is included in the list of disallowed mobile devices; and   in the event of a positive determination, discarding the complex signal parameters without processing them to determine a bearing.       

     A second aspect of the invention comprises a method comprising:
         receiving messages from plural positioning devices;   decoding from a message received from a first positioning device information identifying a mobile device and a signal strength measure relating to a strength of a signal received from the mobile device at the first positioning device;   using the signal strength measure to calculate a threshold signal strength; and   distributing the threshold signal strength to the plural positioning devices.       

     Using the signal strength measure to calculate a threshold signal strength may comprise:
         comparing the signal strength measure to a maximum signal strength measure corresponding to the mobile device and relating to a time within a predetermined time window;   disregarding the signal strength measure if the maximum signal strength measure is not exceeded, and   providing the signal strength measure as the threshold signal strength if the threshold is exceeded.       

     Alternatively, using the signal strength measure to calculate a threshold signal strength may comprise:
         updating a record in a list with the signal strength measure if the threshold is exceeded; and   adding a new record to the list with the signal strength measure if the threshold is not exceeded.       

     The method may comprise maintaining a list of disallowed mobile devices, and distributing the list to the plural positioning devices. 
     The measure of strength of the received wireless signal may be signal power. 
     A third aspect of the invention provides a computer program, optionally stored on a computer readable medium, comprising machine readable instructions that when executed by computer apparatus control it to perform the method of any preceding claim. 
     A fourth aspect of the invention provides apparatus comprising:
         means for obtaining complex signal parameters for a signal received at each of at least three antenna elements, the wireless signal having modulated thereon an identifier relating to a transmitting device;   means for determining a measure of a strength of the received wireless signal;   means for comparing the measure to a threshold associated with the identifier;   means responsive to a determination that the measure exceeds the threshold to process the complex signal parameters to determine a bearing of the transmitting device from the positioning device, and   means responsive to a determination that the measure does not exceed the threshold to discard the complex signal parameters without processing them to determine a bearing.       

     The apparatus may comprise means for comparing the measure to the threshold associated with the identifier, the apparatus being configured to transmit a message comprising the complex signal parameters for remote processing if the measure exceeds the threshold and to discard the complex signal parameters without first transmitting them if the measure does not exceed the threshold. 
     The apparatus may comprise a memory storing a database of identifiers and corresponding thresholds, or information from which thresholds can be derived. The apparatus may be configured to update the database using information received from a remote server. 
     The memory may store a list of disallowed mobile devices, and the apparatus may be configured to determine if an identifier received from a transmitting device relates to a mobile device that is included in the list of disallowed mobile devices and, in the event of a positive determination, to discard the complex signal parameters without processing them to determine a bearing. 
     A fifth aspect of the invention provides apparatus comprising:
         means for receiving messages from plural positioning devices;   means for decoding from a message received from a first positioning device information identifying a mobile device and a signal strength measure relating to a strength of a signal received from the mobile device at the first positioning device;   means for using the signal strength measure to calculate a threshold signal strength; and   means for distributing the threshold signal strength to the plural positioning devices.       

     The means for using the signal strength measure to calculate a threshold signal strength may be configured:
         to compare the signal strength measure to a maximum signal strength measure corresponding to the mobile device and relating to a time within a predetermined time window;   to disregard the signal strength measure if the maximum signal strength measure is not exceeded, and   to provide the signal strength measure as the threshold signal strength if the threshold is exceeded.       

     Alternatively, the means for using the signal strength measure to calculate a threshold signal strength may be configured:
         to update a record in a list with the signal strength measure if the threshold is exceeded; and   to add a new record to the list with the signal strength measure if the threshold is not exceeded.       

     The apparatus may be configured to maintain a list of disallowed mobile devices, and to distribute the list to the plural positioning receivers. 
     The measure of strength of the received wireless signal may be signal power. 
     A sixth aspect of the invention provides a machine readable medium having stored thereon computer code that when executed by computer apparatus controls it to perform a method comprising:
         obtaining complex signal parameters of a wireless signal received at each of at least three antenna elements of a positioning device;   determining a measure of a strength of the received wireless signal;   comparing the measure to a threshold associated with an identifier modulated onto the received wireless signal;   if the measure exceeds the threshold, processing the complex signal parameters to determine a bearing of the transmitting device from the positioning device, and   if the measure does not exceed the threshold, discarding the complex signal parameters without processing them to determine a bearing.       

     A seventh aspect of the invention provides a machine readable medium having stored thereon computer code that when executed by computer apparatus controls it to perform a method comprising:
         receiving messages from plural positioning devices;   decoding from a message received from a first positioning device information identifying a mobile device and a signal strength measure relating to a strength of a signal received from the mobile device at the first positioning device;   using the signal strength measure to calculate a threshold signal strength; and   distributing the threshold signal strength to the plural positioning devices.       

     An eighth aspect of the invention provides apparatus comprising one or more processors, one or more memories and computer code stored in the one or more memories, the one or more processors being operable under control of the computer code to:
         obtain complex signal parameters for a signal received at each of at least three antenna elements, the wireless signal having modulated thereon an identifier relating to a transmitting device;   determine a measure of a strength of the received wireless signal;   compare the measure to a threshold associated with the identifier;   respond to a determination that the measure exceeds the threshold by processing the complex signal parameters to determine a bearing of the transmitting device from the positioning device, and   respond to a determination that the measure does not exceed the threshold by discarding the complex signal parameters without processing them to determine a bearing.       

     A ninth aspect of the invention provides apparatus comprising one or more processors, one or more memories and computer code stored in the one or more memories, the one or more processors being operable under control of the computer code to:
         receive messages from plural positioning devices;   decode from a message received from a first positioning device information identifying a mobile device and a signal strength measure relating to a strength of a signal received from the mobile device at the first positioning device;   use the signal strength measure to calculate a threshold signal strength; and   distribute the threshold signal strength to the plural positioning devices.       

    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       For a better understanding of various embodiments of the present invention reference will now be made by way of example only to the accompanying drawings in which: 
         FIG. 1  illustrates a base station apparatus according to aspects of the invention receiving radio signals from a transmitter according to other aspects of the invention; 
         FIG. 2  is a schematic diagram of the base station apparatus according to aspects of the invention; 
         FIG. 3  is a schematic diagram of a system embodying aspects of the invention; 
         FIG. 4  is a flow chart illustrating operation of the  FIG. 2  receiver apparatus according to aspects of the invention; 
         FIG. 5  is a flow chart illustrating operation of a server of the  FIG. 3  system, according to aspects of the invention; 
         FIG. 6  is a flow chart illustrating a positioning method performed by the server; and 
         FIG. 7  illustrates estimating the position using a displacement or range as a constraint. 
     
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION 
       FIG. 1  illustrates a person  92  (carrying a mobile radio communications apparatus  10 ) at a position  95  on a floor  100  of a building  94 . The building  94  could be, for example, a shopping centre or a conference centre. The mobile radio communications apparatus  10  is hereafter referred to as a mobile device. The mobile device  10  includes radio transmitter functionality and so can be called a transmitter. The mobile device  10  is operable to transmit radio signals that are receivable by the base station  30 , for instance Bluetooth Low Energy protocol signals. 
     A base station receiver apparatus  30  is positioned at a location  80  of the building  94 . In the illustrated example, the location  80  is on the ceiling of the building  94  (i.e. the overhead interior surface) but in other implementations the receiver may be placed elsewhere, such as on a wall or within an under-floor cavity. For reasons that will become apparent, the base station receiver apparatus  30  can be termed a positioning device or positioning receiver. 
     The location  80  is directly above the point denoted with the reference numeral  70  on the floor  100  of the building. The base station  30  is for enabling the position of the mobile device  10  to be determined, although that is not necessarily the only function provided by the base station  30 . For example, the base station  30  may be part of a transceiver for providing wireless internet access to users of apparatuses  10 , for example, via wireless local area network (WLAN) or Bluetooth Low Energy radio signals. 
     Briefly, the mobile device  10  transmits signals which are received at the base station  30 . The base station  30  takes I and Q samples of the received signals. These I and Q samples are processed to determine a bearing of the mobile device  10  from the base station  30 . From the bearing, the location of the mobile device  10  may be calculated. In a primary embodiment, described below, calculation of the bearing from the I and Q samples, or alternatively from part-processed I and Q samples, is performed at a server  48 . I and Q samples or part-processed samples of the received signals are sent from the base station  30  to the server  48  only if a measure of signal strength of the received signals meets a predetermined criterion. In other embodiments, determination as to whether the measure of signal strength meets the predetermined criterion is performed by another component of the system, for instance the server  48  or the mobile device  10 . In other embodiments, the base station apparatus  30  compared the measure of strength to the predetermined criterion and itself calculates a bearing of the mobile device  10  from the base station apparatus  30  if the criterion is met. 
     The position  95  of the person  92  is defined by specifying a position along a bearing  82  (illustrated in  FIG. 5 ) which runs from the location  80  of the base station  30  through the location  95  of the mobile device  10 . The bearing  82  is defined by an elevation angle θ and an azimuth angle φ. 
     The mobile device  10  may, for example, be a hand portable electronic device such as a mobile radiotelephone. The mobile device  10  may or may not include a positioning receiver such as a GPS receiver. The mobile device  10  may be a relatively simple device having limited functionality, such as a mobile tag. Here, the mobile tag  10  may be absent of a receiver. A mobile tag is absent of voice communication capability, and may also be absent of a display and audio transducers. 
     The mobile device  10  may transmit radio signals  50  periodically as beacons. The radio signals may, for example, have a transmission range of 100 meters or less. For example, the radio signals may be 802.11 wireless local area network (WLAN) signals, Bluetooth signals, Ultra wideband (UWB) signals or Zigbee signals. In the following embodiments, the radio signals preferably are signals transmitted according to the Bluetooth Low Energy protocol. 
       FIG. 2  schematically illustrates one example of the base station  30 . The base station  30  comprises an antenna array  36  comprising a plurality of antenna elements  32 A,  32 B,  32 C which receive respective radio signals  50 A,  50 B,  50 C transmitted from the mobile device  10 . Although three antenna elements  32  are shown, three is the minimum and the embodiments described here may include more, for instance 16 elements. 
     Each of the plurality of antenna elements  32 A,  32 B,  32 C is connected to an switch  19 , which is controllable by a controller  31  as described below. The switch  19  is controlled so that only one of the antenna elements  32 A,  32 B,  32 C is connected to an amplifier  21  at a given time. The output of the amplifier  21  are received at a mixer arrangement  22 . This is provided with in-phase (I) and quadrature (Q) signals by an arrangement of a local oscillator  23 , which may be analogue or digital, and a 90° phase shifter  24 . A sampler  25  is configured to receive I and Q output signals from the mixer arrangement and take digital samples thereof. The sampler  25  may take any suitable form, for instance including two digital to analogue converter (DAC) channels, one for the I channel and one for the Q channel. The effect of the mixer arrangement  24  and the sampler  25  is to downconvert the received signals and to provide digital I and Q samples of the downmixed signals. 
     An output of the sampler  25  is provided to a signal strength measurement module  28 , a demodulator  26  and a message former  27 . 
     A controller  31  is configured to control the other components of the base station apparatus  30 . The controller may take any suitable form. For instance, it may comprise processing circuitry  32 , including one or more processors, and a storage device  33 , comprising a single memory unit or a plurality of memory units. The storage device  33  may store computer program instructions  34  that, when loaded into processing circuitry  32 , control the operation of the base station  30 . The computer program instructions  34  may provide the logic and routines that enables the apparatus to perform the functionality described above, and also to perform the method described below with reference to  FIG. 4 . The message former  27  may be comprised solely of the controller  31 . The computer program instructions  34  may arrive at the base station apparatus  30  via an electromagnetic carrier signal or be copied from a physical entity  21  such as a computer program product, a memory device or a record medium such as a CD-ROM or DVD. 
     The processing circuitry  32  may be any type of processing circuitry. For example, the processing circuitry  32  may be a programmable processor that interprets computer program instructions  34  and processes data. The processing circuitry  32  may include plural programmable processors. Alternatively, the processing circuitry  32  may be, for example, programmable hardware with embedded firmware. The processing circuitry  32  may be a single integrated circuit or a set of integrated circuits (i.e. a chipset). The processing circuitry  32  may also be a hardwired, application-specific integrated circuit (ASIC). The processing circuitry may be termed processing means. 
     The processing circuitry  32  is connected to write to and read from the storage device  33 . The storage device  33  may be a single memory unit or a plurality of memory units. 
     The demodulator  26  is configured to demodulate data modulated onto signals received by the antenna elements  32 A,  32 B,  32 C and extract therefrom an identifier relating to a mobile device that transmitted the received signals. This identifier is provided to the controller  31 . 
     The controller  31  operates to control the switch  19  to connect the antenna elements  32 A,  32 B,  32 C to the amplifier  21  in turn. The controller  31  controls the switch  19  to connect one of the antenna elements  32 A,  32 B,  32 C to the amplifier for the duration of transmission of the header of a packet transmitted by the mobile device  10 . After the header has been received, the controller  31  controls the switch  19  to connect different one of the antenna elements  32 A,  32 B,  32 C to the LISA  21  in a sequence. The interval between successive switching of the switch  19  is approximately equal to the symbol rate used in the payload of the transmitted packets. 
     The signal strength measurement module  28  is configured to determine a measure of the strength of the received signals, as provided by the output of the sampler  25 . The controller  31  is configured to receive an output of the signal strength measurement module  28 . 
     The controller  31  is configured to determine whether a predetermined criterion is met, and to form a message including the I and Q samples depending on the outcome of the determination. Determining whether a predetermined criterion is met is explained in more detail below. Briefly, though, the controller  31  is configured to determine whether the identifier is included in an allow list  35 A, that is stored in the storage/memory  33 . If the identifier is determined to be present in the allow list, the controller  31  determines whether the measure of signal strength meets a criterion with respect to a parameter that is included in a record in the allow list associated with the identifier. In the event of a positive determination, the message former  27  is controller to form a message including the I and Q samples and the identifier and to transmit the message to a server  48  (described below). In the event of a negative determination, the controller  31  discards the I and Q samples without the message former  27  including them in a message. If the controller  31  determines that the identifier is not included in the allow list  35 A, the message former  27  is controlled to form a message including the I and Q samples for transmission to the server  48  regardless of whether a test to determine whether signal strength measure meets the predetermined criterion is performed. The controller  31  is configured also to determine whether the received identifier is included in a deny list  35 D, that is stored in the storage/memory  33 . If the identifier is included in the deny list  35 D, the controller  31  discards the I and Q samples without the message former  27  including them in a message. In the above, comparison of the signal strength measure to a value that corresponds to the identifier is performed only if the identifier is included in the allow list. In other embodiments, allow lists and deny lists are not used. 
     When so controlled by the controller  31 , the message former  27  generates a message comprising I and Q samples of the downconverted signals from each of the antenna elements  32 A,  32 B,  32 C and the identifier. The message is then passed to a communications interface  29 . The communications interface  29  may include one or more of the antenna elements  32 A,  32 B,  32 C. 
     The message may include plural packets, each including a header and a payload. The headers of the packets include an identifier relating to and identifying the base station  30 , and the address of the server  48 . The payloads include the I and Q samples and the identifier demodulated from the signals received by the base station  30 . The payloads may also include the signal strength measure provided by the signal strength measurement module  28 . The I and Q samples and identifier relating to one signal received at the base station  30  may be included in one packet, or split across multiple packets. One packet may include I and Q samples and identifiers relating to two or more signals received at the base station  30 , although advantageously each packet relates to only one signal. In the following, the one or more packets relating to one beacon signal received from a mobile device is referred to as a positioning packet. Where this includes plural physical packets, the reconstructed message is termed the positioning packet, although it may at this stage be absent of a header. 
     In a prototype system constructed by the inventors, sixteen antenna elements  32 A are used. In this system, each antenna element is sampled twice although one antenna element (a reference element) is sampled more frequently. Performing three measurements results in 104 samples which, with one byte for each I and Q sample, totals 208 bytes of data. These bytes are included in the message. 
     The I and Q samples constitute complex signal parameters in that the I and Q samples together define parameters of a complex signal. 
     Instead of transmitting ‘raw’ I and Q samples, the controller  31  may process the I and Q samples to provide other complex signal parameters relating to the received signals, from which bearing calculation can be performed. For instance, the controller  31  may provide averaging of the I and Q samples in the angle/phase domain before converting the averages back to the I and Q domain (one sample for each antenna) and providing the averaged samples as complex signal parameters. Alternatively, the controller  31  may calculate amplitude and/or phase information from the I and Q samples, and provide the amplitude, phase or phase and amplitude information as complex signal parameters 
     Whatever form is taken by the complex signal parameters, they are included in a message as described above. 
     The message is transmitted to the server, for instance using radio signals. The radio signals may have a transmission range of 100 meters or less. For example, the radio frequency signals may be 802.11 wireless local area network (WLAN) signals, Bluetooth or Bluetooth Low Energy signals, Ultra wideband (UWB) signals or Zigbee signals. 
       FIG. 3  is a schematic diagram illustrating a system  37  including the base station  30  and the mobile device  10 . The base station  30  is a first base station in a plurality of base stations, second to seventh ones of which are labelled at  40  to  45  respectively. The mobile device  10  is a first mobile device amongst a plurality of devices, second and third ones of which are illustrated at  46  and  47  respectively. A server  48  is connected either directly or indirectly to each of the plural base stations  30 ,  40  to  45 . 
     The first to seventh base stations  30 ,  40  to  45  are provided at various locations around a zone of interest. The zone of interest may, for example, be an office building or a shopping centre, as discussed above. The distribution of the base stations around the zone of interest allows the locations of mobile devices  10 ,  46 ,  47  within the zone of interest to be determined. 
     The first to seventh base stations  30 ,  40  to  45  are the same as one another, unless otherwise stated. Some components of the first base station  30  are shown in  FIG. 3 , and it will be appreciated that these are included also in the other base stations but are omitted from the Figure for the sake of clarity. The first base station  30  is shown as including antennas  38 , a transmitter/receiver interface  49 , which may include the communications interface  29  of  FIG. 2 , one or more memories  33  and one or more processors  32 . The first base station  30  also includes a power supply  54 , which is shown as a battery in  FIG. 3 , although it may alternatively be a connection to a mains power supply for instance. 
     The server  48  constitutes computing apparatus. The server  48  includes one or more processors  55  and one or more memories  56 . The server  48  also is connected to a database  57 , which may be internal to the server  48  or may be external. The server  48  is so-called because it has processing resources that exceed the resources of other components of the system  37 , by a significant degree. 
     The system  37  also includes a timing reference  58 , which may take any suitable form. The timing reference  58  provides a source of reference time to various components of the system  37 , including the base stations  30 ,  40  to  45  and the server  48 . The timing reference  58  may also provide reference time to the mobile devices  10 ,  46 ,  47 . 
       FIG. 3  illustrates alternative ways in which the plurality of base stations may be connected to the server  48 . Some base stations may be connected directly to the server by wired links, for instance Ethernet links. The first base station  30  is shown as being connected directly to the server  48  by a first wired link  59 . Other ones of the plurality of base stations  42  are connected directly to the server  48  by wireless links. The fourth base station  42  is shown as connected to the server  48  by a first wireless link  60 . Other base stations are connected to the server  48  by an intermediary. In the Figure, the second base station  40  is shown as connected to the server  48  by way of a second wired link  61  to the first base station and the first wired link  59  between the first base station  30  and the server  48 . When acting as a router, a computer program (not shown) stored in the memory  33  of the first base station  30  is executed by the processor  32  in such a way as to control the transmitter/receiver interface  49  to receive packets and to retransmit them. The first and second wired links  59 ,  61  are bidirectional, and the first base station  30  is operable to route packets both from the second base station  40  to the server  48  and from the server  48  to the second base station  40 . 
     An indirect link between a base station and the server  48  may involve links of different types. For instance, the third base station  41  is connected to the server  48  by a second wireless link  62  between the third base station  41  and the first base station  30  and by way of the first wired link  59  between the first base station  30  and the server  48 . When acting as a router between the third base station  41  and the server  48 , a computer program  33  stored in the memory  52  of the first base station  30  is executed by the processor  52  to control the transmitter/receiver interface  49  to receive wireless packets from the second base station, convert protocol as necessary and transmit packets on the first wired link  59  to the server  48 . The first base station  30  also is operable to receive packets from the server  48  via the first wired link  59  and to forward them as wireless packets via the second wireless link  62  to the second base station  41 . 
     The first base station  30 , as well as any other base station that serves to route packets, routes packets by detecting a destination address in a packet header, deciding on a route using predefined rules that are stored in the base station and passing the packet externally via its transmitter/receiver interface  49 . 
     Base stations may be connected to the server  48  via an intermediary network, rather than being connected directly or indirectly via other base stations. For instance, as shown in  FIG. 3  the fifth to seventh base station  43  to  45  are connected to the server  48  by an intermediary network  63 . The network may be an Internet protocol (IP) network, for instance the Internet or an intranet. A third wired link  64  between the server  48  and the network  63  allows communication between the server  48  and the fifth and sixth base stations  43 ,  44  by virtue of fourth and fifth wired connections  65 ,  66  between the base stations  43  and  44  and the network  63 . The seventh base station  45  is connected to the network  63  by way of a sixth wired link  67  to the fifth base station  43 , which acts as a router between the seventh base station  45  and the network  63 . 
     The connection of the server  48  to the fifth to seventh base stations  43  to  45  via the network  63  allows the server  48  to be located remote from the base stations. For instance, the server  48  could be located at premises of a positioning service provider, and may be in a different country or even on a different continent to the base stations  43  to  45 . Packets are able to be passed between the server  48  and the fifth to seventh base stations  43  to  45  by way of routing enabled by destination address information included in packet headers. 
     Since the first to seventh base stations  30 ,  40  to  45  are located in the same zone of interest, a mobile device, such as the first mobile device  10 , may be within range of a number of the base stations. In  FIG. 3 , transmissions of the first mobile device  10  are illustrated to be receivable by the first, third, fourth and seventh base stations  30 ,  41 ,  42  and  45 . However, the strength of signals received at the base stations from the first mobile device  10  depends on a distance of the first mobile device and the respective base station  30 ,  41 ,  42 ,  45 , the bearing between the first mobile device  10  and the base station and the nature of any obstacles in the line of sight between the mobile device and the base station. Assuming that the base stations  30 ,  41 ,  42 ,  45  receive the same transmission of the first mobile device  10 , the strength of the signal received is likely to be different for each base station. The strength of the signal may be represented, for instance by a measure of signal power. 
     Messages formed by the base stations  30 ,  40  to  45  are forwarded to the server  48  as positioning packets. 
     The processing circuitry  55  of the server  48  operates to process complex signal parameters, which in the following are assumed to be I and Q samples, received as messages from base stations to estimate a bearing from the mobile device  10  to the respective base station  30 . The processing circuitry  55  of the server  48  operates also to estimate, using the bearing, a position of the mobile device  10 . Estimation of the position of the apparatus may involve using constraint information that is independent of the radio signals  50 . The estimation may involve determining the position of the mobile device  10  along the bearing  82 . Alternatively or in addition, it may involve using I and Q samples generated by plural base station receiver apparatuses  30  and using triangulation to determine the location of the mobile device  10 . 
     The server  48  maintains an allow list  14  and a deny list  15 . The deny list  15  and the allow list  14  are populated based on information received from the base stations  30 ,  40 - 45  and other sources. The deny list  35 D and allow list  35 A stored in the base stations  30 ,  40 - 45  may be copies of the allow list  14  and the deny list  15  that are produced by and stored at the server  48 . 
     The deny list  15  includes a number of records, each of which includes an identifier or address relating to a different mobile device, for instance one of the mobile devices  10 ,  46 ,  47 . Some or all of the records may also include a time field, including a time value. The time value may relate to a time at which the record was added to the deny list  15 . Alternatively, the time may indicate an expiry time of the record. If no time value is included in a record, the record can be considered to be permanently present in the deny list, although it can be removed. Records may be added to the deny list  15  by an administrator or an external system, for instance. The inclusion of a record on the deny list  15  prevents the bearing/location of the identified mobile device  10 ,  46 ,  47  being determined by the server  48 . 
     The allow list  14  allows a number of records, each including an identifier or address and a threshold value. Some or all of the records may also include a time value in a time field. The time value may relate to a time at which the record was added to the allow list  14 . Alternatively, the time may indicate an expiry time of the record. The inclusion of a record on the allow list  14  indicates that a beacon signal transmitted by the corresponding mobile device  10 ,  46 ,  47  has been received relatively recently by one of the base stations  30 ,  40 - 45 . The threshold value determines a minimum power that is needed by a signal received at a base station  30  for I and Q samples of the signal to be sent to the server  48  for processing. The threshold value may, for instance, be dependent on a measured power of a strongest signal received within a predetermined time (if the signal was received prior to the predetermined time, it would be expired). The threshold may for instance be a quantity below the power of the strongest signal. The threshold may be measured in dB, or some other logarithmic scale. The threshold may be 10 dB below the power of the strongest signal. 
     The processing circuitry  55  may be any type of processing circuitry. For example, the processing circuitry  55  may be a programmable processor that interprets computer program instructions  13  and processes data. The processing circuitry  55  may include plural programmable processors. Alternatively, the processing circuitry  55  may be, for example, programmable hardware with embedded firmware. The processing circuitry  55  may be a single integrated circuit or a set of integrated circuits (i.e. a chipset). The processing circuitry  55  may also be a hardwired, application-specific integrated circuit (ASIC). The processing circuitry may be termed processing means. 
     The processing circuitry  55  is connected to write to and read from the storage device  56 . The storage device  56  may be a single memory unit or a plurality of memory units. 
     The storage device  56  may store computer program instructions  13  that, when loaded into processing circuitry  55 , control the operation of the server  48 . The computer program instructions  13  may provide the logic and routines that enables the server  48  to perform the method illustrated in  FIG. 5 , described below. 
     The computer program instructions  13  may arrive at the server  48  via an electromagnetic carrier signal or be copied from a physical entity  21  such as a computer program product, a memory device or a record medium such as a CD-ROM or DVD. 
     Operation of the base station  30  will now be described with reference to the flow chart of  FIG. 4 . As a preliminary step, the base station  30  is provided with copies  35 A and  35 D of the deny list  15  and the allow list  14  lists that are produced by and stored at the server  48 . 
     Referring to  FIG. 4 , operation starts at step S 1  where a positioning signal or positioning beacon is received from the mobile device  10  at the base station  30 . 
     The base station  30  then partially processes the signal to demodulate the identifier from the signal, as explained above with reference to  FIG. 2 . The base station  30  also measures the power of the received signal, as explained above. The power may be measured in dB. 
     At step S 2 , the base station  30  determines whether the identifier (which constitutes an address) that is demodulated from the received positioning signal is included in the deny list  35 D. On a negative determination, the operation proceeds to step S 3 . Here, the base station  30  determines whether the identifier is included in the allow list  35 A. On a positive determination, the operation proceeds to step S 4 . Here, the base station  30  determines whether the measured power of the received signal exceeds the threshold provided in the record in the allow list  35 A that includes the identifier. The threshold may have a value in dB. 
     In response to a positive determination, indicating that the received signal is nearly as powerful as or more powerful than a recently received signal with the highest power, the operation proceeds to step S 5 . Here, a positioning packet including the I and Q samples is formed by the message former  27  and sent to the server  48 . Following step S 5 , the base station  30  updates the deny and allow lists  35 A,  35 D at step S 6 . Following step S 6 , the operation proceeds again to await a new positioning signal at step S 1 . 
     In response to a positive determination from step S 2 , the I and Q samples are discarded at step S 7  and the operation proceeds to step S 6 . 
     In response to a negative determination from step S 4 , the I and Q samples are discarded at step S 8  and the operation proceeds to step S 6 . 
     Step S 6  involves updating the deny and allow lists  35 A,  35 D to remove entries or records that have expired. For instance, where the deny and allow lists  35 A,  35 D include expiry times in time fields, step S 6  involves deleting records where the value in the time field is in the past. Where the time fields of the deny and allow lists  35 A,  35 D include start times, step S 6  may involve adding a validity time to the start time and determining whether the result of the addition is in the past. The validity time may be different for records in the deny list  35 D than for records in the allow list  35 A. For instance, the validity time for records in the allow list  35 A may be of the order of seconds, tens of seconds or in some cases minutes, and may be considerably longer than for records in the deny list  35 D. 
     In response to a negative determination in step S 3 , operation proceeds to step S 5 , where a packet including the I and Q samples is sent to the server  48 . In this way, the power of the received signal is not compared to the threshold when the identifier is not included in the allow list. The absence of the identifier from the allow list indicates that any records that have been created for that identifier have expired and thus have been deleted. 
     Step S 6  also may involve contacting the server to receive information about updates from the copies stored there. This may result in deletion of records from the deny and allow lists that have not yet expired. This may also result in changes in the threshold values for records in the allow list. It may also result in the addition of new records to either or both of the deny and allow lists. 
     Although step S 6  is shown as being performed prior to step S 1 , this is merely an example. Alternatively, step S 6  could be performed on a periodic basis, for instance every 10 or 20 seconds. Alternatively, step S 6  could be performed between steps S 1  and S 2 . Alternatives will be envisaged by the person skilled in the art. 
       FIG. 5  illustrates operation of the server  48 . 
     At step S 1 , a positioning packet is received from a base station  30 ,  40 - 45 . As stated above, the positioning packet includes a header that includes information about the originating base station  30 ,  40  to  45  and the address of the server, and possibly also other information. The payload of the packet includes the identifier that was transmitted by the mobile device  10  and received by the base station  30 ,  40  to  45  and the I and Q samples provided by the sampler  25  of the base station. 
     At step S 2 , the server  48  determines whether the identifier, which can also be termed an address, included in the payload of the packet is included in the allow list  14 . In the event of a positive determination, the operation proceeds to step S 3  where the packet is processed. Processing of the packet involves the server  48  determining a bearing of the mobile device  10  from the base station  30 ,  40  to  45 , and may optionally comprise calculating the location of the mobile device  10  from the bearing. This is described in more detail below. 
     Following step S 3 , a new power limited is calculated at step S 4 . This step involves determining whether the power of the signal relating to the positioning packet that is being processed exceeds the power value that is recorded in the record in the allow list  14  against the corresponding identifier. If the power value of the positioning packet does not exceed the value in the allow list  14 , the power limit is not updated. At step S 5 , the allow list  14  is updated if in step S 4  is it calculated that the power of the received positioning packet exceeds that of the power stored in the allow list  14 . 
     At step S 6 , it is determined if the  14  was updated in step S 5 . If the allow list  14  was updated, at step S 7  the server  48  determines whether the allow and deny lists  35 A,  35 D were updated at the base stations  30 ,  40  to  45  recently. In response to a positive determination, the operation proceeds again to step S 1 , where a new positioning packet is awaited. In the event of a negative determination at step S 7 , at step S 8  the server  48  sends changes in the lists to the base stations  30 ,  40  to  45 . 
     In response to a negative determination at step S 2 , the server  48  at step S 9  determines whether or not to allow the mobile device  10  corresponding to the identifier to be included in the allow list  14 . This determination may be made by the system checking whether the user has paid for or alternatively consented having its position determined. The determination might also be based on priorities (i.e. different tags/users may have different priorities) and/or on whether there is sufficient capacity left in the server. In response to a positive determination, the mobile device  10  is added to the allow list  14  at step S 10 , and operation proceeds to process the packet at step S 3 . In this case, step S 4  calculates a power limit for the mobile device  10  as being the power of the signal corresponding to the received positioning packet, and the allow list  14  is updated at step S 5  accordingly. 
     If at step S 9  a negative determination results, the mobile device  10 , in particular the identifier thereof, is added to the deny list  15  at step S 11 . Following step S 11 , the operation proceeds to step S 7 , which is described above. 
     If the allow list  14  is updated at step S 5 , a time field forming part of the record attached to the identifier associated with the received positioning packet is provided with a time value. This may be the time at which step S 5  is performed, or alternatively be the time at which the corresponding positioning packet was received by the server  48 . Alternatively, the time value recorded in the allow list  14  could indicate the time at which the corresponding signal was received by the originating base station  30 ,  40  to  45 . If the allow list  14  includes expiry times, the time field is provided with a value that is equal to the relevant time plus the validity period. 
     Similarly, if at step S 11  the mobile device  10  is added to the deny list, a time field forming part of the record may be populated in any suitable way, for instance in one of the ways described above with respect to the allow list. 
     It will be appreciated that steps S 6 , S 7  and S 8  can be omitted if there is some other mechanism for updating allow and deny lists  35 A,  35 D in the base stations  30 ,  40  to  45 . 
     Step S 4  involves knowledge of the power of the signal received at the base station  30 ,  40 - 45 . This may be provided by the base station  30 ,  40  to  45 , for instance as part of the payload of the received positioning packet. In this case, the base station  30 ,  40  to  45 , in particular the controller  31  thereof, includes a measurement of power provided by the power measurement module  28  into the message provided by the message former  27  and transmitted by the communications interface  29 . Alternatively, the server  48  may calculate the power of the received signal from the I and Q samples, for instance as part of the packet processing of step S 3 . 
     Optionally, step S 5  updates the allow list  14  regardless of whether the power of the received positioning packet exceeds the value stored in the record. Here, the existing record is maintained in the allow list  14 , so that the allow list includes two (or more) records for the mobile device  10 ,  46 ,  47  from which the positioning signal originated. Since different records have different expiry times, the record relating to the higher power will usually be deleted from the allow list  14  before the record relating to the lower power expires. This reduces the chances that a received positioning packet will not relate to a mobile device  10 ,  46 ,  47  included in the allow list  14 . Furthermore, it increases the chances of low power signals being discarded without being transmitted by a base station  30 ,  40 - 45  to the server  48 , thereby improving system performance. 
     The computer program instructions  13  stored at the server  48  provide instructions for processing data representing in-phase and quadrature samples of signals transmitted by a mobile device and received at each of the antenna elements  32 A,  32 B,  32 C forming part of the base station  30  and to calculate therefrom a bearing of the mobile tag from the positioning device. 
     The server  48  operates to obtain ‘displacement information’ from the signals  50 A,  50 B,  50 C, as sampled and included in the message sent from the base station  30 , that is dependent upon inter alia the relative displacements of the respective antenna elements  32 A,  32 B,  32 C. In the example described in detail here, the displacement information includes phase information. 
     The processing circuitry demodulates the sampled I and Q waveform using I-Q modulation, also known as quadrature phase shift modulation. In this demodulation technique, the complex samples reflect the amplitude of the two orthogonal carrier waves. The processing circuitry  55  processes the complex samples to determine the closest matching symbol. It should be appreciated that an identical signal received at different antenna elements are received with different phases and amplitudes because of the inherent phase characteristics of the antenna elements  32  when receiving from different directions and also because of the different times of flight for a signal  50  to each antenna element  32  from the mobile device  10 . The inherent presence of this ‘time of flight’ information within the phases of the received signals  50  enables the received signals  50  to be processed, as described in more detail below, to determine the bearing  82  of the mobile device  10  from the base station  30 . 
       FIG. 6  illustrates a method for estimating the position of the mobile device  10 . Various embodiments of the method of  FIG. 6  will be described hereinafter. 
     The respective spatially diverse received radio signals  50 A,  50 B,  50 C are received at the base station  30  as illustrated in  FIGS. 1 and 2 . At block  200  of the method of  FIG. 4 , the mobile device  10  receives the message containing I and Q samples of first, second and third radio signals  50 A,  50 B,  50 C incident on the base station  30 . 
     At block  210 , the processing circuitry  55  uses the I and Q samples to estimate a bearing  82  of the mobile device  10  from location  80  of the base station  30 . One method of determining the bearing  82  is now described, but other methods are possible. 
     Once complex samples from each antenna element  32  are obtained, the array output vector y(n) (also called as snapshot) can be formed at by the processor  12 :
 
 y ( n )[ x   1   ,x   2   , . . . ,x   M ]  (1)
 
     Where x i  is the complex signal received from the ith antenna element  32 , n is the index of the measurement and M is the number of elements  32  in the array  36 . 
     An Angle of Arrival (AoA) can be estimated from the measured snapshots if the complex array transfer function a(φ,θ) of the RX array  36  is known, which it is from calibration data. 
     The simplest way to estimate putative AoAs is to use beamforming, i.e. calculate received power related to all possible AoAs. The well known formula for the conventional beamformer is
 
 P   BF (φ,θ)= a *(φ,θ) {hacek over (R)}a (φ,θ)  (2)
 
Where,
 
               R   ˇ     =       1   N     ⁢       ∑     n   =   1     N     ⁢       y   ⁡     (   n   )       ⁢   y   *     (   n   )                 
is the sample estimate of the covariance matrix of the received signals, a(φ,θ) is the array transfer function related to the DoD(φ,θ). φ is the azimuth angle and θ is the elevation angle.
 
     Once the output power of the beamformer P BF (φ,θ) is calculated in all possible AoAs, the combination of azimuth and elevation angles with the highest output power is selected to be the bearing  82 . 
     The performance of the system depends on the properties of the array  36 . 
     For example the array transfer functions a(φ,θ) related to different AoAs should have as low correlation as possible for obtaining unambiguous results. 
     Correlation depends on the individual radiation patterns of the antenna elements  32 , inter element distances and array geometry. Also the number of array elements  32  has an effect on performance. The more elements  32  the array  36  has the more accurate the bearing estimation becomes. In minimum there are at least 3 antenna elements  32  in planar array configurations but in practice or more elements provide better performance. 
     Next, at block  220  the processor  55  estimates a position of the mobile device  10 . This may involve the processor  55  estimating a position of the apparatus using the bearing and constraint information. The use of constraint information enables the processor  55  to determine the location of the mobile device  10  along the estimated bearing  82 . 
       FIG. 7  also illustrates the bearing  82  from the location  80  of the base station  30  to the location  95  of the mobile device  10 , which has been estimated by the processor  55  following reception of the radio signals  50 . The bearing  82  is defined by an elevation angle θ and an azimuth angle φ 
     The processor  55  may estimate the position of the mobile device  10  relative to the location  80  of the base station  30  in coordinates using the bearing (elevation angle θ and azimuth angle φ) and constraint information e.g. vertical displacement h ( FIG. 7 ) or an additional bearing or a range r. The processor  55  may estimate the position of the mobile device  10  in Cartesian coordinates by converting the coordinates using trigonometric functions. 
     Using information identifying the location and orientation of the base station  30 , the server  48  can calculate the absolute location of the mobile device  10  from the bearing and the constraint information. The information identifying the location and orientation of the base station  30  may be received at the server  48  in any suitable way. For instance, it may be provided to the server  48  during system set-up. 
     Alternatively, block  220  may involve triangulating from two base stations  30 ,  40 - 45 . In this case, constraint information is not required, although the use of constraint information is not precluded. In this alternative, block  200  involves receiving messages from two base stations  30 ,  40 - 45 . Each message relates to the mobile device  10 , as is determined by the mobile device  10  from the identifier that is included in the messages by the base stations  30 . Block  210  is performed for each of the base stations, providing two bearings. Block  220  involves the server  48  using information identifying the location and orientation of both of the base stations  30 ,  40 - 45  and the bearings therefrom to calculate its absolute location through triangulation. 
     The use of the bearing/location information is not described in detail here. The bearing/location information may be used for any purpose, and may be provided to any apparatus in any suitable way. 
     The above described system allows a server  48  to calculate the location of the mobile device  10  without access to GPS or other satellite based system. Moreover, this is achieved with a relatively simple infrastructure which in its simplest form comprises a multi-antenna receiver, a signal sampling means and a sample transmission means. Additionally, with relatively modest system constraints, the position so calculated can be considerably more accurate than locations provided by other such systems. 
     Features of the embodiments described above provide advantages in that only the mobile-transmitted signals that provide the best positioning of the originating mobile devices are transmitted for processing. This can reduce network and computational loads without negatively impacting on system performance. Greater advantage is experienced with systems involving greater numbers or concentrations of base stations. Also, system performance can in some instances be improved, particularly by rejecting signals, for instance reflected signals, that might otherwise cause erroneous position estimates. 
     In the above embodiments, the base stations  30 ,  40  to  45  determines the power of the signal received from the mobile device  10 . Alternatively, the power of the received signal may be determined by the server  48  upon receipt of the corresponding positioning packet from the base stations  30 ,  40  to  45 . In this embodiment, less processing is required by the base station  30 ,  40  to  45 . However, since the base station  30 ,  40  to  45  does not discard I and Q samples of received signals, this embodiment results in a greater number of positioning packets being sent between the base stations  30 ,  40  to  45  and the server  48 . This embodiment does not require the maintenance of an allow list at the base station  30 ,  40  to  45 . In this embodiment, the base stations  30 ,  40  to  45  may or may not maintain a deny list. Whether or not allow and deny lists  35 A,  35 D are maintained by the base stations  30 ,  40  to  45 , the allow and deny lists  14 ,  15  are maintained and applied by the server  48 . Application of the deny list  15  by the server  48  prevents the server  48  processing packets that are associated with mobile devices  10  for which positioning is currently prevented. Application of the allow list  14  prevents the server  48  performing processing of packets for which the signal strength is not sufficiently high. 
     Although in the above embodiments, bearing calculation and location calculation is said to be performed at the server  48 , in other embodiments this may instead be performed by another device, for instance a mobile device  10 ,  40 - 45 . Alternatively, bearing and location calculation may be performed by the base stations  30 ,  40  to  45  that received the beacon from the mobile device  10 , or by another one of the base stations  30 ,  40  to  45 . In these embodiments, step S 3  of  FIG. 5  does not involve processing the positioning packet to determine the bearing, but instead results in transmission of the positioning packets, or at least relevant parts of the positioning packets, to the device that is to calculate the bearing. 
     Although the memory  56  and the memory  33  are illustrated as single components, they may be implemented as one or more separate components some or all of which may be integrated/removable and/or may provide permanent/semi-permanent/dynamic/cached storage. 
     References to ‘computer-readable storage medium’, ‘computer program product’, ‘tangibly embodied computer program’ etc. or a ‘controller’, ‘computer’, ‘processor’ etc. should be understood to encompass not only computers having different architectures such as single/multi-processor architectures and sequential (Von Neumann)/parallel architectures but also specialised circuits such as field-programmable gate arrays (FPGA), application specific circuits (ASIC), signal processing devices and other devices. References to computer program, instructions, code etc. should be understood to encompass software for a programmable processor or firmware such as, for example, the programmable content of a hardware device whether instructions for a processor, or configuration settings for a fixed function device, gate array or programmable logic device etc. 
     In the above, the measure of strength of the received wireless signal is signal power. Alternatively, it may take any other suitable form, for instance bit error rate, etc.