BACKGROUND1. Field
The present disclosure is directed to a method and apparatus for equal energy codebooks for antenna arrays with mutual coupling.
2. Introduction
Presently, wireless communication devices communicate with other communication devices using wireless signals. Many wireless communication devices have multiple antennas that can transmit more focused signals to a receiving device using antenna beamforming. Multiple telecommunication standards define antenna precoder codebooks to support antenna beamforming and or multiple-input/multiple output (MIMO) transmission with feedback from a receiver in the receiving device. Precoders from the codebooks apply a vector of complex amplitudes to a transmitted signal to provide for the antenna beamforming Telecommunication standards that employ codebooks of precoders include the 3GPP HSPA and LTE standards and the IEEE 802.11 and 802.16 standards. In all of these standards, the precoders that are defined have the property that each precoding vector has equal L2norm with the assumption that the precoders are applied to the antenna array in such a way that precoders having equal L2norm yield antenna patterns with equal radiated power in the far field. Here the L2norm (also known as the Euclidean norm) is defined as the square root of the sum of the square of the amplitudes so that for a vector x of length M
x=(x1x2. . . xM)T,
the L2or Euclidean norm is given by
In each of the above telecommunication standards, precoders are used in combination with reference symbol transmissions so that the receiver can estimate and evaluate the quality of the channel that would result from application of each of the precoders. The receiver applies each of the precoders to the reference symbols in order to evaluate the channel quality. It then signals the index of the best precoder and the corresponding channel quality back to the transmitter. For some transmission modes, the precoder used for the data transmission is signaled from the transmitter to the receiver, and the receiver then applies the precoder to the channel estimates of the reference symbols in order to estimate the channel for the data symbols.
Implicit in the operation of these types of systems is the assumption that the precoders are applied in a manner such that the antenna pattern corresponding to each precoder has the same radiated power in the far field. The reason for this assumption is that it is the objective of the receiver to select the precoder which maximizes the channel quality, and thus the achievable data rate, for a given transmit power. In the case of a single user, this will maximize the transmission range of a fixed data rate, or alternatively, the achievable data rate at a fixed range. Alternatively, for multi-user systems, it is desirable to minimize the transmit power needed to achieve a given data rate for each user, as the transmit power for the target user is interference for all users other than the target user.
If there is no mutual coupling of the transmit array, then it will be true that antenna precoding vectors having equal L2norm will yield antenna patterns with equal power (some assumptions are necessary; e.g., such as the source impedances are equal and the antenna elements have equal self-impedance). However, if the antennas are coupled, then the antenna patterns resulting from two precoders having the same L2norm can differ in transmit power by several dB. The amount of this difference depends on multiple factors, including the mutual coupling coefficients, the type of sources used to drive the array, and the source impedances. Unfortunately, this difference results in a receiver making errors when evaluating channel quality from antenna arrays with mutual coupling.
Thus, there is a need for a method and apparatus for equal energy codebooks for antenna arrays with mutual coupling.
BRIEF DESCRIPTION OF THE DRAWINGSIn order to describe the manner in which advantages and features of the disclosure can be obtained, a description of the disclosure is rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. These drawings depict only example embodiments of the disclosure and are not therefore to be considered to be limiting of its scope.
FIG. 1 is an example block diagram of a system according to a possible embodiment;
FIG. 2 is an example illustration of a two-port model for a two-element array according to a possible embodiment;
FIG. 3 is an example illustration of a Thevenin source model according to a possible embodiment;
FIG. 4 is an example illustration of a Norton source model according to a possible embodiment;
FIG. 5 is an example graph illustrating transmitter power vs. relative phase offset for a Thevenin source model according to a possible embodiment
FIG. 6 is an example graph illustrating transmitter power vs. relative phase offset for a Norton source model according to a possible embodiment;
FIG. 7 is an example flowchart illustrating the operation of a wireless communication device according to a possible embodiment; and
FIG. 8 is an example block diagram of an apparatus according to a possible embodiment.
DETAILED DESCRIPTIONEmbodiments provide a method and apparatus for equal energy codebooks for antenna arrays with mutual coupling. A plurality of precoders can be received from a codebook in a transmitter having an antenna array. Each precoder of the plurality of precoders can be transformed using a transformation that maps each precoder to a transformed precoder such the transformed precoders generate antenna patterns with equal radiated power. A signal can be received for transmission. A transformed precoder of the plurality of transformed precoders can be applied to the signal to generate a precoded signal for transmission over a physical channel. The precoded signal can be transmitted.
FIG. 1 is an example block diagram of asystem100 according to a possible embodiment. Thesystem100 can include atransmitting device110 and areceiving device120. The transmittingdevice110 can be a User Equipment (UE), a base station, or any other device that can transmit wireless signals. Similarly, thereceiving device120 can be a UE, a base station, or any other device that can received wireless signals. A UE can be a wireless terminal, a portable wireless communication device, a smartphone, a cellular telephone, a flip phone, a personal digital assistant, a device having a subscriber identity module, a personal computer, a selective call receiver, a tablet computer, a laptop computer, or any other device that is capable of sending and receiving wireless communication signals.
The transmittingdevice110 can include aprecoder transformation controller112, acodebook114, and anantenna array116. Theprecoder transformation controller112 can be one element or can be distributed between different elements. For example, theprecoder transformation controller112 can be part of a processor, can be part of a transceiver, can be part of a precoder, can be part of other elements in a transmitting device, and/or can be distributed between combinations of elements in a transmitting device and/or over cloud computing. Thereceiving device120 can include at least oneantenna122. For example, in some embodiments thereceiving device120 can have one antenna and in other embodiments thereceiving device120 can have an array of antennas.
In operation, theprecoder transformation controller112 can receive a plurality of precoders from thecodebook114 in the transmittingdevice110 having theantenna array116. Theprecoder transformation controller112 can transform each precoder of the plurality of precoders using a transformation that maps each precoder to a transformed precoder such that the transformed precoders generate antenna patterns with equal radiated power. Theprecoder transformation controller112 can receive asignal118 for transmission. Theprecoder transformation controller112 can apply a transformed precoder of the plurality of transformed precoders to thesignal118 to generate a precoded signal for transmission over a physical channel. Theprecoder transformation controller112 can then transmit the precoded signal to thereceiving device120.
FIG. 2 is an example illustration of a two-port model200 for a two-element array according to a possible embodiment. The two elements can correspond to two antennas in an antenna array. To determine the transformation, an M-port circuit can be used to model the vector voltage-current relationship for the M-ports of an M-element antenna array, which is given by
v=Zi,
where Z is the M×M impedance matrix for the array. In the two-port model200, i1and v1denote the current and voltage for a first antenna, while i2and v2denote the current and voltage for a second antenna, and
FIG. 3 is an example illustration of aThevenin source model300 according to a possible embodiment.FIG. 4 is an example illustration of aNorton source model400 according to a possible embodiment. The two linear source models can be considered for driving the antenna array. In general, the circuits used to drive each element of the antenna array can be modeled as a Thevenin source or as a Norton source. The Thevenin source model is used in the case that antenna precoders are applied as voltages, and the Norton source is applied in the case that the antenna precoders are applied as current sources. The Thevenin source can include an ideal vector voltage source vsin combination with a series impedance ZS_Thev, where ZS_Thevis a diagonal matrix with diagonal elements equal to the series impedance for each voltage source. The Norton source can include an ideal vector current source isin combination with a parallel shunt impedance Zs Norwhere ZS Noris a diagonal matrix with diagonal elements equal to the shunt impedance for each current source. It can be noted that the Norton source will yield two-port currents i and voltages v which are equal to that for the Thevenin source so long as
For an M-element array, the peak radiated power (average power is one-half of peak) is equal to the power delivered to the M-port device and is given by
Re(vHi)=Re(iHZHi)
where Z is the impedance matrix and i is the vector of input currents.
For theThevenin source model300 with source voltage vsand source impedance ZS_Thev, the current vector at the input to the two-port device is given by
i=(ZS_Thev+Z)−1vS.
Thus, the radiated power for the Thevenin source is given by
This expression can be further simplified as
Here we have used the fact that for passive linear networks
For theNorton source model400 with source currents iSand source impedance ZS_Nor, the antenna currents are given by
i=Z−1(ZS_Nor−1+Z−1)−1iS,
where Z is the impedance matrix for the array. If it is again assumed that all of the power delivered to the array is radiated (i.e., no ohmic or other losses), the radiated power for the Norton source is given by
It can be noted that if that if the Norton source is equivalent to the Thevenin source in the previous section, then
ZS_NoriS=vSand ZS_Nor=ZS_Thev
and the radiated power is given by
which is the same as for the Thevenin source model.
As in the case of the Thevenin source model, the expression for radiated power can be simplified as
For unit energy precoders with coupled antennas, it has now been established that regardless of whether the precoder is implemented as a vector voltage source (in a Thevenin source) or as a vector current source (in a Norton source), the radiated power can be expressed in quadratic form. In particular, for a Thevenin source, the radiated power can be expressed as
Prad_Thev(vS, ZS_Thev, Z)=vSHQThevvS
where
QThev=(ZS_Thev+Z)−IIRe(Z)(ZS_Thev+Z)−1.
Similarly, for a Norton source, the radiated power can be expressed as
Prad_Nor_circuit(iS, ZS_Nor, Z)=iSIIQNoriS
where
QNor=ZS_NorH(ZS_Nor+Z)−HRe(Z)(ZS_Nor+Z)−1ZS_Nor.
The problem with both of these quadratic forms is that precoders with equal L2norm do not map to equal energy antenna patterns. To demonstrate this point, we consider the case of two half-wavelength dipoles separated by one-half wavelength. The impedance matrix for this array is given by
FIG. 5 is anexample graph500 illustrating transmitted power vs. relative phase offset for a Thevenin source model according to a possible embodiment. Consider the Thevenin source with a precoder of the form v(θ)=[1 exp(jθ)]T, and note that the L2norm of the precoder v(θ) is independent of the phase θ, so that
∥v(θ)∥2=2
for all θ. The radiated power for this precoder is shown in thegraph500 as a function of the relative phase θ and the source impedance ZS Thev, for source impedances of 0, 25, 50 and 73 −j42 ohms. It can be observed that for a source impedance of 0, the transmitted power varies by 3.7 dB even as the L2norm of the precoder is held constant.
FIG. 6 is anexample graph600 illustrating transmitter power vs. relative phase offset for a Norton source model according to a possible embodiment. Consider the Norton source with a precoder of the form i(θ)=[1 exp(jθ)]T, and note that the L2norm of the precoder i(θ) is independent of the phase θ, so that
∥i(θ)∥2=2
for all θ. The radiated power for this precoder is shown in thegraph600 as a function of the relative phase θ and the source impedance ZS_Thev, for source impedances of 100, 200, ∞, and 73 −j42 ohms. It can be observed that for infinite source impedance (∞), the transmitted power varies by 1.5 dB even as the L2norm of the precoder is held constant.
So, in summary, even if the L2norm of the precoder is held constant, the transmitted power can vary by several dB, and in particular, can vary by 3.7 dB for a Thevenin source with zero impedance and can vary by 1.5 dB for a Norton source with infinite source impedance.
As noted previously, there is a need for the system to have the precoders map to equal energy antenna patterns. All of the standards have already defined precoders with equal L2norms, so it is highly desirable to find a way to use the antenna precoders which have already been defined. Furthermore, it is simply not practical to define a new set of antenna precoders for each possible antenna array configuration (and associated coupling and impedance parameters), and source model (Thevenin or Norton, with associated source impedance).
The transmitted power can vary quite significantly over the codebook. Embodiments provide a solution to the problem of transmitter power variation over the precoder codebook by transforming the precoders to transformed precoders which map to antenna patterns with equal radiated power, and which does not require additional signaling to inform the receiver of the precoder transformation used at the transmitter. Embodiments further provide a method for mapping the existing precoders which have already been defined in the standards (IEEE 802.11 and 802.16, and 3GPP HSPA and LTE standards) into equal energy precoders. The proposed method has multiple advantages. One advantage is that the proposed method can use existing precoders. Another advantage is that the proposed method still allows precoder based channel estimation and channel quality evaluation. Another advantage is that the proposed method does not require signaling of the precoder transformation used at the transmitter.
In order to describe the method, we first consider the case of the Thevenin source for which the radiated power is given by
Prad_Thev(vS, ZS_Thev, Z)=vSHQThevvS.
Since the M×M matrix QThevis positive definite, it has a (non-unique) square root and can be expressed as
QThev=PThevHPThev
Now define
v=PThev−1w
and note that
Thus, if each precoder w is transformed into a voltage vector v using the transformation v=PThev−1w, all of the precoders will map to equal energy patterns so long as all of the precoders have the same L2norm.
In order for these precoders to be used for precoder-based channel estimation and channel quality evaluation at the receiver, the antenna patterns that must be linear with respect to the precoders. Thus, if a first precoder w1produces antenna pattern qw1(θ,φ) and precoder w2produces antenna pattern qw2(θ,φ), then it must be true that the precoder αw1+βw2produces the antenna pattern αqw1(θ,φ)+βqw2(θ,φ), where α and β are complex scalar constants. Thus, so long as the reference symbol precoders, both cell-specific reference symbols (CRS) and channel state information reference symbols (CSI-RS), use the same transformation as the data symbol precoders, the receiver can use the existing precoders to estimate the channel, and the receiver does not need to know the precoder transformation that was used at the transmitter.
For the Thevenin source model, the antenna pattern resulting from the application of precoder w1is given by
where p(θ,φ) is the vector of antenna element patterns in isolation from each other. Similarly, the antenna pattern resulting from precoder w2is given by
Finally, the antenna pattern resulting from precoder αw1+βw2is given by
and thus the precoders have the linearity property needed for precoder-based channel evaluation at the receiver.
We now consider the Norton source for which the radiated power is given by
Prad_Nor_circuit(iS, ZS_Nor, Z)=iSHQNoriS.
Since the M×M matrix QNoris positive definite, it has a (non-unique) square root and can be expressed as
QNor=PNorHPNor
Now define
i=PNor−1w
and note that
Thus, if each precoder w is transformed into a current vector i using the transformation i=PNor−1w, all of the precoders will map to unit energy.
In order for these precoders to be used for precoder-based channel estimation channel quality evaluation at a receiver, the antenna patterns that must be linear with respect to the precoders. Thus, if a first precoder w1produces antenna pattern qq1(θ,φ) and precoder w2produces antenna pattern qq1(θ,φ), then it must be true that the precoder αw1+βw2produces the antenna pattern αqw1(θ,φ)+βqw2(θ,φ), where α and β are complex scalar constants.
For the Norton source model, the antenna pattern resulting from the application of precoder w1is given by
where p(θ,φ) is the vector of antenna element patterns in isolation from each other. Similarly, the antenna pattern resulting from precoder w2is given by
Finally, the antenna pattern resulting from precoder αw1+βw2is given by
and thus the precoders have the linearity property needed for precoder-based channel evaluation at the receiver.
Thus, so long as the reference symbol precoders use the same transformation as the data symbol precoders, the receiver can use the existing precoders to estimate the channel, and the receiver does not need to know the precoder transformation that was used at the transmitter.
FIG. 7 is anexample flowchart700 illustrating the operation of a wireless communication device, such as the transmittingdevice110, according to a possible embodiment. The method of theflowchart700 can be performed in a UE, in an eNB, or in any other device that uses precoders and has a transmitter. At710, theflowchart700 can begin.
At720, a plurality of precoders can be received from a codebook in a transmitter having an antenna array. The antennas of the array can be mutually coupled in that voltage or current applied to one antenna element can induce a voltage or current on another antenna element in the antenna array. A precoder can be a reference symbol precoder or a data symbol precoder. Also, a precoder can be a vector or a matrix. The precoders can be received by a transmitting device, can be received by a controller in a transmitting device, can be received by a precoder unit in a transmitting device, can be received from a network entity, can be received from memory, and/or can be otherwise received at any useful element in a transmitting device and from any element that can provide precoders from a codebook.
At730, each precoder of the plurality of precoders can be transformed using a transformation that maps each precoder to a transformed precoder such the transformed precoders generate antenna patterns with equal radiated power. Both data symbol precoders and reference symbol precoders can be transformed by the same transformation. The transformation can map each precoder to a transformed precoder such the transformed precoders generate antenna patterns with equal radiated power from the antenna array. A transformation matrix for the transformation can be an inverse of a square root of a Hermitian and non-negative definite matrix. According to a possible embodiment, the Hermitian and non-negative definite matrix can be a function of a source model of a transmitter of the transmitting device, a source impedance of the transmitter, an impedance matrix of the antenna array, and/or other information.
According to a possible implementation, the transmitter can include a transmitter source and the transformation can include
v=PThev−1w
where w can be the precoder from the codebook, v can be the transformed precoder, and PThevcan be based on
QThev=PThevHPThev
where
QThev=(ZS_Thev+Z)−HRe(Z)(ZS_Thev+Z)−1.
where ZS_Thevcan be a diagonal matrix of the transmitter source impedances and Z is the impedance matrix of the antenna array.
According to another possible implementation, the transmitter can include a transmitter source and the transformation can include
i=PNor1w
where w can be the precoder from the codebook, i can be the transformed precoder, and PNorcan be based on
QNor=PNorHPNor
where
QNor=ZS_NorH(ZS_Nor+Z)−HRe(Z)(ZS_Nor+Z)−1ZS_Nor,
where ZS_Norcan be a diagonal matrix of the transmitter source impedances and Z can be the impedance matrix of the antenna array.
At740, a signal can be received for transmission. The signal can be a reference symbol or data symbol. At750, a transformed precoder of the plurality of transformed precoders can be applied to the signal to generate a precoded signal for transmission over a physical channel. Applying can include multiplying the transformed precoder of the plurality of transformed precoders by the signal to generate a precoded signal for transmission over the physical channel. At760, the precoded signal can be transmitted. At770, theflowchart700 can end.
Some example embodiments above describe a two-port model for a two-element antenna array, and more generally, an M-port model for an M-element antenna array. In these example embodiments, impedance parameters (Z matrix) model the relationship of the voltages and the currents for this two-port, or M-port, antenna array as
v=Zi.
There are also other equivalent parameters that can be used to model the antenna array. For example, other sets of parameters can include admittance parameters (Y), hybrid parameters (H), inverse hybrid parameters (G), ABCD parameters (ABCD), scattering parameters (S), scattering transfer parameters (T), and other parameters useful for modeling an antenna array. All of these models are equivalent, even if they look slightly different. For example, the admittance parameters (Y) can have the voltage-current relationship of
i=Yv
so that
v=Y−1i
and thus
Z=Y−1.
The last expression can give the relationship between the impedance parameters and the admittance parameters. Thus, if the antenna array is represented in terms of its admittance parameters, the precoder transformation may look slightly different, but is still equivalent to the transformation with the impedance parameters. For example, the transformation can be exactly the same with the exact same or similar mapping of a precoder to a transformed precoder, except that Z can be replaced everywhere by Y−1, and these can be exactly equal. Similarly, all the other parameters cases above can be converted to Z parameters and are thus equivalent.
It should be understood that, notwithstanding the particular steps as shown in the figures, a variety of additional or different steps can be performed depending upon the embodiment, and one or more of the particular steps can be rearranged, repeated or eliminated entirely depending upon the embodiment. Also, some of the steps performed can be repeated on an ongoing or continuous basis simultaneously while other steps are performed. Furthermore, different steps can be performed by different elements or in a single element of the disclosed embodiments.
FIG. 8 is an example block diagram of anapparatus800, such as the transmittingdevice110, according to a possible embodiment. Theapparatus800 can be a base station, a UE, or any other transmitting apparatus. Theapparatus800 can include ahousing810, acontroller820 within thehousing810, audio input andoutput circuitry830 coupled to thecontroller820, adisplay840 coupled to thecontroller820, atransceiver850 coupled to thecontroller820, an antenna array including plurality of antennas, such asantennas855 and857, coupled to thetransceiver850, auser interface860 coupled to thecontroller820, amemory870 coupled to thecontroller820, and anetwork interface880 coupled to thecontroller820. Theapparatus800 can perform the methods described in all the embodiments.
Thedisplay840 can be a viewfinder, a liquid crystal display (LCD), a light emitting diode (LED) display, a plasma display, a projection display, a touch screen, or any other device that displays information. Thetransceiver850 can include a transmitter and/or a receiver. The plurality ofantennas855 and857 can include two or more antennas. Theantennas855 and857 can be mutually coupled in that voltage or current applied to one antenna element induces a voltage or current on another antenna element in the antenna array. The audio input andoutput circuitry830 can include a microphone, a speaker, a transducer, or any other audio input and output circuitry. Theuser interface860 can include a keypad, a keyboard, buttons, a touch pad, a joystick, a touch screen display, another additional display, or any other device useful for providing an interface between a user and an electronic device. Thenetwork interface880 can be a Universal Serial Bus (USB) port, an Ethernet port, an infrared transmitter/receiver, an IEEE 1398 port, a WLAN transceiver, or any other interface that can connect an apparatus to a network, device, or computer and that can transmit and receive data communication signals. Thememory870 can include a random access memory, a read only memory, an optical memory, a flash memory, a removable memory, a hard drive, a cache, or any other memory that can be coupled to a wireless communication device.
Theapparatus800 or thecontroller820 may implement any operating system, such as Microsoft Windows®, UNIX®, or LINUX®, Android™, or any other operating system. Apparatus operation software may be written in any programming language, such as C, C++, Java or Visual Basic, for example. Apparatus software may also run on an application framework, such as, for example, a Java® framework, a .NET® framework, or any other application framework. The software and/or the operating system may be stored in thememory870 or elsewhere on theapparatus800. Theapparatus800 or thecontroller820 may also use hardware to implement disclosed operations. For example, thecontroller820 may be any programmable processor. Disclosed embodiments may also be implemented on a general-purpose or a special purpose computer, a programmed microprocessor or microprocessor, peripheral integrated circuit elements, an application-specific integrated circuit or other integrated circuits, hardware/electronic logic circuits, such as a discrete element circuit, a programmable logic device, such as a programmable logic array, field programmable gate-array, or the like. In general, thecontroller820 may be any controller or processor device or devices capable of operating a wireless communication device and implementing the disclosed embodiments. While thecontroller820 is illustrated as one block and operations of thecontroller820 can be performed in one element, thecontroller820 can alternately be distributed between different elements of theapparatus800 as well as distributed through cloud computing.
In operation, thememory870 can store a codebook including a plurality of precoders. Thecontroller820 can receive a plurality of precoders from the codebook in thememory870. Thecontroller820 can transform each precoder of the plurality of precoders using a transformation that maps each precoder to a transformed precoder such the transformed precoders generate antenna patterns with equal radiated power. The transformation can map each precoder to a transformed precoder such the transformed precoders generate antenna patterns with radiated power from the antenna array. The same transformation can be applied to data symbol precoders and reference symbol precoders. A transformation matrix for the transformation can be an inverse of a square root of a Hermitian and non-negative definite matrix. Furthermore, the Hermitian and non-negative definite matrix can be a function of a source model of the transmitter, a source impedance of the transmitter, an impedance matrix of the antenna array, and/or other information.
According to a possible embodiment, thetransceiver850 can include atransmitter source852 and the transformation can include
v=PThev−1w
where w can be the precoder from the codebook, v can be the transformed precoder, and PThevcan be based on
QThev=PThevHPThev
where
QThev=(ZS_Thev+Z)−HRe(Z)(ZS_Thev+Z)−1
where ZS_Thevcan be a diagonal matrix of the transmitter source impedances and Z can be the impedance matrix of the antenna array.
According to another possible embodiment, the transformation can include
i=PNor−1w
where w can be the precoder from the codebook, i is the transformed precoder, and PNorcan be based on
QNor=PNorHPNor
where
QNor=ZS_NorH(ZS_Nor+Z)−HRe(Z)(ZS_Nor+Z)−1ZS_Nor
where ZS_Noris a diagonal matrix of the transmitter source impedances and Z is the is impedance matrix of the antenna array.
Thecontroller820 can receive a signal for transmission. The signal can be a reference signal or a data signal. Thecontroller820 can apply a transformed precoder of the plurality of transformed precoders to the signal to generate a precoded signal for transmission over a physical channel. Thecontroller820 can apply a transformed precoder by multiplying the transformed precoder by the signal to generate a precoded signal for transmission over a physical channel. Thetransceiver850 can transmit the precoded signal.
The method of this disclosure can be implemented on a programmed processor. However, the controllers, flowcharts, and modules may also be implemented on a general purpose or special purpose computer, a programmed microprocessor or microcontroller and peripheral integrated circuit elements, an integrated circuit, a hardware electronic or logic circuit such as a discrete element circuit, a programmable logic device, or the like. In general, any device on which resides a finite state machine capable of implementing the flowcharts shown in the figures may be used to implement the processor functions of this disclosure.
While this disclosure has been described with specific embodiments thereof, it is evident that many alternatives, modifications, and variations will be apparent to those skilled in the art. For example, various components of the embodiments may be interchanged, added, or substituted in the other embodiments. Also, all of the elements of each figure are not necessary for operation of the disclosed embodiments. For example, one of ordinary skill in the art of the disclosed embodiments would be enabled to make and use the teachings of the disclosure by simply employing the elements of the independent claims. Accordingly, embodiments of the disclosure as set forth herein are intended to be illustrative, not limiting. Various changes may be made without departing from the spirit and scope of the disclosure.
In this document, relational terms such as “first,” “second,” and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. The phrase “at least one of” followed by a list is defined to mean one, some, or all, but not necessarily all of, the elements in the list. The terms “comprises,” “comprising,” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by “a,” “an,” or the like does not, without more constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises the element. Also, the term “another” is defined as at least a second or more. The terms “including,” “having,” and the like, as used herein, are defined as “comprising.” Furthermore, the background section is written as the inventor's own understanding of the context of some embodiments at the time of filing and includes the inventor's own recognition of any problems with existing technologies and/or problems experienced in the inventor's own work.