The present invention generally relates to the field of signal analysis, and in particular, to a computer-implemented method and an analysis device for recovering one or more sub-signals from a composite signal of a blind source. More specifically, the present invention relates to techniques, devices and system to recover attributes of the sub-signals from the composite signal or components of a time series components, governed by a Realistic Adaptive Harmonic Model (RAHM), of the blind source.
Many problems that arise from sensor arrays, stochastic control, mobile communication, and signal processing in general, are modeled by a linear combination of damped sinusoids with constant frequencies. Extension of this model from stationary signals (with constant frequencies) to non-stationary signals (with time-varying frequencies), governed by the Adaptive Harmonic model (AHM) in the mathematics literature (sometimes also called AM-FM model) is necessary for the state-of-the-arts applications, since most real-world composite signals consist of non-stationary sub-signals and just about all real-world time series are non-stationary. While there is no existing methods and systems for effective and acceptably accurate recovery of sub-signals of composite signals and components of time series from discrete data information acquired from the blind-source, conventional methods for signal and time series decompositions, such as discrete wavelet decomposition, are commonly used for this purpose. Such decomposition algorithms which are aimed at separating composite signals or time series into certain components are commonly used. However, these algorithms have very little to do with recovering the actual unknown sub-signals of a composite signal or components that constitute the time series.
An objective of this invention is to provide an improved model called Realistic Adaptive Harmonic Model (RAHM) for conventional AHM by allowing different times of signal arrival (or signal on-set) and signal departure (or signal off-set) for each sub-signal of the composite signal.
In accordance to one aspect of the present invention, a computer-implemented method for recovering one or more active sub-signals from a composite signal of a blind source is provided. The method includes: performing an offline preparing process to generate a lookup table of Continuous Wavelet Transform (CWT)-basic elements (WBEs); when receiving raw data of the composite signal of the blind source, performing a real-time process to recover the one or more active sub-signals of the composite signal according to the lookup table of WBEs by formulating the composite signal by a Realistic Adaptive Harmonic Model (RAHM); and generating analysis data comprising one or more attributes of the active sub-signals.
The method further includes: receiving the raw data of the composite signal of the blind source; formulating the composite signal by a Realistic Adaptive Harmonic Model (RAHM) to obtain a composite signal function; performing an analog to digital (A/D) conversion on the composite signal function to obtain one or more discrete data samples; computing a CWT of the composite signal function by a selected wavelet function; determining one or more data clusters according to the discrete data samples by thresholding a summation by tuning a threshold parameter for each time instant; determining one or more optimal scales by computing the maximum of each of the data clusters; computing the active sub-signals and one or more amplitudes of the active sub-signals according to the optimal scales, the CWT of the composite signal function and the selected wavelet function; computing one or more instantaneous frequencies of the active sub-signals; and generating analysis data comprising one or more attributes of the active sub-signals.
The method further includes: performing an offline preparing process to generate a lookup table of Short-Time Fourier Transform (STFT)-basic elements (SFBEs); when receiving raw data of a composite signal from a blind source, performing a real-time process to recover one or more active sub-signals of the composite signal according to the lookup table of SFBEs by formulating the composite signal by a Realistic Adaptive Harmonic Model (RAHM); and generating analysis data comprising one or more attributes of the active sub-signals.
The method further includes: receiving the raw data of the composite signal of the blind source; formulating the composite signal by a Realistic Adaptive Harmonic Model (RAHM) to obtain a composite signal function; performing an analog to digital (A/D) conversion on the composite signal function to obtain one or more discrete data samples; computing a STFT of the composite signal function with a frequency parameter; determining one or more data clusters according to the discrete data samples by thresholding a summation by tuning a threshold parameter and adjusting a scale parameter a for each time instant; determining one or more optimal frequency parameters by computing the maximum of each of the data clusters; computing the active sub-signals and one or more amplitudes of the active sub-signals according to the more optimal frequency parameters, an adjusted scale parameter and the STFT of the composite signal function; computing one or more instantaneous frequencies and one or more trends of the active sub-signals; and generating analysis data comprising one or more attributes of the active sub-signals.
The method further includes: performing an offline preparing process to generate a lookup table of Signal Separation operation (SSO)-basic elements (SSBEs); when receiving raw data of a composite signal from a blind source, performing a real-time process to recover one or more active sub-signals of the composite signal according to the lookup table of SSBEs by formulating the composite signal by a Realistic Adaptive Harmonic Model (RAHM); and generating analysis data comprising one or more attributes of the active sub-signals.
In accordance to another aspect of the present invention, an analysis device for recovering one or more active sub-signals from a composite signal of a blind source is provided. The analysis device includes: a data communication circuit unit, a non-transient memory circuit and a processor. Th data communication circuit unit is configured to receive raw data of the composite signal of the blind source. The non-transient memory circuit, configured to store machine instructions. The processor is configured to execute the machine instructions to implement a sub-signal recovering method. The sub-signals recovering method includes: performing, by the processor, an offline preparing process to generate a lookup table of Continuous Wavelet Transform (CWT)-basic elements (WBEs); when receiving raw data of the composite signal of the blind source, performing, by the processor, a real-time process to recover the one or more active sub-signals of the composite signal according to the lookup table of WBEs by formulating the composite signal by a Realistic Adaptive Harmonic Model (RAHM); and generating, by the processor, analysis data comprising one or more attributes of the active sub-signals.
Embodiments of the invention are described in more details hereinafter with reference to the drawings, in which:
In the following description, method and system for recovering one or more active sub-signals from a composite signal of a blind source and the likes are set forth as preferred examples. It will be apparent to those skilled in the art that modifications, including additions and/or substitutions may be made without departing from the scope and spirit of the invention. Specific details may be omitted so as not to obscure the invention; however, the disclosure is written to enable one skilled in the art to practice the teachings herein without undue experimentation.
Referring to
The non-transient memory circuit 120 is configured to store programs 121 (or machine instructions 121) and to host the database 122. The database 122 may be used to store raw data RD, control data CD, and/or analysis data AD. The data communication circuit 130 is configured to establish the network connection(s) (not shown) for receiving the raw data RD and the control data CD, and a further network connection for sending the analysis data AD. In a further embodiment, the control data CD can be received from an input operation applied to (an I/O device of) the analysis device 100. The control data CD includes Expected AD range, Sampling rate, Sampling width and Sampling resolution.
The processor 110 executes the machine instructions 121 to implement methods provided by the presented disclosure.
Referring to
As illustrated by block 210, when receiving the raw data RD, the analysis device 100 formulates the composite signal of the raw data RD by a Realistic Adaptive Harmonic Model (RAHM) provided by the present disclosure, so as to obtain a composite signal function (ƒ(t)). As illustrated by block 230, the analysis device 100 computes one or more summations corresponding to one or more data clusters of sub-signals according to the composite signal function and the CWT-Basic Elements. As illustrated by block 240, the analysis device 100 performs sub-signals analysis to computer one or more attributes of each of the sub-signals.
The analysis device 100 generates analysis data comprising the attributes of the sub-signals. The attributes of the sub-signals can be used to recover/rebuild the corresponding sub-signals, such as the recovered instantaneous frequencies with sub-signal time on-sets and off-sets illustrated by diagram D260, recovered sub-signals illustrated by diagrams D271 to D273.
The methods disclosed in this invention apply to detect the times of signal on-sets and signal off-sets of all sub-signals. More precisely, the composite signal would be formulated by the RAHM as the equation (1) (composite signal function) below.
ƒ(t)=Σl=1L(t)cos Øl(t))XI
where Il denotes the disjoint union of open intervals Il,j=(ul,j, vl,j), with signal on-set at t=ul,j and signal off-set at t=vl,j for j=1, . . . , nl, where nl denotes the number of times when the sub-signal ƒ(t)=Al(t)cos Øl(t) is active; XI
Furthermore, the invention addresses the inverse problem of recovering number, L, of sub-signals, the active sub-signals, the times of signal on-set and off-set (e.g., all the sub-intervals), as well as the Ifs (φ′l(t)), for all l=1, . . . , L (while the sub-signal is active), by using only discrete data information, which may be non-uniformly spaced.
The method and system of the invention can be separated into two stages (e.g.,
Referring to
No data information is needed for this stage, with the exception of the time locations where the data samples are to be acquired. For uniform sampling, the only information needed is the sampling rate, say ∂>0. Let t: . . . <tj<tj+1< . . . denotes the sampling time locations. For uniform sampling, let tj=jδ, for all integers j. Consider the normalized nth order B-spline basis functions Nt,n,k(t) on the knot sequence t, for all integers k, where n≥2. For each integer k, the linear functional λk, on the space of continuous functions, is defined by a finite linear combination of the function values g(tj), of a continuous function g(t), with coefficients bk,j (where the summation of the linear combination is over j). The totality of all the linear functionals λk is said to yield a quasi-interpolation operator Qn, if (Qng)(t), defined by a finite linear combination of the B-splines, Nt,n,k(t) with coefficients λk(g), preserves all polynomials of degree n−1; meaning that (Qng)(t)=p(t) for all polynomials p(t) of degree less than n.
For non-uniformly spaced knot sequence t, quasi-interpolation operators are linear operators that can be formulated as equation (2) below.
(Qs,tg)(t)=Σjβj(g)Nt,s,j(t) (2)
Where β={βj} is a finitely supported linear functional on the space of continuous functions, such that (Qs,tp)(t)=p(t) for all polynomials p(t) of degree less than s. By applying the quasi-interpolation operator in equation (2), a desired spline representation is formulated by the equation (3) below.
S
g(t)=(Qs,tg)(t)=Σj{Σl=0s−1aj,l−s+1g(tl)}Ns,t,j(t) (3)
For the more general complex-valued ƒ(t) governed by RAHM, the real-valued g(t) in equation (3) can be replaced to arrive at the same formula for SAO. For the Cardinal B-splines N2r(t)=M2r(t+r) with r≥1, for example, for cubic and quintic splines with r=2 and 3, respectively, the desired spline representations are formulated by the equation (4) and (5) below.
Equation (4) or (5) can be used in the steps S126 in
Referring to
And, the B-spline basis functions, Nt,n,k(t) can be presented by the equation (7) below.
N
n,t,k(t):=(Tn+k−tk)[tk, . . . ,tn+k](˜−t)+n−1, (7)
Next, in step S112, the processor 110 performs the Continuous Wavelet Transform (CWT) on the normalized B-spline basis functions Nt,n,k(t) to obtain basis functions (Bt,n,kw(t;a)). For the CWT, any wavelet function ψ=ψn, for any integer n≥4, defined by the nth ordered derivative of the cardinal B-spline M2n(t) of order 2n (e.g., polynomial degree 2n−1). Here, M2n(t) is defined by the 2n-fold integral convolution of the characteristic function X[0,1) of the unit interval [0,1). In general, the following CWT (also called as integral wavelet transform) of the normalized Nt,n,k(t) is computed by the equation (8) below.
Yielding a family of basis functions Bt,n,kw(t;a), where a>0 denotes the scale of the CWT. Where, W denotes Wavelet transform; x denotes location.
Next, in step S113, the processor 110 computes one or more first WBEs (En,j(t;a)) according to corresponding predetermined coefficients (bk,j) and the basis functions (Bt,n,kw(t;a)) by a linear combination. For each integer j, the jth WBE, denoted by En,j(t;a), is defined by the linear combination of basis functions Bt,n,kw(t;a) with predetermined coefficients bk,j, where the summation of the linear combination is over k. For example, assuming that the predetermined coefficients bk,j=[−⅙, 8/6, −⅙], then En,j(t;a)=(−⅙)*Bt,n,k−1w(t;a)+(8/6)*Bt,n,kw(t;a)+(−⅙)*Bt,n,k+1w(t;a).
Next, in step S114, the processor 110 performs a first analog to digital (A/D) conversion on the first WBEs to obtain one or more second WBEs (En,j(kα;kβ)) (e.g., digitized first WBEs). The “α” and “β” are the length/width of intervals. The k is the numbers of the intervals.
Next, in step S115, the processor 110 generates the lookup table of the second WBEs (En,j(kα;kβ)). For example, referring to
Back to
Specifically, referring to
In step S121, the processor 110 receives the raw data of the composite signal of the blind source. Next, in step S122, the processor 110 formulates the composite signal by the RAHM to obtain a composite signal function ƒ(t) as presented by equation (1). Furthermore, it is supposed that a sufficiently dense set of data ƒ(tj): . . . <tj<tj+1< . . . of data samples is available, where the samples is available, where the sampling time locations may be non-uniformly spaced.
Next, in step S123, the processor 110 performs a second A/D conversion on the composite signal function to obtain one or more discrete data samples. Next, in step S124, the processor 110 determines one or more data clusters (Lt) according to the discrete data samples by thresholding a summation |Pƒ,nw(t,a)| by tuning a threshold parameter for each time instant (t).
Next, in step S125, the processor 110 computes one or more optimal scales (al—al*(t)) by determining the maximum of each of the data clusters. After the decomposition, multiple “a” would come from same sub-signal source. Therefore, these “a” corresponding to the same sub-signal are put into the same cluster.
Let ψ(ω) denotes its Fourier transform, and consider ρ—max|ψ{circumflex over ( )}(ω)| with maximum attained at ω=k, where k is the smallest positive value. It turns out that for ωn{circumflex over ( )}, the value of k, determined by the equation
is independent of n. For convenience, the approximate value 2.3311 can be used for k.
Given the jth discrete data sample ƒ(tj) of the blind-source ƒ(t), the processor 110 formulates the finite sum by the equation (9) below.
P
ƒ,n
w(t;a):=Σjƒt
For each time instant t, thresholding a summation |Pƒ,nw(t;a)|, by tuning the thresholding parameter (which is at least equal to ρ/2 multiple of the lower bound of the unknown sub-signal amplitudes) gradually to extract (the largest number) Lt clusters, where Lt≤L is the number of active sub-signals of the composite signal at the time instant t. If all sub-signals are active, then Lt=L. For some applications, the thresholding parameter can be learned by training data. Determine the optimal scale al=al*(t), by computing the maximum of each of the Lt clusters.
In step S126, the processor 110 computes the active sub-signals (ƒl(t)) and one or more amplitudes (|Al(t)|) of the active sub-signals according to the optimal scales (al*(t)) and the constructed Lookup table of the second WBEs (e.g., the values of digitized WBEs).
For each time instant t, the optimal scale is used as input to the threshold-ed summation Pƒ,nw(t;a) to yield the active sub-signals ƒl(t) and its amplitude |Al(t)|, by computing Pƒ,nw(t; al*(t))/ψ{circumflex over ( )}(k) and |Pƒ,nw(t; al*(t))|/ρ, respectively. The ρ is a predefined constant. The second WBEs in the lookup table are used as the En,j(t;a) during the calculation of the Pƒ,nw(t;a) (e.g., equation (9)).
Next, in step S127, the processor 110 computes one or more instantaneous frequencies (IF) (φ′l(t)) of the active sub-signals ƒl(t) by computing k/al*(t). The preferred wavelet function ψ(t) is ψn(k), for any n≥4, with k approximated for example by 2.3311.
Referring again to
In another embodiment, for certain applications, particularly for resolving the components of a non-stationary time series, the real-time processing may not the priority. In this case, it could be preferable to skip the foregoing off-line preparation procedure. However, the non-real-time process requires full (continuous-time) data information of the blind source composite signal ƒ(t), for all t.
During the non-real-time process, any wavelet function ψ(t) with finite time-duration can be chose. Then, the continuous wavelet transform (Wψƒ)(t,a) of ƒ(t) is computed. For each time instant t, thresholding a summation |(Wψƒ)(t,a)| by tuning the thresholding parameter (which is at least equal to ρ/2 multiple of the lower bound of the unknown sub-signals amplitudes) gradually to extract (the largest number) Lt clusters, where Lt≤L is the number of active sub-signals of the composite signal at the time instant t. If all sub-signals are active, then Lt=L. Then, the processor 110 determines the optimal scale al=al*(t), by computing the maximum of each of the Lt clusters.
To recover the active sub-signals (or active components), the optimal scale al=al*(t) is used as input to the thresholded summation |(Wψƒ)(t,a)| to yield the active sub-signals ƒl(t) and its amplitude |Al(t)| by computing (Wψƒ)(t,al*(t))/ψ{circumflex over ( )}(k) and |(Wψƒ)(t,al*(t))|/ρ, respectively. The instantaneous frequency (IF) (φ′l(t)) of the active sub-signals ƒl(t) is obtained by computing k/al*(t).
Referring to
Next, in step S350, the processor 110 determines one or more data clusters (Lt) according to the discrete data samples by thresholding a summation |(Wψƒ)(t,a)| by tuning a threshold parameter for each time instant t. Next, in step S360, the processor 110 determines one or more optimal scales (al=al*(t)) by computing the maximum of each of the data clusters. Next, in step S370, the processor 110 computes the active sub-signals ƒl(t) and one or more amplitudes |Al(t)| of the active sub-signals according to the optimal scales al*(t), the CWT (Wψƒ)(t,a) of the composite signal function and the selected wavelet function ψ(t). The active sub-signals ƒl(t) is obtained by computing by (Wψƒ)(t;al*(t))/ψ{circumflex over ( )}(k), and amplitudes |Al(t)| is obtained by computing |(Wψƒ)(t;al*(t))|/ρ.
Next, in step S380, the processor 110 computes one or more instantaneous frequencies (IF) (φ′l(t)) of the active sub-signals. The IF is obtained by computing k/al*(t). Next, in step S390, the processor 110 generates analysis data comprising one or more attributes of the recovered active sub-signals.
In addition to the CWT-based sub-signal recovery method, a Short-Time Fourier Transform (STFT)-based sub-signal recovery method is provided by a further embodiment described below with
Referring to
Referring to
Next, in step S513, the processor 110 computes one or more first SFBEs Dn,j(t;θ,a) according to corresponding predetermined coefficients bk,j and the basis functions Bt,n,ksƒ(t;θ,a) by a linear combination.
Next, in step S514, the processor 110 performs a first analog to digital (A/D) conversion on the first SFBEs to obtain one or more second SFBEs Dn,j(kα;mβ,nγ). Next, in step S515, the processor 110 generates the lookup table of the second SFBEs Dn,j(kα;mβ,nγ).
Referring again to
Referring to
Given the jth discrete data sample ƒ(tj) of the blind-source ƒ(t), the processor 110 formulates the finite sum by the equation (10) below.
P
ƒ,n
sƒ(t;θ,a):=Σjƒt
For each time instant t, thresholding a summation |Pƒ,nsƒ(t;θ,a)|, by adjusting the scale parameter a to some desired a* and tuning the thresholding parameter gradually to extract (the largest number) Lt clusters in the time-frequency domain, where Lt≤L is the number of active sub-signals of the composite signal at the time instant t (Step S524).
Next, in step S525, the processor 110 computes one or more optimal frequency parameters (θl=θl*(t)) by determining the maximum of each of the data clusters.
For each time instant t, the optimal frequency parameters θl*(t) is used as input to the threshold-ed summation |Pƒ,nsƒ(t;θ,a*)| to yield the active sub-signals ƒl(t) and its amplitude |Al(t)| (Step S526), by computing the real part and absolute value of 2×Pƒ,nsƒ(t;θl*(t),a*), respectively, for each l=1, . . . , L. The second WBEs in the lookup table are used as the Dn,j(t;θ,a) during the calculation of the Pƒ,nsƒ(t;θ,a) (e.g., equation (10)).
Next, in step S527, the processor 110 computes one or more instantaneous frequencies (IF) (φ′l(t)) and one or more trends of the active sub-signals ƒl(t). The trends are computed by using θ=0 as an input to Pƒ,nsƒ(t;θ,a*), where a* is the adjusted desired scale parameter. The “trends” here indicate the signal direction. In FinTech, it can be up-trend or down-trend.
Referring again to
In another embodiment, in the non-real-time process, the STFT has a window width a>0. The STFT is then applied to the blind source ƒ(t), followed by frequency modulation with frequency parameter θ. This yields a two-parameter family (Tƒ)(t;θ,a) for recovering the sub-signals.
Referring to
Next, in step S640, the processor 110 computes a STFT (Tƒ)(t;θ,a) of the composite signal function ƒ(t)) with a frequency parameter θ.
Next, in step S650, the processor 110 determines one or more data clusters (Lt) according to the discrete data samples by thresholding a summation |(Tƒ)(t;θ,a)| by tuning a threshold parameter and adjusting a scale parameter a for each time instant (t), so as to extract (the largest number) Lt data clusters in the time-frequency domain, where Lt≤L is the number of active sub-signals of the composite signal at the time instant t.
Next, in step S660, the processor 110 determines one or more optimal frequency parameters (θl=θl*(t)) by computing the maximum of each of the data clusters. Then, θl*(t) is used as the desired estimation of the IF φ′l(t) at t, for each l=1, . . . , L.
Next, in step S670, the processor 110 computes the active sub-signals ƒl(t) and one or more amplitudes (|Al(t)|) of the active sub-signals according to the more optimal frequency parameters θl*(t), an adjusted scale parameter a* and the STFT (Tƒ)(t;θ,a) of the composite signal function ƒ(t). The optimal frequency parameter θl*(t) is used as input to the threshold-ed summation |(Tƒ)(t;θ*,a*)| to yield the active sub-signals ƒl(t) and its amplitude (|Al(t)|) by computing real part and absolute value of 2×Pƒ,nsƒ(t;θl*(t),a*), respectively, for each l=1, . . . , L. Next, in step S680, the processor 110 computes one or more instantaneous frequencies (IF) (φ′l(t)) and one or more trends of the active sub-signals ƒl(t). The trends are computed by using θ=0 as an input to Pƒ,nsƒ(t;θ,a*), where a* is the adjusted desired scale parameter.
Next, in step S690, the processor 110 generates analysis data comprising one or more attributes of the recovered active sub-signals.
In addition to the STFT-based sub-signal recovery method, a Signal Separation Operator (SSO)-based sub-signal recovery method is provided by a further embodiment described below with
Referring to
Specifically, referring to
Next, in step S712, the processor 110 performs the SSO on the normalized B-spline basis functions Nt,n,k(t) to obtain basis functions Bt,n,ksso(t;θ,a).
Next, in step S713, the processor 110 computes one or more first SSBEs Cn,j(t;θ,a) according to corresponding predetermined coefficients bk,j and the basis functions Bt,n,ksso(t;θ,a) by a linear combination. For each integer j, the jth SSBE is denoted by Cn,j(t;θ,a). The summation of the linear combination is over k.
Next, in step S714, the processor 110 performs a first analog to digital (A/D) conversion on the first SSBEs to obtain one or more second SSBEs Cn,j(kα;mβ,nγ). Next, in step S715, the processor 110 generates the lookup table by the second SSBEs Cn,j(kα;mβ,nγ). Where, k, m, n denotes integers (just numbers for matching the sampling rate; α, β, γ denote the sampling rates.
Referring again to
Referring to
Given the jth discrete data sample ƒ(tj) of the blind-source ƒ(t), the processor 110 formulates the finite sum by the equation (11) below.
P
ƒ,n
sso(t;θ,a):=Σjƒt
For each time instant t, thresholding a summation |Pƒ,nsso(t;θ,a)|, by adjusting the scale parameter a to some desired a* and tuning the thresholding parameter gradually to extract (the largest number) Lt data clusters in the time-frequency domain, where Lt≤L is the number of active sub-signals of the composite signal at the time instant t (Step S724).
Next, in step S725, the processor 110 computes one or more optimal frequency parameters (θl=θl*(t)) by determining the maximum of each of the data clusters.
Next, in step S726, the processor 110 computes the active sub-signals (fl(t)) and one or more amplitudes (|Al(t)|) of the active sub-signals according to optimal frequency parameters (θl*(t)), an adjusted scale parameter a* and the constructed Lookup table of the second SSBEs. For each time instant t, the optimal frequency parameter θl*(t) is used as input to the threshold-ed summation |Pƒ,nsso(t;θl*(t),a*)| to yield the active sub-signals ƒl(t) and its amplitude (|Al(t)|) by computing real part and absolute value of 2×Pƒ,nsso(t;θl*(t),a*), respectively, for each l=1, . . . , L.
Next, in step S727, the processor 110 computes one or more instantaneous frequencies (IF) φ′l(t) and one or more trends of the active sub-signals ƒl(t). The trends are computed by using θ=0 as an input to Pƒ,nsso(t;θ,a*), where a* is the adjusted desired scale parameter.
Referring again to
The functional units of the apparatuses and the methods in accordance to embodiments disclosed herein may be implemented using computing devices, computer processors, or electronic circuitries including but not limited to application specific integrated circuits (ASIC), field programmable gate arrays (FPGA), and other programmable logic devices configured or programmed according to the teachings of the present disclosure. Computer instructions or software codes running in the computing devices, computer processors, or programmable logic devices can readily be prepared by practitioners skilled in the software or electronic art based on the teachings of the present disclosure.
All or portions of the methods in accordance to the embodiments may be executed in one or more computing devices including server computers, personal computers, laptop computers, mobile computing devices such as smartphones and tablet computers.
The embodiments include computer storage media having computer instructions or software codes stored therein which can be used to program computers or microprocessors to perform any of the processes of the present invention. The storage media can include, but are not limited to, floppy disks, optical discs, Blu-ray Disc, DVD, CD-ROMs, and magneto-optical disks, ROMs, RAMs, flash memory devices, or any type of media or devices suitable for storing instructions, codes, and/or data.
Each of the functional units in accordance to various embodiments also may be implemented in distributed computing environments and/or Cloud computing environments, wherein the whole or portions of machine instructions are executed in distributed fashion by one or more processing devices interconnected by a communication network, such as an intranet, Wide Area Network (WAN), Local Area Network (LAN), the Internet, and other forms of data transmission medium. The communication networks established in the various embodiments support various communication protocols such as, without limitation, Wi-Fi, the Global System for Mobile Communication (GSM) system, the Personal Handy-phone System (PHS), Code Division Multiple Access (CDMA) system, Worldwide Interoperability for Microwave Access (WiMAX) system, third-generation wireless communication technology (3G), fourth-generation wireless communication technology (4G), fifth-generation wireless communication technology (5G), Long-term Evolution technology (LTE), Bluetooth, and Ultra-Wideband (UWB).
The foregoing description of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations will be apparent to the practitioner skilled in the art.
The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, thereby enabling others skilled in the art to understand the invention for various embodiments and with various modifications that are suited to the particular use contemplated.