The invention relates generally to indoor positioning systems. More particularly, the invention relates to compensating for the unknown orientation of a mobile device measuring Earth's magnetic field indoor.
It may be of importance to track person's movements when the person is inside a building. However, a well-known outdoor positioning system employing a global positioning system (GPS) or any other satellite based system may not work inside a building due to lack of reliable reception of satellite coverage. Therefore, a positioning technique utilizing Earth's magnetic fields (EMF) indoors has been developed as one possible option for indoor location discovery. However, for the application of a direction of the EMF in location estimation and/or tracking, it is important that the three-dimensional orientation of the mobile device is determined quickly, with a low computational complexity and reliably.
According to an aspect of the invention, there is provided an apparatus as specified in claim 1.
According to an aspect of the invention, there is provided a method as specified in claim 15.
According to an aspect of the invention, there is provided a computer program product as specified in claim 16.
According to an aspect of the invention, there is provided a computer-readable distribution medium carrying the above-mentioned computer program product.
According to an aspect of the invention, there is provided an apparatus comprising means for performing any of the embodiments as described in the appended claims.
Embodiments of the invention are defined in the dependent claims.
In the following, the invention will be described in greater detail with reference to the embodiments and the accompanying drawings, in which
The following embodiments are exemplary. Although the specification may refer to “an”, “one”, or “some” embodiment(s) in several locations of the text, this does not necessarily mean that each reference is made to the same embodiment(s), or that a particular feature only applies to a single embodiment. Single features of different embodiments may also be combined to provide other embodiments.
In order to enable positioning, a GPS based location discovery and/or tracking is known. The GPS location discovery may not, however, be suitable for indoors due to lack of satellite reception coverage. For indoor based location tracking, RF based location discovery and location tracking may be used. In such system, a round trip time of the RF signal, or the power of the received RF signal, for example, may be determined to an indoor base station to which the user device is connected to. However, he coverage area of one base station may be wide resulting in poor accuracy. Also multipath propagation, unpredictable objects, etc. may affect the accuracy in a negative manner. Some other known positioning measures, which may be applicable indoors, include machine vision, motion sensor and distance measuring, for example. However, these may require expensive measuring devices and equipment mounted throughout the building. As a further option, the utilization of Earth's magnetic field (EMF) may be applied.
The material used for constructing the building may affect the EMF measurable in the building and also the EMF surrounding the building. For example, steel, reinforced concrete, and electrical systems may affect the EMF. The EMF may vary significantly between different locations in the building and may therefore enable accurate location discovery and tracking inside the building based on the EMF local deviations inside the building. On the other hand, the equipment placed in a certain location in the building may not affect the EMF significantly compared to the effect caused by the building material, etc. Therefore, even if the layout and amount of equipment and/or furniture, etc., change, the measured EMF may not change significantly.
An example of a building 100 with 5 rooms, a corridor and a hall is depicted in
The mobile device is detailed later, but for now it may be said, that the mobile device may comprise a magnetometer or any other sensor capable of measuring the EMF, such as a Hall sensor or a digital compass. The magnetometer may comprise at least one orthogonal measuring axis. However, in an embodiment, the magnetometer may comprise three-dimensional measuring capabilities. Yet in one embodiment, the magnetometer may be a group magnetometer, or a magnetometer array which provides magnetic field observation simultaneously from multiple locations spaced apart. The magnetometer may be an accurate sensor capable to detect any variations in the EMF. In addition to the strength, also known as magnitude, intensity or density, of the magnetic field (flux), the magnetometer may be capable of determining a three-dimensional direction of a measured EMF vector. To this end, it should be noted that at any location, the Earth's magnetic field can be represented by a three-dimensional vector. Let us assume that a compass needle is tied at one end to a string such that the needle may rotate in any direction. The direction the needle points, is the direction of the Earth's magnetic field vector.
The magnetometer carried by a person in the mobile device traversing the path 102 in
In location tracking/discovery of positioning device, or any target object moving in the building 100, each EMF vector measured by the mobile device carried by a person may be compared to existing information, wherein the information may comprise EMF vector strength and/or direction in several locations within the building 100 or within a plurality of buildings. The information may thus depict an indoor Earth's magnetic field map. The EMF map may be stored in a database entity or an entity instead of the mobile device having limited computational capabilities. The positioning device may thus transmit each EMF measurement result to the database entity in a network, i.e. to a cloud, which performs the comparison against the EMF map. As a result, the database entity may then return a location estimate to the positioning device. Alternatively, the EMF map is stored in the mobile device which may then itself perform the location estimation/tracking.
However, a person carrying the mobile device 400 may not all the time keep the mobile device 400 in correct angles with respect to the mapping-specific 3D orientation. In particular, the mobile device 400 may be rotated about at least one of the three axis X, Y and Z, as show in
Therefore, it is proposed, as shown in
Further, in step 302, the DB entity 500 acquires (e.g. receives) motion data 324 of the MD 400 measured by at least one inertial measurement unit (IMU) comprised in the mobile device 400. The IMU may comprise at least one acceleration sensor. The acceleration sensor may be capable of detecting the gravitational force G. The IMU may optionally also comprise other inertial sensors, such as at least one gyroscope, for detecting angular velocities about the vertical Z axis, for example. There may also be an odometer present in the MD 400 for detecting information related to the movement of the person 210 carrying the PD 400. The motion data 324 may represent the motion of the MD 400 in the 3D coordinate system (X′, Y′, Z′) of the MD 400, which may be different from the 3D coordinate system (X, Y, Z) of the person 210.
In an embodiment, the 3D coordinate system (X, Y, Z) of the person 210 carrying the mobile device 400 comprises a first horizontal axis (X) along the movement direction 212 of the person 210, a second horizontal axis (Y) having a right angle with the first horizontal axis (X), and a vertical axis (Z). In an embodiment, the 3D coordinate system (X′, Y′, Z′) of the MD 400 comprises a first horizontal axis (X′) along one dimension of the mobile device 400, a second horizontal axis (Y′) having a right angle with the first horizontal axis (X′), and a vertical axis (Z′). These axes (X′, Y′, Z′) may be different from the corresponding axes (X, Y, Z).
In step 304, the database entity 500 may extract at least one feature from the acquired motion data 324, wherein at least one feature is related to at least one dominant movement direction of the mobile device 400 in a 3D coordinate system (X′, Y′, Z′) of the mobile device 400. The feature may also be called an explanatory variable. Let us take a look at the possible extracted features later.
Let us now look at the dominant movement direction closer with respect to
In order to simplify the 3D orientation correction, in an embodiment, the DB entity 500 may be able to determine the amount of rotation of the mobile device 400 about the horizontal axes (X, Y) of the 3D coordinate system of the person 210 on the basis of the acquired motion data 324 and the known direction of gravity G caused by the Earth's gravitation. Thereafter, the DB 500 may align the 3D orientation of the mobile device 400 with a 2D plane defined by the horizontal axes (X, Y) of the 3D coordinate system of the person 210. Further, the DB entity 500 may adjust the acquired EMF measurement result data and the acquired motion data on the basis of the determined amount of rotations about the horizontal axes. Thus, the acquired data may now advantageously be presented in 2D (i.e. in the floor plane).
In step 306, the DB entity 500 determines at least one angle estimate of a difference between the 3D orientation of the mobile device 400 and the at least one dominant movement direction on the basis of the at least one extracted feature. It should be noted that the at least one dominant movement direction of the MD 400 most likely comprises the movement direction 212 of the person 210. In step 308, the DB entity 500 adjusts the acquired EMF measurement results on the basis of the determined at least one angle estimate. It should be noted that in case the rotations about the X and Y axis have been corrected earlier (by utilizing the known direction of the gravitational force G, as said in
In an embodiment, the at least one feature is extracted continuously or repeatedly from the motion data 324. Each instantaneous feature may be plotted/projected in a 3- or a 2-dimensional coordinate system as feature vectors. Thus, the extracted features may be multidimensional. This is shown in
The features which most efficiently reveal the orientation difference between the orientation of the person 210 and the orientation of the MD 400 may be learned on the basis of empirical analysis or mathematical modeling. The features may be selected such that a rotation of the MD 400 rotates proportionally also the distribution of the extracted features in at least one subspace and the dominant motion component of the acquired motion data 324. In an embodiment, distribution of the feature values extracted from the motion data 324 may be determined. Each distribution of the feature values may be a function of the rotation about the vertical axis (in case the 2D simplification of
In an embodiment, different motion components of the acquired motion data 324 may be obtained on the basis of a subspace analysis performed to the acquired motion data 324. The subspace analysis may be also called a dimensionality reduction or projection method. The (stationary) subspace analysis may comprise, for example, independent component analysis (ICA), principal component analysis (PCA), factor analysis, to mention only a few methods known by a skilled person to extract different components from a signal. The subspace analysis may be thus seen as a blind source separation algorithm which factorizes a multivariate series into stationary and non-stationary components.
In an embodiment, the motion component, which corresponds to the movement direction 212, may be characterized with certain acceleration signal waveforms or patterns, which may be analyzed in time and/or frequency domains, for example. Such motion data component may show characteristic periodic acceleration patterns generated by the walking gait of a person. This is because typically while a person walks, the accelerations in the walking direction, and accelerations in the directions orthogonal to the walking direction produce distinct periodic acceleration patterns, for example because the person 210 may lean to both sides while walking towards the dominant movement direction. Also, in case the Z-component is analyzed, the Z-component may show strides being taken periodically.
Let us consider the case shown in
Now, it may be detected that the dominant motion direction 410A (which indicates the walking direction 212 of the person 210) deviates from the X′ direction by an angle 556, as shown in
In case the detected motion vectors (e.g. eigenvectors) are equally dominant in directions 410A, 410B (and possibly also in some other directions), then two (or more) angle estimates may be determined, out of which one is likely to be the correct one.
This correct angle estimate of the two (or more) angle estimates may become apparent later, for example, during performing the EMF based location/tracking of the person 210. Thus, in such case, the possible amount of hypothesis for the orientation difference is significantly reduced which makes the process more efficient.
As a result, as shown in
In an embodiment, it should be noted that the output of the angle estimation may comprise more than one angle 556 as there may be many dominant movement directions 410, such as 410A, 410B of
In an embodiment, the at least one feature of the acquired motion data 324 represents a case in which the person carrying the MD 400 at hand swings his/her arms while walking. There may be a predefined feature type computed from the motion data 324 which reflects such action of the person 210. In such case, the dominant motion direction 410 may be detected on the basis of the computed feature and used for determining the angle estimate 556.
Let us now look at another embodiment in which reference motion data or a learning/training data set is applied for obtaining the at least one angle estimate. Thus, this embodiment may be seen as a supervised or at least semi-supervised method of orientation determination. Let us look at this embodiment with reference to
As explained earlier with respect to
However, as said, the DB entity 500 may acquire (e.g. receive) reference motion data corresponding to at least one reference 3D orientation in the frame of reference of the person 210. The reference 3D orientation may correspond to any orientation. However, in an embodiment the at least one reference 3D orientation (or coordinate system) corresponds to an orientation (or coordinate system) in which the first horizontal axis (X′) of the 3D coordinate system of the MD 400 is parallel with the movement direction 212 of the person 210. That is, to an orientation in which the MD 400 is oriented towards the movement direction 212. In this orientation, the coordinate system (X, Y, Z) of the person 210 corresponds to the coordinate system (X′, Y′, Z′) of the MD 400.
Although it is possible that there are many reference orientations, for the sake of simplicity, let us assume that there is only one reference orientation 902, and motion data referring to this orientation 902 is used as the reference motion data. It should also be noted that in case the rotations about the X and Y axis have been corrected earlier, then the predetermined 3D orientation may be simplified to a predetermined horizontal orientation. However, as understood by a skilled person, this is not necessary and the orientation correction may be performed three-dimensionally.
Let us consider here a case (similar to as depicted in
However, on the contrary to the case of
Let us now take a look at another embodiment of determining the angle difference 808 with the help of reference motion data by referring to
As the component(s) of
Thereafter, the DB entity 500 may apply the extracted at least one feature (e.g. X′ and Y′ components 600, 602) of the acquired motion data 324 and the reference motion data (X and Y components 800, 802) for determining the at least one angle estimate, such as the angle estimate 808 of
Then, the DB entity 500 may apply the reference motion data (X and Y waveforms 800, 802) to estimate which orientation of the mobile device 400 explains the behavior or value of the extracted at least one feature (X′ and Y′ waveforms 600, 602). As such, the reference motion data may be considered to indicate what the at least one feature (X′, Y′ waveforms) of the acquired motion data 324 should be when the MD 400 is in the reference (3D or horizontal) orientation 902. For example, the DB entity 500 may calculate different motion data components corresponding to different directions in the coordinate system of the MD 400. The Z-direction is omitted here as the rotations about the X and Y axes are assumed to be corrected already by applying the known direction of gravity G.
From the calculated components (or statistical variables thereof) it may be detected, as shown in
It should be noted that the Figures are not in proportion in the vertical direction. For example, the components 802 and 806 may overlap completely. However in some cases the reference motion data is obtained from a different mobile device. In this case, there may be some bias between the two devices and, thus, a complete overlap is not detected but a similar behavior of the waveforms 802 and 806, for example.
As a result, the database entity 500 may determine the angle estimate on the basis of the angle difference between the at least one reference (2D or 3D) orientation 902 and the estimated (2D or 3D) orientation of the MD 400. Then, the acquired EMF measurement results, such as the direction related EMF results, may be adjusted to a known orientation on the basis of the angle estimate 808 and used for positioning/tracking. As one example, the acquired EMF data components of
As such, the database entity 500 may determine the 3D orientation of the mobile device 400 in the 3D coordinate system of the person 210 on the basis of the determined amount of rotations about the horizontal (X, Y) and vertical (Z) axes. Thus, the unknown orientation of the MD 400 shown in
As said, in an embodiment, the reference motion data represents many reference orientations 910 to 918, as shown in
In an embodiment, the reference motion data represents a case in which the person carrying the MD 400 swings his/her arms while walking. If the determined at least one feature from the acquired motion data 324 corresponds to such reference motion data, then the 3D orientation of the MD 400 may be determined on the basis of the such reference motion data.
Although it may be that the proposed method of
Nevertheless, even such information of several angle estimates may help the process of determining the correct 3D orientation of the MD 400. For example, this information may be used to reduce the search space for the one correct orientation of the MD 400. A further search for the correct 3D orientation may be performed, for example, by applying the knowledge of the direction of the true magnetic field vector at the location where the MD 400 is assumed to be located (i.e. at the location hypothesis of the MD 400). The direction of the true magnetic field vector for the at least one position hypothesis of the MD 400 may be known on the basis of a predetermined EMF map at the at least one location corresponding to the at least one position hypothesis of the MD 400. For further description about the correction of the three dimensional orientation of the MD 400 on the basis of the EMF map may be found from U.S. patent application Ser. No. 13/739,640, the content of which is incorporated herein by reference.
Let us next look some embodiment with respect to
In an embodiment, the DB entity 500 may detect, on the basis of the acquired motion data 324, when the three-dimensional orientation of the mobile device fulfills a predetermined criterion with respect to stability. The predetermined criterion with respect to stability may be empirically derived or based on mathematical modeling. The criterion may be set so that the MD 400 fulfilling the criterion is considered stable enough in order to start determining the current 3D orientation of the MD 400. The criterion may be specified at least partly in time domain so that if the MD 400 has been stable for a predetermined amount of time, it may be worthwhile to start determining the current 3D orientation of the MD 400. On the other hand, the criterion may be specified at least partly in spatial domain so that if the MD 400 shows only small or regular rotations, such as less than a few degrees, then it may be worthwhile to start determining the current 3D orientation of the MD 400.
In an embodiment, even if the MD 400 moves, the gyroscope may be used to detect the movements of the MD 400, at least if it is considered that the gyroscope is accurate at that point (e.g. the drift of the gyroscope is not severe). Then the inertial and/or EMF measurement results may be orientation adjusted on the basis of the gyroscope detections.
Upon detecting that the predetermined criterion with respect to stability is met, the DB entity 500 may start to determine the 3D orientation of the MD 400, such as the amount of rotation about vertical axis. Looking at
However, during periods 1002 and 1006, while the MD 400 is unstable, the DB entity 500 may avoid applying any orientation variant EMF based location estimation and/or tracking. This is because if the orientation of the MD 400 is unstable (e.g. the three-dimensional orientation of the mobile device does not fulfill the predetermined criterion with respect to stability), the reliability of any orientation variant location estimation/tracking may not be sufficient. Such instability or not fulfilling the predetermined criterion with respect to stability may refer to a case where the motion of the MD 400 cannot be detected with the gyroscope or other inertial sensors reliably. As a result, the DB entity 500 may instead decide to apply orientation invariant location estimation and/or tracking during the time periods 1002, 1006. These orientation invariant location estimation techniques may comprise at least one the following: non-EMF based location estimation and/or tracking, an orientation invariant EMF based location estimation and/or tracking. The non-EMF based location estimation and/or tracking may comprise, e.g., a radio frequency (RF) based tracking (applying WiFi or wireless local area network (WLAN) access points and signal strength measurements, for example), air pressure based tracking, machine vision based tracking, to mention only a few non-limiting examples. The orientation invariant EMF based location estimation and/or tracking may comprise detecting the location of the MD 400 on the basis of EMF magnitude, not the direction, for example. Further, in case the orientation of the MD 400 may be projected in the 2D plane, as explained with reference to
After the stability of the MD 400 is detected not to be sufficiently good in point 1010, the DB 500 may again start applying any orientation invariant location tracking/estimation. However, the DB entity 500 may continue performing also location orientation variant location tracking/estimation. Nevertheless, in an embodiment, as shown under the period 1006, the DB entity 500 may decide to increase a confidence of the applied orientation invariant location estimation and/or tracking approach during the time period when the 3D orientation of the MD 400 does not fulfill the predetermined criterion with respect to stability. As a consequence, the location estimates provided by the orientation variant and orientation invariant techniques may be differently weighed. For example, if the RF based location estimation indicates a first location and the orientation variant (e.g. EMF direction based) location estimation indicates a second location, the DB entity 500 may give more weight to the first location and estimate that the person 210 is in the first location. This may be advantageous as then the true location of the MD 400 (and of the person 210) may be more reliably detected.
As the 3D orientation is known during period 1004, which naturally comprises also knowing the horizontal orientation of the MD 400 in the 3D coordinate system of the person 210, the DB entity 500 may, in an embodiment, apply the estimated horizontal orientation of the mobile device 400 in calibrating or resetting a gyroscope comprised in the mobile device 400. As known by a skilled person, the gyroscope may not be able to follow the absolute rotation in the coordinate system. This may be because the gyroscope may be accurate for some time after calibration but rather quickly may start to drift from the correct orientation due to gyroscope sensor inaccuracies such as sensor noise and bias. Thus, the calibration of the gyroscope may be important, e.g. in order to provide a gyroscope based orientation estimate. Typically the gyroscope may be calibrated in specific locations reserved for calibration. This may be too rarely as the accuracy of the gyroscope may have drifted between those locations. However, the proposed embodiment may allow the calibration to take place as often as needed and on-the-fly without any need for proximity of a specific calibration location. As a result, the DB entity 500 may apply information measured by the gyroscope in tracking the movement of the person 210 carrying the mobile device 400. For example, the gyroscope may be used to detect the rotation about the Z-axis, at least for a short while after the calibration. This tracking by utilizing the gyroscope may take place at least during parts of periods 1004 and 1006, as shown in
In an embodiment, the stability of the MD 400 is further detected or adjusted on the basis of the gyroscope. For example, small or regular movement of the MD 400 may be correctable during a certain time window by applying the gyroscope. This may advantageously allow a longer time window for extracting features from the motion data 324 without a risk of having features which are related to significantly different orientations of the MD 400.
In an embodiment, there may be a low range communication unit mounted in the building 100 for allowing calibration of the MD 400 to the correct EMF vector values. For example, the exact magnitude of the EMF may be predetermined and stored in the memory of the mounted low range communication unit. Then the MD 400 may apply this information in obtaining knowledge of how much the measured EMF magnitude deviates from the indicated, true EMV magnitude. Based on the information, a correction of the values provided by the magnetometer or calibration of the magnetometer may be in order. The low range communication may apply, for example, RFID, Bluetooth, or NFC technique. Alternatively, or in addition to, the calibration/correction may be for the direction of the EMF vector. Further, the gyroscope of the MD 400 may be calibrated in these calibration locations. It may be that the person 210 is required to place the MD 400 according to a predetermined horizontal orientation at the calibration location. The calibration process may also calibrate/correct data related to the direction and/or strength of the measured acceleration vector representing the direction of the gravitational force G. For this, the true value for G may have been determined for the predetermined location of the mounted low range communication unit.
Embodiments, as shown in
The apparatuses 400 and 500 may further comprise radio interface components 456 and 506 providing the apparatus 400, 500, respectively, with radio communication capabilities with the radio access network. The radio interfaces 456 and 506 may be used to perform communication capabilities between the apparatuses 400 and 500. The radio interfaces 456 and 506 may be used to communicate data related to the measured EMF vectors, to location estimation, motion data, etc.
User interfaces 458 and 508 may be used in operating the mobile device 400 and the database entity 500 by a user. The user interfaces 458, 508 may each comprise buttons, a keyboard, means for receiving voice commands, such as microphone, touch buttons, slide buttons, etc.
The apparatus 400 may comprise the terminal device of a cellular communication system, e.g. a computer (PC), a laptop, a tabloid computer, a cellular phone, a communicator, a smart phone, a palm computer, or any other communication apparatus. In another embodiment, the apparatus is comprised in such a terminal device, e.g. the apparatus may comprise a circuitry, e.g. a chip, a processor, a micro controller, or a combination of such circuitries in the terminal device and cause the terminal device to carry out the above-described functionalities. Further, the apparatus 400 may be or comprise a module (to be attached to the terminal device) providing connectivity, such as a plug-in unit, an “USB dongle”, or any other kind of unit. The unit may be installed either inside the terminal device or attached to the terminal device with a connector or even wirelessly. In an embodiment, the apparatus 500 as the database entity may locate in the network. In such case, the apparatus 500 may be or be comprised in a server computer. In another embodiment, the apparatus 500 as the database entity may locate within the mobile device 400.
As said, the apparatus 400, such as the mobile phone, may comprise the at least one processor 452. The at least one processor 452 may comprise an EMF measurement circuitry 460 for performing EMF measurements with the help of a magnetometer 470. An inertial measurement circuitry 462 may be for performing motion related measurements with the help of an IMU 472 or an odometer 474, for example. A calibration & correction circuitry 466 may be responsible of performing a calibration process of a magnetometer 470, of the IMU 472, for example.
The magnetometer 470 may be used to measure the EMF vector. There may be various other sensors or functional entities comprised in the PD 400. These may include an inertial measurement unit (IMU) 472, the odometer 474, a low range communication unit 476 for detecting the presence of a proximity communication signal, at least one camera 478, for example. A skilled person understood that these may be of use when performing the embodiments as described earlier. For example, the IMU 472 may comprise for example acceleration sensor and a gyroscope, for example.
The memory 454 may comprise space 490 for storing the EMF measurement results 322 and space 492 for storing the inertial measurement results (e.g. the motion data 324).
The apparatus 500, such as the database entity, may comprise the at least one processor 502. The at least one processor 502 may comprise several circuitries. As an example, an indoor navigation circuitry 510 for performing indoor navigation on the basis of the received set of Earth's magnetic field measurement results. For the navigation, the memory 504 may comprise the EMF map 540, and the floor plan 542 of the building 100. The circuitry 510 may apply for example multi-hypothesis location estimator/tracker/filter, for example. The circuitry 510 may adjust the acquired EMF results on the basis of the determined difference between the 3D orientation of the MD 400 and the moving direction 212. The circuitry 510 may also perform indoor navigation on the basis of orientation invariant methods, such as on the basis of WLAN signal strengths.
A calibration & correction circuitry 518 may be responsible of causing or co-operating in a calibration process of the MD 400 and/or correcting the acquired information from the MD 400, for example. The calibration & correction circuitry 518 may be responsible of making the orientation determination according to any of the embodiments described.
As may be understood by a skilled person from the description of the embodiments throughout the application and from
As used in this application, the term ‘circuitry’ refers to all of the following: (a) hardware-only circuit implementations, such as implementations in only analog and/or digital circuitry, and (b) combinations of circuits and software (and/or firmware), such as (as applicable): (i) a combination of processor(s) or (ii) portions of processor(s)/software including digital signal processor(s), software, and memory(ies) that work together to cause an apparatus to perform various functions, and (c) circuits, such as a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation, even if the software or firmware is not physically present. This definition of ‘circuitry’ applies to all uses of this term in this application. As a further example, as used in this application, the term ‘circuitry’ would also cover an implementation of merely a processor (or multiple processors) or a portion of a processor and its (or their) accompanying software and/or firmware. The term ‘circuitry’ would also cover, for example and if applicable to the particular element, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in an entity, a cellular network device, or another network device.
The techniques and methods described herein may be implemented by various means. For example, these techniques may be implemented in hardware (one or more devices), firmware (one or more devices), software (one or more modules), or combinations thereof. For a hardware implementation, the apparatus(es) of embodiments may be implemented within one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described herein, or a combination thereof. For firmware or software, the implementation can be carried out through modules of at least one chip set (e.g. procedures, functions, and so on) that perform the functions described herein. The software codes may be stored in a memory unit and executed by processors. The memory unit may be implemented within the processor or externally to the processor. In the latter case, it can be communicatively coupled to the processor via various means, as is known in the art. Additionally, the components of the systems described herein may be rearranged and/or complemented by additional components in order to facilitate the achievements of the various aspects, etc., described with regard thereto, and they are not limited to the precise configurations set forth in the given figures, as will be appreciated by one skilled in the art.
Embodiments as described may also be carried out in the form of a computer process defined by a computer program. The computer program may be in source code form, object code form, or in some intermediate form, and it may be stored in some sort of carrier, which may be any entity or device capable of carrying the program. For example, the computer program may be stored on a computer program distribution medium readable by a computer or a processor. The computer program medium may be, for example but not limited to, a record medium, computer memory, read-only memory, electrical carrier signal, telecommunications signal, and software distribution package, for example. Coding of software for carrying out the embodiments as shown and described is well within the scope of a person of ordinary skill in the art.
Even though the invention has been described above with reference to an example according to the accompanying drawings, it is clear that the invention is not restricted thereto but can be modified in several ways within the scope of the appended claims. Therefore, all words and expressions should be interpreted broadly and they are intended to illustrate, not to restrict, the embodiment. It will be obvious to a person skilled in the art that, as technology advances, the inventive concept can be implemented in various ways. Further, it is clear to a person skilled in the art that the described embodiments may, but are not required to, be combined with other embodiments in various ways.