Audio filter system

By identifying design constraints, generating and whitening the white noise gain surface, identifying extreme points and updating the design constraints, the problem of insufficient robustness of beamforming technology for background noise and unexpected signals in the prior art is solved, and more effective audio signal processing and output are achieved.

CN119652285APending Publication Date: 2025-03-18GM GLOBAL TECHNOLOGY OPERATIONS LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311489326.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-09-15
Filing Date
2023-11-09
Publication Date
2025-03-18

AI Technical Summary

Technical Problem

Existing beamforming techniques have insufficient robustness in handling background noise and unexpected signals, resulting in a rigorous search process to achieve the desired output.

Method used

By receiving multiple audio signals from the sensor array, identifying design constraints, generating an asymmetric white noise gain surface, and converting it into a symmetric white noise gain surface using a whitening function, identifying extreme points to update design constraints, and filtering multiple audio signals using extreme points and non-binary values.

Benefits of technology

It improves the robustness of the audio filter to model mismatch, reduces interference audio signals, enhances the target audio signals, and achieves more efficient audio signal processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119652285A_ABST
    Figure CN119652285A_ABST
Patent Text Reader

Abstract

A computer-implemented method performed by data processing hardware causes the data processing hardware to perform operations including receiving a plurality of audio signals from a sensor array. The plurality of audio signals includes a target audio signal and an interfering audio signal. The data processing hardware then identifies design constraints based on the plurality of audio signals. The desired constraints include pass constraints corresponding to the target audio signal and null constraints corresponding to the interfering audio signal. The data processing hardware then compares the design filter weight of the design constraint to a filter weight maximum, designs an audio filter using the desired constraint, and filters the plurality of audio signals using the designed audio filter.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] introduction

[0002] The information provided in this section is for the purpose of generally presenting the background of the present disclosure. The work of the presently named inventors, to the extent described in this section and in aspects of the description that may not otherwise be identified as prior art at the time of filing, is neither explicitly nor implicitly admitted to be prior art against the present disclosure. Technical Field

[0003] The present disclosure generally relates to an audio filter system. Background Art

[0004] Beamforming techniques are often used to enhance a desired speech signal. Typical beamforming techniques use the spatial diversity of microphones to enhance the speech of a desired speaker. However, background noise and other unintended signals may interfere with the desired speech signal. Diagonal loading techniques are traditionally applied to beamforming filters to increase the robustness of the filter to model mismatch. The use of diagonal loading techniques often results in a rigorous search to achieve the desired output. Summary of the invention

[0005] In some aspects, a computer-implemented method is performed by data processing hardware. The computer-implemented method causes the data processing hardware to perform operations including receiving multiple audio signals from a sensor array. The multiple audio signals include a target audio signal and an interfering audio signal. Then, the data processing hardware identifies design constraints based on the multiple audio signals. The design constraints include a pass constraint corresponding to the target audio signal and a null constraint corresponding to the interfering audio signal. Next, the data processing hardware generates an asymmetric white noise gain surface from the audio signal in response to the design filter weight exceeding the maximum filter weight, and converts the asymmetric white noise gain surface to a symmetric white noise gain surface using a whitening function. Then, the data processing hardware transforms extreme points from the symmetric white noise gain surface to the asymmetric white noise gain surface, updates the design constraints with the extreme points, and filters multiple audio signals using the extreme points and the identified non-binary values.

[0006] In some examples, the method may include designing an audio filter using the updated design constraints. Designing the audio filter may include reducing the design filter weight and comparing the reduced value to the filter weight maximum. The method may also include performing a whitening function using a Cholesky decomposition. In some examples, the method may define a cost function, and the maximum point may be derived using a closed form mathematical equation using the defined cost function. Identifying an extreme point may include comparing the extreme point to the maximum point and identifying a correlation between the extreme point and the maximum point. The extreme point may be defined by the maximum distance between a first point associated with a pass constraint and a second point associated with a null constraint.

[0007] In other aspects, an audio filter system for a vehicle includes data processing hardware and memory hardware in communication with the data processing hardware. The memory hardware stores instructions that, when executed on the data processing hardware, cause the data processing hardware to perform operations. The data processing hardware receives a plurality of audio signals from a sensor array. The data processing hardware then identifies design constraints based on the plurality of audio signals. The data processing hardware generates an asymmetric white noise gain surface in response to a design filter weight exceeding a filter weight maximum value, and converts the asymmetric white noise gain surface into a symmetric white noise gain surface using a whitening function. The data processing hardware then identifies extreme points on the symmetric white noise gain surface of the design constraints, and transforms the extreme points from the symmetric white noise gain surface to the asymmetric white noise gain surface. Finally, the data processing hardware updates the design constraints with the extreme points, and filters the plurality of audio signals using the extreme points.

[0008] In some examples, the data processing hardware may design an audio filter using design constraints. The data processing hardware may design the audio filter by reducing the value of the filter weight of the designed audio filter and comparing the reduced value with the designed constraints. In some configurations, the data processing hardware determines whether the extreme point corresponds to a maximum point. Optionally, when identifying the extreme point, the data processing hardware may define a cost function. The data processing hardware may then derive the maximum point through a closed form mathematical equation using the defined cost function. The maximum point may be defined by the maximum distance between a first point associated with a pass constraint of the design constraint and a second point associated with a null constraint of the design constraint.

[0009] In other aspects, a computer-implemented method performed by data processing hardware causes the data processing hardware to perform operations including receiving a plurality of audio signals from a sensor array. The plurality of audio signals include a target audio signal and an interfering audio signal. The data processing hardware then identifies design constraints based on the plurality of audio signals. The desired constraints include a pass constraint corresponding to the target audio signal and a null constraint corresponding to the interfering audio signal. The data processing hardware then compares design filter weights of the design constraints with a filter weight maximum value, designs an audio filter using the desired constraints, and filters the plurality of audio signals using the designed audio filter.

[0010] In some examples, when designing an audio filter, the data processing hardware may determine that the design filter weight exceeds the filter weight maximum value, and in response, generate an asymmetric white noise gain surface using the designed audio filter. The data processing hardware may then use a whitening function to convert the asymmetric white noise gain surface to a symmetric white noise gain surface. The data processing hardware may then identify extreme points on the symmetric white noise gain surface for desired constraints. Optionally, the data processing hardware may transform extreme points from a symmetric white noise gain surface to an asymmetric white noise gain surface and update the design constraints with the extreme points. In some configurations, the data processing hardware may use extreme points when filtering multiple audio signals. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The drawings described herein are for illustrative purposes only of selected configurations and are not intended to limit the scope of the present disclosure.

[0012] Figure 1 is a schematic diagram of a vehicle having an audio filter system according to the present disclosure;

[0013] Figure 2 is a partial perspective view of an interior cabin of a vehicle having a sensor array according to the present disclosure;

[0014] Figure 3 is a functional block diagram of a vehicle controller including an audio filter system according to the present disclosure;

[0015] Figure 4 is an example schematic diagram of an input signal, a conventional linear constrained minimum variance output signal, and a filter audio output signal according to the present disclosure;

[0016] Figure 5 is an example flow chart of an audio filter system according to the present disclosure; and

[0017] Figure 6 According to the present disclosure Figure 5 An example flow chart of an audio filter system.

[0018] Corresponding reference characters indicate corresponding parts throughout the several views of the drawings. DETAILED DESCRIPTION

[0019] Example configurations will now be described more fully with reference to the accompanying drawings. Example configurations are provided so that the present disclosure will be thorough and will fully convey the scope of the present disclosure to those of ordinary skill in the art. Specific details, such as examples of specific components, devices, and methods, are set forth to provide a thorough understanding of the configurations of the present disclosure. It will be apparent to those of ordinary skill in the art that specific details need not be employed, that example configurations may be implemented in many different forms, and that the specific details and example configurations should not be construed as limiting the scope of the present disclosure.

[0020] The terms used herein are only used for the purpose of describing specific exemplary configurations and are not intended to be limiting. As used herein, the singular articles "a", "an" and "the" may also be intended to include plural forms unless the context clearly indicates otherwise. The terms "comprises", "comprising", "including" and "having" are inclusive and therefore specify the presence of features, steps, operations, elements and / or parts, but do not exclude the presence or addition of one or more other features, steps, operations, elements, parts and / or groups thereof. The method steps, processes and operations described herein should not be interpreted as necessarily requiring them to be performed in the specific order discussed or shown, unless specifically identified as an execution order. Additional or alternative steps may be adopted.

[0021] When an element or layer is referred to as being "on another element or layer," "engaged to," "connected to," "attached to," or "coupled to" another element or layer, it may be directly on, directly engaged with, connected to, attached to, or coupled to another element or layer, or there may be intermediate elements or layers. Conversely, when an element is referred to as being "directly on another element or layer," "directly engaged to," "directly connected to," "directly attached to," or "directly coupled to" another element or layer, there may be no intermediate elements or layers. Other words used to describe the relationship between elements should be interpreted in a similar manner (e.g., "between" versus "directly between," "adjacent" versus "directly adjacent," etc.). As used herein, the term "and / or" includes any and all combinations of one or more associated listed items.

[0022] The terms first, second, third, etc. can be used here to describe various elements, components, regions, layers and / or parts. These elements, components, regions, layers and / or parts should not be limited by these terms. These terms can only be used to distinguish an element, component, region, layer or part from another region, layer or part. Unless the context clearly indicates, terms such as "first", "second" and other numerical terms do not imply order or sequence. Therefore, without departing from the teaching of the example configuration, the first element, component, region, layer or part discussed below can be referred to as the second element, component, region, layer or part.

[0023] In this application, including the definitions below, the term module may be replaced by the term circuit. The term module may refer to, be part of, or include: an application specific integrated circuit (ASIC); a digital, analog, or mixed analog / digital discrete circuit; a digital, analog, or mixed analog / digital integrated circuit; a combinational logic circuit; a field programmable gate array (FPGA); a processor (shared, dedicated, or grouped) that executes code; a processor (shared, dedicated, or grouped) that stores code executed by a memory; other suitable hardware components that provide the described functionality; or a combination of some or all of the above, such as in a system on a chip.

[0024] The term code as used above may include software, firmware and / or microcode, and may refer to a program, a routine, a function, a class and / or an object. The term shared processor includes a single processor that executes some or all codes from multiple modules. The processor term group includes a processor that executes some or all codes from one or more modules in combination with an additional processor. The term shared memory includes a single memory that stores some or all codes from multiple modules. The memory term group includes a memory that stores some or all codes from one or more modules in combination with an additional memory. The term memory may be a subset of the term computer-readable medium. The term computer-readable medium does not include transient electrical signals and electromagnetic signals propagated through the medium, and therefore can be considered to be tangible and non-transient memory. Non-limiting examples of non-temporary memory include tangible computer-readable media, which include non-volatile memory, magnetic memory, and optical memory.

[0025] The apparatus and methods described in this application may be implemented in part or in whole by one or more computer programs executed by one or more processors. The computer program includes processor executable instructions stored on at least one non-transitory tangible computer readable medium. The computer program may also include and / or rely on stored data.

[0026] A software application (i.e., a software resource) may refer to computer software that enables a computing device to perform tasks. In some examples, a software application may be referred to as an "application," "app," or "program." Example applications include, but are not limited to, system diagnostic applications, system management applications, system maintenance applications, word processing applications, spreadsheet applications, messaging applications, media streaming applications, social networking applications, and gaming applications.

[0027] Non-transitory memory can be a physical device used to temporarily or permanently store programs (e.g., sequences of instructions) or data (e.g., program state information) for use by a computing device. Non-transitory memory can be volatile and / or non-volatile addressable semiconductor memory. Examples of non-volatile memory include, but are not limited to, flash memory and read-only memory (ROM) / programmable read-only memory (PROM) / erasable programmable read-only memory (EPROM) / electrically erasable programmable read-only memory (EEPROM) (e.g., commonly used for firmware, such as bootloaders). Examples of volatile memory include, but are not limited to, random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), phase change memory (PCM), and disk or tape.

[0028] These computer programs (also referred to as programs, software, software applications, or code) include machine instructions for a programmable processor and may be implemented in high-level procedural and / or object-oriented programming languages ​​and / or assembly / machine languages. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, non-transitory computer-readable medium, apparatus, and / or device (e.g., disk, optical disk, processor, programmable logic device (PLD)) for providing machine instructions and / or data to a programmable device, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal for providing machine instructions and / or data to a programmable processor.

[0029] Various implementations of the systems and techniques described herein can be realized in digital electronic and / or optical circuits, integrated circuits, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations may include implementations in one or more computer programs executable and / or interpretable on a programmable system that includes at least one programmable processor, which may be special-purpose or general-purpose, coupled to receive data and instructions from a storage system, at least one input device, and at least one output device, and to send data and instructions to the storage system, at least one input device, and at least one output device.

[0030] The process and logic flow described in this specification can be performed by one or more programmable processors (also referred to as data processing hardware), which execute one or more computer programs to perform functions by operating on input data and generating outputs. The process and logic flow can also be performed by a dedicated logic circuit (e.g., FPGA (field programmable gate array) or ASIC (application-specific integrated circuit)). As an example, a processor suitable for executing a computer program includes both general-purpose and special-purpose microprocessors, and any one or more processors of any type of digital computer. Typically, the processor will receive instructions and data from a read-only memory or a random access memory or both. The basic elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Typically, a computer will also include one or more large-capacity storage devices (e.g., magnetic disks, magneto-optical disks, or optical disks) for storing data, or be operably connected to receive data from it or transmit data to it or both. However, a computer does not need to have such a device. Computer-readable media suitable for storing computer program instructions and data include all forms of nonvolatile memory, media, and memory devices, including, for example, semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD ROM and DVD-ROM disks. The processor and memory may be supplemented by, or incorporated in, special purpose logic circuitry.

[0031] To provide interaction with a user, one or more aspects of the present disclosure may be implemented on a computer having a display device (e.g., a CRT (cathode ray tube), LCD (liquid crystal display) monitor, or touch screen) for displaying information to the user and optionally a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other kinds of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user may be received in any form, including sound, voice, or tactile input. In addition, the computer may interact with the user by sending documents to and receiving documents from a device used by the user; for example, by sending a web page to a web browser on a user's client device in response to a request received from the web browser.

[0032] refer to Figures 1 to 6, the audio filter system 10 can be incorporated into a vehicle 100. In some examples, the audio filter system 10 can be incorporated into any feasible location within the vehicle 100 where audio filtering may be beneficial. For example, the audio filter system 10 can be incorporated into both vehicle and non-vehicle audio capture settings. For purposes of exemplary functional explanation, the audio filter system 10 is described herein with respect to the vehicle 100. However, the audio filter system 10 can be used in non-vehicle examples.

[0033] The vehicle 100 may be equipped with a sensor array 102 configured to capture an audio signal 12 within the vehicle 100. The sensor array 102 may include, but is not limited to, a microphone array that captures the audio signal 12 and sends the audio signal 12 to the audio filter system 10. The audio filter system 10 includes data processing hardware 14 and memory hardware 16 that communicates with the data processing hardware 14. The data processing hardware 14 is configured to receive the audio signal 12. It is generally contemplated that the audio filter system 10 includes a computer-implemented method 18 that is executed by the data processing hardware 14 and causes the data processing hardware 14 to perform the various operations described herein. Additionally or alternatively, the memory hardware 16 may store the computer-implemented method 18 as instructions that, when executed on the data processing hardware 14, cause the data processing hardware 14 to perform the operations described herein.

[0034] refer to Figure 1-3 , the audio filter system 10 can be configured as part of a vehicle computer or controller 104. For example, the sensor array 102 receives the audio signal 12 and sends the audio signal to the vehicle controller 104. In response to receiving the audio signal 12, the vehicle controller 104 can initiate the audio filter system 10. For example, the vehicle controller 104 can execute a computer-implemented method 18 of the audio filter system 10. The audio filter system 10 is configured to filter the audio signal 12 and identify the speaker. The speaker is typically an occupant 106 in the vehicle 100. It is expected that the audio filter system 10 can use the computer-implemented method 18 described herein to distinguish between multiple occupants 106 speaking at the same time.

[0035] The audio signal 12 may include one or more target audio signals 12a and one or more interfering audio signals 12b. The audio filter system 10 is configured to filter out the interfering audio signals 12b and amplify or otherwise enhance the target audio signal 12a. The resulting signal is a filtered audio signal 12c containing minimal interfering audio signals 12b to no interfering audio signals 12b. The filtered audio signal 12c may be communicated to a third-party processor that communicates with the vehicle controller 104 and is configured to receive the filtered audio signal 12c.

[0036] For example, Figure 2 A first occupant 106a and a second occupant 106b are shown emitting audio signals 12 simultaneously using a sensor array 102 disposed within an interior cabin 108 of a vehicle 100. Although the interfering audio signal 12b is shown as coming from the second occupant 106b, other noises (such as interior or exterior background noise, road noise, and wind, among other examples) may be sources of the interfering audio signal 12b. In the illustrated example, the sensor array 102 is configured to receive each audio signal 12a, 12b from the respective occupant 106a, 106b and then transmit it to the audio filter system 10. Although the sensor array 102 is shown as being located at the front of the interior cabin 108, it is contemplated that the sensor array 102 may be located at any feasible position within the interior cabin 108 to capture the audio signal 12. For example, the sensor array 102 may be positioned at a position including, but not limited to, a rear portion, a lateral portion, and a center portion of the interior cabin 108.

[0037] Reference now Figures 3 to 6 , Figure 4 An example of an implementation of the audio filter system 10 is shown. The method and process of implementing the audio filter system 10 are described in more detail below. Figure 4 , the audio signal 12 is represented by a series of signals 18-22. The input signal 18 shows the audio signal 12 received by the audio filter system 10. The input signal 18 includes the entire range of sources detected by the sensor array 102 before being filtered by the audio filter system 10. Therefore, as shown, the input signal 18 spans the desired output range 24 and the interference output range 26.

[0038] A conventional linear constrained minimum variance (LCMV) output signal 20 is shown below the input signal 18. The conventional LCMV output signal 20 is generated using a conventional LCMV filter 28 that can be combined with a vehicle controller 104. For example, the conventional LCMV filter 28 can be stored as part of an audio filter system 10. The audio filter system 10 can include a conventional LCMV filter 28 and a designed audio filter 30, as described below. Both the conventional LCMV filter 28 and the designed audio filter 30 are configured to filter the audio signal 12 received by the audio filter system 10 to reduce the interfering audio signal 12b and maximize the target audio signal 12a. The conventional LCMV filter 28 operates as a binary function. For example, the value constraint of the conventional LCMV filter 28 is set to one (1) for the target source and is set to zero (0) for the interfering source. In contrast, as described below, the audio filter system 10 described herein is configured to utilize non-binary values ​​in the constraint set.

[0039] It is contemplated that the interfering audio signal 12b may be more clearly defined within the interfering output range 26, and the target audio signal 12a may be defined within the desired output range 24. However, the received audio signal 12 spans both the desired output range 24 and the interfering output range 26, such that the interfering audio signal 12b may be mixed with the target audio signal 12a within the desired output range 24. Therefore, the designed audio filter 30 is configured to selectively filter the audio signal 12 to remove or reduce the target audio signal 12a. Figure 4 The results of the designed audio filter 30 with respect to reducing the interfering audio signal 12b within the interfering output range 26 as compared to the input signal 18 (particularly the conventional LCMV output signal 20) are most clearly shown.

[0040] like Figure 4 As depicted in the example of , the conventional LCMV filter 28 outputs a conventional LCMV output signal 20 having a reduced output in the interference range 26 compared to the input signal 18. For example, the input signal 18 has an increased output in the interference output range 26 compared to the conventional LCMV output signal 20, which generally corresponds to the presence of the interfering audio signal 12b. The lower output in the interference range 26 is achieved by the audio filter system 10 identifying the target audio signal 12a and filtering any potential interfering audio signals 12b. Therefore, the conventional LCMV filter 28 can produce a reduced conventional LCMV output signal 20 in the interference range 26 compared to the input signal 18.

[0041] In contrast, the designed audio filter 30 further reduces the audio signal 12 within the interference range 24 . Figure 4 It is shown that the filtered audio signal 22 provided by the designed audio filter 30 is generally reduced over both the desired output range 24 and the interfering output range 26. The reduction of the filtered audio 22 in the desired output range 24 is a result of improved noise filtering by the designed audio filter 30 compared to the input signal 18 and the conventional LCMV output signal 20. The designed audio filter 30 is configured to filter the interfering audio signal 12b over both the desired output range 24 and the interfering output range 26. The reduction of the interfering audio signal 12b by the designed audio filter 30 advantageously provides a clear filtered audio signal 22 with minimal interfering noise compared to the unfiltered input signal 18 and the conventional LCMV output signal 20.

[0042] Continue to refer Figures 3 to 6, the vehicle controller 104 is configured to use a series of mathematical processes to design the designed audio filter 30. As described above, the data processing hardware 14 includes memory hardware 16, which can store design constraints 34 that can be utilized by the data processing hardware 14 when designing the audio filter 30. The design constraints 34 include pass constraints 36 and null constraints 38 that are configured as an initial filter for the designed audio filter 30. The data processing hardware 14 utilizes the pass constraints 36 to identify which sources of the audio signal 12 are to be passed through the designed audio filter 30, and the null constraints 38 to identify which sources of the audio signal 12 are to be filtered out or eliminated before outputting the filtered audio signal 12c.

[0043] The design constraints 34 may be soft constraint gains, which may be represented as (g) in the following equation. The data processing hardware 14 may also utilize a spatial constraint matrix C based on the audio signal 12 received from the sensor array 102. The data processing hardware 14 may utilize each of the design constraints 34 and the spatial constraint matrix (C) in combination with the spatial noise correlation matrix (Φ V ) is used to design the audio filter 30. By (w 30 ) for designing the audio filter 30 is:

[0044]

[0045] The design constraints 34 include design filter weights 42, and the memory hardware 16 may include a predetermined white noise gain (WNG) filter weight maximum value 44 that may be used to compare with the design filter weights 42. The data processing hardware 14 is configured to identify a value for each of the pass constraints 36 and the null constraints 38 that may be used to determine the design filter weights 42. It is advantageous that the difference between the values ​​of each of the constraints 36 and the null constraints 38 is maximized because the maximum difference corresponds to minimum distortion of the target audio signal 12a and maximum attenuation of the interfering audio signal 12b.

[0046] The design constraint 34 may be further defined as a white noise gain (WNG) constraint. The data processing hardware 14 may compare the design filter weight 42 to the WNG filter weight maximum value 44 to identify whether the design filter weight 42 is below the WNG filter weight maximum value 44. If the design filter weight 42 is below the WNG filter weight maximum value 44, the data processing hardware 14 may continue to utilize the design constraint 34 when designing the audio filter 30. In some instances, the design filter weight 42 may exceed the WNG filter weight maximum value 44, and therefore the data processing hardware 14 may perform further steps to design the audio filter 30. In response to exceeding the WNG filter weight maximum value 44, the design filter weight 42 may be reduced, as described below, to achieve a value below the WNG filter weight maximum value 44.

[0047] Further references Figures 3 to 6 , if the design filter weight 42 exceeds the WNG filter weight maximum value 44, the data processing hardware 14 can generate an asymmetric white noise gain (WNG) surface 46. The asymmetric WNG surface 46 is defined on the constraint plane and includes a different focal width for each axis defining the asymmetric WNG surface 46. In some examples, the asymmetric WNG surface 46 can be an elliptical surface, which can be defined by a white noise gain (WNG) 48, which can be an expression of the above example equation. WNG 48 can be defined as a reflection of the sensitivity of the sensor array 102 to random changes in the surrounding environment and / or components of the sensor array 102, including the location and responsiveness of the sensors. In the example equation below, a value of 0 corresponds to an interfering audio signal 12b to be mitigated, and a value of 1 corresponds to a target audio signal 12a to be enhanced. An example equation for WNG 48 where the audio signal 12 position is represented by (h) is:

[0048]

[0049] where h = [-h0 h1], p = [g1 g0] T ,and

[0050] In further defining the audio filter 30, the asymmetric WNG surface 46 is converted by the data processing hardware 14 to a symmetric WNG surface 50. In some examples, the symmetric WNG surface 50 is a circular WNG surface. As described above, the conversion of the asymmetric WNG surface 46 may include reducing the value of the filter weight 42 because the data processing hardware 14 may search the symmetric WNG surface 50 more efficiently than searching the asymmetric WNG surface 46. The symmetric WNG surface 50 may advantageously assist the data processing hardware 14 in searching for non-binary values ​​52 of the design constraint 34. For example, the data processing hardware 14 may identify binary values, such as 1 and 0, along the asymmetric WNG surface 46, while the data processing hardware 14 is configured to identify the non-binary values ​​52 on the symmetric WNG surface 50. The non-binary values ​​52 may include, but are not limited to, values ​​such as a non-binary value of 0.9 corresponding to the target audio signal 12a and a non-binary value of 0.2 corresponding to the interfering audio signal 12b. Other non-binary values ​​52 may be used to identify various audio signals 12. An example equation for the symmetric WNG surface 50 is:

[0051]

[0052] where g p =Ψ -1 p and Ψ can be defined as h HThe reciprocal square root of h, such as

[0053] Ψ H h H hΨ=I

[0054] Using the above equations, a symmetric WNG surface 50 can be defined to improve the ease of searching for non-binary values ​​52. The non-binary value 52 advantageously helps the data processing hardware 14 design the audio filter 30 because the non-binary value 52 provides interference control over the WNG value. The non-binary value 52 provides increased refinement when designing the audio filter 30. For example, the non-binary value 52 can be used to define the filtered audio signal 12c using the designed audio filter 30. Therefore, the non-binary value 52 can contribute to the design of the audio filter 30 to improve the use of the audio filter 30 in a small or otherwise limited space. For example, by extracting the desired audio signal 12 from a local area and attenuating the interfering audio signal 12 in the surrounding area, the designed audio filter 30 can have improved spatial attenuation. Improved spatial attenuation can be achieved by identifying the non-binary value 52. In addition, an equal WNG curve can be defined on the whitened symmetric WNG surface 50. An example equation for an equal WNG curve (where (r) controls the WNG level and (φ) defines the gain value) is:

[0055] g p =[rsin(φ)rcos(φ)] T

[0056] where r is calculated as

[0057] The original gain level (p) can be determined by the relationship between Ψ and (g p ) multiplied by (g p ) is obtained. The asymmetric WNG surface 46 is converted to a symmetric WNG surface 50 using a whitening function 54. The whitening function 54 is a transformation of random variables with a known covariance matrix to a set of new variables whose covariance is the identity matrix. The whitening function 54 may be, but is not limited to, Cholesky decomposition. When using Cholesky decomposition, Ψ is an upper triangular matrix and Ψ(2,2) is a real number. Given this characteristic, the desired source gain (g0) can be represented by the example equation: g0 = Ψ(2,2)g p (2). The desired source gain (g0) is also a real number, which indicates that the desired source gain (g0) has no phase distortion. Therefore, the whitening function 54 advantageously has no phase distortion toward the target audio signal 12a. Therefore, the audio signal 12 can be filtered without affecting the phase of the filtered audio signal 12c.

[0058] Further references Figures 3 to 6, the data processing hardware 14 can execute a series of equations to search for an extreme point 56 of the symmetric WNG surface 50. The extreme point 56 can be defined by the maximum distance between a first point associated with the pass constraint 36 and a second point associated with the null constraint 38. Ultimately, the extreme point 56 corresponds to a maximum point 58, which defines the maximum separation between the desired audio signal 12a and the undesired audio signal 12b at a given WNG value. For example, the audio filter system 10 can identify the correlation between the extreme point and the maximum point 58. Identifying the extreme point 56 includes defining a cost function 60 for identifying the maximum point 58. The maximum point 58 can be derived by a closed form mathematical equation using the defined cost function 60. An example cost function equation for identifying the maximum separation is:

[0059]

[0060] where g p =[r sin(φ) r cos(φ)] T as well as

[0061] The extreme point 56 may be a function of the above equation and may be provided by the following example equation:

[0062]

[0063] The data processing hardware 14 may verify the identified extreme point 56 with the maximum point 58 to determine whether the extreme point 56 corresponds to the maximum point 58. An example equation for verifying the maximum point 58 is Re{Ψ(1,1)Ψ(1,2)}sin(2φ ext )>|Ψ(1,1)| 2 cos(2φ ext ). If the extreme point 56 does not match the maximum point 58 , the data processing hardware 14 may add a value corresponding to pi (π) divided by two (2) to achieve the maximum point 58 .

[0064] Once the extreme point 56 is identified, the symmetric WNG surface 50 can be transformed back to the asymmetric WNG surface 46. The extreme point 56 corresponding to the maximum point 58 can be transformed from the symmetric WNG surface 50 to the asymmetric WNG surface 46. The data processing hardware 14 utilizes the extreme point 56 in the final step of designing the audio filter 30. For example, the audio filter system 10 can define new design constraints 34 based on the identified extreme point 56. The data processing hardware 14 designs the audio filter 30 using the new design constraints 34. For example, the audio filter 30 is updated using the identified extreme point 56. Once the audio filter 30 is designed, the audio filter 30 can use the extreme point 56 to filter the audio signal 12.

[0065] Specific reference Figure 4 and 5 , sets forth a flow chart outlining an overview of an example process for executing the audio filter system 10 described herein. At an initial step 200, an audio signal 12 is obtained by the audio filter system 10. At 202, the data processing hardware 14 designs the audio filter 30 in response to receiving the audio signal 12. Then, at 204, the data processing hardware 14 may compare the designed filter weights 42 to the WNG filter weight maximum 44. If the designed filter weights 42 do not exceed the WNG filter weight maximum 44, the audio filter system 10 may continue to utilize the designed audio filter 30 at 206.

[0066] If the design filter weight 42 exceeds the WNG filter weight 44, the data processing hardware 14 may perform a process for identifying the extreme point 56 at 208, as outlined above. At 210, the data processing hardware also derives the maximum point 58 using, in part, the cost function 60. The data processing hardware 14 may then determine at 212 whether the extreme point 56 corresponds to the maximum point 58. If the extreme point 56 corresponds to the maximum point 58, then at 214, the data processing hardware 14 may calculate the design filter weight 42. If the extreme point 56 does not correspond to the maximum point 58, then the data processing hardware 14 increases the value of pi divided by 2 at 216 and proceeds to step 210. Based on the calculated design filter weight 42, at 218, the data processing hardware 14 may generate a new design constraint 34. Finally, at step 220, the data processing hardware 14 may redesign the audio filter 30 using the new design constraint 34 from the extreme point 56.

[0067] Reference again Figure 1-6 And as mentioned above, the audio signal 12 typically contains a single desired audio signal 12a and one or more interfering audio signals 12b. The interfering audio signal 12b is filtered by the designed audio filter 30 to mitigate background or other interference that may otherwise interfere with the output target audio signal 12a. Therefore, the process of designing the audio filter 30 using the extreme points 56 and the design constraints 34 advantageously attenuates the interfering audio signal 12b. In addition, the use of non-binary values ​​52 helps to soften the design constraints 34 by identifying specific values ​​that can then be identified by the designed audio filter 30 beyond binary.

[0068] Many embodiments have been described. However, it should be understood that various modifications can be made without departing from the spirit and scope of the present disclosure. Therefore, other embodiments are within the scope of the appended claims.

[0069] The foregoing description is provided for the purpose of illustration and description. It is not intended to be exhaustive or to limit the present disclosure. The individual elements or features of a particular configuration are generally not limited to that particular configuration, but are interchangeable where applicable and can be used in a selected configuration, even if not specifically shown or described. It can also be varied in many ways. Such variations should not be considered as departing from the present disclosure, and all such modifications are intended to be included within the scope of the present disclosure.

Claims

1. A computer-implemented method performed by data processing hardware, the method causing the data processing hardware to perform operations comprising: receiving a plurality of audio signals from a sensor array, the plurality of audio signals comprising a target audio signal and an interfering audio signal; identifying, based on the plurality of audio signals, design constraints including a pass constraint corresponding to the target audio signal and a null constraint corresponding to the interfering audio signal; comparing the design filter weight of the design constraint with a maximum filter weight; Design audio filters using desired constraints; as well as The plurality of audio signals are filtered using the designed audio filters.

2. The method of claim 1, wherein designing the audio filter comprises determining that the designed filter weight exceeds the filter weight maximum value, and in response, generating an asymmetric white noise gain surface using the designed audio filter.

3. The method of claim 2, wherein designing the audio filter comprises converting an asymmetric white noise gain surface into a symmetric white noise gain surface using a whitening function. 4 . The method of claim 3 , wherein designing the audio filter comprises identifying extreme points on the symmetric white noise gain surface for the desired constraint.

5. The method of claim 4, wherein designing the audio filter comprises transforming the extreme points from a symmetric white noise gain surface to an asymmetric white noise gain surface, and updating the design constraints using the extreme points. The method of claim 4 , wherein filtering a plurality of audio signals comprises using the extreme points.

7. The method of claim 4, wherein identifying the extreme point comprises defining a cost function and deriving a maximum point via a closed form mathematical equation using the defined cost function. 8 . The method of claim 7 , wherein identifying the extreme point comprises comparing the extreme point with the maximum point and identifying a correlation between the extreme point and the maximum point.

9. The method of claim 1, wherein designing the audio filter comprises decreasing the designed filter weight and comparing the decreased value with the filter weight maximum value.

10. The method of claim 1, further comprising generating an asymmetric white noise gain surface from the audio signal in response to the designed filter weight exceeding the filter weight maximum value, and converting the asymmetric white noise gain surface to a symmetric white noise gain surface by performing a whitening function using Cholesky decomposition.