Apparatus and method for driving an array of loudspeakers

10284993 · 2019-05-07

Assignee

Inventors

Cpc classification

International classification

Abstract

A local wave field synthesis apparatus, which includes a determination module for determining desired sound pressures and desired particle velocity vectors at a plurality of control points, a computation module for computing sound pressures and particle velocity vectors at the plurality of control points based on a set of filter parameters, an optimization module for computing an optimum set of filter parameters by jointly optimizing computed sound pressures towards the desired sound pressures and computed particle velocity vectors towards the desired particle velocity vectors, and a generator module for generating the drive signals based on the optimum set of filter parameters, wherein the plurality of control points are located on one or more contours around the one or more audio zones.

Claims

1. A local wave field synthesis apparatus for driving an array of loudspeakers with drive signals to generate one or more local wave fields at one or more audio zones, the apparatus comprising: a memory storing program codes; and a processor configured to execute the program codes to cause the apparatus to: determine desired sound pressures and desired particle velocity vectors at a plurality of control points, wherein the plurality of control points are located on one or more contours around the one or more audio zones, compute sound pressures and particle velocity vectors at the plurality of control points based on a set of filter parameters, compute an optimum set of filter parameters by jointly optimizing the computed sound pressures towards the desired sound pressures and the computed particle velocity vectors towards the desired particle velocity vectors, wherein computing the optimum set of filter parameters is based on optimizing a cost function: min w ( ) { .Math. H ( ) w ( ) - g des ( ) .Math. 2 2 + ( 1 - ) .Math. �� ( ) H ( ) w ( ) - v des ( ) .Math. 2 2 } , wherein w is a vector comprising the set of filter parameters, is a frequency, is a relative weight with 01, H is a matrix comprising transfer functions from the loudspeakers to the control points, g.sub.des is a vector indicating the desired sound pressures, v.sub.des is a vector indicating the desired particle velocity vectors, and custom character is a difference matrix; and generate the drive signals based on the optimum set of filter parameters.

2. The apparatus of claim 1, wherein determining the desired sound pressures is based on a virtual position of a virtual sound source.

3. The apparatus of claim 1, wherein determining the desired particle velocity vectors is based on computing differences between sound pressures at different control points of the plurality of control points.

4. The apparatus of claim 1, wherein computing the optimum set of filter parameters comprises computing the optimum set of filter parameters separately for different frequencies.

5. The apparatus of claim 1, wherein the control points are arranged on the one or more contours in multiple L-shaped groups.

6. The apparatus of claim 1, wherein the processor is further configured to receive input signals from one or more microphones, and compute the sound pressures and the particle velocity vectors based on one or more transfer functions that are determined based on the input signals.

7. The apparatus of claim 1, wherein the one or more audio zones comprise one or more bright zones and one or more dark zones, wherein desired sound pressures and/or desired particle velocity vectors at dark zone control points located on one or more contours around the one or more dark zones are zero.

8. The apparatus of claim 1, wherein the one or more audio zones comprise two or more bright zones, wherein determining the optimum set of filter parameters comprises determining an individual optimum set of filter parameters for each of the two or more bright zones, and wherein generating the drive signals is based on the individual optimum sets of filter parameters.

9. The apparatus of claim 1, wherein the one or more audio zones comprise a circle-shaped audio zone, and wherein the one or more contours comprise an inner circle and an outer circle around the circle-shaped audio-zone.

10. The apparatus of claim 9, wherein the plurality of control points comprises a first and a second set of control points distributed on the outer circle, wherein the control points of the second set are located at a predetermined distance from the control points of the first set.

11. The apparatus of claim 10, wherein the plurality of control points further comprises a third set of control points distributed on the inner circle, wherein the first, second, and third sets of control points comprise a same number of control points.

12. A method for driving an array of loudspeakers with drive signals to generate one or more local wave fields at one or more audio zones, the method comprising: determining desired sound pressures and desired particle velocity vectors at a plurality of control points, wherein the plurality of control points are located on one or more contours around the one or more audio zones, wherein the plurality of control points are arranged on the one or more contours in multiple L-shaped groups; computing sound pressures and particle velocity vectors at the plurality of control points based on a set of filter parameters; computing an optimum set of filter parameters by jointly optimizing the computed sound pressures towards the desired sound pressures and the computed particle velocity vectors towards the desired particle velocity vectors; and generating the drive signals based on the optimum set of filter parameters.

13. The method of claim 12, wherein the desired particle velocity vectors are determined by multiplying a difference matrix with a vector of the desired sound pressures.

14. The method of claim 13, wherein the loudspeakers are arranged in a car, wherein determining the desired sound pressures is based on a model of a passenger compartment of the car.

15. The method of claim 13, wherein the loudspeakers are arranged in a car, wherein determining the desired particle velocity vectors is based on a model of a passenger compartment of the car.

16. The method of claim 13, wherein the loudspeakers are arranged in a car, wherein computing the sound pressures and particle velocity vectors is based on a model of a passenger compartment of the car.

17. A non-transitory computer-readable storage medium storing program code that, when executed by a processor, causes a computing apparatus to perform the steps of: determining desired sound pressures and desired particle velocity vectors at a plurality of control points, wherein the plurality of control points are located on one or more contours around the one or more audio zones, wherein the one or more audio zones comprise a circle-shaped audio zone, and wherein the one or more contours comprise an inner circle and an outer circle around the circle-shaped audio-zone; computing sound pressures and particle velocity vectors at the plurality of control points based on a set of filter parameters; computing an optimum set of filter parameters by jointly optimizing the computed sound pressures towards the desired sound pressures and the computed particle velocity vectors towards the desired particle velocity vectors; and generating the drive signals based on the optimum set of filter parameters.

18. The computer-readable storage medium of claim 17, wherein the plurality of control points comprises a first and a second set of control points distributed on the outer circle, wherein the control points of the second set are located at a predetermined distance from the control points of the first set.

19. The computer-readable storage medium of claim 18, wherein the plurality of control points further comprises a third set of control points distributed on the inner circle, wherein the first, second, and third sets of control points comprise a same number of control points.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) To illustrate the technical features of embodiments of the present disclosure more clearly, the accompanying drawings provided for describing the embodiments are introduced briefly in the following. The accompanying drawings in the following description are merely some embodiments of the present disclosure, but modifications on these embodiments are possible without departing from the scope of the present disclosure as defined in the claims.

(2) FIG. 1 shows an overview block diagram of a multiple audio zone sound reproduction system which includes a local wave field synthesis apparatus according to an embodiment of the disclosure,

(3) FIG. 2 shows a schematic illustration of the internal structure of the wave field synthesis apparatus of FIG. 1,

(4) FIG. 3 shows an array of loudspeakers, a bright zone, a dark zone and an schematic illustration of an exemplary definition of the components of the particle velocity vector,

(5) FIG. 4 shows a schematic illustration of control points that are arranged in two L-shaped groups around a (local) audio zone, and

(6) FIG. 5 shows a diagram of a method for driving an array of loudspeakers with drive signals to generate one or more local wave fields at one or more audio zones according to an embodiment.

DETAILED DESCRIPTION OF THE EMBODIMENTS

(7) FIG. 1 shows an overview block diagram of a multizone sound reproduction system 100 that comprises a local wave field synthesis apparatus 200 in accordance with the present disclosure. The system is configured to generate a perceived high loudness at a bright zone 10 and a perceived silence or low loudness at a dark zone 12. For example, the bright zone could be located at the position of a listener 1 who wants to listen to music. The position of the listener could be tracked, e.g. with an optical tracking system (not shown in FIG. 1). The location of the audio zone can be periodically or continuously updated based on the detected position of the listener. The dark zone 12 can be located at the position of a second person (not shown in FIG. 1), who does not want to listen to the music. The position of the second person can also be tracked and the location of the dark zone be updated accordingly.

(8) A first plurality of control points 11 are located at a contour of the bright zone 10. A second plurality of control points 13 are located at a contour of the dark zone 12.

(9) Arrows 101 from the loudspeakers to the first and second plurality of control points 11, 13 indicate the transfer function from loudspeaker to control point that is captured in the transfer function matrix H (see below). Dashed arrow 102 from the virtual source unit 40 (which may be a unit of a determination module) to one of the control points 11 of the bright audio zone 10 indicates that the impulse responses 44 that are captured in transfer function vector g.sub.des() correspond to the impulse response at one of the control points that is caused by a finite impulse signal at the virtual source 40. The line 102 is shown as dashed line because this only reflects a desired transfer from virtual source 40 to the control points 11 of the bright zone. There is no actual physical acoustical or physical signal transfer occurring directly from the virtual source 40 to the control points 11.

(10) The lines 50 from some of the control points 11 to the unit for computation of room impulse responses 60 (which may be a unit of a computation module) indicate a direct feedback from control points to this unit. For example, microphones (not shown in FIG. 1) at the locations of the control points 11 can be used to derive the actual acoustic impulse responses 62 that are captured in transfer function matrix H(t). In such embodiments, input module 60a can receive the input signals from the one or more microphones. The actual acoustic impulse responses 62 are communicated to the wave field synthesis apparatus 200.

(11) In the example shown in FIG. 1, loudspeakers 32 are arranged as a rectangular array 30 and are driven by driving signals 20. FIG. 1 shows that the driving signals 20 generated by the wave field synthesis apparatus directly drive the loudspeakers 32, however, it is understood that the wave field synthesis apparatus embodiments include embodiments the do not comprise an amplifier, but would generate driving signals which first need to be amplified before they can be fed to the loudspeakers. In other embodiments, the wave field synthesis apparatus can output digital signals that need to be D/A-converted before they can be used to drive loudspeakers.

(12) The virtual sound source signal to be synthesized for the bright zone 12 can be characterized by its source signal 42 and the desired (acoustic) impulse responses 44, captured in transfer function vector g.sub.des() from the virtual source 40 to control points 11 surrounding the bright zone 10. In other words, the desired impulse responses can be determined based on a virtual position and a virtual extent of the sound source relative to the control points.

(13) The transfer function matrix H(t) captures the actual (acoustic) impulse responses 62 from all loudspeakers 32 to all control points 11, 13. Loudspeaker prefilters, captured in vector w, are computed based on matrix H. Together with a source signal 42, captured in a scalar function s(t), the loudspeaker driving signals 20, captured in vector s.sub.L(t), are determined. The impulse responses 62 in matrix H(t) reflect physical properties that affect how an impulse at the loudspeakers arrives at the control points. The impulse responses 62 in matrix H(t) are either known or can be estimated by a separate algorithm.

(14) FIG. 2 illustrates the structure of the wave field synthesis apparatus 200 of FIG. 1. The desired impulse responses 44 at the control points of the bright zone and the impulse response functions 62 from the loudspeakers to the entirety of the control points are transformed by the first and second Fast Fourier transform units 202, 204 into frequency domain impulse responses 44a, 62a, captured in frequency domain transfer function vector g.sub.des() and frequency domain transfer function matrix H(), with denoting the angular frequency. They are fed into a processing stage, where the transfer functions with respect to the particle velocity are approximated. This is achieved by approximating the spatial derivative of the sound pressure (which is proportional to the particle velocity) by difference quotients, e.g., along radial and tangential directions on the contours around the local listening areas. Accordingly, the transfer functions with respect to the particle velocity can be approximated by computing differences between transfer functions in H(), which is achieved by multiplying the difference matrix custom character() with g.sub.des() or H(). In the difference matrix computation units 210 (which may be a unit of the determination module), 212 (which may be a unit of the computation module), the difference matrix is computed and multiplied with the frequency domain impulse responses 44a, 62a in order to yield frequency domain desired particle velocity transfer functions 45, captured in the desired frequency domain particle velocity transfer function vector v.sub.des() and the particle velocity vector transfer function 63, captured in matrix V(), which is actually obtained by the reproduction system.

(15) The frequency domain transfer function vector g.sub.des() for the desired sound pressure, the frequency domain transfer function matrix H() of the reproduction system, the desired frequency domain particle velocity vector transfer function vector v.sub.des(), and the frequency domain particle velocity vector transfer function matrix V() of the reproduction system are then fed into a filter design unit 220 (an optimization module). In the filter design unit, the sound pressure and particle velocity vector on the contours around multiple local listening areas are then jointly optimized by minimizing the cost function

(16) min w ( ) { .Math. H ( ) w ( ) - g des ( ) .Math. 2 2 + ( 1 - ) .Math. ( ) H ( ) w ( ) - v des ( ) .Math. 2 2 } , ( 2 )
where 01 adjusts the relative weight of the sound pressure and particle velocity vector in the optimization process. The resulting frequency domain loudspeaker prefilters 70, captured in vector w(), are then multiplied with the spectrum 42a of the source signal such that a fast convolution is realized. The spectrum S(), captured in S(), is obtained as output from a third Fast Fourier transform unit 222, which obtains the source signal 42, captured in scalar source signal function s(t), as input.

(17) Multiplying the spectrum 42 with the frequency domain loudspeaker prefilters 70 yields the spectra 20a of the driving signals. Finally, an inverse FFT in the inverse Fast Fourier transform unit 224 (which may be a unit of a generator module) provides the loudspeaker signals 20, captured in vector s.sub.L(t), for a particular bright zone.

(18) The optimization in Eq. (2) can be performed for each virtual source and each bright zone independently, and the resulting loudspeaker signals obtained for each bright zone are superimposed.

(19) FIG. 3 shows an array of loudspeakers 30, a bright zone 310, a dark zone 320 and a schematic illustration of a particle velocity vector 322. The particle velocity vector 322 reflects the particle velocity at a control point P at location {right arrow over (x)}.sub.0. The control point P is denoted with reference number 321 in FIG. 3.

(20) The particle velocity vector 322 can, e.g., be defined along radial and tangential directions on the contours around the local listening areas, as shown in FIG. 3. In other words, the particle velocity vector 322 comprises a tangential component V.sub.tan ({right arrow over (x)}.sub.0) and a radial component V.sub.rad({right arrow over (x)}.sub.0). The angle denotes the angular deviation between the direction of the particle velocity vector and a tangential direction along the contour of the respective audio zone.

(21) In this example, the control points are arranged on the contours in multiple L-shaped groups, as indicated by FIG. 4, where alternative arrangements are also possible.

(22) FIG. 4 illustrates the arrangement of control points in groups of L-shaped groups. A primary control point 401 is arranged on an outer circle 420 around an audio zone (not shown in FIG. 4). Next to the primary control point 401 are a first secondary control point 402, which is located on an inner circle 421 around the audio zone, and a second secondary control point 403, which is located on the outer circle 420 around the audio zone. The first and the second secondary control point 402, 403 are located at the same distance from the primary control point 401. A first vector 411 from the primary control point 401 to the first secondary control point 402 and a second vector 412 from the primary control point 401 to the second secondary control point 403 are at an angle of 90 relative to each other.

(23) For the exemplary realization of the system with one bright and one dark zone, as shown in FIG. 3, and control points arranged according to FIG. 4, the matrix capturing the transfer functions from the loudspeakers to the control points is composed as

(24) H ( ) = [ H ( x .fwdarw. out , 1 B .Math. x .fwdarw. 1 L , ) .Math. H ( x .fwdarw. out , 1 B .Math. x .fwdarw. N L L , ) .Math. .Math. H ( x .fwdarw. out , M B .Math. x .fwdarw. 1 L , ) .Math. H ( x .fwdarw. out , M B .Math. x .fwdarw. N L L , ) H ( x .fwdarw. in , 1 B .Math. x .fwdarw. 1 L , ) .Math. H ( x .fwdarw. in , 1 B .Math. x .fwdarw. N L L , ) .Math. .Math. H ( x .fwdarw. in , N B .Math. x .fwdarw. 1 L , ) .Math. H ( x .fwdarw. in , N B .Math. x .fwdarw. N L L , ) H ( x .fwdarw. out , 1 D .Math. x .fwdarw. 1 L , ) .Math. H ( x .fwdarw. out , 1 D .Math. x .fwdarw. N L L , ) .Math. .Math. H ( x .fwdarw. out , M D .Math. x .fwdarw. 1 L , ) .Math. H ( x .fwdarw. out , M D .Math. x .fwdarw. N L L , ) H ( x .fwdarw. in , 1 D .Math. x .fwdarw. 1 L , ) .Math. H ( x .fwdarw. in , 1 D .Math. x .fwdarw. N L L , ) .Math. .Math. H ( x .fwdarw. in , N D .Math. x .fwdarw. 1 L , ) .Math. H ( x .fwdarw. in , N D .Math. x .fwdarw. N L L , ) ] , ( 3 )
where the superscripts .sup.B and .sup.D indicate the bright audio zone 310 and the dark audio zone 320, respectively. {right arrow over (x)}.sub.in,n denotes the position of the n-th control point on the inner circle around the local listening area, with n=1, . . . , N, and N is the number of control points on the inner circle. {right arrow over (x)}.sub.out,m denotes the position of the m-th control point on the outer circle around the local listening area, with n=1, . . . , M, and M is the number of control points on the outer circle (here: M=2N). The positions of the loudspeakers are denoted as {right arrow over (x)}.sub.l.sup.L, with l=1, . . . , N.sub.L and N.sub.L being the number of loudspeakers. Then, the difference matrix custom character() is given by

(25) �� ( ) = - 1 j x [ D 0 N N - I I N N 0 N M 0 N N 0 N M 0 N N 0 N M 0 N N 0 N M 0 N N D 0 N N - I I N N ] bright zone dark zone , ( 4 )
where custom character denotes the density of the propagation medium (typically: air), x is the distance between the control points (see FIG. 4), and j is the imaginary unit. Zero and identity matrices are denoted as 0 and I, respectively, where the subscripts indicate the dimensions on the matrices. Furthermore, we introduce the unit vectors e.sub.i of dimensions N1 in order to define D=[e.sub.1, e.sub.1, e.sub.2, e.sub.2, . . . , e.sub.N, e.sub.N] and I=[e.sub.1, 0.sub.N1, e.sub.2, 0.sub.N1, . . . e.sub.N, 0.sub.N1].

(26) Finally, the loudspeaker prefilters are computed by solving Equation (2) using the regularized pseudoinverse with regularization parameter , which results in
w.sub.opt()=({tilde over (H)}.sup.H(){tilde over (H)}()+I.sub.N.sub.L).sup.1{tilde over (H)}.sup.H(){tilde over (h)}.sub.des(),(5)
where

(27) H ~ ( ) = [ I 6 N N ( 1 - ) �� ( ) ] H ( ) and h ~ des ( ) = [ g des ( ) ( 1 - ) v des ( ) ] H ( ) ,
and the superscript .sup.H denotes complex conjugate transposition.

(28) Note that the number of dark zones can be extended from one, as given in the example above, to an arbitrary number by expanding the matrices custom character(), H(), {tilde over (H)}(), {tilde over (h)}.sub.des(), g.sub.des(), and v.sub.des() accordingly.

(29) FIG. 5 shows a diagram of a method for driving an array of loudspeakers with drive signals to generate one or more local wave fields at one or more audio zones according to an embodiment. At step 500, desired sound pressures at a plurality of control points are determined.

(30) At step 502, desired particle velocity vectors at the plurality of control points based on the desired sound pressures are determined. The desired particle velocity vectors can be determined by multiplying a difference matrix with a vector of the desired sound pressures.

(31) At step 504, sound pressures and particle velocity vectors at the plurality of control points based on a set of filter parameters are computed. At step 506, the computed sound pressures and computed particle velocity vectors are jointly optimized by varying the set of filter parameters to determine an optimum set of filter parameters. At step 508, the drive signals based on the optimum set of filter parameters are generated, wherein the plurality of control points are located on one or more contours around the one or more audio zones.

(32) The above-described method may be applied in an automobile setting such as loudspeakers that are arranged in a car. For example, step 502 may determine the desired particle velocity vectors and/or step 504 may compute the sound pressures and particle velocity vectors based on a model of a passenger compartment of the car.

(33) Regarding further details of the individual steps, it is also referred to the elaborations regarding FIGS. 1 to 4.

(34) To summarize, a system and method for personalized, multi-zone sound reproduction is proposed. It is based on the joint optimization of the sound pressure and particle velocity vector (i.e., the sound intensity) on contours around multiple or a single local listening area(s). As a result, multiple individual, local sound fields can be generated in different areas of the reproduction space, which allows for personalized audio. The system is flexible with respect to the loudspeaker geometry, and measured room impulse responses can be easily incorporated in order to compensate for the non-ideal characteristics of real loudspeakers and the reproduction room (e.g., reverberation).

(35) The disclosure has been described in conjunction with various embodiments herein. However, other variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed disclosure, from a study of the drawings, the disclosure and the appended claims. In the claims, the word comprising does not exclude other elements or steps and the indefinite article a or an does not exclude a plurality. A single processor or other unit may fulfil the functions of several items recited in the claims. The mere fact that certain measures are recited in usually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.

(36) Embodiments of the disclosure may be implemented in a computer program for running on a computer system, at least including code portions for performing steps of a method according to the disclosure when run on a programmable apparatus, such as a computer system or enabling a programmable apparatus to perform functions of a device or system according to the disclosure.

(37) A computer program is a list of instructions such as a particular application program and/or an operating system. The computer program may for instance include one or more of: a subroutine, a function, a procedure, an object method, an object implementation, an executable application, an applet, a servlet, a source code, an object code, a shared library/dynamic load library and/or other sequence of instructions designed for execution on a computer system.

(38) The computer program may be stored internally on computer readable storage medium or transmitted to the computer system via a computer readable transmission medium. All or some of the computer program may be provided on transitory or non-transitory computer readable media permanently, removably or remotely coupled to an information processing system. The computer readable media may include, for example and without limitation, any number of the following: magnetic storage media including disk and tape storage media; optical storage media such as compact disk media (e.g., CD-ROM, CD-R, etc.) and digital video disk storage media; nonvolatile memory storage media including semiconductor-based memory units such as FLASH memory, EEPROM, EPROM, ROM; ferromagnetic digital memories; MRAM; volatile storage media including registers, buffers or caches, main memory, RAM, etc.; and data transmission media including computer networks, point-to-point telecommunication equipment, and carrier wave transmission media, just to name a few.

(39) A computer process typically includes an executing (running) program or portion of a program, current program values and state information, and the resources used by the operating system to manage the execution of the process. An operating system (OS) is the software that manages the sharing of the resources of a computer and provides programmers with an interface used to access those resources. An operating system processes system data and user input, and responds by allocating and managing tasks and internal system resources as a service to users and programs of the system.

(40) The computer system may for instance include at least one processing unit, associated memory and a number of input/output (I/O) devices. When executing the computer program, the computer system processes information according to the computer program and produces resultant output information via I/O devices.

(41) The connections as discussed herein may be any type of connection suitable to transfer signals from or to the respective nodes, units or devices, for example via intermediate devices. Accordingly, unless implied or stated otherwise, the connections may for example be direct connections or indirect connections. The connections may be illustrated or described in reference to being a single connection, a plurality of connections, unidirectional connections, or bidirectional connections. However, different embodiments may vary the implementation of the connections. For example, separate unidirectional connections may be used rather than bidirectional connections and vice versa. Also, plurality of connections may be replaced with a single connection that transfers multiple signals serially or in a time multiplexed manner. Likewise, single connections carrying multiple signals may be separated out into various different connections carrying subsets of these signals. Therefore, many options exist for transferring signals.

(42) Those skilled in the art will recognize that the boundaries between logic blocks are merely illustrative and that alternative embodiments may merge logic blocks or circuit elements or impose an alternate decomposition of functionality upon various logic blocks or circuit elements. Thus, it is to be understood that the architectures depicted herein are merely exemplary, and that in fact many other architectures can be implemented which achieve the same functionality. For example, local wave field synthesis apparatus 200 may include units 40, 60 and 60a.

(43) Furthermore, those skilled in the art will recognize that boundaries between the above described operations merely illustrative. The multiple operations may be combined into a single operation, a single operation may be distributed in additional operations and operations may be executed at least partially overlapping in time. Moreover, alternative embodiments may include multiple instances of a particular operation, and the order of operations may be altered in various other embodiments.

(44) Also for example, the examples, or portions thereof, may implemented as soft or code representations of physical circuitry or of logical representations convertible into physical circuitry, such as in a hardware description language of any appropriate type.

(45) Also, the disclosure is not limited to physical devices or units implemented in nonprogrammable hardware but can also be applied in programmable devices or units able to perform the desired device functions by operating in accordance with suitable program code, such as mainframes, minicomputers, servers, workstations, personal computers, notepads, personal digital assistants, electronic games, automotive and other embedded systems, cell phones and various other wireless devices, commonly denoted in this application as computer systems.