Various audio devices such as headphones, earphones, and the like are used in numerous environments for various purposes, examples of which include entertainment purposes such as gaming or listening to music, productive purposes such as phone calls, and professional purposes such as aviation communications or sound studio monitoring, to name a few. Different environments and purposes may have different requirements for fidelity, noise isolation, noise reduction, voice pick-up, and the like. Various echo and noise cancellation and reduction systems and methods, and other processing systems and methods, may be included to improve accurate communication in providing a user's speech or voice output signal.
Some such systems and methods exhibit increased performance when the system or method has a reliable indication that a user of the device is actively speaking. For example, certain systems and methods may change various processing, such as filter coefficients, adaptation rates, reference signal selection, and the like, upon a reliable determination that the user is speaking. The enhanced performance of these systems and methods may allow the user's voice to be more clearly separated, or isolated, from other noises, in an output audio signal, further allowing enhanced applications such as voice communications and voice recognition, including voice recognition for communications, e.g., speech-to-text for short message service (SMS), i.e., texting, or virtual personal assistant (VPA) applications.
Accordingly, there exists a need for, and the instant application is directed to, reliable detection that a user is speaking, generally referred to herein as voice activity detection (VAD).
Aspects and examples are directed to audio systems and methods that pick-up speech of a user and reduce other acoustic components, such as background noise and other talkers, from one or more microphone signals to enhance the user's speech components over other acoustic components. More particularly, aspects and examples are directed to methods and systems for reliably detecting when the user is speaking, i.e., voice activity detection.
According to one aspect, a method of detecting speech activity of a user is provided and includes receiving a plurality of microphone signals, combining the plurality of microphone signals according to a first combination to produce a primary signal having enhanced response in the direction of the user's mouth, combining the plurality of microphone signals according to a second combination to produce a reference signal having reduced response in the direction of the user's mouth, adding the primary signal and the reference signal to produce a summation signal, subtracting one of the primary signal or the reference signal from the other of the primary signal or the reference signal to produce a difference signal, comparing the summation signal to the difference signal, and providing an output voice signal based upon the comparison.
In various examples, the first combination may be a minimum-variance distortionless response (MVDR) combination. The second combination may be a delay and subtract combination.
According to some examples, comparing the summation signal to the difference signal includes determining at least one of an energy, an amplitude, or an envelope of each of the summation signal and the difference signal and comparing the at least one of an energy, an amplitude, or envelope of the summation signal and the difference signal. Such a comparison may further include comparing at least one of a ratio or a difference to a threshold, or multiplying at least one of the energy, amplitude, or envelopes by a factor and comparing the factored energy, amplitude, or envelope to the other energy, amplitude, or envelope.
In various examples, comparing the summation signal to the difference signal comprises comparing the summation signal to the difference signal in a first frequency band and in a second frequency band, the second frequency band being different from the first frequency band. In certain examples the first frequency band may include frequencies in the range of 200-400 Hz and the second frequency band may include frequencies in the range of 500 Hz-700 Hz.
Some examples may include processing a voice signal with an adaptive filter and altering the adaptive filter based upon the comparison. Altering the adaptive filter may include changing coefficients of the adaptive filter, changing an adaptation rate, changing a step size, freezing the adaptation, or disabling the adaptive filter.
According to another aspect, an audio system is provided that includes a plurality of microphones and a controller coupled to the plurality of microphones. The controller is configured to receive a plurality of microphone signals from the plurality of microphones, combine the plurality of microphone signals according to a first combination to produce a primary signal having enhanced response in the direction of the user's mouth, combine the plurality of microphone signals according to a second combination to produce a reference signal having reduced response in the direction of the user's mouth, add the primary signal and the reference signal to produce a summation signal, subtract one of the primary signal or the reference signal from the other of the primary signal or the reference signal to produce a difference signal, compare the summation signal to the difference signal, and provide an output voice signal based upon the comparison.
In some examples, the first combination may be a minimum-variance distortionless response (MVDR) combination and the second combination may be a delay and subtract combination.
In various examples, comparing the summation signal to the difference signal includes determining at least one of an energy, an amplitude, or an envelope of each of the summation signal and the difference signal and comparing the at least one of an energy, an amplitude, or envelope of the summation signal and the difference signal.
In various examples, comparing the summation signal to the difference signal comprises comparing the summation signal to the difference signal in a first frequency band and in a second frequency band, the second frequency band being different from the first frequency band. For instance, in certain examples, the first frequency band may include frequencies in the range of 200-400 Hz and the second frequency band may include frequencies in the range of 500 Hz-700 Hz.
In some examples, providing the voice signal based upon the comparison may include processing the voice signal with an adaptive filter and altering the adaptive filter based upon the comparison. Altering the adaptive filter may include changing coefficients of the adaptive filter, changing an adaptation rate, changing a step size, freezing the adaptation, or disabling the adaptive filter.
According to yet another aspect, a non-transitory computer readable medium having instructions encoded thereon is provided, the instructions, when executed by a suitable processor (or processors), cause the processor to perform a method that includes receiving a plurality of microphone signals, combining the plurality of microphone signals according to a first combination to produce a primary signal having enhanced response in the direction of the user's mouth, combining the plurality of microphone signals according to a second combination to produce a reference signal having reduced response in the direction of the user's mouth, adding the primary signal and the reference signal to produce a summation signal, subtracting one of the primary signal or the reference signal from the other of the primary signal or the reference signal to produce a difference signal, comparing the summation signal to the difference signal, and providing an output voice signal based upon the comparison.
In various examples, the first combination may be a minimum-variance distortionless response (MVDR) combination. The second combination may be a delay and subtract combination.
According to some examples, comparing the summation signal to the difference signal includes determining at least one of an energy, an amplitude, or an envelope of each of the summation signal and the difference signal and comparing the at least one of an energy, an amplitude, or envelope of the summation signal and the difference signal. Such a comparison may further include comparing at least one of a ratio or a difference to a threshold, or multiplying at least one of the energy, amplitude, or envelopes by a factor and comparing the factored energy, amplitude, or envelope to the other energy, amplitude, or envelope.
In various examples, comparing the summation signal to the difference signal comprises comparing the summation signal to the difference signal in a first frequency band and in a second frequency band, the second frequency band being different from the first frequency band. In certain examples the first frequency band may include frequencies in the range of 200-400 Hz and the second frequency band may include frequencies in the range of 500 Hz-700 Hz.
Some examples may include processing a voice signal with an adaptive filter and altering the adaptive filter based upon the comparison. Altering the adaptive filter may include changing coefficients of the adaptive filter, changing an adaptation rate, changing a step size, freezing the adaptation, or disabling the adaptive filter.
Still other aspects, examples, and advantages of these exemplary aspects and examples are discussed in detail below. Examples disclosed herein may be combined with other examples in any manner consistent with at least one of the principles disclosed herein, and references to “an example,” “some examples,” “an alternate example,” “various examples,” “one example” or the like are not necessarily mutually exclusive and are intended to indicate that a particular feature, structure, or characteristic described may be included in at least one example. The appearances of such terms herein are not necessarily all referring to the same example.
Various aspects of at least one example are discussed below with reference to the accompanying figures, which are not intended to be drawn to scale. The figures are included to provide illustration and a further understanding of the various aspects and examples, and are incorporated in and constitute a part of this specification, but are not intended as a definition of the limits of the invention. In the figures, identical or nearly identical components illustrated in various figures may be represented by a like numeral. For purposes of clarity, not every component may be labeled in every figure. In the figures:
Aspects of the present disclosure are directed to audio systems and methods that support pick-up of a voice signal of the user (e.g., wearer) of a headphone, earphone, or the like, by reliably detecting the voice activity of the user, e.g., detecting when the user is speaking. Conventional voice activity detection (VAD) systems and methods may receive or construct a primary signal that is configured or arranged to include a user speech component and receive of construct a reference signal that is configured or arranged to not include (or have reduced inclusion of) the user speech component. The signal envelope, amplitude, or energy of the primary signal is compared to that of the reference signal, and if the primary signal exceeds a threshold relative to the reference signal it is determined that the user is speaking. Such systems and methods typically output a binary flag, e.g., VAD=0, 1, to indicate whether the user is speaking or not. The flag may be beneficially applied to other parts of the audio system, such as to freeze adaptation of an adaptive filter of a noise cancellation or reduction system and/or an echo canceller. Application of the VAD indication may encompass multiple other actions or effects outside the scope of this disclosure but apparent to those of skill in the art.
Conventional VAD systems and methods in accord with those described above may encounter reduced performance when the audio system is near a boundary condition, e.g., an acoustically reflective environment such as nearby walls and/or the user's arms, hands, etc. being placed near the headphone, earphone, or the like. Essentially, acoustic reflections of the user's voice from the boundary condition may get into the reference signal, thus reducing the differential signal energy between the primary signal (intended to include the user's voice) and the reference signal (intended to not include the user's voice). Aspects and examples described herein accommodate this phenomenon and enhance the reliability of voice activity detection when the user is near or creates a boundary condition, e.g., a relatively nearby acoustically reflective object or surface.
Attaining a user's voice signal with reduced noise and/or echo components may enhance voice-based features or functions available as part of the audio system or other associated equipment, such as communications systems (cellular, radio, aviation), entertainment systems (gaming), speech recognition applications (speech-to-text, virtual personal assistants), and other systems and applications that process audio, especially speech or voice. Examples disclosed herein may be coupled to, or placed in connection with, other systems, through wired or wireless means, or may be independent of other systems or equipment.
Headphones, earphones, headsets, and other various personal audio system form factors (e.g., in-ear transducers, earbuds, neck or shoulder worn devices, and other head worn devices, glasses, etc. with integrated audio) are in accord with various aspects and examples herein.
In general, acoustic reflections from nearby environmental boundaries (e.g., surfaces and objects) may cause significant reduction in conventional VAD performance in one-sided (e.g., left or right) audio systems as compared to binaural audio systems (left and right) due to additional signal characteristics between the left and right sides that may not be available in one-sided systems and methods. Accordingly, aspects and examples disclosed herein may be more suitable to one-sided audio systems and methods. Nonetheless aspects and examples described may be applied to binaural systems and methods as well.
Examples disclosed herein may be combined with other examples in any manner consistent with at least one of the principles disclosed herein, and references to “an example,” “some examples,” “an alternate example,” “various examples,” “one example” or the like are not necessarily mutually exclusive and are intended to indicate that a particular feature, structure, or characteristic described may be included in at least one example. The appearances of such terms herein are not necessarily all referring to the same example.
It is to be appreciated that examples of the methods and apparatuses discussed herein are not limited in application to the details of construction and the arrangement of components set forth in the following description or illustrated in the accompanying drawings. The methods and apparatuses are capable of implementation in other examples and of being practiced or of being carried out in various ways. Examples of specific implementations are provided herein for illustrative purposes only and are not intended to be limiting. Also, the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use herein of “including,” “comprising,” “having,” “containing,” “involving,” and variations thereof is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. References to “or” may be construed as inclusive so that any terms described using “or” may indicate any of a single, more than one, and all of the described terms. Any references to front and back, right and left, top and bottom, upper and lower, and vertical and horizontal are intended for convenience of description, not to limit the present systems and methods or their components to any one positional or spatial orientation.
The earbud 100 is illustrated with two microphones 120, a more frontward microphone 120F and a more rearward microphone 120R (collectively, 120). In other examples, more microphones may be included and may be arranged in varying positions. The microphones 120 are located in varying positions such that they do not receive identical acoustic signals. Varying combinations of the two or more microphone signals may be beneficially compared to detect whether a user is speaking, to provide a voice signal representative of the user's voice, to remove or reduce noise and/or echo components from the voice signal, and various other signal processing and/or communications functions and features.
While microphones are illustrated and labeled with reference numerals, the visual element illustrated in the figures may, in some examples, represent an acoustic port wherein acoustic signals enter to ultimately reach a microphone, which may be internal and not physically visible from the exterior. In examples, one or more of the microphones 120 may be immediately adjacent to the interior of an acoustic port or may be removed from an acoustic port by a distance and may include an acoustic waveguide between an acoustic port and an associated microphone.
Signals from the microphones 120 are combined in varying ways to advantageously steer beams and nulls in a manner that maximizes the user's voice in one instance to provide a primary signal and minimizes the user's voice in another instance to provide a reference signal. The reference signal may therefore be representative of the surrounding environmental noise and may be provided as a reference to an adaptive filter of a noise reduction subsystem. Such a noise reduction system may modify the primary signal to reduce components correlated to the reference signal, e.g., the noise correlated signal, and the noise reduction subsystem provides an output signal that approximates the user's voice signal, with reduced noise content.
In various examples, signals may be advantageously processed in different sub-bands to enhance the effectiveness of the noise reduction or other signal processing. Production of a signal wherein a user's voice components are enhanced while other components are reduced is referred to generally herein as voice pick-up, voice selection, voice isolation, speech enhancement, and the like. As used herein, the terms “voice,” “speech,” “talk,” and variations thereof are used interchangeably and without regard for whether such speech involves use of the vocal folds.
Beam forming enhances acoustic signals from a particular direction, or range of directions, while null forming reduces or rejects acoustic signals from a particular direction or range of directions. The first array processor 306 is a beam former that works to maximize acoustic response of the set of microphones 302 in the direction of the user's mouth (e.g., directed to the front of and lower than the earbud 100, for instance), and provides a primary signal 310. Because of the beam forming array processor 306, the primary signal 310 includes a higher signal energy of the user's voice than any of the individual microphone signals 304 would have. The primary signal 310, which is the output of the first array processor 306, may be considered equivalent to the output of a directional microphone pointed at the user's mouth.
The second array processor 308 steers a null toward the user's mouth and provides a reference signal 312. The reference signal 312 includes minimal, if any, signal energy of the user's voice because of the null directed at the user's mouth. Accordingly, the reference signal 312 is composed substantially of components due to background noise and other acoustic sources that are not the user's voice. For instance, the reference signal 312 is a signal correlated to the acoustic environment apart from the user's voice. The reference signal 312, which is the output of the second array processor 308, may be considered equivalent to the output of a microphone pointed at the surroundings (everywhere but the user's mouth).
The primary signal 310 includes a user's voice component and includes a noise component (e.g., background, other talkers, etc.) while under normal circumstances the reference signal 312 substantially includes only a noise component. If the reference signal 312 were nearly identical to the noise component of the primary signal 310, the noise component of the primary signal 310 could be removed by simply subtracting the reference signal 312 from the primary signal 310. In practice, however, the reference signal 312 is related to and indicative of the noise component of the primary signal 310, but not precisely equal to the noise component of the primary signal 310, as will be understood by one of skill in the art. Accordingly, adaptive filtration may be used to remove at least some of the noise component from the primary signal 310 by using the reference signal 312 as indicative of the noise component.
Numerous adaptive filter methods known in the art are designed to remove components correlated to a reference signal. For example, certain examples include a normalized least mean square (NLMS) adaptive filter. The output of the adaptive filter 314 is a voice estimate signal 316, which represents an approximation of the user's voice signal.
Example adaptive filters 314 may include various types incorporating various adaptive techniques, e.g., NLMS. The operation of an adaptive filter generally includes a digital filter that receives a reference signal correlated to an unwanted component of a primary signal. The digital filter attempts to generate from the reference signal an estimate of the unwanted component in the primary signal. The unwanted component of the primary signal is, by definition, a noise component. The digital filter's estimate of the noise component is a noise estimate. If the digital filter generates a good noise estimate, the noise component may be effectively removed from the primary signal by simply subtracting the noise estimate. On the other hand, if the digital filter is not generating a good estimate of the noise component, such a subtraction may be ineffective or may degrade the primary signal, e.g., increase the noise. Accordingly, an adaptive algorithm operates in parallel to the digital filter and makes adjustments to the digital filter in the form of, e.g., changing weights or filter coefficients. In certain examples, the adaptive algorithm may monitor the primary signal when it is known to have only a noise component, i.e., when the user is not talking, and adapt the digital filter to generate a noise estimate that matches the primary signal, which at that moment includes only a noise component. The adaptive algorithm may know when the user is not talking by various means. In at least one example, the system enforces a pause or a quiet period after triggering speech enhancement. For example, the user may be required to press a button or speak a wake-up command and then pause until the system indicates to the user that it is ready. During the required pause the adaptive algorithm monitors the primary signal, which does not include any user speech, and adapts the filter to the background noise. Thereafter when the user speaks the digital filter generates a good noise estimate, which is subtracted from the primary signal to generate the voice estimate, for example, the voice estimate signal 316.
Additionally, and in accord with examples herein, a voice activity detector 400, 500 (VAD) may operate to detect when the user is or isn't speaking.
The first combination 406 may be an array processing that combines the microphone signals 404 to have an enhanced response in the direction of the user's mouth, thereby producing the primary signal 410 with an enhanced voice component when the user is speaking. According to certain examples, the first combination 406 may be a MVDR beam former. The primary signal 410, which is the output of the first combination 406, may be considered equivalent to the output of a directional microphone pointed at the user's mouth.
The second combination 408 may be an array processing that combines the microphone signals 404 to have a reduced response in the direction of the user's mouth, thereby producing the reference signal 412 with a reduced voice component (and thereby an enhanced noise component, representative of the surrounding environment). In some examples, the second combination 408 may be a null former having a null (or low) response in the direction of the user's mouth. The reference signal 412, which is the output of the second combination 408, may be considered equivalent to the output of a microphone pointed at the surroundings (everywhere but the user's mouth).
According to at least one example, the second combination 408 may a delay and subtract combination of the microphone signals 404. With reference to the earbud 100 of
With continued reference to the VAD 400 of
According to various examples, the comparator 414 may compare any one or more of an energy, amplitude, envelope, or other attribute of the signals being compared. Further, the comparator 414 may compare the signals to each other and/or may compare a threshold value to either of the signals and/or to any of a ratio or a difference of the signals, e.g., a ratio or difference of the signals' energies, amplitudes, envelopes, etc. The comparator 414 may include smoothing, time averaging, or low pass filtering of the signals in various examples. The comparator 414 may make comparisons within limited bands or sub-bands of frequencies in various examples.
In some examples, it may be desirable for the comparator 414 to take a ratio of signal energies (or amplitudes, envelopes, etc.) and compare the ratio to a threshold. Instead of strictly calculating a ratio, which may take significant computational resources, some examples may equivalently adjust one of the signal attributes by multiplying it by a factor and then compare the adjusted signal attribute to the comparable attribute of the other signal. For instance, in some examples a VAD=1 (voice detected) determination may be output by the comparator 414 when the primary signal 410 has a signal energy that exceeds the reference signal 412 energy by a certain amount (or vice versa), let's say 20%. In some examples, the comparator 414 may determine the signal energies, calculate the ratio of the signal energies, and compare the ratio to a threshold of 1.2 (e.g., representing 20% higher). In some examples, however, the comparator 414 may equivalently multiply one of the signal energies by 1.2 and compare the result directly to the other signal energy. For instance, the multiplication may be less computationally expensive than calculating a ratio between two signal energies.
The ability to detect voice activity may be a core control in various audio systems, and especially audio systems that include voice pick-up and other processing to provide an outgoing user voice signal. For example, audio systems may include one or more subsystems that perform adaptive processing when the user is not speaking but need to freeze adaptation when the user starts to speak (for example, the noise reduction system 300 of
The example VAD 400 of
For example, if the user gets close to a wall, there may be a significant reflection of the user's speech which is not rejected by the second combination 408. Further, such speech energy in the reference signal 412 may also be in the reference signal 312 of, e.g., a noise reduction system (see
With reference to
As described above, the first combination 506 includes the user's voice in the primary signal 510. When the user is close to a wall or other reflection source, lower frequencies of speech will reflect into the microphone signals 504 that are not rejected (or reduced) by the second combination 508 and thus the reference signal 512 also has components of the user's voice. For various frequency sub-bands, such as those for which the reflection source is a ¼ wavelength away or less, the voice components in the reference signal 512 may be substantially in-phase with the voice components in the primary signal 510. As such, a summation of the primary signal 510 and the reference signal 512 (to produce a summation signal 518) reinforces the in phase low frequency bin energy while a subtraction of one of the primary signal 510 and the reference signal 512 from the other (to produce a difference signal 520) cancels or at least significantly reduces the in phase low frequency bin energy. Accordingly, the summation signal 518 will be much greater than the difference signal 520 in the appropriate low frequency portion of the signal spectrum.
In various examples, the summation and difference may be a complex summation and a complex subtraction, respectively, conducted in the frequency domain, e.g., on phase and magnitude information. In other examples, the summation and subtraction may be conducted in the time domain.
According to various examples, a summation and difference may be calculated for a plurality of low frequency bins (and various combinations of said bins) and the relative level of energy may be compared across one or more of the frequency bins. In some examples, the VAD 500 determines the energy of each of the summation signal 518 and the difference signal 520, within the relevant frequency bin(s), and may apply a low pass filter to smooth energy envelopes. The relative level of the frequency bin(s) is then compared to a threshold. If the threshold is exceeded there is likely a boundary interfering with the VAD beamformers. As such the VAD 500 may provide an output signal 516 as a logical TRUE which may be interpreted as an indication that the user is speaking in the presence of boundary interference (a nearby reflective surface).
In various examples, several frequency bins may be analyzed together and/or separately as the reflection path length is variable resulting in some in and out of phase reflections depending upon distance. For example, if the user puts hands behind his or her head they are much closer to the mic array than a wall might be, such that a higher frequency bin may be in phase. A user's hand(s) may reflect less low frequency energy than a wall, but may reflect more high frequency energy due to generally closer proximity Accordingly, and in some examples, a nearby wall may be detected by significant in-phase content between the primary signal and the reference signal for frequencies in the range of 200 to 400 Hz, while the user's hand(s) being nearby may be detected by significant in-phase content between the primary signal and the reference signal for frequencies in the range of 500 to 700 Hz
When the microphone signals include reflective acoustic energy from a nearby surface such as a wall or the user's hands (e.g., being near the microphones), there may be substantial in-phase user voice content in the reference signal. Such user voice content in the reference signal may cause conventional voice activity detectors to erroneously conclude that the user isn't speaking, which may cause other subsystems to perform poorly. For example, conventional noise (or echo) reduction subsystems having adaptive filter processing (e.g., see the system 300 of
As stated above, voice content in the reference signal caused by a nearby reflective surface may be in-phase with the voice content in the primary signal for certain frequency bins based upon distance to the reflective surface. The closer the reflective surface, the stronger the reflection (e.g., magnitude) and the higher frequency range in which the reflections will be in-phase.
With continued reference to
As also discussed above, other subsystems may alter their operation based upon the indication of voice activity, such as by freezing adaptive filters, e.g., of noise reduction, echo reduction, and/or other subsystems. In some examples, a noise reduction, echo reduction, or other subsystem may cease operation when the method 600 (or the system 500) indicates voice activity. In various examples, a primary signal (such as any of primary signals 310, 410, 510 of
As discussed above, the example systems 100, 300, 400, 500 and their associated subsystems, may operate in a digital domain and may include analog-to-digital converters (not shown). Additionally, components and processes included in the example systems may achieve better performance when operating upon narrow-band signals instead of wideband signals. Accordingly, certain examples may include sub-band filtering to allow processing of one or more sub-bands. For example, beam forming, null forming, adaptive filtering, signal combining (addition, subtraction), signal comparisons, voice activity detection, spectral enhancement, and the like may exhibit enhanced functionality when operating upon individual sub-bands. In some examples, sub-bands may be synthesized together after operation of the example systems to produce an output signal. In certain examples, the microphone signals 304, 404, 504 may be filtered to remove content outside the typical spectrum of human speech. Alternately, the example subsystems may be employed to operate only on sub-bands within a spectrum associated with human speech and ignore sub-bands outside that spectrum. Additionally, while the example systems are discussed with reference to only a single set of microphones 120, 302, in certain examples there may be additional sets of microphones, for example a set on the left side and another set on the right side, to which further aspects and examples of the example systems may be applied, and combined.
One or more of the above described systems and methods, in various examples and combinations, may be used to capture the voice of a user and isolate or enhance the user's voice relative to background noise, echoes, and other talkers. Any of the systems and methods described, and variations thereof, may be implemented with varying levels of reliability based on, e.g., microphone quality, microphone placement, acoustic ports, form factor/frame design, threshold values, selection of adaptive, spectral, and other algorithms, weighting factors, window sizes, etc., as well as other criteria that may accommodate varying applications and operational parameters.
Many, if not all, of the functions, methods, and/or components of the systems and methods disclosed herein according to various aspects and examples may be implemented or carried out in a digital signal processor (DSP) and/or other circuitry, analog or digital, suitable for performing signal processing and other functions in accord with the aspects and examples disclosed herein. Additionally or alternatively, a microprocessor, a logic controller, logic circuits, field programmable gate array(s) (FPGA), application-specific integrated circuit(s) (ASIC), general computing processor(s), micro-controller(s), and the like, or any combination of these, may be suitable, and may include analog or digital circuit components and/or other components with respect to any particular implementation. Functions and components disclosed herein may operate in the digital domain, the analog domain, or a combination of the two, and certain examples include analog-to-digital converter(s) (ADC) and/or digital-to-analog converter(s) (DAC) where appropriate, despite the lack of illustration of ADC's or DAC's in the various figures. Any suitable hardware and/or software, including firmware and the like, may be configured to carry out or implement components of the aspects and examples disclosed herein, and various implementations of aspects and examples may include components and/or functionality in addition to those disclosed. Various implementations may include stored instructions for a digital signal processor and/or other circuitry to enable the circuitry, at least in part, to perform the functions described herein.
Having described above several aspects of at least one example, it is to be appreciated various alterations, modifications, and improvements will readily occur to those skilled in the art. Such alterations, modifications, and improvements are intended to be part of this disclosure and are intended to be within the scope of the invention. Accordingly, the foregoing description and drawings are by way of example only, and the scope of the invention should be determined from proper construction of the appended claims, and their equivalents.