Abstract:
The present invention relates to simulation on a lab workbench of conditions that would be encountered by a mobile device during a so-called drive test, which involves transporting the mobile device along a course so that it encounters fading and changing wireless access points used normally to connect the mobile device to a wireless network but in this case used to locate the device. The instrument and method also support parametric testing of transceivers used for WiFi positioning and, optionally, GNSS positioning by the same mobile device used for WiFi positioning.

Description:
RELATED APPLICATION 
       [0001]    This application claims the benefit of U.S. Provisional Patent Application No. 61/325,150 filed Apr. 16, 2010 by inventor Peter George Boulton, which is hereby incorporated by reference. 
         [0002]    This application is related to U.S. patent application Ser. No. 12/850,986, entitled “Virtual Drive Test Tool” filed Aug. 5, 2010, which claims the benefit of U.S. Provisional Patent Application Nos. 61/231,652 and 61/231,540, both filed Aug. 5, 2009. The related non-provisional and provisional applications are hereby incorporated by reference. 
     
    
     BACKGROUND OF THE INVENTION 
       [0003]    The present invention relates to simulation on a lab workbench of conditions that would be encountered by a mobile device during a so-called drive test, which involves transporting the mobile device along a course so that it encounters fading and changing wireless access points, which normally are used to connect the mobile device to a wireless network, but in this case are used to locate the device. The instrument and method also support parametric testing of transceivers used for WiFi positioning and, optionally, coordination between GNSS positioning and WiFi positioning. 
         [0004]    Global Navigation Satellite Systems (“GNSS”) provides excellent positional accuracy in a wide range of environments. A GNSS receiver determines the time a signal from a GNSS satellite takes to travel to the receiver and converts this time to distance using the constant speed of electro-magnetic waves. By calculating the distance to three, or more, satellites and knowing the position of each satellite, the receiver can compute its exact position on the Earth&#39;s surface. The ubiquitous GPS system used in the US is one variety of GNSS. 
         [0005]    GNSS struggles where signals can be obscured, such as in the “urban canyon” and particularly indoors. In such circumstances, alternative positioning methods are useful to support commercial location-based services and emergency location schemes. 
         [0006]    Other positioning systems determine approximate locations from cellular tower signals, instead of satellite signals. In the US, South Korea and Japan where CDMA mobile phone systems are deployed, the system supports a pseudo-satellite capability called AFLT. This uses the time-synchronous nature of the signals; phones can measure the transmission delay from the cell tower. Using knowledge of the cell tower position, the network can determine a phone&#39;s location within 100 m or so. For other types of mobile phone systems, popular mobile phone-based positioning technologies include cell-ID and enhanced cell-ID. With cell-ID, receiving a signal from a particular cell tower suggests a location within a km or less. With enhanced cell-ID, sectored cells can give an angle of arrival to narrow down a user&#39;s location. 
         [0007]    Widespread use of WiFi for wireless access points presents a new source of location signals. Access points (“APs”) are widely visible to mobile devices, both commercially deployed as ‘Hot-Spot’ APs in cafés, bars, shopping centers, railway stations, etc., and privately hosted APs in homes and businesses. The approximate range to an AP can be determined by measuring the power level of the WiFi beacon transmission, since signal power decreases approximately with the square of the distance. The IEEE 802.11 standards for WiFi include a beacon frame as a type of management frame. The typical beacon frame is about fifty bytes long and includes source identification information. The destination address is set to a constant, such as all ones, so that all receivers within range will process the beacon. 
         [0008]    Typically, software within the mobile device sends details of the visible APs, from their beacons, to positioning service servers together with identifications of nearby cellular phone base stations. The location server accesses a continuously updated database of APs. The location server calculates and returns the location to that device. Alternatively, a location service provider can provide a power-level or visibility map for APs in an area. The mobile device uses the AP location data to determine its location based on the signature of power levels, applies a form of maximum likelihood algorithm, or from a technique similar to fingerprinting. 
         [0009]    There are several suppliers of WiFi positioning services that typically use data generated by driving surveys and/or subscriber reports, or through direct on-line registration of deployed access points with the supplier. It is believed that estimates of the location and transmission power of unregistered access points are made using multiple observations of power of basic signaling at known locations. Suppliers can offer a tiered accuracy service which starts with GPS, drops to WiFi, used when GPS coverage is poor, and finally degrades to cell-ID. 
         [0010]    An opportunity arises to perform device testing that does not rely on field testing, but instead emulates beacon signals from multiple WiFi Access Points. Better, more easily configurable and controllable, more repeatable testing and development of positioning systems may result. 
       SUMMARY OF THE INVENTION 
       [0011]    In various embodiments, we disclose: 
         [0012]    An instrument that tests devices that include WiFi transceivers used for WiFi positioning in a controlled laboratory environment. 
         [0013]    An instrument that tests devices that include WiFi transceivers used for WiFi positioning at the boundary of their capabilities. 
         [0014]    An instrument that tests devices that include WiFi transceivers under environmental conditions representative of the real world, particularly including variable power level received due to changing distance between an access point and the device, signal obstruction and attenuation, and other signal instabilities. 
         [0015]    An instrument that tests devices that include WiFi transceivers under environmental conditions of device motion among a large distribution of hundreds of visible Access Points, causing currently detectable Access Points to change with time. 
         [0016]    As a further aspect of any of the instruments mentioned above, including tests of devices that include both the WiFi positioning and GPS/GNSS positioning through provision of an accompanying GPS/GNSS simulator. 
         [0017]    As a further aspect of any of the instruments mentioned above, including tests of selection by the device between use of the WiFi positioning and the GPS/GNSS positioning through provision of an accompanying GPS/GNSS simulator. 
         [0018]    As a further aspect of any of the instruments mentioned above, including tests of interoperability of WiFi positioning and GPS/GNSS positioning through provision of an accompanying GPS/GNSS simulator. 
         [0019]    We also disclose methods, including a method of testing devices that include WiFi transceivers used for WiFi positioning in a controlled laboratory environment. 
         [0020]    A method of testing devices that include WiFi transceivers used for WiFi positioning at the boundary of their capabilities. 
         [0021]    A method of testing devices that include WiFi transceivers under environmental conditions representative of the real world, particularly including variable power level received due to changing distance between an access point and the device, signal obstruction and attenuation, and other signal instabilities. 
         [0022]    A method of testing devices that include WiFi transceivers under environmental conditions of device motion among a large distribution of hundreds of visible Access Points, causing currently detectable Access Points to change with time. 
         [0023]    As a further aspect of any of the methods mentioned above, including tests of devices that include both the WiFi positioning and GPS/GNSS positioning through provision of an accompanying GPS/GNSS simulator. 
         [0024]    As a further aspect of any of the methods mentioned above, including tests of selection by the device between use of the WiFi positioning and the GPS/GNSS positioning through provision of an accompanying GPS/GNSS simulator. 
         [0025]    As a further aspect of any of the methods mentioned above, including tests of interoperability of WiFi positioning and GPS/GNSS positioning through provision of an accompanying GPS/GNSS simulator. 
         [0026]    We further disclose machine readable, non-transitory storage media holding program instructions that instruct a test instrument to carry out the methods disclosed. And, machine readable storage media holding program instructions that, when combined with hardware, produce any of the instruments disclosed. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0027]      FIG. 1  depicts a mobile device moving through a field of APs. 
           [0028]      FIG. 2  is a high level block diagram of an RF test setup including a WiFi simulator, a GNSS simulator and a cellular wireless network emulator. 
           [0029]      FIG. 3  provides additional detail of databases and communication channels for a test using WiFi and GNSS simulation. 
           [0030]      FIG. 4  is a high level block diagram of a test device that emulates 24 APs, using six RF modules. 
           [0031]      FIGS. 5-7  illustrates an interface that could be used to show the progress of a drive test. 
           [0032]      FIGS. 8A-C  depict interfaces that can be used with emulation or replay mode. 
           [0033]      FIG. 9  depicts the relatively simple interface to replay a location sequence. 
           [0034]      FIG. 10  depicts configuration of the system in so-called simulation mode. 
           [0035]      FIG. 11  depicts a front panel display used to view the current status of a system indicating which APs are being generated. 
           [0036]      FIG. 12  illustrates actions that can be combined into a variety of methods. 
           [0037]      FIG. 13  is a high level block diagram of WiFi testing components that can be combined to produce a variety of devices. 
       
    
    
     DETAILED DESCRIPTION 
     Emulating Access Points 
       [0038]    We disclose testing of devices that use proximity to WiFi access point locations to locate or assist in locating the device&#39;s position. The instruments and methods disclosed emulate many access points simultaneously visible to a device under test. By many APs, we mean 10 or more, 16 or more, 24 or more, 32 or more, or even a larger number of APs. 
         [0039]    We use the term “WiFi” broadly to refer to wireless access to local area networks (WLAN), typically via 802.11a/b/g/n compliant access points. The largest current population of APs available to be used for WiFi positioning is access points compliant with 802.11b/g standards. Our disclosure also covers APs compliant with the 802.11a standard, which has lost popularity, and with the newer 802.11n standard, which is gaining acceptance. We mean to distinguish between wireless connection to local area networks (WLAN) using these standards and wireless connection to wide-area networks (WWAN) using RF technologies such as WiMax, and cell technologies typically used for voice in cellular telephone networks. The WiFi technologies for wireless access are relatively short range, compared to cell phone cells or WiMax. In a given area, there are likely to be many WLAN access points available for WiFi positioning. 
         [0040]    Emulating an access point includes emulating its network/packet and RF characteristics. The network/packet characteristics of the access point include its MAC address or a similarly unique identifier, its SSID, one or more channel numbers used, a particular IEEE 802.11 protocol used (a/b/g/n), and security protocol. The RF characteristics of the access point include EIRP and path loss or, for replay, received signal strength (RSSI). The signals that simulate the many access points are combined and supplied via a cable or transmitted over the air to the device under test (“DUT”). The DUT is expected to distinguish among the many emulated APs and interact with a positioning server, usually located within the network or accessible via the Internet. Alternatively, the DUT may maintain its own database of AP locations, allowing it to calculate its position without real time connection to a live AP location database. Calculation of the device&#39;s approximate position can use trilateration or “fingerprinting.” 
       Emulation, Replay and Drive Test Modes 
       [0041]    Most tests of WiFi positioning use one of three modes: emulated, replay or simulated modes. Emulated test mode supports parametric testing. Replay test mode simulates a drive test, typically by replaying based on data recorded while war-driving. Simulated test mode allows a user to specify a drive path and have the system automatically derive test signals from an AP location database. 
         [0042]    In so-called emulation test mode, the test system disclosed operates as a controllable instrument, where the user can define the fundamental static characteristics of each AP signal being received. These characteristics include its MAC address, SSID, signal channel number and incident power level. Sufficient independent AP resources are available to emulate all 14 possible 802.11 channels simultaneously. This emulation mode supports parametric testing, where all WiFi frequency channels may be represented simultaneously. Unique identifiers and power levels can be pre-defined to test for an expected result. This emulation mode is particularly useful in conformance and manufacturing tests. 
         [0043]    In so-called replay test mode, the system determines AP selection and received power level directly from a time-ordered script of AP visibility and AP characteristics. This script can be derived from field observations (sometimes called war-driving) or created artificially. Replaying a script assures reproducibility, but requires scripting the test. 
         [0044]    Simulated drive testing involves specifying a drive path and having the test system automatically select a number of visible APs, given the simulated location of the device under test, and emulate the signals from the selected APs points. As the simulated location of the device under test changes, the system dynamically re-creates an operational environment in which the device under test moves along a simulated location sequence, through a collection of static APs, with power levels being a function of distance from the AP (path loss) and its transmit power. A stochastic fading model may also be overlaid on the power profile. Obstructions and line-of-sight effects further can be taken into account. As in emulated mode, the MAC address and channel number are user defined but are contained in an AP database along with AP location and effective radiated power (ERP). APs are selected automatically and dynamically from those visible to the DUT, based on highest incident power, distance from simulated DUT location, or a combination of factors. 
       The Figures 
       [0045]      FIG. 1  depicts a device moving through a collection of static APs. A user  101  follows a path  102  through many APs  103  of varying strength. The hosts for the APs may be private or commercial. 
         [0046]      FIG. 2  is a high level block diagram of a WiFi simulator  224  used in conjunction with a GNSS simulator  214  and a network emulator  234 . The WiFi simulator is the focus of this disclosure. The GNSS simulator may be a device such as commercially available from Spirent, model numbers GSS6560 or GSS6700. The network emulator is also commercially available from Spirent, such as SR3420, SR3452 or SR3462. The GNSS simulator supplies signals that the DUT would receive from satellites for positioning. This simulator may switch between clear sky and indoor modes and may produce noise and/or multipath characteristics of urban canyons and other GNSS-hostile environments. The network emulator supplies signals that the DUT would receive from cellular towers, such as 2G, 3G or 4G network towers. The network emulator may simulate voice traffic and also may carry data. The network emulator  234  and WiFi simulator  224  provide alternative channels to link the DUT  225  to a WiFi positioning server  231 . Simulation control software  213  may coordinate signals generated by the GNSS and WiFi simulators, using the same simulated DUT location for generation of both types of signals. Network software  233  works in connection with the network emulator  234 . From a test console  211 , a user may operate test drive software  212  and WiFi test automation software  232  to exercise replay and simulation test modes. 
         [0047]      FIG. 3  provides additional detail of databases and communication channels for a test using WiFi and GNSS simulation. The network emulator is not show in this figure, so that additional detail can be provided for positioning components. Common features of  FIGS. 2-3  retain the reference numbers used above. This figure depicts use of a USB connection  312  from test console  211  to the GNSS simulator  214  and an Ethernet bus  321  connecting the console with the WiFi positioning simulator  224 , but the same bus could be used for both, or a different wired or wireless busses could be used. The cellular network communications channel  334  is depicted as one path from the DUT to a WiFi positioning server  231 . An open AP channel, described below, provides another path: a network connection  344 , for instance, a TCP/IP connection, through the Internet  345  to the WiFi positioning server  231  or through an intranet to a live or synthetic positioning server. 
         [0048]    The WiFi positioning simulator provides a reliable TCP real-time data stream  332  to the test controller and also broadcasts collected data over an unreliable UDP channel  352 . More detail is given in the description of  FIG. 4  below. 
         [0049]    This  FIG. 3  also depicts models and databases that are useful for various modes of testing. Path loss and fading models  364  are useful for at least simulation mode. War-drive files  365  are used in replay mode. A database of AP characteristics  366  is used in at least simulation mode. 
         [0050]      FIG. 4  is a high level block diagram of a test device  410  that emulates 24 APs, using six RF modules  430 . The embodiment uses an embedded controller  461  to interface between the processor or engine  463  that controls the RF modules  430  and a front-panel LCD user interface  450 . The LCD can display configuration details and scenario parameters during a simulation. The touch-screen LCD also can be used to configure the signal generator parameters. 
         [0051]    The RF modules depicted include four AP modules  441 ,  443 ,  445 ,  447  and attenuators  431 ,  433 ,  435 ,  437  feeding a combiner or mixer  436  to provide a single RF output. Combining  426  outputs of six RF modules, this system configuration is capable of emulating 24 APs at the signal generator&#39;s RF output port  428 ,  411 . In some configurations, an RF loopback cable  419  connects  418  the rear panel MON/CAL port  428  of a stand-alone signal generator to the front panel RF output port  411 . In an expansion configuration using a second WiFi instrument to provide a further 24 APs, the MON/CAL port sources the expansion signals from the expansion unit and is connected to the AUX RF IN port of the main instrument for routing the now-combined 48 APs to its front panel. 
         [0052]    In some applications, the engine  463  continually broadcasts UDP packets  468  to all devices on its network. An embedded controller  461  can be used to control the engine. A remote device  470  connected to this network can receive these UDP packets and display the same information that the embedded controller  461  displays on the front-panel LCD  450 . 
         [0053]    The embedded controller  461  sends commands via TCP to the engine  463 . For example, when a user taps “Config,” on the front-panel LCD, the controller sends a command to the engine. The engine determines whether the embedded controller is a “listener” or “controller.” When the embedded controller has controller status, a user can control the engine  463  (and therefore the signal generators  430 ) from the front-panel LCD  450 . The LCD can continually display test data that it receives from the engine. A front-panel status bar or other display can be programmed to show the status of UDP and TCP connections, as well as controller details. 
         [0054]    When using the front-panel LCD to enter parameters for an AP (for example, when using emulation mode), the user is entering details into the embedded controller. Tapping “submit” transfers these parameters from the embedded controller to the engine via TCP. Tapping “status” reads UDP packets from the engine and displays those packets relating to the APs on the front-panel LCD. Reading UDP packets and transmitting TCP commands allows a remote device  470  to control the signal generator  410  via a network  468 . 
         [0055]      FIG. 8A  depicts an interface that a user could interact with to configure emulation mode. The mode is indicated by the buttons along the top of the display, “Emu” and “Config”. This interface may be displayed on the front panel LCD or a remote terminal. Using a keyboard, mouse, touch sensitive screen or other interface, the user enters data in the fields indicated: AP id to internally distinguish among emulated APs  811 ; enable, to control whether a particular emulator is active  812 ; MAC address, in hex  813 ; SSID  814 ; emulated standard, 802.11 a/b/g/n  821 ; channel, which is 1-14 in 802.11b/g standards  815 ; EIRP, in dBm  816 ; path loss in dB  817 ; incident power, in dBm  818 ; and security protocol  819 . Incident power may be calculated from EIRP and path loss, or it can be an alternative value for user entry. A supported range for EIRP is 0 to 15 dBm in 1 dBm steps, but other ranges and step sizes could be used. A path loss range is 40 to 100 dB in 0.25 dB steps. Incident power is a calculated value, EIRP—path loss. Alternatively, as in replay mode, the incident power could be entered directly. The security protocol may be open, WEP, WPA, WPA2, etc. Typically, a limited number of the emulators are supported for “open” access between the DUT  225  and an external Ethernet connection  458 . A status display as depicted in  FIG. 11  or something similar can be used to view progress entering parameters or generally to view the current configuration of a system.  FIG. 8B  depicts an alternative interface configuration. This configuration adds slider controls  826  for multiple emulated APs  824  and numerical values for path loss  825 , which correspond to the sliders. Additional controls are illustrated for whether an emulated AP communicates data to an outside network  822  and for controlling all channels or all sliders  823  in a single action.  FIG. 8C  depicts an alternative status display used in emulation mode. The reference numbers in  FIG. 8C  are repeated from  FIG. 7 , which is discussed below. 
         [0056]      FIG. 9  depicts the relatively simple interface to replay a simulated location sequence. When a compatible external control program is used, a control is checked  901  and an IP address at which to connect  903  is specified. Then a parameter file  905  is specified. A conventional file tree browser can be used to select a file. 
         [0057]    In one file format, a separate line holds the information for each simulated location in the sequence. For instance, lines may be formatted appear as: 
         [0000]    
       
         
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 timestamp1,latitude,longitude,height,mac_address_1,ssid_1,rx —   
               
               
                   
                 power_1,WiFi_standard_1,channel_1,security_1,flags_1,mac —   
               
               
                   
                 address_2 and so on for each access point 
               
               
                   
                 timestamp2,latitude,longitude,height,mac_address_1,ssid_1,rx —   
               
               
                   
                 power_1,WiFi_standard_1,channel_1,security_1,flags_1,mac —   
               
               
                   
                 address_2 and so on for each access point 
               
               
                   
                   
               
             
          
         
       
     
         [0058]      FIG. 11 , mentioned above, also can be used to view status in replay mode. 
         [0059]      FIG. 10  depicts configuration of the system in so-called simulation mode. Again, a control file is identified  1001 , which is loaded with simulation parameters. Either the test device or an external controller can process the control file and generate commands for the AP emulators. Parameters included in the interface include path loss model type  103 , supplemental model type parameters for a two-slope model  1005 , and a shadow fading control  1007 . One path loss model is the free-space loss for an RF signal, where power reduces proportionally with the square of the distance from the transmitter: 
         [0000]    
       
         
           
             
               
                 
                   FSPL 
                   = 
                   
                     
                       ( 
                       
                         
                           4 
                            
                           π 
                            
                           
                               
                           
                            
                           d 
                         
                         λ 
                       
                       ) 
                     
                     2 
                   
                 
               
             
             
               
                 
                   = 
                   
                     
                       ( 
                       
                         
                           4 
                            
                           π 
                            
                           
                               
                           
                            
                           df 
                         
                         c 
                       
                       ) 
                     
                     2 
                   
                 
               
             
           
         
       
       
         
           
             
               
                 
                   
                     FSPL 
                      
                     
                       ( 
                       dB 
                       ) 
                     
                   
                   = 
                   
                     10 
                      
                     
                         
                     
                      
                     
                       
                         log 
                         10 
                       
                        
                       
                         ( 
                         
                           
                             ( 
                             
                               
                                 
                                   
                                     4 
                                      
                                     π 
                                   
                                    
                                   
                                       
                                   
                                 
                                 c 
                               
                                
                               df 
                             
                             ) 
                           
                           2 
                         
                         ) 
                       
                     
                   
                 
               
             
             
               
                 
                   = 
                   
                     20 
                      
                     
                         
                     
                      
                     
                       
                         log 
                         10 
                       
                        
                       
                         ( 
                         
                           
                             
                               
                                 4 
                                  
                                 π 
                               
                                
                               
                                   
                               
                             
                             c 
                           
                            
                           df 
                         
                         ) 
                       
                     
                   
                 
               
             
             
               
                 
                   = 
                   
                     
                       20 
                        
                       
                           
                       
                        
                       
                         
                           log 
                           10 
                         
                          
                         
                           ( 
                           d 
                           ) 
                         
                       
                     
                     + 
                     
                       20 
                        
                       
                           
                       
                        
                       
                         
                           log 
                           10 
                         
                          
                         
                           ( 
                           f 
                           ) 
                         
                       
                     
                     + 
                     
                       20 
                        
                       
                           
                       
                        
                       
                         
                           log 
                           10 
                         
                          
                         
                           ( 
                           
                             
                               
                                 4 
                                  
                                 π 
                               
                                
                               
                                   
                               
                             
                             c 
                           
                           ) 
                         
                       
                     
                   
                 
               
             
             
               
                 
                   = 
                   
                     
                       20 
                        
                       
                           
                       
                        
                       
                         
                           log 
                           10 
                         
                          
                         
                           ( 
                           d 
                           ) 
                         
                       
                     
                     + 
                     
                       20 
                        
                       
                           
                       
                        
                       
                         
                           log 
                           10 
                         
                          
                         
                           ( 
                           f 
                           ) 
                         
                       
                     
                     - 
                     147.55 
                   
                 
               
             
           
         
       
     
         [0060]    Another path loss model is the two-slope model. 
         [0000]    
       
         
           
             
               
                 Two 
                 - 
                 
                   slope 
                    
                   
                       
                   
                    
                   path 
                    
                   
                       
                   
                    
                   
                     loss 
                      
                     
                       ( 
                       db 
                       ) 
                     
                   
                 
               
               = 
               
                 
                   10 
                   * 
                   n 
                    
                   
                       
                   
                    
                   2 
                   * 
                   
                     log 
                      
                     
                       ( 
                       
                         
                            
                           
                               
                           
                         
                         
                            
                           b 
                         
                       
                       ) 
                     
                   
                 
                 + 
                 
                   10 
                   * 
                   n 
                    
                   
                       
                   
                    
                   1 
                   * 
                   
                     log 
                      
                     
                       ( 
                       db 
                       ) 
                     
                   
                 
                 + 
                 k 
               
             
             , 
           
         
       
     
         [0061]    where
       n2 is the slope, or path-loss exponent, in the region where d&gt;db   n1 is the slope, or path-loss exponent, in the region where d≦db; this region has free-space path loss, so n1=2   d is the separation of the device and the AP   db is the breakpoint distance   k is a constant.       
 
         [0067]    Depending on the parameters chosen for db, n1 and n2, this two-slope model can be used to describe flat fading, residential, small office, large office, indoor or outdoor space. See, e.g., “New Horizons in Mobile and Wireless Communications: Radio Interfaces.” Ed. R. Prasad and A. Mihovska. Artech House Publishers, 2009. 68. 
         [0068]    A variation of either of these models is sector impaired simulation of obstructions. In this variation, the AP database includes directional attenuation parameters that can be populated to indicate an obstruction. The points of a compass can be sectored, for instance into four, eight or 16 sectors and values encoded for attenuation resulting from obstructions in whatever directions obstructions have been recorded or are present. 
         [0069]    Shadow fading also may be applied. In shadow fading, the RF power from the AP fluctuates with a Gaussian, normal or other distribution about the mean power. 
         [0070]      FIGS. 5-7  illustrate an interface that could be used to show the progress of a drive test. The view shown is the static view  511 , with a vehicle path  530  added. Available views of similar data include vehicle centered  512 , AP database  513 , and vehicle motion  514  views. The frame  520  holds a map of APs positioned by longitude  521  and latitude  522 . One set of APs  531  is close to the path  530  of travel. Another set pints  533  is distant. In simulation mode, the system determines the APs to emulate, generates signals with appropriately adjusted power, mixes or combines the signals and feeds them to the DUT via a coaxial or radiated connection. This positional relationship can be displayed by an AP status screen. ( FIG. 7 .) I 
         [0071]      FIG. 6  provides detail regarding the vehicle position. It includes test time  611 , and the vehicle&#39;s latitude  613  and longitude  615 . The relative power levels of some or all emulated APs can be graphically displayed  623 , for instance using vertical bars. 
         [0072]      FIG. 7  details AP status. Individual APs  710  are listed in rows. Characteristics of the emulated APs and their relationship to the simulated DUT location are arranged in columns. A MAC address  712 , SSID  713  or similar AP identifier can be listed. The standard  714 , such as part of the 802.11x standard, can be displayed, along with the active channel  715 . The EIRP  716 , path loss  717  and RSSI  718  can be indicated. The AP latitude, longitude and height  719 ,  720  and  721  are compared to the vehicle&#39;s position  725  (DUT) to calculate a range  722 . Security  723  can be indicated. 
       Particular Device Embodiments 
       [0073]      FIG. 13  is a high level block diagram of WiFi testing components that can be combined in various ways to create a variety of devices. Device configuration depends, to a large degree, on the test mode of operation and whether GNSS positioning data is supplied along with the WiFi data. 
         [0074]    The test controller  1311  is part of the system used in simulation mode. It supplies a sequence of simulated locations to the means for determining characteristics of emulated APs  1321 . It also can supply the locations and other control parameters to a GNSS simulator, when WiFi and GNSS positioning are tested together. 
         [0075]    The means for determining characteristics of emulated APs  1321  feeds parameters to the signal generators  1331 . The structures that correspond to this means for determining depend on the test mode: so-called emulation, replay or simulation test modes. 
         [0076]    For parametric tests in the so-called emulation mode, the means for determining  1321  includes a setup interface  1313  and an emulation controller  1315 . This is a test of radio functionality, more than a test of location accuracy. A parametric test need not be tied to a simulated location. The setup interface is a man machine interface (MMI) that receives parameters from a user, either directly or by specification of a file into which test parameters have been loaded. To perform a parametric test, the emulation controller  1315  iterates through a sequence of signal generating parameters that will expose the DUT to ranges of operating parameters that test the DUT. A typical DUT parametric test will address some or all of: an ability to receive on all channels (e.g., on channels 1-14 for 802.11 b/g); ability to handle varying numbers of emulated APs on a particular channel; and signal handling at varying received power levels. The means for determining  1321  sends signal generating parameters to the signal generators. Optionally, it may broadcast the current parameter over a network as it feeds the parameters to the signal generators, for analysis by other devices used in the test. 
         [0077]    A parametric test can use WiFi and GNSS side-by-side. Parametric testing of the two positioning systems can vary their relative signal strength and/or noise impairments to test the DUT&#39;s choice between positioning options, its switch over time, its sharing of data to improve time to locate and similar DUT responses. The test controller  1311  can be used to coordinate the means for determining  1321  of the WiFi test with a GNSS simulator, as depicted in  FIGS. 2-3 . 
         [0078]    For replay mode, the means for determining  1321  includes a replay controller  1323  and a replay database  365 . The replay controller  1323  accesses the replay database  365  at various times during the test. The replay database may be a table or other data structure in memory, a flat file such as a CSV file, or a file stored by a database manager. The replay database includes at least simulated DUT locations and characteristics of AP signals to be received by the DUT at those locations. The replay controller  1323  feeds emulated AP parameters to the signal generators at various times during the test. It optionally may broadcast simulated DUT locations over a network as it feeds the parameters to the signal generators, for analysis by other devices used in the test. 
         [0079]    A replay test can use WiFi and GNSS side-by-side. Replay testing of the WiFi positioning system can be combined, using a test controller  1311 , with simulation of GNSS signals, as depicted in  FIGS. 2-3 . The test controller can communicate with the means for determining to vary the relative signal strength or impairments of the AP and satellite signals, to test the DUT&#39;s choice between positioning options, its switch over time, its sharing of data to improve time to locate and similar DUT responses. The test controller  1311  can coordinate GNSS simulation with the means for determining  1321  of the WiFi test with a GNSS simulator, by accepting position information from the replay database  365  that is broadcast by the replay controller  1323 . 
         [0080]    For simulation mode, the means for determining  1321  includes an AP selector  1333 , a RSSI calculator  1335 , an emulation controller  1357  and an AP characteristics DB  1211 . The AP selector  1333  can include a variety structures or algorithms for selecting candidate AP and select emulated APs. 
         [0081]    A first AP selector algorithm is brute force, evaluating the distance from all APs to the simulated DUT location to select candidate APs. When emulated APs are selected by distance alone, rather than RSSI at the DUT, brute force is a one part AP selector. Then RSSI is the criteria, the RSSI calculator  1335  is invoked for a selected group of nearby candidate APs, and selection among the candidates is based on RSSI. 
         [0082]    A second potential algorithm would be to group APs by cell towers, generating lists of APs that are visible at the same time as the cell tower. This creates overlapping lists, each of which has a more manageable length than the entire AP list. Only APs in the lists corresponding to visible cell towers need be considered. When a simulated drive route is set, the cell towers along the route are readily determined either manually from a map, empirically (by driving) or automatically by comparing cell tower locations to points along the simulated drive. Then, the candidate APs can be selected from lists associated with the cell towers. The list of APs for one or more visible cell towers can be used directly. Optionally, two or more lists could be intersected, when multiple cell towers are visible to the DUT, to generate a list of candidate APs. Two structures for selecting among candidate APs involve distance and calculated RSSI at the simulated DUT location. The closest APs, determined by calculating distance, could be selected, regardless of their signal strength. Or, the RSSI at the simulated DUT location could be calculated for a predetermined number or range of candidate APs. Then, a distribution of APs, such as those with the highest RSSIs or a pseudo randomly selected sample of APs from a group of APs with RSSI above a threshold could be selected. 
         [0083]    A third potential algorithm is attributed to Gustavo Niemeyer, known as Geohash. Mr. Niemeyer has written a Wikipedia article that describes this a latitude/longitude geocoding system. The Wikipedia article is being submitted with an IDS and is hereby incorporated by reference. Commentary and code that implements Geohash is available on the Groundspeak forum, under the topic “geohash.org, short links for referencing a position.” In essence, Geohash would be used to interleave digits of latitude and longitude into a string. The low order positions of the string fine tune the location accuracy of the string. A geohash of 8 characters includes 20 bits each for latitude and longitude, specifying a location calculated to be no more than 0.019 kilometers away. A code of 7 characters is less precise, giving an error of 0.076 km or less—less than 80 meters. Using Geocodes or similar position encoding, a large database could rapidly be winnowed to a manageable number of candidate APs, beginning with a less precise geohash (shorter length) and using a more precise geohash if too many AP candidates are in associated with the initial geohash. Another compact code for latitude and longitude coordinates is described in U.S. Pat. No. 7,302,343, which is also incorporated by reference. These algorithms could be used to select candidate APs. Then, emulated APs would be selected from the candidate list as describe above. 
         [0084]    A fourth potential group of algorithms is mentioned on the StackOverflow forum under the article “Algorithm for finding nearby points.” Algorithms in this group would divide an area into polygons (e.g., rectangles) and chooses one more polygons that include or are near the simulated DUT location, thereby selecting a manageable number of candidate APs. The polygons can be managed in a variety of ways, including a quadtree, an RTree, a BSP tree, and nearest neighbor searching. Rectangular regions can be produced by queries against database indexes. For instance, the query parameters y&gt;=b AND y&lt;=d AND x&gt;=a AND x&lt;=c can be used to specify a rectangle with the top left most corner x(a) and y(b) and bottom most right corner x(c) and y(d). These algorithms could be used to select candidate APs. Then, emulated APs would be selected from the candidate list as describe above. 
         [0085]    The RSSI calculator  1335  is described above as using a free-space or two slope model. Optionally, stochastic fading and/or sectored attenuation can be applied to adjust the calculated RSSI. The RSSI calculator can be applied before, after or both before and after selection of emulated APs. If it applied after selection, an initially calculated RSSI may be refined by applying stochastic fading and/or sectored attenuation. 
         [0086]    The emulation controller accepts a location in a simulated location sequence from the test controller  1331 , invokes the AP selector, and calculates the AP characteristics for the emulated APs. For simulated DUT locations along the simulated locations sequence, the emulation controller sends emulation parameters to the signal generators. It optionally may broadcast simulated DUT locations over a network as it feeds the parameters to the signal generators, for analysis by other devices used in the test. 
         [0087]    A simulation test can use WiFi and GNSS side-by-side. Replay testing of the WiFi positioning system can be combined, using a test controller  1311 , with simulation of GNSS signals, as depicted in  FIGS. 2-3 . The test controller supplies simulated DUT locations to the means for determining  1321  and can systematically vary the relative signal strength of the AP and satellite signals, to test the DUT&#39;s choice between positioning options, its switch over time, its sharing of data to improve time to locate and similar DUT responses to signals. The test controller  1311  can be used to coordinate the means for determining  1321  of the WiFi test with a GNSS simulator. 
         [0088]    Thus, a rich variety of structures corresponding to the means for determining  1321  have been disclosed. These structures support the three WiFi test modes and related test modes that involve both WiFi and GNSS. 
         [0089]    As disclosed in the context of  FIG. 4  and elsewhere, additional device blocks include attenuators  1341  and combiners or mixers  1351 . The mixed signal is coupled from the mixer  1351  to the DUT  225 . 
         [0090]    These operative blocks can be used with means for supplying location database services  1361  in various combinations. Structures that implement this means may use either live forwarding to a commercial service  1371  or a synthetic database that locally emulates a live service. Some DUTs rely on a location database service either to resolve a location from observations relayed to the service or to supply AP location data from which the DUT can resolve its location. When a communications channel is available, such as a WiFi channel or a cellular channel, the DUT communicates with the location database service. 
         [0091]    The live forwarding structure  1371  of the means for supplying location database service includes a communications channel that the DUT can use to communicate with the live AP location database  231 . As illustrated in  FIG. 2 , this channel can be an open WiFi channel that supports two way communications. As illustrated in  FIG. 3 , this channel alternatively could be a cellular data channel supported by a cellular network emulator. This means for supplying need not support both channel types. The WiFi or cellular channel allows the DUT to connect to the live location database, but neither the DUT tested nor the live location database that participates in the test is part of the means for supplying location database service, as disclosed herein. 
         [0092]    The alternative synthetic AP location structure  1373  of the means for supplying location database services includes a communications channel that the DUT can use to communicate with a synthetic AP location database  231 . The synthetic location database emulates a live AP location database and supports the same protocol(s) as the live AP location database. The synthetic location database may be maintained for test purposes without any necessary correlation to particular real world APs or to locations in a live AP location database. One way to prepare a synthetic database would be to download data from a live database and maintain selected data (optionally modified data) as part of the test device. Another option would be to provide a communications channel that the DUT can use to communicate with a synthetic AP location database maintained for test purposes by a vendor of live services. In some embodiments, neither the DUT tested nor the synthetic location database that participates in the test is part of the means for supplying location database service, as disclosed herein. In other embodiments, the means for supplying location database service includes the communications channel and the synthetic location database, being maintained as part of the test device. 
         [0093]    Accordingly, alternative structures have been disclosed as means for supplying location database services. 
       Methods Perspective 
       [0094]      FIG. 12  illustrates methods corresponding to the devices described above. It depicts actions that combine as a variety of methods. 
         [0095]    Details of setup  1225  vary depending on the operating mode. Setup may include coupling the WiFi positioning simulator  214  and/or GNSS simulator  224  to the DUT  225 . It also may include setting parameters for a test. 
         [0096]    The select and generate action  1245  for the WiFi channels also depends on the mode of testing. Signals that emulate multiple APs are generated. In emulated mode, the AP characteristics  1221  selected for a parametric test  1227  are generated. In replay mode, parameters for the signal to generate are loaded from a replay database  365 . In simulated drive mode, this action includes selecting the APs to generate  1247 . Signal strengths at the simulated DUT location are calculated  1257  from AP characteristics with optional attenuation factors  1255  described above. The emulated AP characteristics  1211  include at least MAC address, SSID and channel number for each AP. An attenuator may be used to modify an emulated AP signal to match the calculated received signal strength of the individual APs, thereby simplifying power control of the AP emulators. 
         [0097]    Optionally, environmental attenuation may be overlaid  1255  on the emulated signals. While the figure depicts this as if it were a separate action in a sequence, the same attenuator can be used to implement both the select and generate  1245  and the environmental attenuation  1255 . Several types of environmental effects are described above, which may include transmitter drift, environmentally caused random fluctuations, and systematic impairments such as obstructions. 
         [0098]    Mixers or combiners mix  1265  the signals that emulate the multiple APs. A large number of APs can be emulated on single wired or wireless connection. 
         [0099]    Supplying location services  1275  to the DUT  225  can involve providing a communications channel to a live  231  or synthetic location database, typically maintained by a vendor. In some embodiments, the method further includes the test device responding from a serving up synthetic location database  1231  to location database service requests from the DUT. 
         [0100]    In parallel with the WiFi positioning simulator  214 , a GNSS simulator  224  can emulate satellite signals and provide them to the DUT  225 . As described above, the test controller coordinates the two signal sources and, optionally, environmental attenuations. The method involves fewer steps for satellite signals than for WiFi signals, because there are fewer candidate sources to emulate—there are fewer satellites in orbit than there are APs in a square kilometer of a city! The method includes generating satellite signals  1281  and optionally attenuating  1282  them based on a simulated DUT location and simulated obstructions between the DUT and satellites, for instance in an urban canyon or indoors. Then, mix and send  1283  the signal to the DUT  225 . 
         [0101]    In one variation, WiFi and GNSS simulators are used to test the DUT&#39;s ability to provide continuous positioning, as the DUT&#39;s environment changes. For instance, as the DUT moves between indoors and outdoors or between an urban canyon and a street with lower buildings. 
         [0102]    As one aspect of the methods that combine WiFi and GNSS signals, the location simulated or emulated by both positioning systems is synchronized by a signal sent to controllers for both signal generators. 
         [0103]    A further aspect is of the methods is that the simulator generates beacon packets, compliant with an 802.11x standard. The beacon packets may be generated on a schedule or responsive to requests. 
         [0104]    The methods further may include directional attenuation that takes into account phone orientation, phone position in a vehicle and/or body proximity. This may be implemented using a look up table or sectored parameters. 
         [0105]    The number of candidate APs from which APs to emulate are evaluated may be twice, three times, four times, five times or a larger factor of the number of APs being emulated. 
         [0106]    As an alternative to combining WiFi positioning with GNSS positioning, it may be combined with AFLT, cell-id or enhanced cell-id positioning emulators. A network simulator for CDMA may include circuitry and software to generate AFLT data for approximate positioning. A network simulator for any network may provide cell id data. 
         [0107]    When an internal engine  463  broadcasts data during a test, it may stream time stamped data with information such as simulated DUT location and emulated AP characteristics. It further may stream the same data used to derive generator parameters and/or data used to drive the generators. 
         [0108]    In ULTS systems (UMTS—Universal Mobile Telecommunications System—Location Test Systems) that emulate UMTS data protocol of a cellular network or in systems that emulate LTE cellular networks, the method and test devices may support Secure User Plane Location (“SUPL”) transmission of data. As an improvement on use of SUPL with UMTS or LTE data over cellular channels, the SUPL protocol could be implemented over WiFi channels. 
       Articles of Manufacture 
       [0109]    One article of manufacture that follows from the disclosure above is a machine readable, non-transitory memory that includes program instructs which, when executed by an electronic device, carry out any of the methods described above. (By “non-transitory,” we mean merely to exclude signals in transit on wires.) 
         [0110]    Another article of manufacture is a machine readable, non-transitory memory that includes program instructs which, when combined with suitable electronic components, creates any of the devices described above.