Method, Apparatus and System for Receiving WaveformDiverse Signals

0Associated
Cases 
0Associated
Defendants 
0Accused
Products 
0Forward
Citations 
0
Petitions 
2
Assignments
First Claim
1. A method for processing a response to an emitted signal, where the emitted signal comprises a sequence of N transmitted pulses, the method comprising:
 demodulating and sampling a response to the emitted signal to provide a plurality of baseband samples, where the response includes a component due to interaction of the emitted signal with a target;
for a plurality of times t,for each filter of a bank of N parallel filters, filtering the plurality of baseband samples to provide N filter outputs;
for one or more Doppler phase shifts ϕ
, computing a discrete Fourier transform of the N filter outputs to produce one or more Doppler components; and
analyzing the one or more Doppler components to determine at least one of a presence, range and speed of the target.
2 Assignments
0 Petitions
Accused Products
Abstract
A receiver method and apparatus provides a more efficient computation and application of optimal filters. Range and Doppler processing in the receiver are decoupled and, as a result, computational complexity required for both filter computation and filtering stages are significantly reduced. In one embodiment, a response to an emitted signal is demodulated and sampled to provide baseband samples. The response includes a component due to interaction of the emitted signal with a target, The baseband samples are filtered in a bank of N parallel range filters to provide N filter outputs for each of the baseband samples. For one or more Doppler phase shifts ϕ, a discrete Fourier transform of the N filter outputs is computed to produce Doppler components that may be analyzed to determine at least one of a presence, range and speed of the target.
0 Citations
No References
No References
19 Claims
 1. A method for processing a response to an emitted signal, where the emitted signal comprises a sequence of N transmitted pulses, the method comprising:
demodulating and sampling a response to the emitted signal to provide a plurality of baseband samples, where the response includes a component due to interaction of the emitted signal with a target; for a plurality of times t, for each filter of a bank of N parallel filters, filtering the plurality of baseband samples to provide N filter outputs; for one or more Doppler phase shifts ϕ
, computing a discrete Fourier transform of the N filter outputs to produce one or more Doppler components; andanalyzing the one or more Doppler components to determine at least one of a presence, range and speed of the target.  View Dependent Claims (2, 3, 4, 5, 6, 7)
 8. A method of comprising:
emitting a signal comprising a sequence of N transmitted pulses; demodulating and sampling a response to the emitted signal to provide a plurality of baseband samples, where the response includes a component due to interaction of the emitted signal with a target; for a plurality of times t, for each filter of a bank of N parallel filters, filtering the plurality of baseband samples to provide N filter outputs; for one or more Doppler phase shifts ϕ
, computing a discrete Fourier transform of the N filter outputs;identifying a time t_{0 }and Doppler phase shift ϕ
_{0 }for which the transformed output has the largest amplitude; anddetermining at least one of a presence, range and speed of the target from the identified time t_{0 }and the identified Doppler shift ϕ
_{0}. View Dependent Claims (9, 10, 11)
 12. An apparatus comprising:
a demodulation unit configured to; receive a response to an emitted signal, where the response comprises N response pulses each corresponding to a pulse of a sequence of N transmitted pulses, and where the response includes a component due to interaction of the transmitted pulses with a target; and demodulate and sample the received response to provide a plurality of baseband samples; a filter bank comprising N filters, each configured to receive the plurality of baseband samples and produce N filter outputs therefrom; a transform unit configured to compute a discrete Fourier transform of the N filter outputs to produce one or more Doppler components; and an analysis unit configured to monitor the one or more Doppler components and determine at least one of a presence, range and speed of the target therefrom.  View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
1 Specification
The invention described herein may be manufactured, used, and licensed by or for the Government of the United States for all governmental purposes without the payment of any royalty.
When communication sequences are encoded and embedded into radar emissions, the resulting radarembedded communication (REC) waveforms change from pulse to pulse both during and across coherent processing intervals (CPIs). The resulting radar emissions are termed ‘coding diverse’ or ‘waveform diverse’. Waveform diversity occurs whenever the radar waveform changes on a pulsetopulse basis, as in pulseagile or adaptive radar in addition to coding diverse REC. Matched filtering of these different waveforms leads to different sidelobe structures, giving rise to the range sidelobe modulation (RSM) of clutter. The clutter RSM (CRSM) induces residual clutter spread into the entire rangeDoppler response, and thus reduces target detection performance. Filtering approaches exist that maximize the signaltointerferenceplusnoiseratio (SINR) of pulse agile systems by joint rangeDoppler processing. However, direct implementation of the maximum SINR approach to waveform diverse radar emissions, such as transmitencoded REC systems, leads to prohibitive computational complexity.
Accordingly, there exists a need for a reduced complexity optimal receiver for use with pulse agile/waveform diverse radar systems—both pulsetopulse and CPItoCPI changing radar emissions.
The accompanying drawings provide visual representations which will be used to more fully describe various representative embodiments and can be used by those skilled in the art to better understand the representative embodiments disclosed and their inherent advantages. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the devices, systems, and methods described herein. In these drawings, like reference numerals may identify corresponding elements.
The various methods, systems, apparatuses, and devices described herein generally provide a radar receiver capable of optimal processing radar signals which possess waveform or coding diversity—both between pulses and between coherent processing intervals. The disclosed approach reduces computational requirements of the receiver through data rearrangement and the decoupling of range and Doppler processing.
While this disclosure is susceptible of being embodied in many different forms, there is shown in the drawings and will herein be described in detail specific embodiments, with the understanding that the present disclosure is to be considered as an example of the principles and not intended to be limited to the specific embodiments shown and described. In the description below, like reference numerals may be used to describe the same, similar or corresponding parts in the several views of the drawings.
In this document, relational terms such as first and second, top and bottom, 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 terms “comprises,” “comprising,” “includes,” “including,” “has,” “having,” or any other variations thereof, are intended to cover a nonexclusive 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 preceded by “comprises . . . a” does not, without more constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises the element.
Reference throughout this document to “one embodiment,” “certain embodiments,” “an embodiment,” “implementation(s),” “aspect(s),” or similar terms means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of such phrases or in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments without limitation.
The term “or” as used herein is to be interpreted as an inclusive or meaning any one or any combination. Therefore, “A, B or C” means “any of the following: A; B; C; A and B; A and C; B and C; A, B and C.” An exception to this definition will occur only when a combination of elements, functions, steps or acts are in some way inherently mutually exclusive. Also, grammatical conjunctions are intended to express any and all disjunctive and conjunctive combinations of conjoined clauses, sentences, words, and the like, unless otherwise stated or clear from the context. Thus, the term “or” should generally be understood to mean “and/or” and so forth.
All documents mentioned herein are hereby incorporated by reference in their entirety. References to items in the singular should be understood to include items in the plural, and vice versa, unless explicitly stated otherwise or clear from the text.
Recitation of ranges of values herein are not intended to be limiting, referring instead individually to any and all values falling within the range, unless otherwise indicated, and each separate value within such a range is incorporated into the specification as if it were individually recited herein. The words “about,” “approximately,” or the like, when accompanying a numerical value, are to be construed as indicating a deviation as would be appreciated by one of ordinary skill in the art to operate satisfactorily for an intended purpose. Ranges of values and/or numeric values are provided herein as examples only, and do not constitute a limitation on the scope of the described embodiments. The use of any and all examples, or exemplary language (“e.g.,” “such as,” or the like) provided herein, is intended merely to better illuminate the embodiments and does not pose a limitation on the scope of the embodiments. No language in the specification should be construed as indicating any unclaimed element as essential to the practice of the embodiments.
For simplicity and clarity of illustration, reference numerals may be repeated among the figures to indicate corresponding or analogous elements. Numerous details are set forth to provide an understanding of the embodiments described herein. The embodiments may be practiced without these details. In other instances, wellknown methods, procedures, and components have not been described in detail to avoid obscuring the embodiments described. The description is not to be considered as limited to the scope of the embodiments described herein.
In the following description, it is understood that terms such as “first,” “second,” “top,” “bottom,” “up,” “down,” “above,” “below,” and the like, are words of convenience and are not to be construed as limiting terms. Also, the terms apparatus and device may be used interchangeably in this text.
The radio spectrum is a fixed resource with an exponentially increasing demand from commercial communication applications. The resulting erosion of radio spectrum to meet this communication demand is creating additional strain on applications that already operate in congested and contested environments. As a result, ongoing research is focused on improving spectral efficiency (e.g. dynamic spectrum access) or developing methods to share spectrum between multiple functions (e.g. radar and communication). The notion of radar/communication spectrum sharing necessitates the use of some manner of waveform diversity through the exploitation of available time, frequency, coding, spatial, or polarization degreesoffreedom. Waveform diversity results, for example, when a single multifunction system with radar and communication capabilities uses distinct radar waveforms as communication symbols. As a result of this coding operation, the structure of the radar emission varies from pulse to pulse in each CPI and across CPIs.
The primary challenge with waveform diversity approaches is the presence of clutter range sidelobe modulation (CRSM), which is a sideeffect of matched filtering (i.e. pulse compression). Since each waveform with embedded communication coding is unique, the associated matched filter is also unique. Therefore, the pulse compression profile of each received waveform is likewise unique, resulting in different range sidelobe structures. Further, when Doppler processing is performed across a coherent processing interval (CPI) of the received echoes, the presence of CRSM induces a partial loss of coherency. This coherency loss results in a Dopplerindependent clutter interference floor in the rangeDoppler response, obscuring targets that would normally be detectable above the clutter.
To maintain acceptable radar performance, the impact of CRSM should be reduced, which can be achieved by a combination of REC waveform design (such as phaseattached radar/communications (PARC), for example) and advanced radar receiver processing techniques.
Two receive processing approaches exist to compensate for the CRSM effect. The first approach is to use mismatch filtering to force a common pulse compression response for the pulsetopulse varying REC waveforms. The joint optimization of the common pulse compression response is computationally feasible for only very low data rates (i.e. 1˜2 bits/pulse), which precludes their application to coding diversity REC approaches that are designed to achieve data rates on the order of the timebandwidth product (symbols) per pulse (e.g. PARC).
The second receive processing approach is to model the clutter return process and the noise process at the radar receiver as a single “colored” process and apply the ‘maximum signaltointerferenceplusnoiseratio’ (maximum SINR) solution for joint rangeDoppler processing in each CPI. The maximum SINR approach is optimal in SINR sense. An additional advantage to the maximum SINR approach, as compared to the mismatch filtering approach, is that pulsetopulse changes in the clutter can be incorporated into receive processing via the interferenceplusnoise covariance matrix.
When the set of waveforms used remains unchanged from CPI to CPI, as in the case of pulseagile radar for example, the optimal maximum SINR filters need be computed once, and may then be used in each CPI. This approach cannot be applied to waveform diversity REC systems since the CPItoCPI variations induced by the communication symbols requires the filters to be recomputed for each CPI, resulting in very high computational complexity.
One embodiment of the present disclosure is a receiver that implements a more efficient computation and application of optimal filters. This approach decouples the range and Doppler processing in the receiver and, as a result, it significantly reduces the implementation computational complexity in both filter computation and filtering stages.
In accordance with another embodiment of the disclosure, the coefficients of the range filters in filter bank 406 do not depend upon the Doppler shift. Thus, in each CPI, the filter coefficients need to be computed once, rather than for every Doppler shift. Rather, the Doppler compensated outputs 410 are provided by computing a Fourier transform of the range filter outputs in Fourier transform unit 408.
Receiver 400 is improved over previous receivers in that (a) Dopplerindependent range filter coefficients are computed efficiently by inverting a blockToeplitz covariance matrix of the interference, and (b) range and Doppler processing are decoupled. Together, these components provide a receiver that is capable of optimal (maximum signaltointerferenceplusnoise ratio (SINR)) processing of radar returns containing codes and/or symbols that vary from pulse to pulse and from CPI to CPI. Further, the receiver provides improved efficiency of processing even when the codes remain the same from CPI to CPI.
The Doppler compensated outputs 410 are passed to analysis unit 426 that is used to determine the presence or absence of a target and properties of the target such as range and relative velocity. This may be done, for example, by comparing amplitudes of the Doppler compensated outputs at various times. Various analysis techniques may be used without departing from the present disclosure. In one embodiment, analysis unit 426 compensates for the gains of the Doppler compensated outputs.
In a coding diversity REC system the radar waveform transmitted in each pulse is uniquely specified by the transmitted information sequence. As a new information sequence is transmitted in each pulse, the radar waveform changes from pulse to pulse in each CPI, and from CPI to CPI.
In general, the sampled complex baseband waveform of the n^{th }transmitted pulse is denoted as vector s_{n}=[s_{n,0 }s_{n,1 }. . . s_{n,M−1}]^{T }of M complex samples. The N consecutive pulses of a CPI may be stacked to form a single column vector
s=[s_{0}^{T}s_{1}^{T} . . . s_{N−1}^{T}]^{T} (1)
Since each of the N pulses is sampled M times, the vectors has N×M elements.
The response to the n^{th }pulse, after complex demodulation to remove the carrier signal, is a vector of M samples
x_{n}=√{square root over (P)}e^{jnϕ}s_{n}+c_{n}+z_{n } (2)
where √{square root over (P)} is the amplitude of a reflection, j=√{square root over (−1)}, is a Doppler phase shift (in radians), assuming pulses equally spaced in time, c_{n }is the clutter return due to the n^{th }emitted pulse, s_{n}, and z_{n }is a noise term. Together, the clutter return, noise and other similar quantities are referred to as interference.
The response from the N pulses in a coherent processing interval (CPI) can be arranged as a vector
x=[x_{0}^{T}x_{1}^{T} . . . x_{N−1}^{T}]^{T}. (3)
Again, each of the N pulses is sampled M times, so the vector has N×M elements.
Referring again to
where h_{n }are weight vectors applied to the inputs and correspond to the coefficients of the filters in filter bank 306.
In the absence of a reflection from a target, the response is just interference, i.e. a combination of clutter return and noise. The clutter return is dependent on the transmitted signal and so varies from pulse to pulse and from CPI to CPI. The interference can be minimized by minimizing the expected square output, E(y^{2}), with respect to the vector h. However, the components of h are constrained such that the response to a hypothetical moving target is undistorted. The constraint for unity gain can be written as
where e^{jnϕ} is Doppler phase factor due to movement of the target, the vector h=[h_{0}^{T}h_{1}^{T }. . . h_{N−1}^{T}]^{T }is a concatenation of the weight vectors, and
The matrix S has dimensions NM×N and is block diagonal. The output from the pulse compression filter at a particular time is
The optimal filter coefficients are found by minimizing the cost function
where the superposed star denotes a conjugate transpose.
This is minimized when
which gives
h^{T}=½(λ_{1}+λ_{2})v*S*R_{I,I}^{−1}, (9)
where
R_{I,I}=E(xx*)=R_{c,c}+σ_{z}^{2}I_{NM} (10)
is the covariance of the interference, i.e. the covariance of the response when no target is present. R_{c,c }is the covariance matrix for the clutter, σ_{x}^{2 }is the noise power and I_{NM }is the NM×NM identity matrix.
To satisfy the constraint,
This gain factor g (ϕ), which depends on the Doppler angle ϕ, may be applied at the output of the filter. In the sequel, the concatenation of range filters is defined as
h^{T}(ϕ)=v*S*R_{I,I}^{−1} (11)
and the final output y′(ϕ) is given by
y(ϕ)=v*(ϕ)S*R_{I,I}^{−1}x
y′(ϕ)=g(ϕ)y(ϕ). (12)
The output value y(ϕ) compensates for motion with Doppler shift ϕ, and is termed a ‘Doppler compensated output’. In the description below, the gain factor is omitted, but may be applied at the output, if desired, to facilitate comparison of outputs for different values of ϕ.
In a direct implementation, as shown in
A different approach is taken in the receiver shown in
The rows ĥ_{n}^{T }provide the coefficients for the N range filters in
The Doppler factors, e^{−jnϕ} in equation (13) are introduced in the discrete Fourier transform unit 408 in
The interference is a sum of the clutter response and noise. The clutter response results from scattering of the radar pulse by objects or surfaces other than the intended targets. The clutter response at time sample i in the response to the n^{th }pulse is modeled as
for i=0,1, . . . ,M−1 and n=0,1, . . . ,N−1, where the clutter coefficients γ for a given pulse are modeled as a complexvalued white random sequence. The pulse crosscorrelation function of coefficients in pulse n and coefficients in pulse m is
E(γ_{n,i}
where R_{ΓnΓ}(n−m) is element n−m of the pulse crosscorrelation function of the clutter coefficients, γ, and where δ is the Kronecker delta (δ_{nm}=1 when n=m, δ_{nm}=0 otherwise). It is assumed that the statistics of the clutter process R_{Γ,Γ}(n−m) are known at the radar receiver. Likewise, the variance of the complexvalued white additive Gaussian noise samples, denoted as σ_{z}^{2}, is known at the radar receiver.
When the radar waveform changes from pulse to pulse, but the emitted sequence of pulses does not change from CPI to CPI, the inverse of the interferenceplusnoise covariance matrix and the respective Dopplerspecific receive filters are computed once, stored, and reused in each CPI. However, with radarembedded communication systems and other adaptive systems, the radar waveforms not only change from pulse to pulse within a CPI, but also change from CPI to CPI since information and hence communication sequences are random by nature. In other words, R_{I,I}^{−1 }is a random matrix that changes independently from CPI to CPI. In this case, the resulting computational complexity per CPI is very high. In particular, the number of operations required to compute the inverse matrix R_{I,I}^{−1 }is O(N^{3}M^{3}).
The correlation of clutter samples is
Hence, for a given n and m, the clutter correlation values depend only on the difference value i−j.
Using this property, an aspect of the disclosure recognizes that the elements of the interference covariance matrix R_{I,I }be reordered to have a block Toeplitz data structure. It is known that efficient, iterative, methods may be used to compute the inverse of such as matrix. For a reordering matrix that satisfies D^{T}D=DD^{T}=I, the interference covariance matrix can be written as
R_{I,I}=D^{T}DR_{I,I}D^{T}D=D^{T}{tilde over (R)}_{I,I}D (19)
where
{tilde over (R)}_{I,I}=DR_{I,I}D^{T},
R_{I,I}^{−1}=D^{T}R_{I,I}^{−1}D. (20)
A reordering matrix D is defined as the NM×NM matrix that reorders the vector c=[c_{0}^{T}c_{1}^{T }. . . c_{N−1}^{T}]^{T }to a vector {tilde over (c)}=Dc =[r_{0}^{T}r_{1}^{T }. . . r_{M−1}^{T}]^{T}. Thus, [c]_{i+Mj}=c_{ij}=[{tilde over (c)}]_{j+Ni }The reordering matrix has components D_{(j+Ni)}_{(k+Ml)}=δ_{ik}δ_{jl }and satisfies D^{T}D=DD^{T}=I, where δ is the Kronecker delta. In
The clutter covariance matrix is given by
where E{·} denotes an expected value.
The covariance matrix of the reordered clutter is given by
in which the block in the i^{th }row and j^{th }column is given by
[R_{c,c}]_{i,j}=E[r_{i}r_{j}*]. (24)
In component form,
[r_{i}r_{j}]_{nm}=r_{i,n}
The covariance matrix of the clutter is therefore a block Toeplitz matrix. The covariance matrix of the noise is σ_{z}^{2}I_{N×M }where I_{N×M }is the identity matrix of size N×M so the covariance matrix of the interference also has a block Toeplitz structure with blocks
[{tilde over (R)}_{c,c}]_{i,j}=R_{c,c}(i−J), (26)
where {tilde over (R)}_{c,c}(i−j)=[{tilde over (R)}_{c,c}]_{i,j}. The interference matrix is also block Toeplitz with block i,j given by
[{tilde over (R)}_{I,I}]_{i,j}={tilde over (R)}_{c,c}(i−j)+δ_{ij}I_{N}σ_{z}^{2}. (27)
The coefficient matrix H of the range filters in
H=S*D^{T}{tilde over (R)}_{I,I}^{−1}D. (28)
The number of operations required to compute the inverse matrix {tilde over (R)}_{I,I}^{−1 }is O(N^{3}M^{2}).
Equivalently, the equation
(h^{T}D^{T}){tilde over (R)}_{I,I}=(S*D^{T}) (29)
can be solved for h using a fast algorithm.
to give final outputs for Doppler shift ϕ. A fast Fourier transform may be used to provide outputs for multiple Doppler shifts. This completes the processing for one CPI. If signals received in another CPI are to be processed, as depicted by the positive branch from decision block 618, flow returns to block 606. Otherwise, as depicted by the negative branch from decision block 618, the method terminates at block 620.
The filter matrix H may be partitioned, as shown in
where ĥ_{n,m}^{T }is the block in row n and column m of the matrix 700.
Receiver Processing Requirement
For comparison of processing efficiency, the number of computations in one coherent processing interval (CPI) is compared for a direct approach and the disclosed approach. In each pulse repetition interval (PRI) the radar transmits a pulse of duration M samples and then switches to receive mode and records all received samples until the next PRI. In each PRI approximately L=N_{r}*B/PRF samples are recorded where B is the bandwidth and PRF is the pulse repetition frequency.
The results may be displayed as K×L image, with Doppler values on one axis and time (sample) values on the other axis.

 N=number of pulses in CPI (typically between 16 and 256).
 K=number of Doppler shifts (typically 2 or 4 times N).
 M=number of samples in each pulse=filter length (typically between 32 and 1024).
 L=number of received samples to be filtered in each PRI (typically 50 to 100 times M).
Computation of the inverse of the interferenceplusnoise covariance matrix requires approximately N^{3}×M^{2 }operations (such as multiplications or multiplyaccumulates). In comparison, a direct approach requires N^{3}×M^{3 }operations, which is a factor of M more than the disclosed approach.
Computation of the filter coefficients from the inverse matrix uses (N×M)^{2 }complex operations. In comparison, the direct approach uses K×(N×M)^{2 }complex operations.
The filter matrix H contains N^{2 }filters of length M so range filtering requires N^{2}×M×L operations in direct form. The produces N output vectors of length L. However, the filtering operation may be performed using a Fast Fourier transform. Three transforms are required, one for the data, one for the filter coefficients and one for the inverse transform. The transforms are length L+M. In addition, L+M multiplications are required for the frequency domain filter. In many applications, M is small compared to L and the total number of complex operations is approximately N^{2}×(3L×log_{2}(L)+L). In comparison, the direct approach uses N×K×(3L×log_{2}(L)) complex operations.
The FFT stage for Doppler processing requires approximately L×K log_{2}(K), which is typically much less than the range filtering.
The number of operations for each stage of the processing is listed in TABLE 1, below.
TABLE 2 lists the number of complex operations for each stage for an implementation with N=32 pulses, M=32 samples, K=4N=128 shifts, and L=100M=3200 samples.
The disclosed implementation has approximately 10% of the processing requirement of the direct approach in this example. All stages of the disclosed implementation require fewer operations.
TABLE 3 lists the number of complex operations for each stage for an implementation with N=64 pulses, M=64 samples, K=4N=256 shifts, and L=100M=6400 samples.
The disclosed implementation has approximately 3% of the processing requirement of the direct implementation in this example. Again, all stages of the disclosed implementation require fewer operations.
The above systems, devices, methods, processes, and the like may be realized in hardware, software, or any combination of these suitable for a particular application. The hardware may include a generalpurpose computer and/or dedicated computing device. This includes realization in one or more microprocessors, microcontrollers, embedded microcontrollers, programmable digital signal processors or other programmable devices or processing circuitry, along with internal and/or external memory. This may also, or instead, include one or more application specific integrated circuits, programmable gate arrays, programmable array logic components, or any other device or devices that may be configured to process electronic signals. It will further be appreciated that a realization of the processes or devices described above may include computerexecutable code created using a structured programming language such as C, an object oriented programming language such as C++, or any other highlevel or lowlevel programming language (including assembly languages, hardware description languages, and database programming languages and technologies) that may be stored, compiled, or executed to run on one of the above devices, as well as heterogeneous combinations of processors, processor architectures, or combinations of different hardware and software. In another implementation, the methods may be embodied in systems that perform the steps thereof, and may be distributed across devices in a number of ways. At the same time, processing may be distributed across devices such as the various systems described above, or all of the functionality may be integrated into a dedicated, standalone device or other hardware. In another implementation, means for performing the steps associated with the processes described above may include any of the hardware and/or software described above. All such permutations and combinations are intended to fall within the scope of the present disclosure.
Embodiments disclosed herein may include computer program products comprising computerexecutable code or computerusable code that, when executing on one or more computing devices, performs any and/or all of the steps thereof. The code may be stored in a nontransitory fashion in a computer memory, which may be a memory from which the program executes (such as randomaccess memory associated with a processor), or a storage device such as a disk drive, flash memory or any other optical, electromagnetic, magnetic, infrared or other device or combination of devices. In another implementation, any of the systems and methods described above may be embodied in any suitable transmission or propagation medium carrying computerexecutable code and/or any inputs or outputs from same.
It will be appreciated that the devices, systems, and methods described above are set forth by way of example and not of limitation. Absent an explicit indication to the contrary, the disclosed steps may be modified, supplemented, omitted, and/or reordered without departing from the scope of this disclosure. Numerous variations, additions, omissions, and other modifications will be apparent to one of ordinary skill in the art. In addition, the order or presentation of method steps in the description and drawings above is not intended to require this order of performing the recited steps unless a particular order is expressly required or otherwise clear from the context.
The method steps of the implementations described herein are intended to include any suitable method of causing such method steps to be performed, consistent with the patentability of the following claims, unless a different meaning is expressly provided or otherwise clear from the context. So, for example performing the step of X includes any suitable method for causing another party such as a remote user, a remote processing resource (e.g., a server or cloud computer) or a machine to perform the step of X. Similarly, performing steps X, Y, and Z may include any method of directing or controlling any combination of such other individuals or resources to perform steps X, Y, and Z to obtain the benefit of such steps. Thus, method steps of the implementations described herein are intended to include any suitable method of causing one or more other parties or entities to perform the steps, consistent with the patentability of the following claims, unless a different meaning is expressly provided or otherwise clear from the context. Such parties or entities need not be under the direction or control of any other party or entity, and need not be located within a particular jurisdiction.
It should further be appreciated that the methods above are provided by way of example. Absent an explicit indication to the contrary, the disclosed steps may be modified, supplemented, omitted, and/or reordered without departing from the scope of this disclosure.
It will be appreciated that the methods and systems described above are set forth by way of example and not of limitation. Numerous variations, additions, omissions, and other modifications will be apparent to one of ordinary skill in the art. In addition, the order or presentation of method steps in the description and drawings above is not intended to require this order of performing the recited steps unless a particular order is expressly required or otherwise clear from the context. Thus, while particular embodiments have been shown and described, it will be apparent to those skilled in the art that various changes and modifications in form and details may be made therein without departing from the scope of this disclosure and are intended to form a part of the disclosure as defined by the following claims, which are to be interpreted in the broadest sense allowable by law.
The various representative embodiments, which have been described in detail herein, have been presented by way of example and not by way of limitation. It will be understood by those skilled in the art that various changes may be made in the form and details of the described embodiments resulting in equivalent embodiments that remain within the scope of the appended claims.