Lighter-than-air (LTA) vehicles are being deployed for many different types of missions and purposes, including providing data connectivity (e.g., broadband and other wireless services), weather observations, Earth observations, cargo transport, and more. Different missions entail different objectives, including different expected vehicle lifetimes, altitude ranges, climates traveled. Conventional methods for launch configurations of LTA vehicles are inefficient, necessarily making conservative assumptions about thermal dynamics and altitude ranges due to difficulties in accurately modeling thermal properties, as well as gas fill amounts and other characteristics of LTA vehicles. Often conventional launch configurations assume one set of launch configurations will work sufficiently for all LTA vehicles or same-type vehicles, without regard to differences in their mission or objectives.
Further, in conventional aerospace, the desirable amount of ballast to provide at launch is imprecisely estimated, and ballast dropping for added flight control typically is manually controlled by pilots or flight engineers or based on a fixed schedule, which may not be optimal under varied conditions.
Thus, there is a need for LTA vehicle launch configuration and in-flight optimization.
The present disclosure provides techniques for LTA vehicle launch configuration and in-flight optimization. A method for optimizing for an objective of an LTA vehicle launch may include receiving a desired objective; receiving, by a fill and ballast tool, one or more known parameters of the LTA vehicle, the one or more known parameters comprising at least a pressure threshold; performing, by the fill and ballast tool, a plurality of probabilistic calculations based on the desired objective and the one or more known parameters, the plurality of probabilistic calculations configured to model one or more setup parameters and to output a plurality of probabilities for each of the one or more setup parameters, the output indicating the plurality of probabilities that a plurality of simulated vehicles achieved the desired objective; and selecting, by the fill and ballast tool, a setup parameter value based on a high probability within the plurality of probabilities. In some examples, the method also may include generating a frequency plot for the desired objective, the frequency plot providing a visual representation of the plurality of probabilities, including an indication of the high probability. In some examples, the one or more setup parameters further comprises a lift gas fill amount and the frequency plot shows the plurality of probabilities related to the lift gas fill amount. In some examples, the one or more setup parameters further comprises an optimal ballast amount and the frequency plot shows the plurality of probabilities related to the optimal ballast amount. In some examples, the one or more setup parameters further comprises a launch ballast amount configured to achieve a desired free lift during ascent. In some examples, the method may further include generating an altitude range chart, wherein the one or more setup parameters comprises one or both of an initial gas fill amount and an initial ballast amount, the altitude range chart indicating a ballast drop lift gas range within which an amount of ballast may be dropped without exceeding a pressure threshold. In some examples, the plurality of probabilistic calculations comprises a Monte Carlo simulation. In some examples, the desired objective comprises an altitude range. In some examples, the desired objective comprises a vehicle lifetime expectancy. In some examples, the pressure threshold comprises a bursting pressure threshold. In some examples, the pressure threshold comprises a zero pressure threshold. In some examples, the one or more known parameters comprises a gas temperature generated by a thermal model. In some examples, the one or more known parameters comprises a pressure generated by a physics model. In some examples, the one or more known parameters comprises a system mass generated by a physics model, the system mass comprising a dry system mass.
A distributed computing system for achieving an objective of an LTA vehicle launch may include one or more computers and one or more storage devices, the one or more storage devices storing instructions that when executed cause the one or more computers to implement processors configured to: receive a desired objective; receive, by a fill and ballast tool, one or more known parameters of the LTA vehicle, the one or more known parameters comprising at least a pressure threshold; perform, by the fill and ballast tool, a plurality of probabilistic calculations based on the desired objective and the one or more known parameters, the plurality of probabilistic calculations configured to model one or more setup parameters and to output a plurality of probabilities for each of the one or more setup parameters, the output indicating the plurality of probabilities that a plurality of simulated vehicles achieved the desired objective; and select, by the fill and ballast tool, a setup parameter value based on a high probability within the plurality of probabilities. In some examples, the one or more storage devices store further instructions that when executed cause the one or more computers to implement processors configured to: generate a frequency plot for the desired objective, the frequency plot providing a visual representation of the plurality of probabilities, including an indication of the high probability. In some examples, the one or more storage devices store further instructions that when executed cause the one or more computers to implement processors configured to: generate an altitude range chart, wherein the one or more setup parameters comprises one or both of an initial gas fill amount and an initial ballast amount, the altitude range chart indicating a ballast drop lift gas range within which an amount of ballast may be dropped without exceeding a pressure threshold.
An LTA vehicle launch configuration system may include: one or more computers and one or more storage devices, the one or more storage devices storing instructions that when executed cause the one or more computers to implement: a thermal model configured to calculate a gas temperature; a physics model configured to model physics of the LTA vehicle, including at least one of a superpressure, an amount of lift gas and air, ambient pressure, a dry system mass, a volume, a molar mass of lift gas, and a molar mass of air; and a fill and ballast tool comprising: an altitude range estimator configured to estimate an altitude range, a gas-air estimator configured to estimate a gas and air amount, and a pre-flight ballast model configured to determine an optimal ballast amount with which to launch the LTA vehicle. In some examples, the altitude range estimator and gas-air estimator are configured to perform a plurality of probabilistic calculations. In some examples, the plurality of probabilistic calculations comprises a Monte Carlo simulation. In some examples, the results of the plurality of probabilistic calculations are represented visually in a frequency plot.
The figures depict various example embodiments of the present disclosure for purposes of illustration only. One of ordinary skill in the art will readily recognize from the following discussion that other example embodiments based on alternative structures and methods may be implemented without departing from the principles of this disclosure, and which are encompassed within the scope of this disclosure.
The Figures and the following description describe certain embodiments by way of illustration only. One of ordinary skill in the art will readily recognize from the following description that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles described herein. Reference will now be made in detail to several embodiments, examples of which are illustrated in the accompanying figures.
The above and other needs are met by the disclosed methods, a non-transitory computer-readable storage medium storing executable code, and systems for dispatching fleets of aircraft by a fleet management and flight planning system. The terms “aerial vehicle” and “aircraft” are used interchangeably herein to refer to any type of vehicle capable of aerial movement, including, without limitation, High Altitude Platforms (HAPs), High Altitude Long Endurance (HALE) aircraft, unmanned aerial vehicles (UAVs), passive lighter than air vehicles (e.g., floating stratospheric balloons, other floating or wind-driven vehicles), powered lighter than air vehicles (e.g., balloons and airships with some propulsion capabilities), fixed-wing vehicles (e.g., drones, rigid kites, gliders), various types of satellites, and other high altitude aerial vehicles.
The invention is directed to techniques for determining setup (i.e., launch) parameters (e.g., gas fill and ballast amount) for lighter-than-air (LTA) vehicles and managing in-flight parameters (e.g., ballast dropping) throughout said LTA vehicle's lifetime to achieve one or more objectives (e.g., maximizing an LTA vehicle's estimated lifespan, maximizing an LTA vehicle's estimated lifespan traveling within a region or along a flight path, maximizing altitude range for a given lifetime of an LTA vehicle, other objectives and combinations thereof). In an example, a lifetime for an LTA vehicle (e.g., superpressure balloon or aerostat) is a length of time (e.g., in days, weeks, months or years) that the LTA vehicle can maintain a positive superpressure (e.g., to maintain altitude and steering ability). The techniques described herein may be used to optimize (e.g., maximize) a lifetime for the LTA vehicle. The terms “lifespan” and “lifetime” are used interchangeably herein to mean an amount of time between a launch and a landing during which an LTA vehicle may have a full set of, or substantial, mission capabilities (e.g., can perform all or most or a threshold amount of missions for said vehicle type, which in some cases may include the full amount of time between the launch and the landing, and also may be related to its ability to access most or all of a steering range (e.g., between a bursting pressure threshold and a zero pressure threshold, which may be set to include a buffer below an actual bursting pressure and above an actual zero pressure)). In another example, these techniques may be used to optimize a steering range for the LTA vehicle (e.g., by tuning an amount of lift gas fill at and during launch, amount of ballast, ballast drop amount and timing, and other parameters). In still another example, a combination of objectives (e.g., lifespan and steering range) are optimized, for example, by determining an amount of lift gas to both achieve a desired lifespan estimate given expected (i.e., estimated) leak rates and maintain an acceptable superpressure (i.e., between a burst pressure threshold and zero pressure threshold) at any altitude within a desired steering range. Ballast may be used to improve probabilities and thresholds for desired objectives.
An LTA vehicle design system may include a thermal model configured to calculate a gas temperature Tgas (e.g., expected gas temperature based on prior simulations, gas temperature range based on an expected flight path of the vehicle, a function of ambient temperature (Tamb) and supertemperature (ΔT)), a physics model configured to model physics of the LTA vehicle (e.g., determining one or more of a superpressure (ΔP), an amount (i.e., in moles) of lift gas (ngas) and air (nair), ambient pressure (Pamb), dry system mass (msys), volume (V), molar mass of lift gas (Mgas), and molar mass of air (Mair) based on inputs of the other variables, known physical constants, and using the ideal gas law equation and the float equation), and one or more simulation modules configured to model parameters of an LTA vehicle design and launch configuration (e.g., altitude range, gas fill, system mass, total ballast). Lift gas may comprise helium, hydrogen, or any other gas with similar lighter-than-air lift characteristics. In an example, a gas fill estimation module may calculate a gas amount (ngas) and air amount (nair) for a balloon (i.e., comprising an outer envelope and a ballonet) or aerostat hull fill. The output ngas and nair, along with other characteristics of the LTA vehicle, may be provided as input to a gas leak estimation module (i.e., a Kalman filter or extended Kalman filter) to estimate a leak rate.
In some examples, the above-described system may be used to model aspects of an LTA vehicle's launch configuration (i.e., pre-launch setup) to achieve an objective given various known parameters, including a volume (V) (e.g., in a superpressure balloon envelope, aerostat hull, comprising a ballonet or reverse ballonet configuration) available for lift gas fill, predetermined thresholds for superpressure (ΔP) (e.g., bursting pressure threshold, zero pressure threshold), a mass of the system (i.e., mass of the LTA vehicle, including its balloon or hull, ballast, and payload, with or without lift gas and air), a gas leak rate (i.e., moles per day), a minimum and/or maximum altitude range, and a minimum and/or maximum launch ascent rate (i.e. desired free-lift range). Setup parameters (e.g., an ngas fill amount, a ballast amount at launch) at a range of values may be modeled to determine the parameter value that results in the highest probability (or at least a high threshold probability) of an LTA vehicle achieving the objective or combination of objectives.
In some examples, such modeling may be accomplished using probabilistic computational algorithms or techniques (e.g., Monte Carlo simulations, ensemble of simulations (e.g., randomized Monte Carlo trial, fixed benchmark of starting conditions representative of an environment), an analytic optimization approach (e.g., a worksheet implementing a set of equations given a set of inputs)). In an example, a Monte Carlo comprising a plurality of simulations may be run to calculate various parameters about an LTA vehicle given an input parameter. Given values for one or more of the parameters above, a Monte Carlo simulation may be configured to output frequency plots for desired objectives (e.g., optimized altitude range, vehicle lifetime expectancy, ability to fly in an expected temperature range for a given amount of time) based on a given set of setup parameters (e.g., ngas fill, total ballast). A plurality of Monte Carlos simulations may be run for different combinations of setup parameters to optimize for a desired objective or combination of objectives. In an example, a frequency plot output by a Monte Carlo may comprise the probability of an LTA vehicle exceeding a burst pressure threshold or falling below a zero-pressure threshold at a plurality of (or all) altitudes within a desired altitude range. A sweep of setup parameters, comprising a combinatorial set of starting ngas and ballast amounts, may be used as an input into the Monte Carlo, and a Monte Carlo may be run for each ngas and ballast combination. The stochastic parameters in the Monte Carlo are the various unknown quantities sampled from modeled distributions (e.g. leak rate, temperature, IR and ambient pressures expected to be encountered during a flight (i.e., in view of given flight path trajectories, weather data over several historic years for said given flight path trajectories, and other data)). Such Monte Carlos may provide frequency plots over ranges of ballast and ngas (e.g.,
Using the same or similar modeling techniques and optimized setup parameters, in-flight parameters also may be dynamically optimized (e.g., ballast drop amount and timing). In an example, ballast drop amount and timing can be automated to ensure optimized steering range for a lifetime of an LTA vehicle. Steering range depends on vehicle mass and remaining ngas, which begins to decrease (i.e., primarily from leakage) after vehicle launch. Estimates of remaining ngas (e.g., based on sensor measurements of ambient pressure, superpressure, gas temperature, etc.) can be noisy, and ballast cannot be reclaimed once dropped, so an automated ballast dropping system may be configured to drop ballast only after a convergence criterion for remaining ngas is met (e.g., convergence of modeled and estimated remaining ngas). In some examples, a shift in overall target ballast amount by a predetermined amount (e.g., 1 kg, 2 kg, 3 kg, or more, less or between) may be implemented to further avoid premature dropping of ballast. The predetermined amount may be determined based on statistical analysis of simulated and/or actual historical noise and oscillation data of remaining ngas estimates.
In some examples, a launch ballast also may be provided at launch to slow down ascent rates during launch and to achieve a target free lift or target ascent rate. Once the LTA vehicle reaches float, this launch ballast may be discarded, and the remaining ballast managed (i.e., dropped) according to methods described herein.
Connection 104a may structurally, electrically, and communicatively, connect balloon 101a and/or ACS 103a to various components comprising payload 108a. In some examples, connection 104a may provide two-way communication and electrical connections, and even two-way power connections. Connection 104a may include a joint 105a, configured to allow the portion above joint 105a to pivot about one or more axes (e.g., allowing either balloon 101a or payload 108a to tilt and turn). Actuation module 106a may provide a means to actively turn payload 108a for various purposes, such as improved aerodynamics, facing or tilting solar panel(s) 109a advantageously, directing payload 108a and propulsion units (e.g., propellers 107 in
Payload 108a may include solar panel(s) 109a, avionics chassis 110a, broadband communications unit(s) 111a, and terminal(s) 112a. Solar panel(s) 109a may be configured to capture solar energy to be provided to a battery or other energy storage unit, for example, housed within avionics chassis 110a. Avionics chassis 110a also may house a flight computer (e.g., computing device 301, as described herein), a transponder, along with other control and communications infrastructure (e.g., a controller comprising another computing device and/or logic circuit configured to control aerial vehicle 120a). Communications unit(s) 111a may include hardware to provide wireless network access (e.g., LTE, fixed wireless broadband via 5G, Internet of Things (IoT) network, free space optical network or other broadband networks). Terminal(s) 112a may comprise one or more parabolic reflectors (e.g., dishes) coupled to an antenna and a gimbal or pivot mechanism (e.g., including an actuator comprising a motor). Terminal(s) 112(a) may be configured to receive or transmit radio waves to beam data long distances (e.g., using the millimeter wave spectrum or higher frequency radio signals). In some examples, terminal(s) 112a may have very high bandwidth capabilities. Terminal(s) 112a also may be configured to have a large range of pivot motion for precise pointing performance. Terminal(s) 112a also may be made of lightweight materials.
In other examples, payload 108a may include fewer or more components, including propellers 107 as shown in
Ground station 114 may include one or more server computing devices 115a-n, which in turn may comprise one or more computing devices (e.g., computing device 201 in
As shown in
Computing device 201 also may include a memory 202. Memory 202 may comprise a storage system configured to store a database 214 and an application 216. Application 216 may include instructions which, when executed by a processor 204, cause computing device 201 to perform various steps and/or functions, as described herein. Application 216 further includes instructions for generating a user interface 218 (e.g., graphical user interface (GUI)). Database 214 may store various algorithms and/or data, including neural networks (e.g., encoding flight policies, as described herein) and data regarding wind patterns, weather forecasts, past and present locations of aerial vehicles (e.g., aerial vehicles 120a-b), sensor data, map information, air traffic information, among other types of data. Memory 202 may include any non-transitory computer-readable storage medium for storing data and/or software that is executable by processor 204, and/or any other medium which may be used to store information that may be accessed by processor 204 to control the operation of computing device 201.
Computing device 201 may further include a display 206, a network interface 208, an input device 210, and/or an output module 212. Display 206 may be any display device by means of which computing device 201 may output and/or display data. Network interface 208 may be configured to connect to a network using any of the wired and wireless short range communication protocols described above, as well as a cellular data network, a satellite network, free space optical network and/or the Internet. Input device 210 may be a mouse, keyboard, touch screen, voice interface, and/or any or other hand-held controller or device or interface by means of which a user may interact with computing device 201. Output module 212 may be a bus, port, and/or other interface by means of which computing device 201 may connect to and/or output data to other devices and/or peripherals.
In some examples computing device 201 may be located remote from an aerial vehicle (e.g., aerial vehicles 120a-b) and may communicate with and/or control the operations of an aerial vehicle, or its control infrastructure as may be housed in avionics chassis 110a-b, via a network. In one embodiment, computing device 201 is a data center or other control facility (e.g., configured to run a distributed computing system as described herein), and may communicate with a controller and/or flight computer housed in avionics chassis 110a-b via a network. As described herein, system 200, and particularly computing device 201, may be used for planning a flight path or course for an aerial vehicle based on wind and weather forecasts to move said aerial vehicle along a desired heading or within a desired radius of a target location. Various configurations of system 200 are envisioned, and various steps and/or functions of the processes described below may be shared among the various devices of system 200 or may be assigned to specific devices.
Physics model 306 may be configured to model physics of an LTA vehicle, including determining one or more of a superpressure (ΔP), an amount (i.e., in moles) of lift gas and air (ngas and nair), ambient pressure (Pamb), dry system mass (msys), volume ((V) (e.g., inside ballonet, envelope or hull), molar mass of lift gas (Mgas), and molar mass of air (Mair) based on inputs of the other variables, known physical constants, and using the ideal gas law equation and the float equation. Physics model 306 may be configured to output any one or more of these vehicle parameters given other known or pre-determined parameters (e.g., from a vehicle design, pre-flight vehicle setup, or from in-flight sensor data and upstream estimators).
Outputs (e.g., Tgas, ΔT, ΔP, V, nair, ngas, msys) of thermal model 304 and physics model 306 may be provided to one or more estimators in a fill and ballast tool 307, including altitude range estimator 308 and gas-air estimator 310. Altitude range estimator 308 and gas-air estimator 310 may use probabilistic computational algorithms or techniques (e.g., Monte Carlo simulations) to model (e.g., simulate or compute) an altitude range and gas and air amounts over the projected flight's lifetime, respectively. Altitude range estimator 308 may be configured to run a Monte Carlo comprising a plurality of simulations using one or more of the vehicle parameters from thermal model 304 and physics model 306. An output of altitude range estimator 308 may comprise a plurality of probabilities of flights of an LTA vehicle that may have one or more altitude ranges given the one or more vehicle parameters (e.g., given pressures, temperatures, lift gas fill amount, system mass). Similarly, gas-air estimator 310 may be configured to run a Monte Carlo comprising a plurality of simulations using one or more of the vehicle parameters as inputs (e.g., from thermal model 304 and/or physics model 306). An output of gas-air estimator 310 may comprise a plurality of probabilities of flights of an LTA vehicle that may have a gas amount and an air amount given said one or more vehicle parameters (e.g., given days in flight, lift gas fill amount, leak rates, temperatures, system mass, pressures). Altitude range estimator 308 and gas-air estimator 310 may also be used in-flight to estimate a flight's current altitude range and lift gas leak rate (e.g. using an Extended Kalman Filter), which can then be used to optimize the vehicle's in-flight ballast configuration. In some examples, the gas-air estimator 310 and physics model 306 may be combined into a physics estimator module (not shown).
Said pluralities of probabilities may be represented graphically (i.e., visually) in various types of frequency plots (e.g., histograms showing probabilities of a vehicle with given parameters exceeding or dropping below pressure thresholds, histograms showing probabilities of a vehicle with given parameters achieving altitude ranges), such as shown in
A frequency plot like frequency plot 500 may be generated for each of a range of vehicle parameters (e.g., a range of vehicle masses, a range of temperatures). A histogram of frequency plots also may be derived from a set of frequency plots for a range of vehicle parameters (e.g., to show median and range of superpressures at which there is an acceptable probability of avoiding zero pressure or bursting pressure thresholds.
In
As described above, each of frequency plots 500 and 510 represents results of simulations for a given vehicle mass. A set of simulations may be run for a range of vehicle masses, the results of which may be graphically represented in a histogram. In
Altitude ranges, gas amounts and air amounts may be used by pre-flight ballast model 312 to optimize for a ballast amount to launch a vehicle with, which may be used in a vehicle's pre-flight design, as well as by in-flight ballast model 314 to determine optimal ballast drop timing and amount. In an example, pre-flight ballast model 314 may receive as inputs one, or a combination, of a base mass (e.g., balloon envelope plus payload, vehicle system mass without ballast and gas fill, which differs from msys which may include ballast), a maximum ballast mass (i.e., as a limit for pre-flight ballast model 312, which may be limited in some examples by an amount of weight that may be supported by a connection holding a payload and ballast (e.g., connection 104a and 104b)), a ballast increment (e.g., 1.0 kg, 1.5 kg, 2.0 kg, 5.0 kg, or other predetermined or sampled increment), an expected leak rate (e.g., based on simulations and/or historical data for said vehicle type and characteristics), a desired lifetime (e.g., tens or hundreds of days, months, years), and a desired launch free lift percentage, among other inputs. Using such inputs, pre-flight ballast model 312 may be configured to output one, or a combination, of a confirmation of launch mass, a recommended optimal ballast amount (i.e., ballast mass in kg to be provided pre-flight), a recommended launch gas fill (i.e., for the balloon or hull envelope), a recommended launch ballast amount (i.e., to achieve a desired free lift during ascent, which may be dropped soon after an LTA vehicle reaches altitude or during ascent). In another example, fill and ballast tool 307 may receive as inputs one, or a combination, of an expected total mass (i.e., a base mass plus ballast and gas fill), a target lifetime, a target or expected gas leak rate (i.e., moles of gas lost per day), a target fixed launch gas fill, expected ballast amount (e.g., a range from zero to a total or maximum ballast amount). In this example, fill and ballast tool 307 may be configured to output one, or a combination, of a target or expected gas fill amount and one or more ballast amounts (e.g., a minimum target float ballast, a maximum target float ballast, a minimum total ballast). Other outputs may include an expected float pressure, an expected float altitude, an expected free lift (e.g., a function of the target launch gas fill and amount of ballast), and an estimated superpressure at one or more given altitudes (e.g., a minimum and/or maximum threshold altitude). In an example, a target gas fill amount may be determined based on a desired gas fill amount at an end of vehicle life (e.g., determined by Monte Carlo altitude range maximization, assuming zero ballast remaining) plus a target lifetime multiplied by a maximum expected gas leak rate. An optimal amount of ballast may be chosen to optimize an altitude range given the target gas fill value.
Results of a plurality of simulations performed by fill and ballast tool 307 according to a plurality of input combinations (e.g., with sample increments within a range of base masses and/or different sample ballast increments, along with other predetermined inputs) may be visualized in altitude range charts, such as charts 400 and 450 in
Altitude range chart 450 similarly shows altitude ranges for a vehicle with a given base mass (e.g., approximately 135 kilograms) and a given ballast increment (e.g., 5 kilograms), wherein pre-flight ballast model 312 outputs a recommended optimal ballast amount (e.g., 30 kilograms), a recommended launch gas fill 466 (e.g., approximately 7,200 moles of helium), and altitude ranges for the vehicle at a range of lift gas amounts. Lines 452-464 represent resulting altitude ranges for the vehicle from a total system mass comprising the given base mass plus the recommended optimal ballast amount (line 452) to the given base mass after all ballast has been dropped (line 462), and each ballast drop at the given ballast increment in between. Cliff 464 indicates a final pressure threshold and a maximum altitude range for the vehicle.
Returning to
While specific examples have been provided above, it is understood that the present invention can be applied with a wide variety of inputs, thresholds, ranges, and other factors, depending on the application. For example, the time frames and ranges provided above are illustrative, but one of ordinary skill in the art would understand that these time frames and ranges may be varied or even be dynamic and variable, depending on the implementation.
As those skilled in the art will understand, a number of variations may be made in the disclosed embodiments, all without departing from the scope of the invention, which is defined solely by the appended claims. It should be noted that although the features and elements are described in particular combinations, each feature or element can be used alone without other features and elements or in various combinations with or without other features and elements. The methods or flow charts provided may be implemented in a computer program, software, or firmware tangibly embodied in a computer-readable storage medium for execution by a general-purpose computer or processor.
Examples of computer-readable storage mediums include a read only memory (ROM), random-access memory (RAM), a register, cache memory, semiconductor memory devices, magnetic media such as internal hard disks and removable disks, magneto-optical media, and optical media such as CD-ROM disks.
Suitable processors include, by way of example, a general-purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) circuits, any other type of integrated circuit (IC), a state machine, or any combination of thereof.