The subject matter of this document pertains to visual simulators. More particularly, and without limitation, the subject matter of this document pertains to a visual simulator for wireless systems that provides information from a variety of perspectives.
Wireless communication systems have been significantly expanding in scope and capability. Network providers are striving to find ways to implement new or additional wireless system infrastructure to accommodate growing subscriber needs and desires. There is a need, for example, to support a much larger number of cells of varied physical dimensions and to support multiple air interfaces and bands of operation with more dynamic interactions between them. Additionally, growing network use and capability introduces additional temporal and spatial changes in the tide of wireless traffic.
While a variety of engineering tools are available to assist in the design or improvement of wireless networks, their limitations do not allow them to adequately address the needs of current network designers. For example, some engineering tools may include a visual representation of the spatial distribution of wireless signals to provide an indication of signal strength or signal-to-interference ratio within a certain geographic area. Such tools may be useful for choosing an appropriate location for a cell site. These tools do not, however, have the ability to incorporate dynamics that are inherent in wireless systems. For example, such tools do not have the capability to address the various aspects of base station operation that are adapted to changing conditions during network operation. Without any information regarding these aspects, an engineer has limited information upon which to base a network design.
Another limitation with known network planning tools is that they typically only provide aggregated metrics of user and network performance. This type of information is not capable of providing the insights needed to understand the intricacies of network operation and typically do not identify where potential improvement or tuning in the network may be useful.
An illustrative example network simulator device includes a display and a processor that uses information simulating network performance including a plurality of network parameters. The processor selectively controls the display to present a visual representation of a network including a plurality of base stations and a plurality of mobile stations. The display also presents a visual representation of at least some of the generated information including information regarding at least one of the network parameters from a network perspective, a base station perspective, and a mobile station perspective.
An example network simulator device provides a visual representation that includes respective indicators of the base stations and respective indicators of the mobile stations. The visual representation also includes motion of the respective indicators of the mobile stations corresponding to respective movement of the mobile stations relative to at least one of the base stations.
An illustrative example method of simulating a network on a display includes selectively controlling a display to present a visual representation of a network including a plurality of base stations and a plurality of mobile stations. At least some of the information simulating network performance is included in the visual representation, such as information regarding at least one network parameter from a network perspective, a base station perspective, and a mobile station perspective.
The various features and advantages of this invention will become apparent to those skilled in the art from the following detailed description. The drawings that accompany the detailed description can be briefly described as follows.
Disclosed embodiments of a visual simulator provide advanced wireless system modeling and simulation features. With the disclosed embodiments, it is possible to analyze evolving wireless network conditions from at least three perspectives; those of the mobile station (or user equipment), the base station, and the core network. A variety of visual features are included that provide concrete, actionable insights into different facets of system behavior.
The visual representation of a network at 32 in
One feature of the illustrated example is that each base station has at least one visual feature that distinguishes it from the other base station. For example, each base station may be represented using a different color. The mobile stations being served by a particular base station may have the same visual feature, such as the same color, as the base station that is currently serving that particular mobile station. This provides a visually recognizable indication of a current feature or status of the network, such as how many mobile stations are being served in each base station coverage area.
Other visual features may be used to distinguish among the base stations, such as a fill pattern within a shape that represents a base station, shading, brightness, blinking or shape.
Utilizing different visual features not only allows for distinguishing one network element from another and to show relationships among network elements, but also allows for providing a visual indication of various network parameters. For example, a base station may have a solid color representation when that base station is relatively heavily loaded but may have a cross hatched color representation when the base station is relatively more lightly loaded. In other words, varying the way in which a base station is presented using visual features allows for providing a visual indication of the status of that base station and the current load it is serving. Similarly, the mobile stations may be presented in different ways to show different mobile station conditions. A mobile station involved in a handoff may blink between colors corresponding to the colors of the base stations involved in the handoff. The intensity or density of a color used for representing a mobile station may vary depending upon the signal strength that mobile station is currently observing from one or more of the base stations. Given this description, those skilled in the art will realize how to customize the use of at least one visual feature associated with the indications in the visual representation 32 for purposes of providing a visual representation of a variety of network operating parameters pertaining to one or more of the network elements that are shown by the indications included in the visual representation of the network.
In the example of
One feature of the illustrated example is that the mobile stations 60-68 are shown moving within the visual representation 32 of the network. Showing the mobile station indicators in motion provides an enhanced ability to visualize that which is occurring within the network during a simulation.
In one example embodiment, the indicators of the base stations and the indicators of the mobile stations are considered smart objects that are plot-able. In the case of the base station indicators, a fixed (e.g., x, y) coordinate set can be mapped to a geographical position corresponding to coordinates on an axis figure. The mobile station indicators are moving objects that have coordinates (e.g., x, y) that vary depending on the particular instant in time of the simulation. The smart objects used in this example embodiment have various features.
One feature of the smart objects is that they are detectable when a user interface is used to select the object on the screen. For example, a pointer device may be utilized to point to a particular object. Alternatively, if the display 26 includes a touch screen, the position of the object on the screen may be selected by touching the corresponding portion of a touch screen.
In an example embodiment, smart object detection capability is implemented by utilizing the known windows button motion detection event hook provided by MATLAB. A custom callback function for smart object detection includes logic to detect three types of smart object (i.e., macro cell, small cells within the macro cell and mobile stations). The current pointer location is determined with respect to the figure object yielding coordinates relative to the display screen. The pointer location is normalized relative to the figure axis to account for geographic zoom-in or zoom-out.
The manner in which the smart objects are established allows for them to be detectable regardless of a zoom level used for a current display mode on the display 26. This feature distinguishes the smart objects of this example embodiment from push-buttons or radio-button objects that may be positioned relative to a figure object on which they are placed, but do not retain geographic or axis coordinate information when the zoom level on a display changes. Maintaining geographic coordinates is accomplished by normalizing the pointer location relative to the figure axis to account for geographic zoom-in or zoom-out. One example embodiment includes obtaining information regarding the axis limit and range in x and y directions. The limit and range of the x axis and the y axis, respectively, provide information to the processor 22 for knowing the zoom level effect on the position of the coordinate system on the screen. With this information, the processor 22 is able to determine the position of the pointer device with respect to the coordinate system of the figure axis. When the pointer is pointing to a smart object, the location of that object in terms of its coordinates is determinable so that the object may be properly identified even though the user may have zoomed in or out when observing the simulation.
The processor 22 has suitable programming to allow it to determine when the pointer is within a fixture axis object and is able to determine if the pointer is over a known smart object, such as a base station indicator or a mobile station indicator. The current pointer location is determined normalized with respect to the axes of the current view.
Determining whether the pointer is over a smart object includes determining whether the location of the pointer is directed at a point within the boundary of a smart object. One example embodiment includes using convex polygon shapes for the smart object indicators. Every point on a straight line segment that joins any two points within a convex polygon is also within the polygon. In other words, a convex polygon includes a plurality of points within the periphery of the shape configured so that any line between any two points within the shape is entirely within the shape, also. Using a convex polygon allows for reliably knowing when a location of a pointer is within the shape corresponding to a smart object indicator.
One feature of using convex polygons is that it can simplify the computations necessary for determining when the pointer is at a location corresponding to a smart object. One example includes using a linear program solution for determining when the location of the pointer is inside a convex polygon.
In one example, once a smart object is detected it may be invoked to perform an appropriate user-defined action, such as launching one of the perspectives described above or to display some statistics about that particular smart object. For example, positioning a pointer over a mobile station indicator will result in a display of at least an identifier of that mobile station even without that mobile station's perspective being opened in a separate window. This feature allows for a user to open a perspective of a particular network element without having to know the identifier of that element because the user can simply point to it on the display 26.
Smart object invocation ability is implemented in one example embodiment by utilizing the known windows button down detection event hook provided by MATLAB. A custom callback uses the value of the global variables that are set by the callback for the motion detector (object recognition) described above. The callback includes logic to determine what type of smart object is being invoked. Once the object type is known, an appropriate user-defined action related to the smart object is invoked and performed by the processor 22.
Another feature of the smart objects in the example embodiment is that their data structures respectively include information that defines and maintains their position relative to other smart objects. Additionally, the smart object data structure includes information about any relationship between the smart object and other smart objects. For example, the information regarding each mobile station smart object includes an indication of the base station currently serving that mobile station. Likewise, each base station smart object data structure includes information regarding each of the mobile stations currently being served by that base station. The processor 22 updates the corresponding data structures when there are changes in such relationships.
Another feature of the smart objects used in this example embodiment is that it is possible to have one smart object within another. This allows for identifying, for example, particular mobile stations that are located within the area on the display 26 corresponding to the coverage area of a base station. With this embodiment it is possible for a coverage area to be configured as a smart object with a base station indicator smart object always within the coverage area smart object and mobile station indicator smart objects to occasionally be within the coverage area smart object. It is also possible in this embodiment to identify multiple base stations within a single sector coverage area as schematically shown in
Additionally, the throughput information is presented in a dynamically changing manner that corresponds to changes in the network shown at 32. For example, as the mobile station indicators 60-68 move about the gridlines 70, the throughput in any of the perspectives 34, 36 or 38 may change and any such changes are reflected in the visual representation provided on the display 26. The simultaneous display of multiple perspectives and the visual representation of the network conditions or arrangement allows for appreciating the significance of the positions of the mobile stations, for example, and how that affects throughput. Additionally, information is available regarding which of the mobile stations is being served by which of the base stations using a visual feature, such as color as described above, to provide even more information to an individual analyzing or designing a network.
In
The example of
Although only one network perspective 34, one base station perspective 36 and one mobile station perspective 38 are illustrated in
In one example, a user is allowed to select which of the perspectives to be presented in one of two ways. The user may choose an option box or a menu item as shown in
It is also possible for the user to launch one of the perspectives 34, 36 or 38 using active object detection by selecting one of the indicators of a base station or a mobile station, for example. The user interface 28 may include a pointer that the user places over an indication on the display 26 corresponding to a network element about which the user desires to observe the corresponding perspective. This feature allows for a user to select one or more perspectives for observation without having to know the identifier of a base station or mobile station and, instead, allows the user to select information based upon observing the visual representation of the network at 32.
The processor 22 is configured to control information shown on the display 26 based upon which perspectives are currently active or open and included in the visual representation on the display 26. The processor 22 determines, for example, whether a perspective is currently open and which network parameters are on display within that perspective. Any changes in the network based upon movement of the mobile stations, for example, are reflected in the corresponding network parameters shown in the currently active or open perspectives. The processor 22 in this example is configured to only provide information for updating the display 26 based upon that which is shown in currently active perspectives. It is not necessary, for example, to attempt to update information if a particular perspective has been closed or has never been opened during a current simulation session. Limiting the amount of information the processor 22 provides for controlling the display 26 in this manner saves computational resources for running the simulation in the event that the simulation is being run in real time.
Another feature of the illustrated example is that the processor 22 is configured to control how many perspectives are launched or opened as part of the visual representation on the display 26. For example, the processor 22 in this example is programmed to use a defensive checking technique to avoid re-launching one of the perspectives that has already been opened. If a user were to select a particular mobile station perspective and subsequently select that same perspective, rather than opening a new perspective, the processor 22 controls the display 26 to move the re-selected perspective toward a front or prominent position on the display in response to the request of the user.
In one example embodiment, the processor 22 utilizes data structures to manage the three types of perspectives. The data structures include information regarding whether a perspective is active or deleted and its location on the display 26. Whenever a perspective is created or deleted, the data structure is updated according to programming code used by the processor 22. A perspective may be created by an appropriate callback function associated with launching the perspective when a user selects to open a perspective as described above.
In an example embodiment, a protective measure is included concerning the perspective deletion processes. Whenever one of the perspectives is deleted, the figure object for that perspective is not deleted, but instead, a custom callback function that is attached to this event is invoked. The custom callback function for the perspective figure deletion indicates within the data structure concerning that perspective that it should be deleted. The perspective window, however, is left up and running because it is still being updated by the main simulation code from another thread. If the window for that particular perspective were immediately deleted, the code updating the information for that perspective could potentially cause a problem within the operation of the software for the simulation. In the main simulation window, a code check is included if the perspective window is marked for a deletion. Once the perspective has been marked for deletion, the perspective will be deleted along with its associated secondary graphical user interface window and the data structure is initialized to reflect this fact.
At 114, a visual representation of the network is displayed including a plurality of base stations and plurality of mobile stations. One example way of accomplishing this is shown at 32 in
Given that the mobile station indicators are shown in motion in the example embodiment, the objects used as mobile station indicators may be plotted using a scatter command. An XOR or EraseMode option may be used to generate a movie effect in embodiments that include Matlab programming. Each simulation time includes a different plot position for the mobile station indicators, the XOR or EraseMode approach effectively erases the previous objects from the display and redraws the mobile station indicators in new positions corresponding to the next simulation instant. The mobility model selected for the simulation controls how the changes in the mobile station indicator positions are accomplished.
As the mobile stations move, there are corresponding changes in the network conditions, such as different signal strengths detected by the mobiles, changes in the serving base station, among others. As the network conditions change, any changes in the network parameters shown in any active perspective representations are updated dynamically so that changes in mobile station positions and the corresponding changes in network conditions are easily visualized simultaneously.
At least one network parameter is included in the visual representation of a network perspective at 116. The processor 22 determines whether the network perspective is active. Assuming that it is, the network perspective is included on the display 26. Whenever the network perspective is active, the processor 22 determines whether it needs to be deleted. If so, the network perspective is deleted and the network perspective data structure is updated accordingly. Assuming there is no need to delete the network perspective, the processor 22 invokes a function for updating any information on the perspective secondary graphical user interface for the current simulation time. There will be times when the network perspective is not active and it need not be displayed. In such instances, the step schematically shown at 116 in
At least one network parameter is included in the visual representation from a base station perspective at 118. The processor 22 determines whether any of the m possible base station or cell perspectives are active. Whenever one or more of them is active, the processor 22 determines at each simulation instant or time whether any of the base station perspectives should be deleted. If so, the perspective is deleted and the appropriate data structure is updated. When there is no need to delete a base station perspective, the processor 22 invokes a function that updates the information included in that perspective to correspond to the network conditions of the current simulation time. There may be times when no base station perspective is active and the step schematically shown at 118 may essentially be bypassed.
The visual representation includes displaying at least one network parameter from a mobile station perspective at 120. The processor 22 determines whether any of the n possible mobile station perspectives are active. If any are active, the processor 22 determines whether any of them need to be deleted. For any of them that need not be deleted, the processor 22 invokes a function that updates the information included in the perspective shown on the display 26 to correspond to the network conditions for a current simulation time. It is possible for there to be times during an observation of the simulation on the display 26 when none of the mobile station perspectives are active. During such times, the step schematically shown at 120 may be effectively bypassed.
The example device and method allow for obtaining information regarding network parameters included in a simulation with a visual representation of such information from a network perspective, a base station perspective and a mobile station perspective.
While various features and aspects are described above in connection with one or more particular embodiments, those features and aspects are not necessarily exclusive to the corresponding embodiment. The disclosed features and aspects may be combined in other ways than those specifically mentioned above. In other words, any feature of one embodiment may be included with another embodiment or substituted for a feature of another embodiment.
The preceding description is exemplary rather than limiting in nature. Variations and modifications to the disclosed examples may become apparent to those skilled in the art that do not necessarily depart from the essence of this invention. The scope of legal protection given to this invention can only be determined by studying the following claims.