The file of this patent contains at least one drawing executed in color. Copies of this patent with color drawings will be provided by the Patent and Trademark Office upon request and payment of the necessary fee.
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 spatially separated listening regions.
An audio reproduction system is affected by imperfect loudspeaker dynamics and room acoustics. The audio system may furthermore have loudspeakers placed in inappropriate positions. For example, sound material intended for a 5.1 surround system is to be reproduced by loudspeakers in standardized positions, but the number and positioning of loudspeakers in a home or in a car may differ from the specified setting. All of these problems are frequently encountered in home-cinema and audio systems and they are particularly hard to solve for car audio systems with their often awkward loudspeaker positions and difficult acoustic environments.
For example, consider the tuning process of car audio systems, that today proceeds in several steps. First, crossover filters are set and each loudspeaker is equalized on a per-channel basis; then the delay and level for each channel is set to reach a desired sound stage (spatial sound perception); additional adjustments to filter responses are made with respect to the combined acoustic loudspeaker responses; finally, parameters for up-mixing are adjusted. Up-mixing here refers to the process of distributing stereo or discrete 5.1 material to the N loudspeakers in the car.
The end goal of the tuning process for cars or home hifi/cinema systems can be described in terms of a target sound field in the listening environment. The target sound field is in general continuous in space.
In this context it is generally an objective to design a set of pre-compensating filters for a multichannel audio system, with N loudspeaker inputs. It is desirable to jointly optimize the filters to provide a unified joint solution to all of the above design steps: equalizer design, crossover design, delay and level calibration, sum-response optimization and up-mixing. As a result, listeners positioned at any of P>1 listening regions should ideally be given the illusion of being in another acoustic environment that has L sound sources (virtual loudspeakers) that are located at prescribed positions in a prescribed room acoustics. To make the solution practical, the volume of the listening positions should allow for some head movement of the listener. The best possible approximation of this goal should be attained for a given sound reproduction system, with given loudspeaker numbers, positions and properties. In particular, the solution should not require the loudspeakers to be located in particular positions with respect to the listeners and also not require them to consist of arrays with prescribed spatial properties.
In the literature, there are essentially three different theoretical approaches to the problem of reconstructing sound fields, none of which solves the above described problem in an adequate way.
The Linear Quadratic Control method for audio precompensation controller design presented in [12] provides means for attaining precise control of the time-domain properties as well as the frequency domain properties of the compensated system. However, the particular solution presented in [12] is based on a filter structure with a nonzero and fixed parallel path between the inputs and the outputs of the precompensator. This would be an inappropriate structural constraint on a solution to the above stated multichannel design problem; there is here no reason for one virtual source to be assigned to one particular subset of loudspeakers via a fixed part of a precompensation controller.
The design schemes available in prior art are thus not adequate for the stated design goal.
It is a general objective of the present invention to provide an improved design scheme for an audio precompensation controller for multichannel audio systems.
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 another specific objective of the invention to provide a method to design or determine a set of pre-compensating filters for a multichannel audio system that has a prescribed set of loudspeakers in prescribed positions with N separate loudspeaker inputs, so that listeners positioned in any of P>1 spatially extended but separated listening regions should be given the illusion of being in a pre-defined acoustic environment that has L sound sources (virtual loudspeakers) that are located at prescribed positions.
These and other objects are met by the invention as defined by the accompanying patent claims.
The present invention 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 based on the recognition that appropriate models can be obtained by measurements at a discrete grid of M listening positions, with a plurality of listening positions located in each of the P listening regions.
A basic idea is to determine an audio precompensation controller for an associated sound generating system. The sound generating system comprises a limited number N≧2 of loudspeaker inputs for emulating a number L≧1 of virtual sound sources each of which has an available input signal. The audio precompensation controller has the L input signals to the virtual sound sources as inputs and produces N signals as outputs. These precompensation controller output signals are used as input signals to the sound generating system. The novel scheme for designing or determining the audio precompensation controller is based on:
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.
As mentioned, the present invention 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 based on the recognition that appropriate models can be obtained by measurements at a discrete grid of M listening positions, with a plurality of listening positions located in each of the P listening regions.
A first key insight is that a solution can be regarded as acceptable for practical applications if we alleviate the requirement on perfect reconstruction of the target sound field and further limit our target to cover only a finite number of measurement positions. By sampling the sound field at a limited number M of positions in the listening area, positions that with adequate resolution cover all relevant listener positions, we discretize the problem and can work directly with N×M transfer functions. A second key observation is that such a set of measurement positions needs to cover several disjoint volumes in space, centered on head positions at several intended listening positions. Concentrating the design accuracy on these spatial volumes, instead of targeting the whole room volume, improves the possibility of obtaining a good result with a limited number of loudspeakers.
In other words, a basic idea is to base the design on linear dynamic system models that describe the acoustic responses from each of the N loudspeakers to each of the M listening positions that are distributed among the P listening regions. In a second step, a target impulse response is also specified for each of the L virtual sound sources as perceived in each of the M listening positions. Preferably, the audio system controller is based on a linear dynamic precompensation filter that has the L virtual sound source input signals as inputs and produces input signals to the N audio channels of the sound reproduction system. In a third step the precompensation controller is adjusted with the aim of letting the series connection of compensator and system models approximate the target impulse responses. This is accomplished by adjusting the free parameters in the precompensation filter so that a criterion is optimized. This criterion is typically defined by a sum over all M listening positions of possibly frequency weighted powers of approximation errors.
In a particular exemplary embodiment, the optimal precompensation controller can be calculated by performing a Linear Quadratic Gaussian (LQG) optimization of the parameters of a stable, linear and causal multivariable feedforward servo filter, provided that a multivariable stochastic dynamic model is available that describes the assumed second order properties of the virtual sound sources.
In a subsequent optional step, the magnitude response of the resulting compensated system is equalized. This to some extent compensates for approximation errors in the previous step and also compensates undesired spectral coloring that may have been introduced in the target stage design. The result is one scalar equalizer filter for each of the virtual sound sources. These filters are placed in the signal chain before the precompensator. In summary, in the previous step—the design of the precompensation controller—a set of virtual loudspeakers in a virtual room is created which aims at replacing the physical loudspeakers and room acoustics. Each virtual loudspeaker may then be tuned inside the virtual room to a desired tonal characteristic.
The target stages may include parameters that are adjustable within prescribed limits. If so, the design can be iterated between adjustment of target stage parameters and adjustment of precompensator parameters, with the aim to attain an improved approximation between target stage and precompensated audio system, and thus an improved criterion value. Focusing the approximation accuracy on disjoint listening regions and allowing some variability in the target stages are both means for relaxing unnecessary constraints on the problem and thus attaining better approximation solutions.
The resulting precompensation filter may have elements with long impulse responses. If the computational complexity needs to be reduced, then it is proposed that scalar elements of the precompensation filter matrix are approximated by implementing these filters as a parallel connection of a finite impulse response (FIR) filter that corresponds to the initial part of the filter impulse response and an infinite impulse response (IIR) recursive filter that approximates the tail of the filter impulse response.
For a better understanding, the invention will now be described in more detail with reference to various exemplary embodiments. In the following, we will in Section 1 below provide a brief overview of the structure of an exemplary digital sound pre-compensation system. Section 2 then describes an example of the modelling and the target stage definition, while Section 3 defines an example of a particular optimization problem to be solved. Section 4 presents an exemplary design of a precompensation controller based on Linear Quadratic Gaussian (LQG) optimal feedforward control. Section 5 provides an exemplary technique to reduce the complexity of the resulting set of filters used by the precompensator and Section 6 discusses further implementation aspects of the design and the resulting audio precompensation system.
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 letters. Transfer function matrices that include only FIR filters as elements will be denoted polynomial matrices and are denoted by italic capitals.
The sound generation or reproducing system to be modified will be represented as in
y(t)=Hu(t)
ym(t)=y(t)+e(t), (1.1)
where t is an integer that represents a discrete time index (a unit sampling time is assumed) and the signal y(t) is a M-dimensional column vector representing the modeled sound time-series at the M measurement positions. The operator H represents a model of the acoustic impulse response, represented by a transfer function matrix. It is an M×N-matrix 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). 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-to-analog 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 this 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 locations and e(t) represents noise, unmodelled room reflexes, effects of an incorrect model structure, nonlinear distortion and other unmodelled contributions.
The objective is to modify the dynamics of the sound generating system represented by (1.1) in relation to a reference dynamics. For this purpose, a reference matrix D of dynamic systems is introduced:
z(t)=Dw(t), (1.2)
where w(t) is an L-dimensional vector representing a set of live or recorded sound sources or even artificially generated digital audio signals, including test signals used for designing the filter. The elements of the vector w(t) may, for example, represent channels of digitally recorded sound, or analog sources that have been sampled and digitized. In (1.2), D is a stable transfer function matrix of dimension M×L 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.1). In the compensated system, each element wi(t), i=1, . . . , L of w(t) will represent a virtual sound source. Its desired effect at the M measurement positions is represented by column i of the transfer function matrix D in (1.2). The desired responses for different listening regions are represented by filters in disjoint sets of rows of D. 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 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.1) based on linear dynamic processing of the signal w(t):
u(t)=Rw(t). (1.3)
This audio precompensation controller includes a set of adjustable parameters. These parameters should allow sufficient flexibility to modify its input-output dynamic properties, 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 and stable transfer function matrix R of dimension N×L that is designed to generate an input signal vector u(t) to the audio reproduction system (1.1) such that its compensated model output y(t) approximates the reference vector z(t) well, according to a specified criterion. This objective would be attained if
y(t)=Hu(t)=HRw(t)≅z(t)=Dw(t). (1.4)
The corresponding model-based approximation error at the M measurement positions is represented by
ε(t)=z(t)−y(t)=(D−HR)w(t). (1.5)
The true, measured, error vector will then by (1.1) be z(t)−ym(t)=ε(t)−e(t). The approximation (1.4) can never be made exact in practice with a limited number N of loudspeakers, a large number M of measurement positions partitioned in disjoint listening areas and complicated wide-band acoustic dynamic models, A scheme for calculating an appropriate approximation for the present problem is outlined in sections 3 and 4 below.
The attainable approximation quality depends on the nature of the problem set-up. For a fixed given acoustic environment, the quality of the approximation can in general be improved if the number of loudspeaker channels N is increased. It can likewise be improved by increasing the number M of measurement points within fixed listening regions, since this gives a denser sampling of the sound field. Enlargement of the listening regions or addition of regions for a fixed N would, in general, result in larger approximation errors. Adding more sound stages (increasing L) would result in the need for proportionally more compensation filters, but it would not decrease the attainable approximation accuracy for previously designed sound stages if other basic parameters were kept constants. If the elements of w(t) are assumed uncorrelated then by linearity, the optimal precompensation filters presented in Section 4 below can be computed separately for different sound stages and their individual contributions to the total approximation error will be additive.
Linear discrete-time dynamic systems are in the following represented using the discrete-time backward shift operator here denoted by q−1. A signal vector s(t) is shifted backward by one sample by this operator: q−1s(t)=s(t−1). The backward shift operator corresponds to the complex variable z−1 or e−jω in the discrete-time frequency domain. Likewise, the forward shift operator is denoted q, so that qs(t)=s(t+1). It corresponds to the complex variable z or ejω in the frequency domain. A causal matrix of FIR filters (polynomial matrix) A(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.
The room-acoustic impulse responses of each loudspeaker at each listener position are estimated from measurements at M positions, which are partitioned into several spatially separated listening areas. It is recommended that at least four measurement positions are used within each listening area, to obtain adequate fidelity within extended spatial volumes, since listeners are expected to move their heads within prescribed areas. The measurement positions within a listening area can, for example, be located in a plane or be distributed within a 3D volume. 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 listening positions. White or colored noise may be used as test signals 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 spectral analysis-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 multi input—multi output model may alternatively be represented by a state space description.
In a car audio example illustrated by
Here, the sub-vectors of measurements ymi(t), i=1, . . . 4, would each have 16 elements in the example of
A target stage is composed of M desired impulse responses (or equivalently, transfer functions) that are preferably nonzero, one for each measurement position. One target stage is defined for each of L virtual sources that are to be created and it is represented by a column of the matrix D in (1.2). For example, in the case of reproducing stereo material via two virtual loudspeakers, the vector w(t) would have two elements and two target stages would be defined.
The target stages can be measured inside a reference listening room using the same technique as when modeling the acoustic impulse response, or the target stages can be simulated. The target stages may be defined so that all the P listening areas are located in a “sweet-spot” of the virtual listening environment.
If the target stages are obtained by computing acoustic impulse responses from a simulated acoustic environment, then some controlled variability can be introduces into the target stages. For example, the angles and distances of the virtual loudspeakers, the size of the room and properties such as strength and diffuseness of first reflexes can be left adjustable within prescribed limits. Such flexibility of the target can help attain better approximation to the selected targets, better criterion values and better perceived audio quality. This type of flexibility can be utilized by adjusting the parameters of the stage D and the parameters of the precompensation filter R iteratively:
A precompensator is first optimized for an initial set of target stage parameters. The target stage parameters are then adjusted within prescribed admissible limits, a new stage D is defined and the precompensator is optimized again for the new target stage parameters. The resulting criterion value is then evaluated. This procedure is repeated until no improvement of the criterion value can be found.
The search of the target stage parameter space can be performed by a search routine such as a gradient-based or a conjugated gradient optimization method, by the Simplex method or by genetic algorithms. If the number of adjustable stage parameters is not too large, an exhaustive search of grid points for a discrete grid of target stage parameter values is feasible.
To obtain analytical techniques for adjusting the precompensation filter, it is convenient to define a scalar criterion that is to be optimized. An example of an appropriate criterion contains a weighted sum of the powers of the approximation errors εi(t) at all measurement points i=1, . . . , M and adds optional penalty terms on the powers of loudspeaker input signals uj(t), j=1, . . . , N, resulting in a quadratic criterion of the form
The vector ε(t) of errors at the measurement positions is related to the vector w(t) via (1.5). The expectation E( ) in (3.1) is to be taken with respect to the statistical properties of the signal w(t), and any other parts of the model structure that are described statistically. The expression ∥●∥22 in (3.1c) represents the squared 2-norm of a random process. The weighting V(q−1)=diag[Vi(q−1)] in (3.1b) is defined to be a square diagonal polynomial matrix of full rank M. It may thus contain scalar FIR filters Vi(q−1) as diagonal elements. These filters can be used to perform frequency-dependent weighting of the components of the error vector before summation. Likewise, W(q−1)=diag[Wi(q−1)]. Then noting that ( )′ denoted transpose and that both right-hand terms in (3.1b) represent scalar multiplications of vectors, it is evident that the expression (3.1 a) equals the expression (3.1b). The expression (3.1c) is seen to equal to (3.1b) by definition, using (1.5) and (1.3).
it is evident that the first right-hand sum of this criterion 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 all the elements of w(t) are assumed to be white and mutually uncorrelated.
The square diagonal polynomial matrix W(q−1)=diag[Wj(q−1)] can, for example, to be used to focus the control energy into frequency ranges that are appropriate for particular loudspeaker inputs. Each penalty FIR filter is then given low gain within the operating range of the loudspeaker j and high gain outside of that range.
The criterion (3.1) or other forms of quadratic criteria could be optimized by various means. One could place structural constraints on the dynamic elements of the controller matrix R, such as requiring them to be FIR filters of specified degrees, and then perform an optimization of the precompensation filter parameters under these constraints, by e.g. adaptive filtering or FIR Wiener filter design techniques. However, the arbitrary introduction of structural constraints would always limit the performance. The optimization should preferably be performed without structural constraints on the precompensation matrix, except for the necessary constraints of causality and stability of its dynamics. Under the above stated problem formulation, the precompensation controller design problem then becomes a Linear-Quadratic Gaussian design problem for a multivariable feedforward control element R.
Linear quadratic theory provides optimal linear controllers for linear systems and quadratic criteria [13],[14]. If the problem formulation is such that signals are assumed to have Gaussian statistics, then this solution can be shown to be optimal also within the class of all (linear as well as nonlinear) controllers. The optimization is performed under the constraint of causality of the controller and stability of the controlled system. In the feedforward control setting discussed here, with the systems H and D assumed stable, stability of the controlled system D-HR is equivalent to stability of the controller R.
We will below present the Linear Quadratic Gaussian optimal feedforward controller for the problem defined by the relations (1.1)-(1.5) and the criterion (3.1) above. The solution is presented in transfer function form, using a technique based on polynomial matrices [15][16]. The optimality of this solution for a more general problem formulation, that includes the present one as a special case, has been proved in section 3.3 of [16]. Alternatively, a state-space formulation based on solving algebraic Riccati equations could be used [13],[14].
Let the model (1.1) be parameterized by polynomial matrices
y(t)=Hu(t)=B(q−1)A−1(q−1)u(t). (4.1)
This corresponds to first performing the stable recursive filtering A(q−1)u1(t)=u(t) using a square polynomial matrix A(q−1) and using the resulting signal vector u1(t) of dimension N as input to a multivariable FIR filter y(t)=B(q−1)u1(t) that produces y(t) as output signal. The dynamics of the stable and causal transfer function matrix H is thereby parameterized by the two causal polynomial matrices A(q−1) and B(q−1) in a so-called right matrix fraction description. In the special case when a multivariable FIR model is used, then A(q−1)=I is used, and so H=B(q−1).
The reference dynamics (1.2) is here assumed to be defined by a multivariable FIR matrix D(q−1) and a common delay of d samples:
z(t)=Dw(t)=D(q−1)q−dw(t)=D(q−1)w(t−d). (4.2)
Individual propagation delays that are parts of the stage models are assumed to be included in D(q−1), by setting initial coefficients of corresponding FIR filters to zero. The common bulk delay d is a design variable. By increasing it from zero, better approximation fidelity is obtained, but at some point, further increases of d would give diminishing returns in terms of reducing the criterion value. In problems where real-time aspects such as e.g. synchronization of video signals to related audio signals are relevant, such aspects may place an upper limit on admissible bulk delays.
Furthermore, assume that a model of the second order statistical properties of the signal vector w(t) is given in terms of a stable multivariate autoregressive model
H(q−1)w(t)=v(t), (4.3)
where the white noise vector v(t) of dimension L is assumed to be Gaussian, to have zero mean and to have a unit matrix as covariance matrix. The polynomial matrix H (q−1) has dimension L×L.
Finally assume that there exists a causal N×N polynomial matrix β(q−1) with stable inverse that satisfies the spectral factorization equation
β*β=B*V*VB+A*W*WA, (4.4)
where we have not written out the shift operator arguments for simplicity and where the notation B*=B′(q) represents a reciprocal polynomial matrix, where the forward shift operator has been substituted for the backward shift operator and the polynomial matrix has been transposed [15],[16]. Such a so-called stable right spectral factor exists for the present problem under mild conditions; see section 3.3 of [16]. Under this assumption, a stable and causal linear feedforward controller (1.3), that minimizes the criterion (3.1) for a dynamic system described by the models (4.1),(4.2) and (4.3), is given by
u(t)=Rw(t)=A(q−1)β−1(q−1)Q(q−1)w(t), (4.5)
where the causal N×L polynomial matrix Q(q−1) is, together with a noncausal N×L polynomial matrix L*(q), the unique solution to the linear polynomial matrix equation (Diophantine equation)
q−dB*V*VD=β*Q+qL*H. (4.6)
See Section 3.3 of [16] for a proof of the optimality and the uniqueness of this solution. The optimization of the criterion (3.1) is thus performed by first solving the quadratic polynomial matrix right spectral factorization equation (4.4) to obtain the polynomial matrix, β(q−1) and then solving the Diophantine equation (4.6) to obtain the polynomial matrix Q(q−1).
The regulator (4.5) is then represented by a structure which could be realized as a series connection of three multivariable filters as follows. The signal vector w(t) of dimension L is used as input to a FIR filter matrix Q(q−1) of dimension N×L to obtain an intermediate signal vector f(t)=Q(q−1)w(t) of dimension N. This signal is used as input to a filter block that performs a vector recursive filtering β(q−1)g(t)=f(t) to produce a second intermediate signal vector g(t) of dimension N, based on f(t) and on previous samples of g(t). Finally, this signal vector g(t) is used as input to a FIR filter u(t)=A(q−1)g(t) that as its output produces the control signal u(t). This last step inverts the autoregressive dynamics of the model (4.1) that is represented by the factor A−1(q−1) on the input side of equation (4.1). Because of the recursion that involves the right spectral factor matrix, the controller (4.5) is in the form of a recursive infinite impulse response filter with multiple inputs and multiple outputs. An approximation of the matrix elements of this controller, that uses a set of scalar filters of lower orders, is discussed in Section 5 below.
When the elements of w(t) are assumed uncorrelated, by assuming H(q−1) in (4.4) to be a diagonal polynomial matrix, then energy errors and criterion value contributions arising from different source signals will be additive. The solution for the problem for L virtual sources can then be obtained by calculating a precompensation controller vector of dimension N×1 for each source by (4.6) and then forming the total N×L matrix R by using these individual vectors as its columns.
An optimization of the precompensation controller as exemplified here is designed to jointly perform equalization of the original room acoustics and loudspeaker dynamics, crossover filter design and delay and level calibration, sum response optimization and up-mixing of L sources to N loudspeaker inputs to approximate the prescribed sound field response (4.2) according to the criterion (3.1).
However, the prescribed sound field may itself have introduced some undesired spectral features. An optional post-processing step can be used to handle such remaining issues.
Consider a case where the target stage is specified by using a simulator that creates plane wave impulse responses. If the target stage consists of only direct sound, then the resulting target frequency response is flat. If in addition to the direct wave the target stage also includes reflections, spectral coloration will arise. Moreover, the designed controller matrix R inevitably will have remaining approximation errors since the number of measurement positions is typically much larger than the number of loudspeakers. These approximation errors may have different magnitude at different frequencies. 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 average magnitude response for each virtual source is well approximated in all the listening regions. Hence, the magnitude responses of the overall system (including the filters) are evaluated in the various listening positions, based on the design models or based on new measurements. A minimum phase filter is then 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 for each of the virtual sound sources. These filters are placed in the signal chain between the elements of w(t) and the inputs to the precompensator that was designed in the previous step.
The performance of the proposed sound control technique is illustrated by measured results obtained in a car equipped with one tweeter in the center of the dashboard, four mid-range +tweeter pairs in the front and rear doors, four low-range woofers (working range roughly 15-5000 Hz) in the front and rear doors, and a pair of subwoofer speakers (working range roughly 15-300 Hz) in the rear shelf. The subwoofers are driven by the same signal source and are thus treated as one single subwoofer. Thus, N=10 loudspeaker input channels are used in this setting. This is a rather representative premium car sound system. At head height at the two front seat positions, a model was estimated for 16 measurement positions at each seat, for horizontal square listening regions of dimension 30×30 cm with 10 cm distance between measurement points, as illustrated by the front seat part of
We here present results for a single plane-wave virtual source as a single target stage and judge various measured performance attributes.
The resulting matrix filter R by (4.x) 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 needs to be taken into account. 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 Rij(q−1) of the pre-compensator R are first represented as very long FIR filters.
For each precompensator impulse response Rij(q−1),
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 equations are solved on a separate 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 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.
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 a precompensation filter system 200. Preferably, the precompensation filter system 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 a precompensation filter system 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 a precompensation filter system, 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 80 may be connected to the computer system 100, typically via an analog-to-digital (A/D) converter 80. Based on measurements of (conventional) audio test signals made by the microphone 80 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 filter system 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 the reference system by using the user interface 50. In particular, the bulk delay d of the reference system may be selected by the user, or provided as a default delay. 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.
Preferably, the audio filter is embodied together with the sound generating system so as to enable generation 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 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 precompensation filter system.
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 or similar sound recording equipment. The recorded sound data may then be fed into a filter design system, such as system 100 of
Naturally, the invention is not limited to the arrangement of
A sound generating or reproducing system 300 incorporating a precompensation filter system 200 according to the present invention is schematically illustrated in
The digital or digitized input signal w(t) is then precompensated by the precompensation filter 200, basically to take the effects of the subsequent audio system equipment into account.
The resulting compensated signal u(t) is then forwarded, possibly through a further I/O unit 230, for example via a wireless link, to a D/A-converter 240, in which the digital compensated signal u(t) is converted to a corresponding analog signal. This analog signal then enters an amplifier 250 and a loudspeaker 260. The sound signal ym(t) emanating from the set of N loudspeaker 260 then has the desired audio characteristics, giving a close to ideal sound experience. This means that any unwanted effects of the audio system equipment have been eliminated through the inverting action of the precompensation filter.
The precompensation filter system 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 computer sound card, a compact stereo system, a home cinema system, a computer game console, a TV, an MP3 player docking station 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.
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 u(t) in
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.
Number | Name | Date | Kind |
---|---|---|---|
5727066 | Elliott et al. | Mar 1998 | A |
5862227 | Orduna-Bustamante et al. | Jan 1999 | A |
5910990 | Jang | Jun 1999 | A |
5949894 | Nelson et al. | Sep 1999 | A |
6760451 | Craven et al. | Jul 2004 | B1 |
7215787 | Sternad et al. | May 2007 | B2 |
20040223620 | Horback et al. | Nov 2004 | A1 |
20060067535 | Culbert et al. | Mar 2006 | A1 |
20090238380 | Brannmark et al. | Sep 2009 | A1 |
Number | Date | Country |
---|---|---|
1355509 | Oct 2003 | EP |
1355509 | Oct 2003 | EP |
9424835 | Oct 1994 | WO |
2007016527 | Feb 2007 | WO |
Number | Date | Country | |
---|---|---|---|
20100305725 A1 | Dec 2010 | US |