MULTI-RATE FILTER SYSTEM
20170134854 · 2017-05-11
Inventors
- Erik Lindahl (Stockholm, SE)
- Ludvig Lindblom (Linköping, SE)
- Pär Gunnars Risberg (Solna, SE)
- Landy Toth (Doylestown, PA, US)
Cpc classification
H04R2430/00
ELECTRICITY
H03H17/0621
ELECTRICITY
International classification
Abstract
A multi-rate filter system is disclosed. More particularly, a computationally efficient multi-rate filter system for processing an audio stream on a consumer electronics device is disclosed. The multi-rate filter system includes a plurality of multi-rate filtering blocks, at least one block including a linear filter component. At least one multi-rate filtering block may include a nonlinear signal processing component. The multi-rate filter system may include a nonlinear functional block. A method of filtering a signal is also disclosed.
Claims
1. A multi-rate filter system comprising: an input channel configured to receive an input signal; an output channel configured to output a filtered signal; and a cascade of multi-rate filter blocks coupled between the input channel and the output channel, at least one of the multi-rate filter blocks comprising: a bandselector comprising a bandselector input, a highpass bandselector output, a lowpass bandselector output connected to a subsequent multi- rate filter block, and a downsampler connected between the bandselector input and the lowpass bandselector output; a signal processing block coupled to the highpass bandselector output, the signal processing block comprising a linear filter component and a nonlinear filter component connected to the linear filter component; and a bandcombiner connected to the signal processing block, the bandcombiner comprising two bandcombiner inputs, a bandcombiner output, and an upsampler, a first bandcombiner input connected to the signal processing block, a second bandcombiner input connected to a subsequent multi-rate filter block, and the bandcombiner output connected to a prior multi-rate filter block, the upsampler connected between the bandcombiner inputs and the bandcombiner output.
2. The multi-rate filter system in accordance with claim 1, wherein the nonlinear filter component has an input and an output, and the output is a nonlinear function of the input.
3. The multi-rate filter system in accordance with claim 1, wherein the nonlinear filter component comprises a compressor.
4. The multi-rate filter system in accordance with claim 1, wherein the nonlinear filter component comprises a limiter.
5. The multi-rate filter system in accordance with claim 1, wherein the nonlinear filter component comprises a clipper.
6. The multi-rate filter system in accordance with claim 1, wherein the nonlinear filter component comprises an integrator.
7. The multi-rate filter system in accordance with claim 1, wherein the nonlinear filter component comprises a multiplier.
8. The multi-rate filter system in accordance with claim 1, wherein the nonlinear filter component comprises a convolution.
9. The multi-rate filter system in accordance with claim 1, wherein the nonlinear filter component comprises a rectifier.
10. The multi-rate filter system in accordance with claim 1, wherein the nonlinear filter component comprises a piecewise linear shaping function.
11. The multi-rate filter system in accordance with claim 1, wherein the nonlinear filter component comprises a nonlinear transfer function.
12. The multi-rate filter system in accordance with claim 1, wherein the nonlinear filter component comprises an asymmetric polynomial function.
13. The multi-rate filter system in accordance with claim 1, wherein the nonlinear filter component is a combination comprising at least two of a clipper, a compressor, a limiter, an integrator, a multiplier, a convolution, a rectifier, a piecewise linear shaping function, a nonlinear transfer function, and an asymmetric polynomial function.
14. The multi-rate filter system in accordance with claim 1, wherein the linear filter component is selected from the group consisting of a finite impulse response (FIR) filter, an infinite impulse response (IIR) filter, a Kalman filter, a neural network, a fuzzy logic filter, and combinations thereof.
15. The multi-rate filter system in accordance with claim 14, wherein the linear filter component comprises reconfigurable filter parameters.
16. The multi-rate filter system in accordance with claim 1, wherein at least one multi-rate filter block comprises an observer configured to output an observer signal, the observer connected to the signal processing block between the highpass bandselector output and the first bandcombiner input.
17. The multi-rate filter system in accordance with claim 16, wherein the observer comprises a strength monitor.
18. The multi-rate filter system in accordance with claim 16, wherein the nonlinear filter component is configured to respond to the observer signal.
19. The multi-rate filter system in accordance with claim 17, wherein the observer is configured to calculate a strength signal from a signal within the signal processing block.
20. The multi-rate filter system in accordance with claim 19, wherein the strength signal is selected from the group consisting of a power signal, an instantaneous power signal, an averaged power signal, a frequency band averaged signal, a peak signal, an envelope, a filtered envelope, a Kalman-filtered power estimation, a noise power spectral density, a loudspeaker excursion estimation, an autocorrelation parameter, a band-passed input signal of the signal processing block, and combinations thereof.
21. The multi-rate filter system in accordance with claim 1, further comprising a nonlinear functional block (NLFB) including an NLFB input and an NLFB output, a first multi-rate filter block comprising a bandcombiner output, and a second multi-rate filter block comprising a bandcombiner input, the NLFB input connected to the bandcombiner output of the first multi-rate filter block, and the NLFB output connected to the bandcombiner input of the second multi-rate filter block.
22. The multi-rate filter system in accordance with claim 1, further comprising a control channel configured to receive a control signal, wherein at least one multi-rate filter block is connected to the control channel.
23. The multi-rate filter system in accordance with claim 22, wherein the linear filter component is configured to respond to the control signal.
24. The multi-rate filter system in accordance with claim 22, wherein the nonlinear filter component is configured to respond to the control signal.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
DETAILED DESCRIPTION
[0041] Particular embodiments of the present disclosure are described hereinbelow with reference to the accompanying drawings; however, the disclosed embodiments are merely examples of the disclosure and may be embodied in various forms. Well-known functions or constructions are not described in detail to avoid obscuring the present disclosure in unnecessary detail. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a basis for the claims and as a representative basis for teaching one skilled in the art to variously employ the present disclosure in virtually any appropriately detailed structure. Like reference numerals may refer to similar or identical elements throughout the description of the figures.
[0042] By consumer electronic device is meant a cellular phone (e.g. a smartphone), a tablet computer, a laptop computer, a portable media player, a television, a portable gaming device, a gaming console, a gaming controller, a remote control, an appliance (e.g. a toaster, a refrigerator, a bread maker, a microwave, a vacuum cleaner, etc.) a power tool (a drill, a blender, etc.), a robot (e.g. an autonomous cleaning robot, a care giving robot, etc.), a toy (e.g. a doll, a figurine, a construction set, a tractor, etc.), a greeting card, a home entertainment system, an active loudspeaker, a sound bar, etc.
[0043]
[0044] At least one of the multi-rate filter blocks 10 includes a bandselector BS, configured to accept a signal from the input channel 1 or a previous multi-rate filter block 10 and to produce a highpass bandselector output signal HP.sub.i, and a lowpass bandselector output signal LP.sub.i to be delivered to a subsequent multi-rate filter block or to a subband processing block (e.g. a signal processing block covering the lowest signal band of interest). The multi-rate filter block 10 may also include a signal processing block AP.sub.i connected to the bandselector BS.sub.i. The signal processing block AP.sub.i may include a linear filter component (e.g. a finite impulse response (FIR) filter, an infinite impulse response (IIR) filter, a Kalman filter, a neural network, a fuzzy logic filter, a butterworth filter, a lattice wave filter, etc.). The multi-rate filter block 10 may also include a bandcombiner connected to the signal processing block AP.sub.i. The bandcombiner US.sub.i may include two bandcombiner inputs, a bandcombiner output, and an upsampler.
[0045] The first bandcombiner input FS.sub.i may be connected to the signal processing block AP.sub.i, the second bandcombiner input SP.sub.i+1 may be connected to a subsequent multi-rate filter block, and the bandcombiner output SP.sub.i connected to a prior multi-rate filter block. The upsampler may be connected between the bandcombiner inputs FS.sub.i, SP.sub.i+1 and the bandcombiner output SP.sub.i.
[0046] The bandselector BS.sub.i may be configured to isolate a signal band to produce the bandselector highpass output HP.sub.i. This function may be achieved with a high pass filter. The band selector may also be configured to produce a lowpass bandselector output LP.sub.i at a resampled rate. This function may be achieved using a downsampler (e.g. an m:1 downsampler where m is a sample rate, a 8:1, 6:1, 4:1, 3:1, 2:1, 1.5:1, 1.25:1, downsampler, an adaptive sampling unit, an asynchronous sample rate converter, etc.), optionally in conjunction with a low pass filter. The highpass filter and the lowpass filter included in the bandselector BS.sub.i may be complimentary filter pairs (i.e. so as to provide perfectly matched filters and to simplify the filter design). The downsampler associated with each bandselector BS.sub.i may be configured to perform a different change in sampling rate, from the other downsamplers in the system, it may be similar, etc. (i.e. each downsampler may have a unique value m, m may be the same for a plurality or all of the downsamplers, etc.).
[0047] Each signal processing block AP.sub.i may be configured so as to operate at an associated sample rate. The sample rate may be determined by the associated downsampler or a filter block controller (not explicitly shown). A filter block controller may be configured to set filter parameters for each of the components of the filter system upon startup, upon firmware update, etc. Each signal processing block AP.sub.i may be configured to process the associated highpass bandselector output signal HP.sub.i with a predetermined degree of precision (i.e. bit count). In one non-limiting example, signal processing blocks AP.sub.i associated with progressively lower frequency bands, may be configured to analyze the associated signals with increasing degree of precision. The associated downsampler may be configured to increase the precision of the output generated therefrom by an amount related to the downsampling parameter. Such changes in precision may be advantageous to compromise between delay and the number of filter blocks 10 in the filter system.
[0048] In aspects, the signal processing block AP.sub.i may include a linear filter component (e.g. a finite impulse response (FIR) filter, an infinite impulse response (IIR) filter, a Kalman filter, a neural network, a fuzzy logic filter, a butterworth filter, etc.), for modifying the signal content in the selected band. In aspects, the signal processing block APi may include a nonlinear filter component nLB.sub.i (a clipper, a compressor, a limiter, an integrator, a multiplier, a convolution, a rectifier, a piecewise linear shaping function, a nonlinear transfer function, and/or an asymmetric polynomial function to calculate at least a portion of the second enhanced signal, etc.). The linear and/or nonlinear filter components may be configured to process the signal content within the selected band. The nonlinear filter may be configured to generate signal content out of band. The acceptable out of band range may be determined by the bandwidth associated with the band and the sample rate associated with the band.
[0049] In aspects, the bandcombiner US.sub.i may be connected to the signal processing block AP.sub.i and the bandcombiner output SP.sub.1+1 from a subsequent multi-rate filter block. The bandcombiner US.sub.i may include a summer to combine the inputs signals thereto, an upsampler (e.g. an 1:k upsampler where k is a sample rate, a 1:1, 1:1.5, 1:1.2, 1:8, 1:6, 1:4 upsampler, an adaptive sampling unit, an asynchronous sample rate converter, etc.), to upsample the combined signals to form the bandcombiner output signal SP.sub.i. In aspects, the bandcombiner USi may include a low pass filter connected to the upsampler, to prevent imaging of the bandcombiner output signal SP.sub.i.
[0050] The band limits and the sample rates associated with each multi-rate filter block may be configured based upon the desired processing characteristics thereof. In a non-limiting example, wherein the multi-rate filter block 10 includes only linear signal processing components, the sample rate need only be 2 the associated upper limit of the associated band. Additional headroom may be provided by adjusting the cutoff frequency of the low pass filter in the associated bandselector BS.sub.i. In a non-limiting example where the multi-rate filter block 10 includes nonlinear processing element, the ratio of the sample rate to the upper limit of the associated band may be greater than 2, may be adaptively changed during processing, etc. In aspects, the multi-rate filter block 10 may include a look ahead buffer suitable for predicting changes in the signal and adaptively compensating the gain of a nonlinear filter block (e.g. attack and release of a compressor, a limiter, etc.), altering the relationships between the upper limit of the associated band and the sample rate, combinations thereof, or the like.
[0051] In aspects, the downsample rates m and the upsample rates k of the multi-rate filter blocks 10 may be equal to each other. In a non-limiting example, the downsample and upsample rates are equal to 2 (e.g. thus segmenting the signal spectrum into octave bands).
[0052] In aspects, the multi-rate filter may include an output stage (e.g. just prior to the output channel 2, connected to the output channel 2, included in the bandcombiner US.sub.0). In aspects, the output stage may include an audio amplifier (e.g. a class AB, class D amplifier, etc.), a crossover (e.g. a digital cross over, an active cross over, a passive crossover, etc.), and/or an audio enhancement system (AES) including a psychoacoustic function each in accordance with the present disclosure.
[0053] In aspects, the multi-rate filter system or portion thereof (e.g. a component, a down-sampler, an up-sampler, a processing block, etc.), may be configured with an overall signal delay (i.e. the delay between the input signal 1 and the output signal 2). In aspects, the multi-rate filter system may be configured to provide an overall linear phase relationship between the input signal 1 and the output signal 2. As such, the multi-rate filter system may include one or more linear phase filters to provide the associated relationship. The multi-rate filter system may include one or more near linear phase filters, configured in order to provide a nearly linear phase relationship between the input thereto and the output therefrom. In aspects, the multi-rate filter system may be configured with a maximal delay below a predetermined value (e.g. less than 45 ms, less than 22 ms, less than 10 ms, etc.).
[0054] In aspects, the multi-rate filter may be included in a consumer electronics device. The multi-rate filter may be configured to compensate for one or more acoustic characteristics of the consumer electronics device. Some non-limiting examples of acoustic characteristics which may be compensated for by the multi-rate filter factors such as the loudspeaker design (speaker size, internal speaker elements, material selection, placement, mounting, covers, available back volume, etc.), device form factor, internal component placement, screen real-estate and material makeup, case material selection, hardware layout, and assembly considerations amongst others.
[0055] In aspects, the multi-rate filter system may be configured to compensate for one or more properties of a sound producing device such a film speaker. Some non-limiting examples of speaker properties to be compensated for include nonlinear transduction effects, memory effects, rate dependent hysteresis, mode breakup, large signal nonlinearities, limited bass response, environmental dependence (e.g. temperature, humidity, pressure differences, etc.), combinations thereof, and the like.
[0056] In aspects, the signal processing block AP.sub.i may include such functionality as FIR filtering, IIR filtering, warped FIR filtering, transducer artifact removal, disturbance rejection, user specific acoustic enhancements, user safety functions, emotive algorithms, psychoacoustic enhancement, signal shaping, single or multi-band compression, expanders or limiters, watermark superposition, spectral contrast enhancement, spectral widening, frequency masking, quantization noise removal, power supply rejection, crossovers, equalization, amplification, driver range extenders, power optimization, linear or non-linear feedback or feed-forward control systems, and the like. The signal processing block AP.sub.i may include one or more of the above functions, either independently or in combination. One or more of the included functions may be configured to depend on one or more pre-configurable and/or reconfigurable parameters. The functions may be combined to form an equivalent linear filter component and nonlinear filter component.
[0057] In aspects, the multi-rate filter system (e.g. via the collective combination of the signal processing blocks AP.sub.o to AP.sub.n) may be configured to provide echo cancellation, environmental artifact correction, reverb reduction, beam forming, auto calibration, stereo widening, virtual surround sound, virtual center speaker, virtual sub-woofer (by digital bass enhancement techniques), noise suppression, sound effects, or the like. One or more of the included functions may be configured to depend on one or more of the parameters.
[0058] In aspects, the multi-rate filter system (e.g. via the collective combination of the signal processing blocks AP.sub.o to AP.sub.n) may be configured to impose ambient sound effects onto an audio signal, such as by transforming an audio input signal conveyed via the input channel 1 with an ambient environmental characteristic (e.g. adjusting reverb, echo, etc.) and/or superimposing ambient sound effects onto the audio input signal akin to an environmental setting (e.g. a live event, an outdoor setting, a concert hall, a church, a club, a jungle, a shopping mall, a conference setting, an elevator, a conflict zone, an airplane cockpit, a department store radio network, etc.).
[0059] In aspects, the ambient sound effects may be configured so as to include specific information about a user, such as name, preferences, etc. The ambient sound effects may be used to securely superimpose personalized information (e.g. greetings, product specific information, directions, watermarks, handshakes, etc.) into an audio stream.
[0060] In aspects wherein the signal processing blocks AP.sub.i include associated linear filter components, the linear filter component may be optimized to enhanced the audio performance of a consumer electronics device into which it is implemented. A non-limiting example of a method for enhancing audio performance of a consumer electronic device (CED) includes placing the consumer electronic device including an audio signal source, one or more transducers, an integrated loudspeaker assembly, and a multi-rate filter system in accordance with the present disclosure into an acoustic test chamber with a plurality of audio sensors (e.g. microphones) spatially and optionally strategically arranged within the acoustic test chamber and/or on or within the CED (e.g. a microphone on a handset CED). A range of test audio signals (e.g. impulse signals, frequency sweeps, music clips, pseudo-random data streams, etc.) may be played on the consumer electronic device and monitored with the audio sensors. In an initial test, the multi-rate filter system may be substantially configured with one or more pass band linear filters (a null state whereby the multi-rate filter system is configured so as to not substantially affect the audio signal pathway through the CED).
[0061] In aspects, the signal processing block AP.sub.i transfer functions may be parametrically configured to compensate for the acoustic signature of the CED. One, non-limiting approach for calculating the transfer function(s) from the acoustic signature of the CED is to implement a time domain inverse finite impulse response (FIR) filter based upon the estimated acoustic signature of the CED. This may be implemented by performing one or more convolutions of the transfer functions with the acoustic responses of the CED to the audio input signals. An averaging algorithm may be used to optimize the transfer function(s) from the outputs measured across multiple sources and/or multiple test audio signals.
[0062] In one non-limiting example, the compensation transfer function may be calculated from a least squares (LS) time-domain filter design approach. If c(n) is the system response to be corrected (such as the output of an impulse response test) and a compensating filter is denoted as h(n), then one can construct C, the convolution matrix of c(n), as outlined in equation 1:
[0063] where N.sub.c is the length of the response c(n). C has a number of columns equal to the length of h(n) with which the response is being convoluted. Assuming the sequence h. has length denoted by N.sub.h then the number of rows of C is equal to (N.sub.h+N.sub.c1). Then, using a deterministic least squares (LS) approach to compare against a desired response, (in a non-limiting example, defined as the Kronecker delta function (nm)), one can express the LS optimal inverse filter as outlined in equation 2:
h(n)=(C.sup.TC).sup.1C.sup.T.sub.m [equation 2]
[0064] where .sub.m (n) is a column vector of zeroes with 1 in the mth position to create the modeling delay. The compensation filter h(n) can then be computed from equation 2 using a range of computational methods.
[0065] In aspects, the parametrically configurable transfer function(s) may be iteratively determined by subsequently running test audio signals on the CED with the updated transfer function(s) and monitoring the modified acoustic signature of the CED with the audio sensors. A least squares optimization algorithm may be implemented to iteratively update the transfer function(s) between test regiments until an optimal modified acoustic signature of the CED is obtained. Other, non-limiting examples of optimization techniques include non-linear least squares, L2 norm, averaged one-dependence estimators (AODE), Kalman filters, Markov models, back propagation artificial neural networks, Baysian networks, basis functions, support vector machines, k-nearest neighbors algorithms, case-based reasoning, decision trees, Gaussian process regression, information fuzzy networks, regression analysis, self-organizing maps, logistic regression, fractional derivative based optimization, time series models such as autoregression models, moving average models, autoregressive integrated moving average models, classification and regression trees, multivariate adaptive regression splines, and the like.
[0066] Due to the spatial nature of the acoustic signature of a CED, the optimization process may be configured so as to minimize error between an ideal system response and the actual system response as measured at several locations within the sound field of the CED. The multi-channel data obtained via the audio sensors may be analyzed using sensor fusion approaches. In many practical cases, the usage case of the CED may be reasonably well defined (e.g. the location of the user with respect to the device, the placement of the device in an environment, etc.) and thus a suitable spatial weighting scheme can be devised in order to prioritize the audio response of the CED in certain regions of the sound field that correspond to the desired usage case. In one, non-limiting example, the acoustic response within the forward facing visual range of a laptop screen may be favored over the acoustic response as measured behind the laptop screen during such tests. In this way, a more optimal multi-rate filter system may be formulated to suit a particular usage case for the CED.
[0067] In aspects, a method for optimizing a multi-rate filter system in accordance with the present disclosure may include optimizing the HDL implementation for reduced power, reduced footprint, or for integration into a particular semiconductor manufacturing process (e.g. 13 nm-0.5 m CMOS, CMOS-Opto, HV-CMOS, SiGe BiCMOS, etc.). This may be advantageous for providing an enhanced audio experience for a consumer electronic device without significantly impacting power consumption or adding significant hardware or cost to an already constrained device.
[0068]
[0069] In aspects, one or more of the low pass and/or high pass filters may be configured with linear phase characteristics (e.g. as linear phase FIR filters, etc.). In aspects, one or more of the low pass and/or high pass filters may be configured with near linear phase characteristics (i.e. with phase characteristics that deviate from a linear phase characteristic by less than a predetermined limit). Such configurations may be advantageous to manage and/or reduce the overall phase distortion introduced to the signal path by the multi-rate filter system during use (e.g. as may be introduced during reconstruction of the individual bands during formation of the output signal). Near linear phase filter characteristics may be advantageous for managing the relationship between the overall phase distortion and the delay associated with the multi-rate filter system.
[0070]
[0071] In aspects, the upsampler 250 may be configured with one or more interpolation filters so as to reduce imaging associated with the upsampled intermediate signal 255.
[0072] In aspects, the bandcombiner US.sub.i may include one or more filter elements (i.e. the low pass filter 260, included in the upsampler 250, etc.) configured so as to manage, reduce, and/or minimize the delay introduced into the signal during use. Such filter elements may be configured as linear phase filters, near linear phase filters (e.g. a filter prescribed wherein the filter phase variation is within a predetermined tolerance of a linear phase variation), or the like. Such filters may be optimized during an optimization method in accordance with the present disclosure.
[0073]
[0074]
[0075] In aspects, the compressor 290 may include an observer. The observer may be configured to monitor at least one signal within the signal processing block AP.sub.i (e.g. the linear filtered signal 276, the first bandcombiner input S.sub.i, an intermediate signal, a representation of such signals, etc.). In aspects, the observer may be configured to calculate a strength signal.
[0076] In aspects, the strength signal may be evaluated simply as being equal to a band-passed input signal. Some other non-limiting examples for calculating a strength signal from an associated input signal (or filtered version thereof) include, a power signal, instantaneous power signal, averaged power signal, frequency band averaged signal, peak signal, an envelope, a filtered envelope, a Kalman-filtered power estimation technique, noise power spectral density, loudspeaker excursion estimators, an autocorrelation parameter, combinations thereof, or the like.
[0077] In aspects, the compressor (e.g. or equivalently a nonlinear filter component) may be configured to respond to the observer output (e.g. an observer signal SL.sub.i). The observer may be configured to output an observer signal SL.sub.i for use by another component and/or block in the multi-rate filter system.
[0078]
[0079] In general the adaptation process associated with the adaptive finite impulse response (aFIR) filter 292 may be configured so as to be sufficiently slow to maintain an essentially linear behavior from the aFIR filter 292 over the signal bandwidth of interest (e.g. the audio frequency band).
[0080] In aspects, the limiter 296 may include an observer in accordance with the present disclosure. The observer may be configured to monitor at least one signal within the signal processing block APi (e.g. the linear filtered signal 294, the first bandcombiner input Si, an intermediate signal, a representation of such signals, etc.). The observer may be configured to calculate a strength signal in accordance with the present disclosure.
[0081]
[0082] In aspects, the bass enhancement system 300 may include a psychoacoustic bass enhancement block (PAB) 310 and a compressor 320. The compressor 320 may be configured to accept the input signal 2 or a related signal thereof (e.g. filtered, resampled, clipped, input signal 2, etc.), and the control signal 25, and to produce a first enhanced signal 325 and an internal control signal 335. The PAB 310 may be configured to accept the input signal 2 or a related signal therefrom (e.g. filtered, resampled, clipped, input signal 2, etc.) and the internal control signal 335, and to produce a second enhanced signal 315. In aspects, the first enhanced signal 325 and the second enhanced signal 315 may be combined (e.g. added, mixed, etc.) in a combination block 330 to produce the enhanced output signal, S.sub.out2 345.
[0083] The system 300, the PAB 330 and/or the compressor 320 may include one more filters (e.g band pass filters, low pass filters, high pass filters, adaptable filters, polyphase FIR filters, FIR filters, lattice wave filters, etc.) for isolating one or more frequency bands (e.g. band-1, band-2, band-3, band-m, band-n signals, etc.) from the input signal 2 for further analysis and/or enhancement. In aspects, the compressor 320 may include a filter for isolating a portion of the input signal content residing roughly within the bass audio range (e.g. 10-80 Hz, 30-60 Hz, 35-50 Hz, 100-300 Hz, 120-250 Hz, etc.). The compressor 320 may be configured to adjust the bandwidth limits of the filter in real-time (e.g. as directed by the external control signal S.sub.ctr1). Alternatively, additionally, or in combination the multi-rate filter system may be tapped at one or more bandcombiner outputs SP.sub.i in order to retrieve one or more band limited signals for use in the nonlinear functional block (e.g. the bass enhancement system 300).
[0084]
[0085] In aspects, the system control signal 415 may be a power management signal, a volume scale, a power setting (e.g. ultra-low power, low power, full power, etc.), a signal related to trade-off between audio quality and power, a user input signal, or the like.
[0086] When implemented into an audio processing system, the audio processing system may include a driver 430. The driver 430 may be driven by an audio processing output signal 425, at least partially dependent on the output signal S.sub.out and/or the enhanced signal 355. The driver 430 may generate one or more output signals 435 for driving one or more loudspeakers 460, 470, loudspeaker driver modules 440, and/or integrated circuits 450 included therein. The controller 420 may be configured to accept one or more sensor signals 445, 455, 465, 475, 485 from one or more audio components within a complete audio signal processing system. Some non-limiting examples include current, voltage, and/or temperature sensor signal 465 from the driver 430, a current, voltage, displacement, temperature, and/or acceleration sensor signal 455, 485 from one or more of the loudspeakers 460, 470, and a current, voltage, impedance, temperature, limiter, and/or envelop sensor signal 475 from one or more integrated circuits 450 included in the audio processing system.
[0087] In aspects, the controller 420 may be configured to accept an audio sensor signal 445 as operably produced by one or more microphones 480 included in the audio processing system. The controller 420 may be configure to accept a sensor signal (not explicitly shown) from one or more accelerometers, gyroscopes, GPS sensors, temperature sensors, humidity sensors, battery life sensors, current sensors, magnetic field sensors, or the like.
[0088] In aspects, a range of feedback algorithms may be implemented in the controller 420 to relate the sensor signals 445, 455, 465, 475, 485 to the feedback signals SF.sub.o to SF.sub.n. Some non-limiting examples of feedback algorithms include speaker/drive temperature overload feedback, negative feedback based on one or more aspects of the audio sensor signal 445 (e.g. an amplitude based feedback, a distortion based feedback, etc.), a distortion limiting algorithm (e.g. via measurement of the audio sensor signal 445), combinations thereof, and the like.
[0089]
[0090] In aspects, the maximum frequency associated with each signal within the multi-rate filter system is indicated as a power of r (e.g. r.sup.n). Thus the bands associated with this multi-rate filter are logarithmically spaced across the signal spectrum. Such limitation is shown only for illustrative purposes. The sampling ratios may be configured to any unique values and need not be equal to each other.
[0091] In aspects, the multi-rate filter system may include a nonlinear functional block 500 in accordance with the present disclosure. The nonlinear functional block 500 is connected to the bandcombiner output SP.sub.9 of the multi-rate filter block MRFB.sub.9. In the example shown, the bandcombiner output is oversampled (i.e in this case to a value corresponding to the upper band limit of r.sup.9). Thus there is sufficient headroom in SP.sub.9 to accommodate at least a portion of the distortion introduced by the nonlinear functional block 500. The nonlinear functional block 500 is connected to a summer 510. The summer 510 may be connected to the bandcombiner output SP.sub.4 of the multi-rate filter block MRFB.sub.4. In this non-limiting example, the sample rates of the summer 510 inputs are equivalent. The summer output 515 is connected to the prior multi-rate filter block MRFB.sub.3 so as to add the nonlinear functional block 500 enhanced signal back into the multi-rate filter block cascade.
[0092] In aspects, the nonlinear functional block 500 may be a bass enhancement block 300 in accordance with the present disclosure. The nonlinear functional block 500 may also be equivalent to any nonlinear filter component in accordance with the present disclosure.
[0093] The structure shown may be advantageous for effectively coupling highly nonlinear functions into the cascade structure of the multi-rate filter system.
[0094] In aspects, the multi-rate filter block cascade may be tapped at any bandcombiner output SP.sub.i. Such taps may be used to construct wider band signals from the individual band signal of the multi-rate filter cascade.
[0095] In aspects, the sample rates of at least one downsampler and/or upsampler in the multi-rate filter system may be adaptively configurable. At least one downsampler and/or upsampler sample rate may be configured so as to coincide with an acoustic feature (e.g. an acoustic resonance, a bass band transition, a jitter, etc.) of an associated consumer electronics device into which the multi-rate filter system is included.
[0096]
[0097]
[0098] In aspects, the multi-rate filter system may be embedded in an application specific integrated circuit (ASIC) or be provided as a hardware descriptive language block (e.g. VHDL, Verilog, etc.) for integration into a system on chip (SoC), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or a digital signal processor (DSP) integrated circuit.
[0099] In aspects, a multi-rate filter system in accordance with the present disclosure may be configured to substantially match a predetermined single rate wide band filter. The wide band filter may be configured to compensate for one or more rendering characteristics of an audio rendering device (e.g. a consumer electronics device, a media rendering network, etc.). In one non-limiting example, the multi-rate filter system may be configured with a series of bands to collectively span the wide band spectrum associated with the wide band filter. The multi-rate filter system may include N bands, the bands configured as follows: N-1 bands spaced so as to fill a high frequency portion of the wide band filter spectrum (i.e. configured so as to span from the upper limit of the spectrum, F.sub.max, down to a low to mid band frequency F.sub.m), and an additional low band spanning from a substantially lower limit of the spectrum F.sub.min, up to the low to mid band frequency F.sub.m. Each of the bands (i.e. each of the N-1 bands, the low frequency band, etc.) may include a signal processing block AP.sub.i connected to a bandselector BS.sub.i in accordance with the present disclosure. The N-1 bands may be spaced linearly, logarithmically, with individually configured bandwidth, etc. in accordance with the present disclosure. In aspects, the low band may be configured so as to cover a bass band of the spectrum (e.g. perhaps correlated with the bass band of the associated device, covering relevant spectrum less than 1000 Hz, less than 500 Hz, less than 300 Hz, less than 150 Hz, less than 120 Hz, less than 80 Hz, etc.).
[0100] In aspects, the N-1 bands may be logarithmically spaced in accordance with the present disclosure (i.e. each band covering 1:m spectrum wherein m is a real number, 1:2, 1:1.5, half octave bands, quarter octave bands, etc.).
[0101] One or more of the low pass filters in each band may be configured to reduce cross talk, aliasing, imaging, etc. associated with the adjacent band structures, downsampling, and upsampling aspects of the multi-rate filter system. In one non-lmiting example, one or more of the low pass filters may be formed from linear phase FIR filters. One or more of the low pass filters may be configured with cutoff characteristics suitably placed to reduce aliasing and/or imaging of the signals to be processed by the associated bandselector BS.sub.i bandcombiner US.sub.i, and/or signal processing block AP.sub.i. In aspects, related to the use of linear phase filters, bands associated with shorter paths may include a delay element so as to maintain an equal delay between all band signals in the multi-rate filter system.
[0102]
[0103] In aspects, the step of optimizing may include optimizing the multi-rate filter system on the whole, in parts, or by fixing one or more portions of the system while optimizing one or more alternative aspects. The optimization procedure may be completed using one or more known techniques (e.g. nonlinear programming solvers, minimax constraint problem solvers, etc.). Other, non-limiting examples of optimization techniques include non-linear least squares, L2 norm, averaged one-dependence estimators (AODE), Kalman filters, Markov models, back propagation artificial neural networks, Baysian networks, basis functions, support vector machines, k-nearest neighbors algorithms, case-based reasoning, decision trees, Gaussian process regression, information fuzzy networks, regression analysis, self-organizing maps, logistic regression, fractional derivative based optimization, time series models such as autoregression models, moving average models, autoregressive integrated moving average models, classification and regression trees, multivariate adaptive regression splines, and the like.
[0104] In aspects, one or more of the filters in the multi-rate filter system may be optimized separately from each other. The filters in the bandselector BS, and the bandcombiner US.sub.i may be designed (and optionally optimized) so as to define the band structures of the multi-rate filter to conform with the overall performance allowances of the filter. The bandselector BS, and the bandcombiner US, filters may be matched so as to provide the same values and/or reduce complexity of the filter system (i.e. perhaps so as to provide matching filter parameters, reduce memory requirements, etc.). The resulting bandselector BS.sub.i and the bandcombiner US.sub.i filters may then be held constant while the processing filters included in each of the signal processing blocks AP.sub.i are optimized in a secondary optimization procedure.
[0105] Additionally, alternatively, or in combination the filters in the multi-rate filter system may be collectively optimized with reference to the performance allowances. Such an approach may be advantageous for flexibly trading off between the performance allowances (i.e. may allow for more control over delay, phase distortion, and/or magnitude variation).
[0106] For purposes of demonstration, in one non-limiting example, the predetermined wide band filter may be a FIR filter with 2048 taps (e.g. a minimum phase FIR filter, linear phase FIR filter, etc.). The basic computational requirement for the wide band filter is 2048 computations per sample (i.e. 90MIPS at 44.1 kHz). An associated multi-rate filter may be provided with N bands (e.g. N=2, 3, 4, 5, 6, etc.) in accordance with the present disclosure. In one non-limiting example, the multi-rate filter may include logarithmically spaced bands (i.e. in a multi-rate filter with N=3, the bands may be approximately 22 kHz:44 kHz, 11 kHz:22 kHz, F.sub.min:11 kHz).
[0107] The multi-rate filter may be structured in accordance with the method described herein, and the performance allowances may be defined a priori. In one non-limiting example, the allowable delay is preferably less than or equal to 10 ms, the allowable phase distortion is zero (i.e. a linear phase configuration with associated delay elements in each band), and the allowable magnitude variation is set at less than or equal to 0.25 dB. For purposes of discussion, in this example, the delay allowance is relaxed while the linear phase aspect is enforced. Filters in the bandselector BS.sub.i and the bandcombiner US.sub.i are selected to have an order of 40. Initial guesses for the bandselector BS.sub.i and the bandcombiner US.sub.i filters were calculated using a Parks-McClellan algorithm and then optimized subject to weighted constraints relating to pass band flatness, stopband ripple, etc. of each of the filters.
[0108] Continuing with the example, processing filters associated with each signal processing block AP.sub.i are of order 64, except for the lowest band filter, which is arbitrarily provided with order 1024, 512, 256, 128, or 64 for N varying between N=2 and N=6. Initial guesses for the processing filters were made using a Parks-McClellan algorithm. The resulting optimized filters were then generated using an optimization technique in accordance with the present disclosure subject to constraints related to minimization of amplitude error under the constraints of minimum phase filter properties. Such a configuration may be advantageous for simplifying the overall optimization process.
[0109] In accordance with this example, the associated memory requirements, and computations requirements as a function of N are shown in Table 1:
TABLE-US-00001 TABLE 1 Memory Requirement Computational Requirements Order <N> <words> <MIPS> wideband 4096 90.3 2 2320 29.0 3 1606 15.3 4 1564 12.68 5 2098 12.43 6 3400 12.56
[0110] As can be seen from Table 1, the computational requirements for the multi-band filter system are considerably lower than those of the wideband filter for all N values studied. The memory requirements are also improved for a range of N (in this case for N values of 2 through 6).
[0111]
[0112] In aspects, a multi-rate filter system in accordance with the present disclosure may be soft-coded into a processor, coded in VHDL, Verilog or other hardware descriptive language, flash, EEPROM, memory location, or the like. Such a configuration may be used to implement the multi-rate filter system in software, as a routine on a DSP, an FPGA, A CPLD, a processor, and ASIC, etc.
[0113] It will be appreciated that additional advantages and modifications will readily occur to those skilled in the art. Therefore, the disclosures presented herein and broader aspects thereof are not limited to the specific details and representative embodiments shown and described herein. Accordingly, many modifications, equivalents, and improvements may be included without departing from the spirit or scope of the general inventive concept as defined by the appended claims and their equivalents.