One or more aspects disclosed herein generally related to a system and method for adaptive control of online extraction of loudspeaker parameters. These aspects and others will be discussed in more detail below.
Current loudspeaker implementations are based on previously measured loudspeaker parameters or functions such as an impedance curve of the loudspeaker, which incorporates some deficiencies, as loudspeaker parameters, in principle, vary over playback volume (applied sound pressure level), time, temperature, aging, individual variations and so on. Hence, any control algorithm, based on such loudspeaker dependent parameters, such as a (thermal) limiter, cannot optimally perform. By introduction of a system able to estimate those desired/required loudspeaker parameters in real time, in an automated, respectively adaptive manner, is highly desired.
In at least one embodiment, an audio system for extracting online parameters is provided. The system includes a loudspeaker and at least controller. The loudspeaker transmits an audio signal in a listening environment. The at least one controller includes a signal processing block and an adaptive filter. The signal processing block is programmed to provide a driving signal u(n) to drive the loudspeaker to transmit the audio signal. The adaptive filter is programmed to receive the driving signal and to receive a first varying signal i(n) from the loudspeaker in response to the loudspeaker transmitting audio signal. The adaptive filter is further programmed to generate an admittance curve for the loudspeaker based at least on the driving signal and the first varying signal.
In at least another embodiment, a computer-program product embodied in a non-transitory computer read-able medium that is programmed for extracting online parameters associated with a loudspeaker is provided. The computer-program product includes instructions for providing a driving signal u(n) to drive the loudspeaker to transmit an audio signal and receiving a varying signal i(n) from the loudspeaker in response to the loudspeaker transmitting audio signal. The computer-program product includes instructions for generating one of an admittance curve or an impedance curve for the loudspeaker based at least on the driving signal and the varying signal.
In at least another embodiment, a method for extracting online parameters associated with a loudspeaker is provided. The method includes providing a driving signal u(n) to drive the loudspeaker to transmit an audio signal and receiving a varying signal i(n) from the loudspeaker in response to the loudspeaker transmitting audio signal. The method further includes generating an admittance curve or an impedance curve for the loudspeaker based at least on the driving signal and the varying signal.
The embodiments of the present disclosure are pointed out with particularity in the appended claims. However, other features of the various embodiments will become more apparent and will be best understood by referring to the following detailed description in conjunction with the accompany drawings in which:
As required, detailed embodiments of the present invention are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the invention that may be embodied in various and alternative forms. The figures are not necessarily to scale; some features may be exaggerated or minimized to show details of particular components. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present invention.
It is recognized that the controllers/devices as disclosed herein and in the attached Appendix may include any number of microprocessors, integrated circuits, memory devices (e.g., FLASH, random access memory (RAM), read only memory (ROM), electrically programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), or other suitable variants thereof), and software which co-act with one another to perform operation(s) disclosed herein. In addition, such controllers as disclosed utilizes one or more microprocessors to execute a computer-program that is embodied in a non-transitory computer readable medium that is programmed to perform any number of the functions as disclosed. Further, the controller(s) as provided herein includes a housing and the various number of microprocessors, integrated circuits, and memory devices ((e.g., FLASH, random access memory (RAM), read only memory (ROM), electrically programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM)) positioned within the housing. The controller(s) as disclosed also include hardware-based inputs and outputs for receiving and transmitting data, respectively from and to other hardware-based devices as discussed herein. While the various systems, blocks, and/or flow diagrams as noted herein refer to time domain, frequency domain, etc., it is recognized that such systems, blocks, and/or flow diagrams may be implemented in any one or more of the time domain, frequency domain, etc.
The aspects as set forth herein may provide, but not limited to, an optimization of a loudspeaker via electronic processing. The word optimized may be understood in many different ways. For example, optimization may correspond to using an existing loudspeaker to obtain the most (e.g. power) out of it, without causing the loudspeaker to malfunction or being destroyed. Optimization may also correspond, to meeting specific targets, as, for example, provided within a specification of a customer (e.g. minimum power) keeping the loudspeaker as small, respectively as light-weight as possible. Such a method may be interesting for all different applications, e.g. speakers in cars (e.g. to keep the overall weight as low as possible, without making compromises of the sound quality and/or of the sound pressure level (SPL)), but in particular for devices, in which small loudspeakers are used (e.g. Smart Phones, Laptops, Smart Speakers, Soundbars, etc.).
Now after the necessity of such a system, it is possible to contemplate that such an optimizer can be realized and, at the same time, what constraints may be considered. A natural way to start is to look at the options of how to protect a loudspeaker from malfunction or from being damaged. Various ways to protect the loudspeaker may include the utilization of one or more of the following:
A limiter for protection: which may cause acoustical artifacts and does not make use of a physical potential of the loudspeaker at for example low frequencies;
A multi-band-limiter (MBL): by splitting up the input signal in sub-bands and applying a (protection) limiter to each of those sub-bands in a specific manner, reflecting the properties of the given loudspeaker, a much better performance (especially) at low frequencies (Bass) can be achieved. However, the MBL has to be adjusted/tuned, which may require some effort.
Thermal protection: for example, a measured impedance curve may be used to estimate the current as well as long-term power consumption of the loudspeaker based on the speaker-specific tuning protect for short-term as well as long-term thermal damages. However, (e.g., manual) tuning may be necessary. In addition, the impedance of the loudspeaker may change over time due to heat and due to the volume/structure that it is actually coupled to (e.g. if mounted in a door of a vehicle).
Current solutions may not be adequate enough or may require for a demanding tuning effort to obtain more out of the given loudspeaker. Even if well-tuned, those systems, which may be based on a single measurement or a single condition, may not be optimal, since various properties of the loudspeaker may change under certain conditions. Such conditions may not be foreseen, as already mentioned above. It may be desirable for an online measurement to constantly update certain loudspeaker parameters to enable an adaptive control of those protection units.
Embodiments as set forth herein may be based on a realization of an online parameters extraction implementation that may be used in connection with the '138 application as set forth above.
There may exist several possibilities to extract desired parameters (small-, respectively large signal parameters) from an unknown loudspeaker. For example, Klippel provides a measurement system, such as a laser to measure the excursion of the membrane of the speaker, from various loudspeaker specific parameters that may be extracted. Systems based on acoustical measurements using a microphone and/or an accelerometer, being either in close proximity or directly mounted on the loudspeaker (e.g. membrane) are also known in this regard. In addition, current-voltage measurements which drive the loudspeaker and its corresponding current may be yet another way to measure certain loudspeaker parameters.
For the realization of an over-excursion limiter as well as the thermal limiter, necessary loudspeaker parameters may be obtained from a current impedance curve, respectively, its admittance curve. This may readily be gained by measuring an actual driving signal (voltage and current) of the loudspeaker, which may be the most simple and cost-effective of all noted possibilities.
Despite the fact, that the impedance curve may be the most prominently used curve, it has been discovered that it may be more effective to base the parameter extraction on an adaptively estimated admittance curve (see corresponding plots of
Referring to
Within the corresponding impedance curve in the first plot 104 of
The inductance may be estimated by a slew rate of the impedance curve. Such as between a frequency point where the DC resistance is taken from (i.e., 2nd zero) and a second spectral point at an higher frequency, which may be defined by 2-10 times of the given resonance frequency so that in this case it is ensured that a reactance of the loudspeaker dominates its resistance. Alternatively, the inductance may also be estimated if the resistance at a higher frequency, at which the inductive reactance dominates, is used. Therefore, it is possible to subtract the DC resistance from an (absolute) value thereof and then use the difference to calculate the inductance as illustrated below (e.g., estimation of the inductance):
With this set of extracted parameters, it is possible to operate the aforementioned over-excursion limiter as well as a thermal limiter, where the thermal limiter may also need the actual current signal for proper operation.
The controller 152 includes a signal processing block 170 (e.g., a single gain stage), an on-line parameter estimation block 172, a thermal model gain estimation block 174, an over excursion limiter gain calculation block 176, and a loudspeaker control and protection block 178. In general, the over-excursion limiter gain calculation block 176 receives a signal xmax which corresponds to a maximum allowed excursion for the loudspeaker 154. The over-excursion limiter gain calculation block 176 generates an over-excursion limiter gain signal (e.g., GainOEL) in response to the signal xmax and a signal PARAMETER from the on-line parameter estimation block 172. It is recognized that any one or more of the adaptively extracted parameters (e.g., Rdc, fres, Res, Qts, Impedance, etc.) on the signal PARAMETER may be provided to one or more audio amplifiers as set forth in the '0138 application to limit excursion of a voice coil of the loudspeaker and to limit a temperature for the loudspeaker. The various extracted parameters on the signal PARAMETER as transmitted from the on-line parameter estimation block 172 will be discussed in more detail below.
The thermal model gain estimation block 174 receives a signal τmax which corresponds to a maximum allowed operation temperature of the loudspeaker 154 and a varying signal (i(t)) (e.g., a current signal that is measured as output by the loudspeaker 154 via a current sensor (not shown
The first FFT block 202 converts the input signal to the loudspeaker 154 from the time domain into the sub-band domain (or frequency domain) (i.e., u(z) or U (ejΩ, n)) which is provided as an input to the calculation power block 202 and to the adaptive filter 190. The calculation power block 204 calculates a power of the signal u(z) which is transmitted to the adaptive filter 190. In general, a least mean square (LMS) algorithm may be used to control the adaptive filter 190. Thereby, an adaptation step size of the adaptive filter 190 may be normalized by the power of the signal u(z). The second FFT block 210 is configured to convert an error signal e(n) from the time domain into the sub-band domain (or frequency domain (i.e., e(z) or E (ejΩ, n)) which is provided as an input to the adaptive filter 190. The error signal e(n) corresponds to a difference between an output of the adaptive filter 190 and the time varying current signal i(n) from the loudspeaker 154. For example, the adaptive filter 190 provides the signal g(n) in the time domain which is fed to the small signal estimation block 192. Similarly, the adaptive filter 190 generates the signal d(z) (or D (ejΩ, n)). The signal d(z) generally corresponds to an estimate of a given/measured current signal iest(n). The first frame block 208 represents an output frame signal whereby only a last half includes valid signals/values (e.g., if a frame shift of 50% is applied). Similarly, the second frame block 210 also represents an output frame block where the first half is filled with zeros if a frame shift of 50% is applied to avoid disturbing by-products of a cyclic convolution. The IFFT block 206 converts the signal d(z) (or iest(z) which corresponds to an estimated current output from the loudspeaker 154) from the frequency domain into the time domain as signal d(n). The adder 214 subtracts the estimated desired signal d(n) from the varying current signal i(n) of the loudspeaker 154 to generate the error signal e(n). In general, the adaptive filter 190 may be implemented as a multi-rate signal processing framework.
The adaptive filter 190 depicts a normalized LMS (“NLMS”) based adaptive filter which provides a high degree of flexibility, for example, to realize certain constraints and/or control tasks. In addition, the adaptive filter 190 may represent an effective method (at least in terms of processing power consumption) to realize a general system identification.
In contrast to other system identification tasks, such as for example known from microphone based systems, such as an acoustic echo canceler (AEC), the embodiments herein may not require a demanding adaptive adaptation step-size, as a desired signal, represented by the current signal i(n) (or i(t) in the time domain) and may not include unexpected disturbances (apart from sensor noise) as is the case if using a microphone signal (e.g. knocking at the microphone, blowing into the microphone, speech signals from a near-end talker, etc.) as desired signal. This approach may simplify the adaptive filter. In addition, a residual echo suppressor may not be required to further reduce the error signal, as the current filter coefficient set may be of interest which represents the linear part of the estimated admittance curve.
(i) the driving signal u(t) (or u(n)) exceeds a certain minimum level (e.g., power level of the driving signal u(t) or u(n) exceeds a predetermined minimum level), which is usually set to exceed a given (current) sensor noise by at least a couple of [dB] (e.g. by 1-6 [dB]); and
(ii) an input signal spectrum (e.g., spectrum of the varying driving signal u(n) to the loudspeaker 154) includes enough energy at and around the resonance frequency of the loudspeaker 154, otherwise a risk may exist (e.g. by using a narrowband signal, such as a sine tone which frequency is set to off to the resonance frequency of the loudspeaker 154) that the adaptive filter 190 may work, but is unable to deliver a valid curve at and around the resonance frequency of the loudspeaker 154. This aspect may lead to the extraction of invalid parameters which should be avoided. It may be necessary to determine if the driving signal u(n) includes enough energy at the resonance frequency of the loudspeaker 154 since if there is not enough energy with such a signal (i.e., if the signal to noise ratio (SNR) is too low, then a successful adaptation may not be possible (e.g., see (i) above). This condition particularly accounts for the spectral part necessary for the extraction/estimation of the desired small signal parameters (e.g., Rdc, fres, Res, Qts, Impedance, etc.) which is at or around the resonance frequency of the loudspeaker 154. For at least this reason, adaptation is allowed if (a) there is enough energy present and even if enough energy is provided, (b) a minimum amount of energy may be present at or around the estimated resonance frequency of the loudspeaker 154.
The adaptation control block 352 is configured to transmit a flag signal (i.e., Flag) that is set to zero or one. The adaptation control block 352 sets the flag signal to one if the conditions of (i) and (ii) are met. If the flag signal is set to one, then filter coefficients of the adaptive filter 190 are adapted. The flag signal (if set to one) may indicate whether a new set of parameters ((e.g., Rdc, fres, Res, Qts, Impedance, etc.) are to be determined and used or if a previously set of estimated parameters should be used instead. If the flag signal is set to one, then the adaptive filter 190 is adapted to generate a new signal for g(n) which, as noted above, generally corresponds to, either directly, or by transformation (e.g., inversion), a desired impedance of the loudspeaker 154. By analysis of the impedance of the loudspeaker 154 (e.g., its magnitude frequency response, its group delay frequency response of the loudspeaker 154, its impulse response, etc.), the controller 150 can determine new parameters of the loudspeaker 154 (e.g. Rdc, fres, Res, Qts, Impedance, etc.). In this case, the small signal estimation block 192 extracts the parameters Rdc, fres, Res, Qts, Impedance, etc. from the new signal g(n) as generated by the adaptive filter 190.
The adaptive filter 190 may be deactivated if the flag signal is set to zero. In this, case, the system 350 delivers a previously determined set of parameters that are based on the previously adapted admittance curve and the loudspeaker parameters that are extracted from such a curve. Thus, in this case the adaptation control may serve as a fail-safe mechanism. Generally speaking, the flag condition controls adaptation of the adaptive filter 190 which indicates whether the currently available signal g(n) from the adaptive filter 190 is valid or not (i.e., if the currently available signal g(n) may be used for current parameter extraction or not. If the adaptive filter 190 cannot be adapted based on the flag signal (e.g., flag signal set to zero), then the small signal estimation block 354 does not update the parameters (i.e., the previously calculated parameters remain frozen and/or a based on an older, previous signal of g(n)).
The system 350 also includes the adaptation control block 352 and the calculation weighting block 354. The adaptation control block 352 includes a first determination block 400 that provides the flag signal. The calculation weighting block 354 includes a windowing block 402, a FFT block 404, an absolute value block 406, a first smoothing block 408, a first mean block 410, a weighting block 412, a second mean block 414, a second smoothing block 416, a spectral limitation block 418, a limit block 420, and normalize block 422, a threshold block 424, and a threshold calculation block 426. The windowing block 402 receives the input signal to the loudspeaker, u(n) as generated from the signal processing block 170. The windowing block 402 applies a windowing function (e.g., a Von-Hann (or Hann window)) to u(n) to avoid a picket-fence effect. For example,
Without the windowing block 402, signal levels of the test tone frequency appear higher than they actually are (e.g., see
The first mean block 410 obtains the mean of both of the smoothed versions of the signal u(z). In this case, the spectral bias of the non-linearly smoothed signals may be successfully avoided. For example, waveform 403 in
In general, weighting may be performed by the system 350 once the system 350 has been successfully adapted (e.g., adaptive filter 190 is activated in response to flag signal being set and small signal estimation block 192 determines new parameters ((e.g. Rdc, fres, Res, Qts, Impedance. etc.)). The weighing may be determined as follows: the threshold calculation block 426 receives the varying current signal from the loudspeaker 154 i(n) and calculates a current error return loss enhancement signal (ERLE(n)). Despite the fact, that the ERLE(n) in
To obtain the desired amount of weighting from the impedance curve, the normalize block 422 may first obtain the absolute value of the impedance curve, the normalize block 422 may then set the lower bound of an absolute value to a normalized value to 0 dB.
The limit block 420 limits the normalized value to a tuneable, maximum value. After this, the spectral limitation block 418 limits the spectral regions of the tuneable, maximum value of below a certain, tuneable lower frequency and above a certain, tuneable upper frequency (fMax) may be set to 1 (0 [dB]) (i.e. to a neutral value). The spectral limitation block 418 may ensure that it is possible to avoid those spectral regions that may be overly accentuated by the corresponding trajectory of the impedance curve, acting as weighting function. Hence, the purpose of the weighting is to accentuate the region at and around the resonance frequency of the loudspeaker 54 to eventually allow adaptation via the adaptation block 352 and the adaptive filter 190, even if a narrowband signal is present. This may be performed if the narrowband signal includes sufficient energy at the desired spectral region (e.g. at and around the resonance frequency of the loudspeaker 154), which will be known once the system 350 has successfully been adapted (e.g., which itself is the case if the current ERLE measurement (ERLE(n)) exceeds the given threshold ERLETH.
Referring back to
Referring back to the condition at the threshold block 424 with respect to the current error return loss enhancement signal (ERLE(n)) being less than the threshold value, ERLETH. This condition corresponds to the system 350 starting up for the first time with no previously stored admittance/impedance curve g(n) being available. Therefore, it may be assumed that the adaptive filter 190 (and the adaptation control block 352) is blind. Thus, the system 350 has no information on the impedance (i.e., this condition also implies that there is no estimate related to the resonance frequency of the loudspeaker 154). In this case, the threshold block 424 sets the weighting function equal to one and the weighting is initialized by ones which will not block the adaptation of the adaptive filter 190. In general, the threshold block 424 may not be view as simply indirectly influencing the adaption control (e.g., the adaptive filter 190) by setting the signal FLAG signal (or setting the weighting to 1) if ERLE(n) is less than ERLETH. This is necessary since the weighting is not the only criteria which influences setting the signal FLAG (or setting the flag signal). Additional or independent criteria may also be considered such as the total, current SNR of the input signal (u(z)) which is checked or assessed at the first determination block 400. This condition demonstrates that even if the weighting is set to one via the threshold block 424, the flag may still become one or zero, depending on the current SNR of the input signal u(n) (i.e., or the smoothed output from the second smoothing block 416 or (e.g., signal M) is greater or less than the LevelTH.
Once the system 350 has been sufficiently well estimated by the adaptive filter 190 after startup (e.g., after the weighting function has been set to one or initialized as described above) and the SNR of the input signal u(z)) (e.g. output of block 416) is above the threshold, LevelTH for a sufficient duration of time, the system 350 operates as expected. For example, once the unknown system 350 has been sufficiently well estimated by the adaptive filter coefficient set g(n), which is the case once the ERLEn measure exceeds the given threshold ERLETH, the currently estimated admittance/impedance curve g(n) can be used to generate the weighting function “Weight(n)” which will influence the signal FLAG and thereby controlling the adaptation of the adaptive system. In general, once a valid version of the admittance/impedance is estimated by g(n), the adaptation, as controlled by the signal FLAG will take place and this valid set will not be destroyed overtime by blocking adaptation if there is not enough SNR available at or around the resonance frequency of the loudspeaker 154.
Once the system 350 employs the adaptation control (i.e., the adaptation is more or less fail-safe), it is possible to extract the parameters from coefficients of the adaptive filter 190 that represent the admittance (e.g., by taking the inverse of the impedance curve).
In general, and as stated above, one of the loudspeaker parameters of interest is the resonance frequency fRes. As also noted above, the resonance frequency fRes may be extracted neither from the admittance, nor from the impedance curve (which is general may be possible), but, due to robustness reasons, from the group delay frequency response of the impedance curve, utilizing, for example, the Smith-method for the group delay frequency response calculation.
Another loudspeaker parameter of interest may be the DC resistance, RDC. The online parameter estimation block 170 (or the small signal estimation block 192) may determine the the DC resistance, RDC. This value may be extracted from the impedance curve by searching for a minimum below the resonance frequency. In some cases, such a determination may be erroneous, mostly because the estimated curves do not represent the real trajectory, since often, the input audio signal may not include enough energy at those very low spectral regions. For this reason, the online parameter estimation block 170 (or the small signal estimation block 192) may search for a 2nd minimum of the impedance curve, which resides above the resonance frequency of the loudspeaker 154. In this region, there may be enough energy to estimate the impedance curve well.
Due to a high sensor noise attributed to a current sensor (not shown) that measures the varying current signal i(t) from the loudspeaker 154, the estimated admittance and as such also the derived impedance curve may appear to be often very noisy at high frequencies. The reason may be that typically an input signal (e.g., input audio signal x(t) or any other typical playback signal) does not include sufficient energy at higher frequencies, but the sensor noise (e.g., current sensor noise) is almost white, hence the signal to noise ratio (SNR) at those upper frequency regions may not be preferred, which inevitably leads to disturbances in the adaptation. If the noise becomes too large, the impedance curve may also become too noisy, which may lead to erroneous parameter extractions, since then often high peaks, due to a noisy trajectory can be misinterpreted as the resonance frequency of the loudspeaker. To securely avoid such misinterpretations, the admittance, and consequently the impedance curve should be non-linearly smoothed, using, for example, octave smoothing. In this case, higher spectral regions may be smoothed while lower spectral regions are softly smoothed. This may be ideal since the resonance frequency of a loudspeaker 154 typically resides at low frequencies and as such, the resonance frequency value of the loudspeaker 154 may not be negatively influenced by the smoothing.
As noted above, the manner to robustly extract certain parameters from an unknown loudspeaker (e.g., the loudspeaker 154) can be extracted in an adaptive manner. Further, the manner in which such parameters securely protect the loudspeaker 154 enable an improved usage of its physical capabilities. One aspect of the disclosed system may be to securely protect the loudspeaker 154. Optimization may be achieved by the utilization of the MBL.
One advantage of the MBL is that the MBL may limit different spectral regions separately and not in a broadband manner such as a conventional limiter, and/or a dynamic compressor. The benefit of splitting the spectrum into separate regions and limiting those individually may be that certain areas of the spectrum, which is usually given by its lower spectral part, statistically tend to overdrive the loudspeaker 154 more often as mid or higher spectral parts. Hence, it may not be necessary to compress the complete, broadband signal if the time signal exceeds a certain threshold, but to limit this part of the spectrum of the input signal which actually tends to overdrive the loudspeaker 154. This may lead to disturbing acoustical artifacts which should be avoided. By correct tuning of the MBL, the performance of a loudspeaker 154 can be optimized, since, from a subjective (psychoacoustical) point of view, certain harmonic distortions may not create disturbing acoustical artifacts and thus are allowed to remain in the output signal, which eventually leads to a better performance at low frequencies. Rather, this aspect may enable the manner in which the THD can be estimated in an adaptive manner as depicted in FIG.9. Also, this aspect may enable the loudspeaker 154 to sound better as if the loudspeaker 154 purely operates in its linear limits. The automation of the adjustment of a spectral compressor, to which, the MBL belongs by taking psychoacoustic principles into account will be described in more detail below.
The online parameter estimation block 172 further includes a calculation scaling block 452, a calculation harmonics block 454, a THD estimation block 456, and a plurality of time-variable gain values 458a-458n. The gain values 458a-458n may reflect a special/simplified form of filters (e.g., gain values) that may vary over time. The online parameters estimation block 172 may increase a signal processing effort (e.g., machine instructions per/second (MIPS) and memory consumption) since for every desired higher harmonic, a separate adaptive filter stage 190 may be necessary. Even if a second and third harmonic (K2 and K3), which may be the most dominant harmonics of the loudspeaker 154, may be taken into consideration, the effort may at least be tripled, when compared, for example, to an ordinary adaptive filter or to estimating the first harmonic of a linear system.
The online parameter estimation block 172 may determine the THD for the loudspeaker 154 in the following manner. The calculation scaling block 452, which may be optional, may scale the driving signal (or incoming audio signal), u(n) which is then fed to the filter 458a. As noted above, the calculation scaling block 452 is optional. If the block 452 is not implemented, then the gain values 458a-458n are not necessary. However, if scaling is applied, then the gain values 458a-458n are necessary to correct scaling. In general, the calculation scaling block 452 may increase performance and ensure that the system is robust to different kinds of input signals that are unknown to the system. The variable gain value 458a provides a filtered scaled voltage of the signal u(n) to the calculation harmonics block 454. The calculation harmonics block 454 provides an output to each of the gain values 458b and 458n. In general, the adaptive filters 190a-190 are each similar to the adaptive filter 190 as noted above. However, different reference signals (e.g., u1(z)-un(z)) are used as inputs so the adaptive filters 190a-190n, respectively. The harmonic calculation block 454 generates the reference signals u1(z)-un(z) after transforming the input signal u(n) into corresponding higher harmonic signals by utililizing trigonometric functions to obtain the desired higher harmonic versions of u(n) (e.g., u2(w)=u(2*w), u3(w)=u(3*w), . . . , un(w)=U(n*w).
The THD estimation block 456 calculates the THD of the loudspeaker 154 based on the following equation:
In other words, the THD estimation block 456 divides the sum of the squared outputs from the adaptive filters 190b-190n by the sum of the squared outputs from the adaptive filters 190a-190n to provide a first value. The THD estimation block 456 takes the square root of first value to provide the THD.
The NLF estimation block 470 calculates the NLF based on the following equation:
In other words, the NLF estimation block 470 divides the squared error signal (e.g. E (eJΩ, n)) that is output by the FFT block 212 by the varying current signal from the loudspeaker (e.g. I (eJΩ, n)) to provide a first value. The NLF estimation block 470 takes the square root of the first value to provide the NLF. For example, the NLF estimation block 470 takes the square root of the ratio of the squared error signal and the squared current signal from the loudspeaker 154 to obtain the NLF. In general, the NLF estimation block 470 may calculate the NLF based on the varying current signal i(n) and the spectral error signal E(eJW, n). The formula indicates a calculation in the spectral domain, while not shown in
The NLF may be interpreted as spectral dependent distortion measure that provides a value of between 0 and 1 (or 0% and 100%). Typically, most non-linear distortions may appear at low frequencies and at around the resonance frequency of the loudspeaker 154 as generally shown in connection with
Upon determining the THD and/or the NLF for the loudspeaker 154 which generally correspond to spectral dependent non-linearities of the loudspeaker 154, aspects related to the spectral compressor may be ascertained such as for example spectral weighting or an equalizing (EQ) filter. The following section discloses aspects related to a spectral compressor, which may correspond to the spectral weighting of the equalizing (EQ) filter.
Referring back to
The first and second smoothing blocks 512a and 512b may then smooth the signals e(z) and i(z) using, for example, an infinite impulse response (IIR) smoothing filter that is applied from low to higher frequencies to provide two smoothed spectra Ē and Ī. At that point, in a serial fashion, from high to low frequencies, to avoid spectral bias and based on those two smoothed spectra Ē and Ī, the NLF calculation block 514 calculates the NLF of the loudspeaker 154 considering a small value ΔNLF to avoid divisions by zero. After this, the non-linear smoothing block 516 smooths the NLF by smoothed utilizing a nonlinear smoothing filter which delivers a maximum of NLF (or max (NLF)) in a non-linear smoothed form within a lower spectral range. The maximum of NLF is transmitted to the limit block 520. The maximum of NLF may provide a maximum within a lower spectral range to a resonance frequency of the loudspeaker 154 (fres).
The maximum value search block 518 determines the maximum frequency (e.g., fmax) as well as its corresponding amplitude value αmax. The first replacement block 520 replaces the NLF from 0 to fmax with the value αmax. With the tuning parameter G, the third multiplier block 522 scales the modified NLF signal. Thus, the smaller the tuning parameter G, the higher the achievable bass will be, but also, as a consequence, remaining non-linearities and as such potentially also the perceivable and annoying acoustical artifacts may exist.
The curve inversion block 524 inverts the scaled NLF by subtracting the scaled NFL from one. At this point, the curve is one or at least close to one at spectral areas where little to no nonlinear distortions occur, and below the neutral value of one at frequencies where the loudspeaker 154 may show non-negligible nonlinear distortions. This curve, which depicts a first version of the desired magnitude response of the EQ filter, may next be smoothed by the smoothing block 526. The smoothing block 526 may be an ordinary 1st order IIR filter. The optional filter 528 may be a high pass filter and may include an adjustable slope at low frequencies and that may be applied having a gradient of, for example, 6 [dB/Octave]. By doing this, the perceivable bass performance may be reduced, but at the same time, Acoustic Echo Cancellation (AEC) performance may be increased by a couple of dB. In general, the HP-filter 528 may provide a slope of 0 [dB/Octave] (e.g., flat line, i.e., when the HP-filter 526 is not active) may be applied to obtain as much bass from the loudspeaker 154 as possible. However, for other applications, where, for example, the AEC performance needs to be improved, the filter 528 provides an option for achieving this aspect.
In the following, additional acoustic performance may be in focus and it is desired to enhance this aspect to the fullest extent possible. Thus, in this case, the filter 528 may be removed and a slope of 0 [dB/Octave] is applied. Next, the curve may be limited to an adjustable, lower bound via the limit block 530, to avoid that certain spectral areas are heavily reduced by the EQ-filter. The lower bound applied by the limit block 530 may be provided as ΔNLF, however it is recognized that a different tuning parameter may be used. Finally, the spectral EQ-filter may be transformed from the spectral or frequency domain into the time domain via the domain conversion block 532. Therefore, different options may be possible.
It is recognized that different options may be possible. For example, one embodiment may include generating an ordinary finite impulse response (FIR) filter with a certain length, such as by using a frequency sampling method to obtain a linear phase FIR filter or a more efficient minimum-phase version of the linear phase FIR filter. In this regard, it should be noted that due to the fact that the EQ-filter may naturally reduce levels especially at low frequencies, at or around the resonance frequency of the loudspeaker 154. The FIR filter may have a certain minimum length, otherwise the achieved, spectral resolution of the FIR filter may inevitably be too coarse and not desired. The implementation of a long FIR filter may be expensive. Thus, it may be preferable to approximate the desired, spectral trajectory of the EQ-filter with a linear prediction coding (LPC) filter, which may be efficiently realized with a short FIR filter in a feedback-loop. Another option may also include realizing the desired EQ-filter by IIR filter, but an estimation of an arbitrary, desired trajectory by IIR filter may be expensive. Tests showed, that the LPC version may be the most efficient, in terms of filter length, but also in terms of calculation effort of the LPC filter coefficients. In general, a desired, arbitrary EQ-filter may be realized with half of the coefficients of a minimum-phase FIR filter and about a quarter of the coefficients of a linear-phase FIR filter. There may also be applications in which a linear-phase FIR-filter may have to be used, for example, if the phase of the overall acoustical system, which also includes the time varying, spectral compressor 500 (or control signal hEQ(n)) is not allowed to change over time to avoid undesired acoustical modifications, such as dynamic changes in the localization, the auditory source width, the listener's envelopment and so on, which are all coupled to the overall phase and its stability over time. As an alternative, constant phase (IIR) filters may be used as well, as a more effective filtering version.
In general, the system 600 provides advanced loudspeaker protection via the over-excursion limiter gain calculation block 176 in addition to a thermal limiter (TL) that is driven by online estimates of required parameters (RDC, fDC, fres, QTS, and L) of the unknown loudspeaker 154 by the parameter estimation block 192. As noted above, the spectral compressor 500 generally determines an estimate of the current nonlinear distortion for the loudspeaker 154 based on THD and the NLF from the calculation of distortions block 456, 470 and outputs the signal heq(n). The current nonlinear distortion for the loudspeaker 154 includes distortions of the loudspeaker 154 that are not caused by harmonic parts, etc. The signal heq(n) corresponds to a real-time estimate of current distortions of the loudspeaker 154. The equalizing filter 604 is configured to account for the real time distortions of the loudspeaker 154 in response to the signal heq(n).
The signal hEQ(n) provides a spectral shape that varies over time n that may be applied to the equalizing filter 604. The equalizing filter 604 filters the incoming audio signal from the audio source 156 based on the signal heq(n) to account for the distortions of the loudspeaker 154. The equalizing filter 604 is applied to the incoming audio signal x(t) before the gain G(n) is applied to the adjustable gain block 606 by the over-excursion limiter gain calculation block 176. The adjustable gain block 606 adjusts the gain output in response to the gain G(n) as received from the over-excursion limiter gain calculation block 176. As noted above, the over-excursion limiter gain calculation block 176 provides individual limiter gains for loudspeaker over-excursion as well as for the thermal limiter of the loudspeaker 154.
In general, the values for the signal heq(n) and the gain G(n) adaptively change which modifies the loudspeaker driving signal (e.g. u(n)) and hence may directly influence the behavior and/or the functionality of the loudspeaker 154 that is tested and tuned in a closed loop. The analysis takes into account the real properties of the loudspeaker 154 (e.g., impedance). The system 600 is implemented as a hardware-in-the-loop system, since in this case the real, physical loudspeaker may be part of the system 600 itself, or by using a precise model of the used loudspeaker that is able to simulate the loudspeaker in its complex form (e.g., where also the nonlinear behavior of the loudspeaker 154 is considered within the model). The preferred hardware-in-the-loop version may require hardware that is capable of being, connected with a simulation system running at a personal computer (PC), thereby considering certain minimum latency requirements. Such an implementation may be expensive. To mitigate this issue, another method may be employed such as, for example, the usage of an elaborated loudspeaker model that directly runs within the simulation that was used instead to test the closed-loop of the system. For example, the loudspeaker 154 was first measured via a Klippel measurement system to obtain speaker parameters to model its complex behavior. Afterwards, those parameters were used in a generic speaker model to simulate the behavior of the measured loudspeaker. The control block 608 generally designates or serves as adaption control (e.g., LMS) for the adaptive filter 190. The adaptive filter 190 provides the signal g(n) (or g(z)) (e.g., the admittance or impedance) which is used by the online parameter estimation block 192 to determine the parameters noted above. The adaptive filter 190 also provides the signal iest(t) which corresponds to an estimated signal output from the loudspeaker 154 (or estimated varying signal i(t)). The adder 610 subtracts the signal iest(t) from i(t) to provide the desired error signal e(t) which is necessary for the calculation of the estimated distortion (e.g., the calculations of distortion blocks 456, 470). The spectral compressor 500 utilizes the distortion to generate the signal heq(n).
As a result, the functionality of the spectral compressor 500 may be verified for example by a comparison of the NLF, before and after the application of the spectral compressor 500. A reduction of the nonlinear behavior may be observed if the spectral compressor 500 was activated, compared to the situation in which the spectral compressor 500 was not active. However, the desired manner of verification may be to listen to the output files, since now, with an activated spectral compressor 500 much more bass may be perceived, without perceptually disturbing acoustical artifacts being present once the spectral compressor 500 was well adjusted, compared to a classical way (e.g., via the utilization of a corresponding HP cross-over filter) to avoid acoustically disturbing artifacts. It may further be verified by way of analysis of the output signals (e.g., see signals in
While the spectral compressor 500 may reduce certain spectral regions at which the nonlinear distortion becomes too high, to eventually limit the overall, nonlinear distortion of the loudspeaker 154 to a certain threshold, it may not represent a so-called “linearizer”. The functional principle of a classical linearizer may be given if the driving signal of the loudspeaker 154 is pre-distorted to compensate for the distortions of the non-linearities to eventually linearize the loudspeaker.
This task may be achieved, for example, if the unknown loudspeaker 154 can precisely be modeled, including the non-linear behavior. In case such a model can successfully be estimated during normal operation, by then predictable distortions of the loudspeaker 154 can be estimated as well and, as a consequence be also compensated, by way of a so-called mirror filter, creating the before-mentioned pre-distortion of the driving signal (e.g., u(t)) for the loudspeaker 154.
In this case, the linearizer 704 models the predictable distortions of the loudspeaker 154 based in the error signal e(n) from the adaptive filter 190 and transmits a feedback control signal fb(t) to the adder 702 which is subtracted from the incoming audio signal x(t). Thus, the indication of the non-linear by products of the loudspeaker 154 via the signal fb(t) may be subtracted from the incoming audio signal x(t) to compensate for the non-linear by products of the loudspeaker 154.
Another way to realize such a linearizer is by way of feedback (FB) control, known e.g. from feedback active noise control (ANC) systems, as illustrated by the FD in
The data as provided in the plots 720, 722, 724, and 726 may indicate promising results. For example, a real-time system may be provided to verify functionality of the feedback control-based linearizer 704. In addition, the real-time system may need to fulfill requirements regarding latency, otherwise, a proper operation may not be possible. Finally, such a low-latency, real-time system may include an evaluation board of, for example, a Sigma 50 digital signal processor (DSP) from Analog Devices (ADI), which may also be programmed with acceptable effort. The DSP may not provide enough signal processing power to realize an online estimation of the admittance function G(z) with enough spectral resolution, i.e. with a long enough FIR filter. As a consequence, for verification tests, the adaptively adjusted estimate of G(z) was replaced by a fixed filter, thereby approximating the fixed filter's linear characteristic. The approximation by a couple of 2nd order IIR filter (Biquads) (see waveform 750 in
In
Waveforms 780 and 782 (e.g., current and voltage) of
The system 900 generally provides optimal performance for the loudspeaker 154 without damaging the same. It is recognized that the current sensor 602, which may be readily integrated into integrated circuits of an amplifier may or may not increase hardware (HW) costs. From the controller 152 and memory perspective, instructions to execute the various features noted herein may require additional effort since adaptive filtering, estimating the current admittance curve G(z) in real-time, may be needed, together with, for example, at least two additional filters. The filter may realize the spectral shaping filter of the spectral compressor 500 as well as. for example, the IIR filter based, feedback filter W(z) of the linearizer 704. Thereby, the actual core (e.g., FIR filter G(z)) of the adaptive filter 190 may be realized similar to the linearizer 704 at a high sampling rate to keep its latency low, whereas the actual adaptation may be realized at a lower sampling rate, thereby using an efficient block processing, most efficiently realized in the spectral domain, if desired. Also, the over-excursion limiter block 176 (including the thermal limiter) may deliver the gain G(n) which may be realized at high frequencies, but since a single gain may be used, the real-time effort for this part may be negligible.
To keep the software related effort low when executed in the controllers as set forth herein, several measures have been set forth herein, such as, for example, the utilization of an efficient LPC FIR filter of a reduced length (e.g. 64 [Taps]) may be used for the realization of the spectral compressor 500 instead of a linear, and/or minimum-phase FIR filter. Utilization of block processing (e.g., most efficiently in the spectral domain) and/or downsampling for the realization of the adaptive FIR filter as well as usage of (minimum-phase) IIR filter, realized by a couple (<=10) of ordinary Biquads, may be used for the implementation of the feedback filter W(z) (or linearizer 704). With those efficiency enhancing measures, such a system may be realized with any processor of ordinary performance.
While exemplary embodiments are described above, it is not intended that these embodiments describe all possible forms of the invention. Rather, the words used in the specification are words of description rather than limitation, and it is understood that various changes may be made without departing from the spirit and scope of the invention. Additionally, the features of various implementing embodiments may be combined to form further embodiments of the invention.
This application claims the benefit of U.S. provisional application Ser. No. 62/955,125 filed Dec. 30, 2019, the disclosure of which is hereby incorporated in its entirety by reference herein. This application may also generally relate to U.S. provisional application Ser. No. 62/955,138 filed Dec. 30, 2019 (“the '138 application”) entitled “SYSTEM AND METHOD FOR PROVIDING ADVANCED LOUDSPEAKER PROTECTION WITH OVER-EXCURSION, FREQUENCY COMPENSATION AND NON-LINEAR CORRECTION, U.S. provisional application Ser. No. 62/955,149 (“the '149 application”) filed Dec. 30, 2019 entitled “SYSTEM AND METHOD FOR COMBINING AN ADVANCED LOUDSPEAKER PROTECTION WITH AN AUTOMATICALLY ADJUSTABLE SPECTRAL COMPRESSOR” and U.S. provisional application Ser. No. 62/955,141 (“the '141 application”) filed Dec. 30, 2019 entitled “SYSTEM AND METHOD FOR PROVIDING A LINEARIZER FOR LOUDSPEAKER APPLICATIONS” the disclosures of which are hereby incorporated in their entirety by reference herein.
Number | Date | Country | |
---|---|---|---|
62955125 | Dec 2019 | US |