The present invention generally concerns digital audio precompensation and more particularly the design of a digital audio precompensation controller that generates several signals to a sound generating system, with the aim of modifying the dynamic response of the compensated system, as measured in several measurement positions in a spatial region of interest in a listening environment.
A system for generating or reproducing sound-including amplifiers, cables, loudspeakers and room acoustics-will always affect the spectral, transient and spatial properties of the reproduced sound, often in unwanted ways. In particular, the acoustic reverberation of the room where the equipment is placed has a considerable and often detrimental effect on the perceived audio quality of the system. The effect of reverberation is often described differently depending on which frequency region is considered. At low frequencies, reverberation is often described in terms of resonances, standing waves, or so-called room modes, which affect the reproduced sound by introducing strong peaks and deep nulls at distinct frequencies in the low end of the spectrum. At higher frequencies, reverberation is generally thought of as reflections arriving at the listener's ears some time after the direct sound from the loudspeaker itself.
Sound reproduction with very high quality can generally be obtained by using matched sets of high-quality cables, amplifiers and loudspeakers, and by modifying the acoustic properties of the room using for example acoustic diffusers, Helmholtz resonators and acoustically absorbing materials. However, such passive means for improving sound quality are cumbersome, expensive, and sometimes not even feasible.
Other means for improving the quality of sound reproduction systems include active solutions based on digital filtering, often referred to as precompensation, equalization, or dereverberation.
A precompensation filter, R in
Up to the physical limits of the system, it is thus, at least in theory, possible to attain an improved sound reproduction quality without the high cost of using extreme high-end audio equipment. The aim of the design could, for example, be to cancel acoustic resonances and diffraction effects caused by imperfectly built loudspeaker cabinets. Another application could be to minimize the effect of room modes (i.e., low-frequency resonance peaks and nulls) in different places of the listening room. Yet another aim could be to obtain a pleasant tonal balance and a detailed perceived stereo image.
So far, the established methods for digital precompensation of audio systems that exist on the commercial market and in the scientific literature are mainly single-channel methods, see e.g., [17]. Single-channel precompensation refers to the principle that the input signal to a loudspeaker is processed by a single filter. When single-channel precompensation is applied to a sound system containing more than one loudspeaker channel—for example a 5.1 home cinema system having five wide-band channels and a subwoofer—it means that the filters for different loudspeaker channels are determined individually and independently of each other. The extent to which each compensated loudspeaker actually attains its specified ideal target response in all measurement positions depends mainly on the following two factors:
Thus, the method of single-channel compensation has a potential limitation in that it can only correct the impulse and frequency responses in an average sense when multiple measurement positions are considered. In an acoustic environment where the original response of a loudspeaker varies a lot between measurement positions, this variability will remain also in the responses of the compensated loudspeaker, although the compensated system's performance on average is closer to the target performance. Moreover, designing a compensator with respect to only one measurement position is not a realistic option because it is well known that single-point designs yield filters that are extremely non-robust and degrade the system's performance at all other positions in the room [13, 14].
It can thus be concluded that single-channel precompensation methods are most effective for correcting degradations that are systematic over the spatial region of interest, i.e., distortion components that are common, or at least nearly common, to all measurement positions. Typically, such systematic degradations are caused by the loudspeaker itself, or by reflecting surfaces very close to the loudspeaker, or by the room acoustics at low frequencies, where the wavelength is large compared to the region of interest. If a sound reproduction system, including its acoustic environment, is such that its spatially varying distortion dominates over its spatially common distortion, then the sound quality improvement offered by single-channel methods is unfortunately rather small.
Considering the above, one may ask whether a precompensation strategy of higher performance can be obtained, for example by using loudspeakers and filter structures in a more flexible way than what is suggested by the established single-channel methods. In the acoustics-related research literature, a few different strategies that go beyond traditional single-channel filtering have been identified [2, 7, 9, 10, 11, 12, 18, 21, 22, 24, 25, 29, 33, 34]. In summary, the known methods can be grouped into the following categories.
None of the multichannel filter design methods in the prior art are useful for the purpose of robust wide-band loudspeaker/room compensation of an existing loudspeaker set-up for stereo or multichannel audio reproduction.
It is a general objective to provide an extended precompensation strategy for improving the reproduction of stereo or multi-channel audio material over two or more loudspeakers.
It is a specific objective to provide a method for determining an audio precompensation controller for an associated sound generating system.
It is another specific objective to provide a system for determining an audio precompensation controller for an associated sound generating system.
It is yet another specific objective to provide a computer program product for determining an audio precompensation controller for an associated sound generating system.
It is also a specific object to provide an improved audio precompensation controller, as well as an audio system comprising such an audio precompensation controller and a digital audio signal generated by such an audio precompensation controller.
These and other objects are met by the invention as defined by the accompanying patent claims.
A basic idea is to determine an audio precompensation controller for an associated sound generating system comprising a total of N≧2 loudspeakers, each having a loudspeaker input. The audio precompensation controller has a number L≧1 inputs for L input signal(s) and N outputs for N controller output signals, one to each loudspeaker of the sound generating system, and the audio precompensation controller generally has a number of adjustable filter parameters. It is relevant to estimate, for each one of at least a subset of the N loudspeaker inputs, an impulse response at each of a plurality M≧2 of measurement positions, distributed in a region of interest in a listening environment, based on sound measurements at the M measurement positions. It is also important to specify, for each one of the L input signal(s), a selected one of the N loudspeakers as a primary loudspeaker and a selected subset S including at least one of the N loudspeakers as support loudspeaker(s), where the primary loudspeaker is not part of this subset. A key point is to specify, for each primary loudspeaker, a target impulse response at each of the M measurement positions with the target impulse response having an acoustic propagation delay, where the acoustic propagation delay is determined based on the distance from the primary loudspeaker to the respective measurement position. The idea is then to determine, for each one of the L input signal(s), based on the selected primary loudspeaker and the selected support loudspeaker(s), filter parameters of the audio precompensation controller so that a criterion function is optimized under the constraint of stability of the dynamics of the audio precompensation controller. The criterion function includes a weighted summation of powers of differences between the compensated estimated impulse responses and the target impulse responses over the M measurement positions.
The different aspects of the invention include a method, system and computer program for determining an audio precompensation controller, a so determined precompensation controller, an audio system incorporating such an audio precompensation controller as well as a digital audio signal generated by such an audio precompensation controller.
The present invention offers the following advantages:
Other advantages and features offered by the present invention will be appreciated upon reading of the following description of the embodiments of the invention.
The invention, together with further objects and advantages thereof, may best be understood by making reference to the following description taken together with the accompanying drawings, in which:
Throughout the drawings, the same reference numbers are used for similar or corresponding elements.
The proposed technology is based on the recognition that mathematical models of dynamic systems, and model-based optimization of digital precompensation filters, provide powerful tools for designing filters that improve the performance of various types of audio equipment by modifying the input signals to the equipment. It is furthermore noted that appropriate models can be obtained by measurements at a plurality of measurement positions distributed in a region of interest in a listening environment.
As mentioned, a basic idea is to determine an audio precompensation controller for an associated sound generating system. As illustrated in the example of
In general, the audio precompensation controller has a number of adjustable filter parameters, to be determined in the filter design scheme. The audio precompensation controller, when designed, should thus generate N controller output signals to the sound generating system with the aim of modifying the dynamic response of the compensated system, as measured in a plurality M≧2 of measurement positions, distributed in a region of interest in a listening environment.
If there are two or more input signals, i.e. L≧2, the method may also include the optional step S5 of merging all of the filter parameters, determined for the L input signals, into a merged set of filter parameters for the audio precompensation controller. The audio precompensation controller, with the merged set of filter parameters, is configured for operating on the L input signals to generate the N controller output signals to the loudspeakers to attain the target impulse responses.
By way of example, it may be desirable for the audio precompensation controller to have the ability of producing output zero to some of the N loudspeakers for some setting of its adjustable filter parameters.
Preferably, the target impulse responses are non-zero and include adjustable parameters that can be modified within prescribed limits. For example, the adjustable parameters of the target impulse responses, as well as the adjustable parameters of the audio precompensation controller, may be adjusted jointly, with the aim of optimizing the criterion function.
In a particular example embodiment, the step of determining filter parameters of the audio precompensation controller is based on a Linear Quadratic Gaussian (LQG) optimization of the parameters of a stable, linear and causal multivariable feedforward controller based on a given target dynamical system, and a dynamical model of the sound generating system. As mentioned, the controller output signals may be transferred to the loudspeaker inputs via optional circuitry. For example, each one of the N controller output signals of the audio precompensation controller may be fed to a respective loudspeaker via an all-pass filter including a phase compensation component and a delay component, yielding N filtered controller output signals.
Optionally, the criterion function includes penalty terms, with the penalty terms being such that the audio precompensation controller, obtained by optimizing the criterion function, produces signal levels of constrained magnitude on a selected subset of the precompensation controller outputs, yielding constrained signal levels on selected loudspeaker inputs to the N loudspeakers for specified frequency bands.
The penalty terms may be differently chosen a number of times, and the step of determining filter parameters of the audio precompensation controller is repeated for each choice of the penalty terms, resulting in a number of instances of the audio precompensation controller, each of which produces signal levels with individually constrained magnitudes to the S support loudspeakers for specified frequency bands.
In a further optional embodiment, the criterion function contains a representation of possible errors in the estimated impulse responses. This error representation is designed as a set of models that describe the assumed range of errors. In this particular embodiment, the criterion function also contains an aggregation operation which can be a sum, a weighted sum, or a statistical expectation over said set of models.
In a particular example, the step of determining filter parameters of the audio precompensation controller is also based on adjusting filter parameters of the audio precompensation controller to reach a target magnitude frequency response of the sound generating system including the audio precompensation controller, in at least a subset of the M measurement positions.
By way of example, the step of adjusting filter parameters of the audio precompensation controller is based on the evaluation of magnitude frequency responses in at least a subset of the M measurement positions and thereafter determining a minimum phase model of the sound generating system including the audio precompensation controller.
Preferably, the step of estimating, for each one of at least a subset of the N loudspeaker inputs, an impulse response at each of a plurality M of measurement positions is based on a model describing the dynamical response of the sound generating system at the M measurement positions.
As understood by a skilled person, the audio precompensation controller may be created by implementing the filter parameters in an audio filter structure. The audio filter structure is then typically embodied together with the sound generating system to enable generation of the target impulse response at the M measurement positions in the listening environment.
The proposed technology may be used in many audio applications. For example, the sound generating system may be a car audio system or mobile studio audio system and the listening environment may be part of a car or a mobile studio. Other examples of sound generating system include a cinema theatre audio system, concert hall audio system, home audio system, or a professional audio system, where the corresponding listening environment is part of a cinema theatre, a concert hall, a home, a studio, an auditorium, or any other premises.
The proposed technology will now be described in more detail with reference to various nonlimiting, exemplary embodiments.
Linear filters, dynamic systems or models that may have multiple inputs and/or multiple outputs are represented by transfer function matrices in the following and are denoted by boldface calligraphic letters, as for example H (q−1) or simply H. A special case of a transfer function matrix is a matrix that includes only FIR filters as elements. Such matrices will be referred to as polynomial matrices and are denoted by bold italic capitals as for example B(q−1) or simply B. Here q−1 is the backward shift operator which, when operating on a signal s(t), results in s(t−1) i.e., q−1s(t)=s(t−1). Similarly, qs(t)=s(t+1). When evaluating a polynomial or rational matrix in the frequency domain, the complex variable z or ejw is exchanged for q. A causal matrix of FIR filters (polynomial matrix) B(q−1) operates only on input signals that are current or past with respect to the present time index t. It will thus have matrix elements that are polynomials in the backward shift operator q−1 only. Similarly, a polynomial matrix B(q, q−1) will operate on both future and past signals, whereas B(q) will operate on future signals only. A superscript (•)T as for example BT(q−1), or BT, means transpose, and when used for a vector, a rational- or a polynomial matrix it means that a row vector transposed becomes a column vector, and the j:th row of a rational- or a polynomial matrix is becoming the j:th column of the same matrix. Similarly, a subscript (•)* means complex conjugate transpose. It means that the vector, the rational-, or polynomial matrix will be transposed, as explained above, and their elements will be complex conjugated. For example, a rational matrix F(q−1) complex conjugated transposed is denoted F*(q). An identity matrix is a constant matrix with ones on the diagonal. It is denoted I, or IN, if the dimension is N×N. Another constant matrix, e.g., 0N denotes a zero matrix of dimension N×N. Furthermore, diag([F1 . . . FN]T) denotes a diagonal matrix with F1 . . . FN on the diagonal, whereas trP denotes the trace of the matrix P, which is the sum of the diagonal elements of P.
The sound generating or reproducing system to be modified will be represented as in
where t is an integer that represents a discrete time index (a unit sampling time is assumed, where, e.g., t+1 means one sample time ahead of time t) and the signal y(t) is a M-dimensional column vector representing the modeled sound pressure time-series at the M measurement positions. The operator H represents a model of the acoustic dynamic response, in the form of a transfer function matrix. It is a matrix of dimension M×N whose elements are stable linear dynamic operators or transforms, e.g., represented as FIR filters or IIR filters. These filters determine the response y(t) to a N-dimensional time-dependent input vector u(t). If the M×N model H contains IIR filters as elements, then it can be written on so-called right Matrix Fraction Description (right MFD) form,
H(q−1)=B(q−1)A−1(q−1) (2)
where B(q−1) and A(q−1) are polynomial matrices of dimensions M×N and N×N, respectively [15]. The right MFD form, which will be highly utilized in the following description, includes the FIR filter matrix as a special case by setting the denominator matrix to the identity matrix, i.e., A=I.
The transfer function matrix H represents the effect of the whole or a part of the sound generating, or sound reproducing system, including any pre-existing digital compensators, digital-toanalog converters, analog amplifiers, loudspeakers, cables and the room acoustic response. In other words, the transfer function matrix H represents the dynamic response of relevant parts of a sound generating system. The input signal u(t) to the system, which is a N-dimensional column vector, may represent input signals to N individual amplifier-loudspeaker chains of the sound generating system. The signal ym(t) (with subscript m denoting “measurement”) is a M-dimensional column vector representing the true (measured) sound time-series at the M measurement positions and e(t) represents background noise, unmodelled room reflections, effects of an incorrect model structure, nonlinear distortion and other unmodelled contributions. Each M-dimensional column of H then represents the M transfer functions between one of the N loudspeaker inputs and the M measurement positions.
The model H may also include additive or multiplicative model uncertainties, here represented by a rational matrix ΔH. If, for example, the model uncertainties Ali are parameterized by polynomial matrices with random coefficients, then a suitable model would be
H(q−1)=H0(q−1)+ΔH(q−1) (3)
where H0(q−1) is the nominal model and ΔH(q−1), which is partly parameterized by random variables, constitutes the uncertainty model. Writing out the matrix fractions for H(q−1) and ΔH(q−1), the decomposition (3) of H(q−1) expands into
where {circumflex over (B)}=B0A1, {circumflex over (B)}1=B1A0, B={circumflex over (B)}0+ΔB{circumflex over (B)}, and A=A0A1. The matrices B0, ΔB and B are of dimension M×N, whereas B1, A0, A1 and A are of dimension N×N. The matrices B0 and A0 refer to the nominal model H0, and the elements of ΔB are polynomials with stochastic variables as coefficients. For simplicity we will assume these coefficients to have zero mean and unit variance. The filter B1A1−1 is used for shaping the spectral distribution of the stochastic uncertainty model. It can also be used to accommodate variances of the random coefficients different from unity. In the sequel the denominators A0, A1 and A will, for simplicity, be assumed to be diagonal. If the system is represented as in (3), then H(q−1) can be viewed as a set of models, describing a range of possible errors in the measured response of the system. For a general introduction to the above probabilistic modeling framework, the reader is referred to [27] and references therein. Modeling of uncertainties ΔH can be performed in many ways, and the above formulation is merely one example of how it can be accomplished and used in a systematic way.
A general objective of sound field control is to modify the dynamics of the sound generating system represented by (1) in relation to a reference dynamics. For this purpose, a reference matrix (or in this case, a column vector) D of dynamic systems is introduced:
where w(t) is a signal representing a live or recorded sound source, or even an artificially generated digital audio signal, including test signals used for designing the filter. The signal w(t) may, for example, represent a digitally recorded sound, or an analog source that has been sampled and digitized. In (5), the matrix D is a stable transfer function column vector of dimension M×1 that is assumed to be known. This linear discrete-time dynamic system is to be specified by the designer. It represents the reference dynamics (desired target dynamics) of the vector y(t) in (1). In the compensated system, the signal w(t) will represent one out of totally L input source signals. Its desired effect at the M measurement positions is represented by the elements D1, . . . , DM of D in (5). The system D may include a set of adjustable parameters. Alternatively, it may indirectly be affected by such a set via its specification.
The audio precompensation controller is assumed to be realized as a multivariable dynamic discrete-time precompensation filter, generally denoted by R, which generates an input signal vector u(t) to the audio reproduction system (1) based on linear dynamic processing of the signal w(t):
This audio precompensation controller includes a set of adjustable parameters. These parameters should allow sufficient flexibility to modify the input-output dynamic properties of the controller, for example, allowing some elements of R, or the whole of R to be zero for appropriate parameter settings. The optimization of R should however be constrained to parameter settings that make R an input-output stable dynamic system.
Our design objective will be to construct a stable transfer function matrix R of dimension N×1 that is designed to generate an input signal vector u(t) to the audio reproduction system (1) such that its compensated model output y(t) approximates the reference vector yref(t) well, according to a specified criterion. This objective would be attained if
y(t)=Hu(t)=HRw(t)≅yref(t)=Dw(t) (7)
The corresponding model-based approximation error at the M measurement positions is represented by
ε(t)=yref(t)−y(t)=(D−HR)w(t). (8)
The true, measured, error vector will then, by
A scheme for calculating an appropriate approximation for the present problem will be outlined below.
An important aspect to consider when designing a precompensator is the relation between the initial propagation delay of the system to be compensated and the initial propagation delay of the desired target dynamics. The initial propagation delay of a dynamical system is the time it takes for a signal to propagate from the input to the output of the system. In other words, the initial propagation delay is given by the time instant of the first nonzero coefficient of the impulse response of the system. A system H having an initial propagation delay of d samples can therefore be written as H=q−d{tilde over (H)}, where at least one of the elements of {tilde over (H)} has an impulse response that starts with a nonzero coefficient.
Consider for example the system in
It is thus in general possible to improve the performance of a precompensator by ensuring that the initial delay of the target dynamics D is large enough compared to the initial delay of the system H. For example, this can be obtained by adding an overall bulk delay q−d
For audio reproduction purposes, however, allowing a large bulk delay q−d
Especially for impulsive and transient sounds, such pre-ringing errors are perceived by humans as very unnatural and annoying, and they should therefore be avoided if possible. In the above example, the length of the time interval where pre-ringing errors may occur is determined by the difference between the initial propagation delays of H and D. It is thus of interest to use a bulk delay that is large enough to allow the compensator to work properly, but not so large that the compensator can produce audible pre-ringing errors. In other words, to minimize the pre-ringing effects one should use d1≦d0 in the above example, with d1 as close to d0 as possible.
However, it is well known that a large target bulk delay (also called modeling delay or smoothing lag) can improve the performance considerably when the system to be compensated contains non-minimum phase distortion. Moreover, for the single-channel case there exists a method for compensation of non-minimum phase distortion and which does not produce pre-ringings [4, 5, 6]. The method in question uses a large target bulk delay q−d
The above method for single-channel compensation without pre-ringings can be exploited also in the design of multichannel compensators, as a “pre-conditioning” step, in which the individual channels of the system are corrected with respect to phase distortion before the multichannel compensator is designed. By extending this approach, a single-channel phase compensator q−(d
{tilde over (H)}(q−1)=H(q−1){tilde over (Δ)}(q−1)F*(q) (9)
where {tilde over (Δ)}(q−1) and F*(q) are diagonal N×N matrices given by
{tilde over (Δ)}(q−1)=diag([q−(d
F
*(q)=diag([F1*(q) . . . FN*(q)]T). (10)
The extra delays values d1, . . . , dN above can be used to fine-tune the relation between the initial propagation delay of the target system D and the initial propagation delays of the N loudspeaker channels (i.e., the initial propagation delays of the columns of H).
The room-acoustic impulse responses of each of N loudspeakers are estimated from measurements at M positions which are distributed over the spatial region of intended listener positions. It is recommended that the number of measurement positions M is larger than the number of loudspeakers N. The dynamic acoustic responses can then be estimated by sending out test signals from the loudspeakers, one loudspeaker at a time, and recording the resulting acoustic signals at all M measurement positions. Test signals such as white or colored noise or swept sinusoids may be used for this purpose. Models of the linear dynamic responses from one loudspeaker to M outputs can then be estimated in the form of FIR or IIR filters with one input and M outputs. Various system identification techniques such as the least squares method or Fourier-transform based techniques can be used for this purpose. The measurement procedure is repeated for all loudspeakers, finally resulting in a model H that is represented by a M×N matrix of dynamic models. The multiple input-multiple output (MIMO) model may alternatively be represented by a state-space description.
An example of a mathematically convenient, although very general, MIMO model for representing a sound reproduction system is by means of a right MFD with diagonal denominator,
which is the type of MFD that will be utilized in the following. An even more general model can be obtained if the matrix A(q−1) is allowed to be a full polynomial matrix, and there is nothing in principle that prohibits the use of such a structure. However, we shall adhere to the structure (11) in the following, as it allows a more transparent mathematical derivation of the optimal controller. Note that H as defined in (11) may include a parametrization that describes model errors and uncertainties, as given for example by (4).
For a given sound reproduction system, a precompensation controller is to be designed with the aim of improving the acoustic reproduction of L source signals by at least one physical loudspeaker. To improve the acoustic reproduction here means that the impulse response of a physical loudspeaker, as measured in a number of points, is altered by the compensator in such a way that its deviation from a specified ideal target response is minimized.
In order to obtain a compensator that is more general than existing single-channel compensators, the present design is performed under as few restrictions as possible regarding filter structures and how the loudspeakers are used. The only restrictions posed on the compensator is linearity, causality and stability. The restriction of single-channel compensators, i.e., the restriction that each of the L source signals can be processed by only one single filter and distributed to only one loudspeaker input, is here relaxed. The compensator associated with each one of the L source signals is thus allowed to consist of more than one filter, yielding at least one, but possibly several, processed versions of the source signal, to be distributed to at least one, but possibly several, loudspeakers.
We assume here that the L source signals have been produced with some particular intended physical loudspeaker layout in mind. This layout is assumed to consist of at most L loudspeakers, and each of the L source signals is intended to be fed into at most one loudspeaker input. For example, an established audio source format such as two-channel stereo (L=2) is intended to be played back through a pair of loudspeakers positioned symmetrically in front of the listener, where the first source channel is fed to the left loudspeaker and the second source channel is fed to the right loudspeaker. Another source format is 5.1 surround which consists of totally six audio channels (L=6) that are intended to be played back in a one-to-one fashion (i.e., without any cross-mixing of channels) through five loudspeakers and a subwoofer. In the case that the source signals are a result of some upmixing algorithm (for example an algorithm that produces a six-channel 5.1 surround material out of a two-channel stereo recording), we shall associate L with the number of channels in the upmixed material (i.e., in the example of stereo-to-5.1 surround upmix, we shall use L=6 rather than L=2). In the down-mix case, i.e., when two or more of the L source signals are fed into the same loudspeaker input, we have the situation of an intended loudspeaker layout with less than L loudspeakers.
As mentioned above, we here want to construct a compensator that is allowed to use the loudspeakers of a system more freely. The aim of the compensator design is, however, to make the reproduction performance of the original intended loudspeaker layout as good as possible. To accomplish this we shall, for each one of the L source input signals, distinguish between which loudspeaker belongs to that particular source signal in the original intended layout (this loudspeaker is henceforth called the primary loudspeaker of the concerned source signal), and which additional loudspeakers (henceforth called support loudspeakers) are used by the compensator for improving the performance of the primary loudspeaker.
Suppose that we have L source input signals and a system of totally N loudspeakers. Then, for each one of the L source input signals there must be one associated primary loudspeaker.
Among the remaining N−1 loudspeakers, we then choose a set of S support loudspeakers, where 1≦S≦N−1, to be used by the compensator for improving the performance of the primary loudspeaker.
Recall that if the sound system is represented by a transfer function matrix model, as for example in (1), then each column of H represents the acoustic response of one loudspeaker at M measurement positions. Thus, one of the columns of H contains the responses of the primary loudspeaker, and the rest of the columns contain the responses of the S support loudspeakers. Therefore, in a particular design of a compensator for one of the L source inputs, the acoustic model H contains 1+S columns, and the resulting compensator has one input and 1+S outputs, where 1+S may be less than N, depending on how many support loudspeakers were chosen for that particular source input. Note also that it is not necessary to use the same set of loudspeakers repeatedly when compensators are designed for the remaining L−1 source inputs. The number S of support loudspeakers used by the compensator may therefore not be the same for all of the L source inputs.
The aim of loudspeaker precompensation is not to generate an arbitrary sound field in a room, but to improve the acoustic response of an existing physical loudspeaker. The target sound field to be defined for one particular (out of L) input source signals is therefore highly determined by the characteristics of the primary loudspeaker associated with that input source signal. The following example is an illustration of how a target sound field can be specified for a specific primary loudspeaker.
Suppose that the sound system in question is measured in M positions, and is represented with a transfer function matrix H as in (1). Moreover, suppose that the jth column of H represents the impulse responses of the considered primary loudspeaker. Then a target sound field can be specified in form of a M×1 column vector of transfer functions, D as in (5). Typically, the target sound field should be specified as an idealized version of the measured impulse responses of the primary loudspeaker. An example of how such an idealized set of impulse responses can be designed is to use delayed unit pulses as elements in D, i.e., to let the ith element Di of D be defined as Di(q−1)=q−d
The target response in (12) is an idealized version of the primary loudspeaker's impulse response, in the sense that it represents a sound wave whose propagation through space (i.e., over the M measurement positions) is similar to that of the primary loudspeaker, but in the time d0-main the shape of the target sound wave is pulse-like and contains no room echoes. The delays Δ1 . . . , ΔM can be determined by detecting the time lag corresponding to of the first coefficient of non-negligible magnitude in each of the impulse responses in the jth column of U. The extra common bulk delay d0 is optional, but should preferably be included if a diagonal phase compensator with lag d0 is used, as suggested in (9), (10).
If there is more than one input source signals, i.e., if L>1, then one target sound field is defined for each of the L signal sources that are to be reproduced by the sound system.
If for some reason the propagation delays Δ1, . . . , ΔM cannot be properly detected, are ambiguous or in any way difficult to define, then some controlled variability can be introduced into the target D. For example, the delays Δ1, . . . , ΔM can be adjustable within prescribed limits. Such flexibility of the target can help attain better approximation to the selected target, better criterion values and better perceived audio quality. This type of flexibility can be utilized by adjusting the parameters of the target D and the parameters of the precompensation filter iteratively.
To obtain analytical techniques for designing audio precompensation filters it is convenient to introduce a scalar criterion that is to be optimized with respect to the adjustable parameters. An example of a suitable criterion consists of a sum or a weighted sum of powers of the difference between the target signal y(t) and the compensated signal y(t) in all M measurement points. This difference will, in the sequel, be called the approximation error, or just the error, and the weighted error respectively, which are represented by
ε(t)=Yref(t)−y(t)=Dw(t)−Hu(t)
z
1(t)=[z11(t) . . . z1M(t)]T=Vε(t). (13)
See equations (1), (5) and (8) above. The weighted error z1(t) is governed by the polynomial matrix V of dimension M×M, which can be a full matrix, a diagonal matrix, or just a constant matrix, depending on in which frequency ranges the error should be emphasized. If V=I i.e., the identity matrix, which is diagonal with ones on the diagonal, then no weighting is applied to the error. Optionally, weighted powers of the N audio precompensator output signals, u(t), see (6), can be added to the criterion. The weighted precompensator output signals will henceforth be called penalty terms, and are represented by
z
2(t)=[z21(1) . . . z2M(t)]T=Wu(t), (14)
where W is a polynomial matrix of dimension N×N. The polynomial matrix W can be a full matrix, it can be diagonal with FIR filters on the diagonal, or it can be just the identity matrix, depending on how and in which frequency ranges the precompensator signals are to be penalized. If no weighting of the penalty is required, then W will just be the identity matrix.
If, for example, V(q−1) and W(q−1) are diagonal with diagonal elements denoted by Vi(q−1) and Wj(q−1), (i=1, . . . , M; j=1, . . . , N), respectively, then with the weighting terms z1(t) and z2(t) defined as above, an example of an adequate criterion would be
Here the statistical expectation E is taken with respect to the signal w(t), whereas the statistical expectation E is taken with respect to uncertain model parameters in H, e.g., ΔB in (4), should such a statistical model description have been selected. The last equality of (15) represents the expected value, with respect to the model uncertainty parameters in H, of the squared 2-norm (in (15), the squared 2-norm is denoted as ∥•∥22) of a random process. The expressions are all equivalent as long as V(q−1) and W(q−1) are diagonal. The third equality in (15) can be generalized to matrices having FIR filters in all elements.
As an example, consider (15) with V(q−1) and W(q1) being diagonal with FIR filters on the diagonal. If all diagonal elements of V(q−1) are low pass filters, then it means that we will prioritize high accuracy (small error) at low frequencies. In a similar manner, if the elements of W(q−1) are high pass filters, then the high frequency contents of the audio precompensation filter output will be penalized (i.e., contribute more to the criterion value) than would the low frequency contents. Hence, an audio precompensation filter that strives to minimize the criterion will put its efforts at low frequencies. By selecting different filters for different error and precompensation signals a designer can balance the different loudspeaker outputs against one another. In the special case with all the FIR filters being ones, no weighting is performed. The weighting polynomial matrices V(q−1) and W(q−1) thus offer considerable flexibility in the design to attain as small an error as possible in the frequency ranges of interest while at the same time use the precompensation signal power wisely.
It is evident that if V(q−1) is diagonal, then the first right-hand sum of the criterion (15) represents a weighted summation over the M measurement positions of powers of differences between the compensated estimated impulse responses, represented by elements of HR, and the target impulse responses, represented by elements of D, where the weighting is performed by the polynomial matrix V(q−1) and by the spectral properties of the signal w(t). Equal weighting of all components of the error vector ε(t) would be obtained if a unit matrix V(q−1)=I is used and if the signal w(t) is a white noise.
The criterion (15), which constitutes a squared 2-norm, or other forms of criteria, based e.g., on other norms, can be optimized in several ways with respect to the adjustable parameters of the precompensator R. It is also possible to impose structural constraints on the precompensator, such as e.g., requiring its elements to be FIR filters of certain fixed orders, and then perform optimization of the adjustable parameters under these constraints. Such optimization can be performed with adaptive techniques, or by the use of FIR Wiener filter design methods. However, as all structural constraints lead to a constrained solution space, the attainable performance will be inferior compared with problem formulations without such constraints. Hence, the optimization should preferably be performed without structural constraints on the precompensator, except for causality of the precompensator and stability of the compensated system. With the optimization problem stated as above, the problem becomes a Linear Quadratic Gaussian (LQG) design problem for the multivariable feedforward compensator R.
Linear quadratic theory provides optimal linear controllers, or precompensators, for linear systems and quadratic criteria, see e.g., [1, 19, 20, 31]. If the involved signals are assumed to be Gaussian, then the LQG precompensator, obtained by optimizing the criterion (15) can be shown to be optimal not only among all linear controllers but also among all nonlinear controllers, see e.g., [1]. Hence, optimizing the criterion (15) with respect to the adjustable parameters of R, under the constraint of causality of R and stability of the compensated system HR, is very general. With H and D assumed stable, stability of the compensated system, or error transfer operator, D−HR, is thus equivalent to stability of the controller R.
We will now present the LQG-optimal precompensator for the problem defined by equations (1)-(14) and the criterion (15). The solution is given in transfer operator, or transfer function form, using polynomial matrices. Techniques for deriving such solutions has been presented in e.g., [31]. Alternatively, the solution can be derived by means of state space techniques and the solution of Riccati equations, see e.g., [1, 20].
Let the system be described by the model (1) with H parameterized as in (3), and (4). If no uncertainty modeling is used then we set ΔB=0 and we obtain W=B0A0−1=BA−1. Moreover, let the target sound field at the M measurement positions be represented by V=D/E, i.e.,
where E(q−1) is either equal to one or is a scalar minimum-phase polynomial.
If maximum attainable compensator performance is desired, under the constraint that preringing artifacts are to be avoided, then an individual phase compensation and time-delay alignment of the involved loudspeakers will preferably be performed prior to the precompensator optimizations. Such phase compensations can be designed according to the principles described in [5], [6]. In order to obtain maximum performance while constraining the solution to not include any preringing artifacts, an all-pass phase compensation filter q−(d
where at least one of the polynomials {tilde over (D)}1(q−1), . . . , {tilde over (D)}M(q−1) has a nonzero leading coefficient. We shall here choose to let the all-pass filters q−(d
Introduce the delay polynomial matrix {tilde over (Δ)}(q−1), and the all-pass rational matrix F(q−1), respectively, as follows
Here diag(•) denotes a diagonal matrix with the elements of the vector on the diagonal, (•)T means the transpose of the same vector, whereas
As explained above, d0 in (18) is the intended initial delay of the phase-compensated system, whereas dj, j=1, . . . , N are individual delays that can be used to accommodate individual deviations in distances among the different loudspeakers. Since {tilde over (Δ)}(q−1) and F(q−1), or equivalently, its complex conjugate transpose, here denoted F*(q), are fixed and known they can be regarded as factors of an augmented system {tilde over (H)}(q−1) represented as,
where {tilde over (B)}(q−1)=B(q−1){tilde over (Δ)}(q−1)F*(q) is still a polynomial matrix (i.e., not a rational matrix), due to cancellation of factors between B and F*. The second equality of (19) is allowed because A, {tilde over (Δ)} and F* are diagonal, see (4), (11) and (18).
Given the system {tilde over (H)}(q−1) above, with the fixed and known delay polynomial matrix {tilde over (Δ)}(q−1), the all-pass rational matrix F*(q), and assuming the signal w(t) being a zero mean unit variance white noise sequence, then the optimal LQG-precompensator R(q−1), free of preringing artifacts, which minimizes the criterion (15) under the constraint of causality and stability, is obtained as,
where the N|N polynomial matrix β(q−1) is the unique stable right spectral factor1 defined by 1Such a right spectral factor exists under mild conditions for the current problem. See section 3.3. of [31]. The spectral factor is unique up to an orthogonal matrix.
β*β={hacek over (B)}0*V*V{hacek over (B)}0+A*W*WA+{hacek over (B)}1*Ē{Δ{hacek over (B)}*V*VΔB}{hacek over (B)}1 (21)
and the polynomial matrix Q(q−1), together with a polynomial matrix L*(q), both of dimension N1, constitute the unique solution to the bilateral Diophantine equation
{hacek over (B)}
0*
V
*
VD=β
*
Q+qL
*
E (22)
with generic2 degrees 2Lower degrees may occur in special cases.
n
Q=max{nD+nV,nE−1}
n
L=max{n{hacek over (B)}
The optimality and uniqueness of the compensator derived above can be proven by using the techniques presented in [27, 31]. The solution presented above, can easily be extended to also account for w(t) being described by a dynamic model i.e.,
w(t)=P(q−1)v(t) (24)
where v(t) is a zero mean unit variance white noise sequence. If, as an example, P(q−1)=P(q−1)S(q−1)−1 with P and S being stable polynomials, then, in the rightmost term of (22) P−1SE is substituted for E. Describing w(t) by a dynamic model can sometimes be useful in certain applications when the assumption of w(t) being a white noise is inappropriate. The solution obtained here is thus very general, which gives considerable flexibility in the design of the precompensator.
The filter design presented above can also be used to design a set of p filters {Rj}j=1p for a selected appropriate set of weighting matrices {Vj}j=1p, {Vj}j=1p. The so obtained set of filters {Rj}j=1p can then be used to gradually change the degree of support obtained from the selected set of S support loudspeakers. In that way a user can toggle between very little support to full support to obtain the best possible perceived audio performance.
In order to obtain the precompensator signal
note that we have to perform the filtering in different steps. Thus, we first perform the recursive filtering E(q−1)w1(t)=w(t), second, the FIR filtering x1(t)=Q(q−1)w1(t), third, the recursive filtering β(q−1)x2(t)=x1(t), and finally the FIR filtering u(t)=A(q−1)x2(t). Here the bold signals x1, and x2, are of dimension N×1 since u is of dimension N×1. Such a filtering procedure is, however, not the only possible implementation of R. One could also, for example, use high-order FIR approximations of the elements in R. Such an FIR approximation can be obtained by using a unit pulse, δ(t), as input signal and record a series of samples at the N outputs of the filter. The recorded N output signals then constitute the impulse responses of the elements of R, and the FIR filter coefficients are obtained by truncating the output signals at an appropriate length.
It should be noted that if no individual phase compensation is performed on each one of the N loudspeakers, then {hacek over (B)}0*={hacek over (B)}0* and {tilde over (B)}(q−1)={hacek over (B)}0(q−1)+ΔB(q−1){hacek over (B)}1(q−1). If, on the other hand, no model uncertainty is used in the design, then the third right hand term of (21) will vanish and {tilde over (B)}(q−1)=B(q−1){tilde over (Δ)}(q−1)F*(q). Finally, if neither model uncertainties, nor any individual phase compensation on the N loudspeakers is used, then {tilde over (B)}(q−1)=B.
In a practical controller design, the third term on the right hand side of (21) is readily obtained by evaluating, see [26, 27, 32],
{tilde over (E)}{ΔB
*
V
*
VΔB}
(i,j)
=tr V
*
V{tilde over (E)}{ΔB
(:,j)
ΔB
(:,i)*}. (25)
Now recall that the random coefficients of the individual polynomial elements of ΔB are specified as a zero mean, unit variance white noise sequences, implying that {tilde over (E)}{ΔB(i,j)ΔB(i,j)*}=1. Furthermore, it is assumed that these random coefficients are uncorrelated between different columns of ΔB, i.e., {tilde over (E)}{ΔB(i,j)ΔB(m,n)*}=0 for j≠n, since reverberation fields belonging to separate sources are, in general, spatially uncorrelated. We therefore know, firstly, that the M|M-dimensional polynomial matrix {tilde over (E)}{ΔB(:,i)ΔB(:,i)*.}contains ones along its diagonal and, secondly, that {tilde over (E)}{ΔB(:,j)ΔB(:,i)*}=0M if i≠j. Moreover, if the polynomial matrix V*V is diagonal, then we obtain
and thus the expression for {tilde over (E)}{ΔB*V*VΔB} in (21) becomes
{tilde over (E)}{ΔB
*
V
*
VΔB}=I
N
tr V
*
V. (27)
An important insight here is that, due to the diagonal structure of the error weight V*V and the trace operator appearing in (25), the off-diagonal elements of {tilde over (E)}{ΔB(:,j)ΔB(:,i)*}will not contribute to the filter design. Since these off-diagonal elements constitute the “spatial covariances” {tilde over (E)}{(ΔB(i,j)ΔB(m,n)*}, with i≠m, we conclude that spatial covariances in the uncertainty model, will be superfluous for the type of filter design studied here. The off-diagonal elements of {tilde over (E)}{ΔB*V*VΔB}can however be used in the design by selecting the off-diagonal elements of V*V different from zero. For example, these off-diagonal elements can be used to downgrade the importance of peripherial measurement points in the design compared with the central ones.
Post-Processing for a Balanced Magnitude Spectrum
When a sound system is reproducing music, it is mostly preferable that the magnitude spectrum of the system's transfer functions is smooth and well balanced, at least on average over the listening region. If the compensated system perfectly attains the desired target D at all positions, then the average magnitude response of the compensated system will be equal to that of the target. However, since the designed controller R cannot be expected to fully reach the target response D at all frequencies, e.g., due to very complex room reverberation that cannot be fully compensated for, there will always be some remaining approximation errors in the compensated system. These approximation errors may have different magnitude at different frequencies, and they may affect the quality of the reproduced sound. Magnitude response imperfections are generally undesirable and the controller matrix should preferably be adjusted so that an overall target magnitude response is reached on average in all the listening regions.
A final design step is therefore preferably added after the criterion minimization with the aim of adjusting the controller response so that, on average, a target magnitude response is well approximated on average over the measurement positions. To this end, the magnitude responses of the overall system (i.e., the system including the controller R) can be evaluated in the various listening positions, based on the design models or based on new measurements. A minimum phase filter can then be designed so that on average (in the RMS sense) the target magnitude response is reached in all listening regions. As an example, variable fractional octave smoothing based on the spatial response variations may be employed in order not to overcompensate in any particular frequency region. The result is one scalar equalizer filter that adjusts all the elements of R by an equal amount.
An example of the performance of the suggested precompensator design, and its difference from a traditional single-channel design is shown in
The resulting filter R of (20) can be realized in any number of ways, in state space form or in transfer function form. The required filters are in general of very high order, in particular if a full audio range sampling rate is used and if also room acoustic dynamics have been taken into account in the model on which the design is based. To obtain a computationally feasible design, methods for limiting the computational complexity of the precompensator are of interest. We here outline one method for this purpose that is based on controller order reduction of elements of the controller matrix R, in particular of any transfer functions that have impulse responses with very long but smooth tails. The method works as follows.
The relevant scalar impulse response elements R1, . . . , RN of the pre-compensator R are first represented as very long FIR filters, as mentioned above. Then, for each precompensator impulse response Rj, do the following:
The aim of this procedure is to obtain realizations in which the sum of the number of parameters in the FIR filter M(q−1) and the IIR filter N(q−1) is much lower than the original number of impulse response coefficients. Various different methods for approximating the tail of the impulse response can be used, for example adjustment of autoregressive models to a covariance sequence based on the Yule-Walker equations. To obtain low numerical sensitivity to rounding errors of coefficients when implementing the resulting IIR filters with finite precision arithmetic, it is preferable to implement them as parallel connections or series connections of lower order filters. As an example, first order filters or second order IIR filter elements (so-called biquadratic filters) may be used.
Typically, the design methodology is executed on a computer system to produce the filter parameters of the precompensation filter. The calculated filter parameters are then normally downloaded to a digital filter, for example realized by a digital signal processing system or similar computer system, which executes the actual filtering.
Although the invention can be implemented in software, hardware, firmware or any combination thereof, the filter design scheme proposed by the invention is preferably implemented as software in the form of program modules, functions or equivalent. The software may be written in any type of computer language, such as C, C++ or even specialized languages for digital signal processors (DSPs). In practice, the relevant steps, functions and actions of the invention are mapped into a computer program, which when being executed by the computer system effectuates the calculations associated with the design of the precompensation filter. In the case of a PC-based system, the computer program used for the design or determination of the audio precompensation filter is normally encoded on a computer-readable medium such as a DVD, CD or similar structure for distribution to the user/filter designer, who then may load the program into his/her computer system for subsequent execution. The software may even be downloaded from a remote server via the Internet.
There is thus provided a system, and corresponding computer program product, for determining an audio precompensation controller for an associated sound generating system comprising a total of N≧2 loudspeakers, each having a loudspeaker input, where the audio precompensation controller has a number L≧1 inputs for L input signal(s) and N outputs for N controller output signals, one to each loudspeaker of the sound generating system. Keeping in mind that the audio precompensation controller has a number of adjustable filter parameters to be determined. The system basically comprises means for estimating, for each one of at least a subset of the N loudspeaker inputs, an impulse response at each of a plurality M≧2 of measurement positions, distributed in a region of interest in a listening environment, based on sound measurements at the M measurement positions. The system also comprises means for specifying, for each one of the L input signal(s), a selected one of the N loudspeakers as a primary loudspeaker and a selected subset S including at least one of the N loudspeakers as support loudspeaker(s), where the primary loudspeaker is not part of the subset. The system further comprises means for specifying, for each primary loudspeaker, a target impulse response at each of the M measurement positions with the target impulse response having an acoustic propagation delay, where the acoustic propagation delay is determined based on the distance from the primary loudspeaker to the respective measurement position. The system also comprises means for determining, for each one of the L input signal(s), based on the selected primary loudspeaker and the selected support loudspeaker(s), filter parameters of the audio precompensation controller so that a criterion function is optimized under the constraint of stability of the dynamics of the audio precompensation controller. The criterion function is defined to include a weighted summation of powers of differences between the compensated estimated impulse responses and the target impulse responses over the M measurement positions.
For the case where L≧2, the system may also include means for merging all of the filter parameters, determined for the L controller input signals, into a merged set of filter parameters for the audio precompensation controller. The audio precompensation controller, with the merged set of filter parameters, is then configured for operating on the L input signals to generate the N controller output signals to the loudspeakers to attain the desired target impulse responses.
In a particular example, the means for determining filter parameters of the audio precompensation controller is configured to operate based on a Linear Quadratic Gaussian (LQG) optimization of the parameters of a stable, linear and causal multivariable feedforward controller based on a given target dynamical system, and a dynamical model of the sound generating system.
The computer program product comprises corresponding program means, and is configured for determining the audio precompensation controller when running on a computer system.
The determined filter parameters are then normally transferred from the RAM 24 in the system memory 20 via an I/O interface 70 of the system 100 to an audio precompensation controller 200. Preferably, the audio precompensation controller 200 is based on a digital signal processor (DSP) or similar central processing unit (CPU) 202, and one or more memory modules 204 for holding the filter parameters and the required delayed signal samples. The memory 204 normally also includes a filtering program, which when executed by the processor 202, performs the actual filtering based on the filter parameters.
Instead of transferring the calculated filter parameters directly to the audio precompensation controller 200 via the I/O system 70, the filter parameters may be stored on a peripheral memory card or memory disk 40 for later distribution to an audio precompensation controller, which may or may not be remotely located from the filter design system 100. The calculated filter parameters may also be downloaded from a remote location, e.g. via the Internet, and then preferably in encrypted form.
In order to enable measurements of sound produced by the audio equipment under consideration, any conventional microphone unit(s) or similar recording equipment may be connected to the computer system 100, typically via an analog-to-digital (A/D) converter. Based on measurements of (conventional) audio test signals made by the microphone unit, the system 100 can develop a model of the audio system, using an application program loaded into the system memory 20. The measurements may also be used to evaluate the performance of the combined system of precompensation filter and audio equipment. If the designer is not satisfied with the resulting design, he may initiate a new optimization of the precompensation filter based on a modified set of design parameters.
Furthermore, the system 100 typically has a user interface 50 for allowing user-interaction with the filter designer. Several different user-interaction scenarios are possible.
For example, the filter designer may decide that he/she wants to use a specific, customized set of design parameters in the calculation of the filter parameters of the audio precompensation controller 200. The filter designer then defines the relevant design parameters via the user interface 50.
It is also possible for the filter designer to select between a set of different pre-configured parameters, which may have been designed for different audio systems, listening environments and/or for the purpose of introducing special characteristics into the resulting sound. In such a case, the preconfigured options are normally stored in the peripheral memory 40 and loaded into the system memory during execution of the filter design program.
The filter designer may also define a reference system by using the user interface 50. Instead of determining a system model based on microphone measurements, it is also possible for the filter designer to select a model of the audio system from a set of different preconfigured system models. Preferably, such a selection is based on the particular audio equipment with which the resulting precompensation filter is to be used. Another option is to design a set of filters for a selected appropriate set of weighting matrices to be able to vary the degree of support provided by the selected set of support loudspeakers.
Preferably, the audio filter is embodied together with the sound generating system so as to enable reproduction of sound influenced by the filter.
In an alternative implementation, the filter design is performed more or less autonomously with no or only marginal user participation. An example of such a construction will now be described. The exemplary system comprises a supervisory program, system identification software and filter design software. Preferably, the supervisory program first generates test signals and measures the resulting acoustic response of the audio system. Based on the test signals and the obtained measurements, the system identification software determines a model of the audio system. The supervisory program then gathers and/or generates the required design parameters and forwards these design parameters to the filter design program, which calculates the audio precompensation filter parameters. The supervisory program may then, as an option, evaluate the performance of the resulting design on the measured signal and, if necessary, order the filter design program to determine a new set of filter parameters based on a modified set of design parameters. This procedure may be repeated until a satisfactory result is obtained. Then, the final set of filter parameters are downloaded/implemented into the audio precompensation controller.
It is also possible to adjust the filter parameters of the precompensation filter adaptively, instead of using a fixed set of filter parameters. During the use of the filter in an audio system, the audio conditions may change. For example, the position of the loudspeakers and/or objects such as furniture in the listening environment may change, which in turn may affect the room acoustics, and/or some equipment in the audio system may be exchanged by some other equipment leading to different characteristics of the overall audio system. In such a case, continuous or intermittent measurements of the sound from the audio system in one or several positions in the listening environment may be performed by one or more microphone units, possibly wirelessly connected, or similar sound recording equipment. The recorded sound data may then be fed, possibly wirelessly, into a filter design system, which calculates a new audio system model and adjusts the filter parameters so that they are better adapted for the new audio conditions.
Naturally, the invention is not limited to the arrangement of
The audio precompensation controller may be realized as a standalone equipment in a digital signal processor or computer that has an analog or digital interface to the subsequent amplifiers, as mentioned above. Alternatively, it may be integrated into the construction of a digital preamplifier, a car audio system, a cinema theatre audio system, a concert hall audio system, a computer sound card, a compact stereo system, a home audio system, a computer game console, a TV, a docking station for an MP3 player, a soundbar or any other device or system aimed at producing sound. It is also possible to realize the precompensation filter in a more hardware-oriented manner, with customized computational hardware structures, such as FPGAs or ASICs.
In a particular example, the audio precompensation controller is implemented as a linear stable causal feedforward controller.
It should be understood that the precompensation may be performed separate from the distribution of the sound signal to the actual place of reproduction. The precompensation signal generated by the precompensation filter does not necessarily have to be distributed immediately to and in direct connection with the sound generating system, but may be recorded on a separate medium for later distribution to the sound generating system. The compensation signal could then represent for example recorded music on a CD or DVD disk that has been adjusted to a particular audio equipment and listening environment. It can also be a precompensated audio file stored on an Internet server for allowing subsequent downloading of the file to a remote location over the Internet.
The embodiments described above are to be understood as a few illustrative examples of the present invention. It will be understood by those skilled in the art that various modifications, combinations and changes may be made to the embodiments without departing from the scope of the present invention. In particular, different part solutions in the different embodiments can be combined in other configurations, where technically possible. The scope of the present invention is, however, defined by the appended claims.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/SE12/50320 | 3/22/2012 | WO | 00 | 1/28/2014 |