# US 12,192,739 B2 · Interpolation of finite impulse response filters for generating sound fields

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,192,739 B2
- Document ID: US12192739B2
- Status: Granted
- Kind: B2
- Application number: 17/964,543
- Filed: 2022-10-12
- Published: 2024-04-18
- Granted: 2025-01-07
- Earliest claimed: 2022-10-12
- Assignees: Harman International Industries, Incorporated
- Applicants: Harman International Industries, Incorporated
- Inventors: Alfredo Fernandez Franco
- Web page: https://patentgrep.com/patent/US12192739B2

## CPC

- H04S 7/301: {Automatic calibration of stereophonic sound system, e.g. with test microphone}
- H04S 7/303: {Tracking of listener position or orientation}
- H04R 3/04: for correcting frequency response
- H04S: STEREOPHONIC SYSTEMS
- H04R: LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; ELECTRIC HEARING AIDS; PUBLIC ADDRESS SYSTEMS (producing sounds with frequency not determined by supply frequency G10K)

## Abstract

Various embodiments disclose a computer-implemented method comprising determining a target location in an environment, determining a set of sub-band impulse responses for a first frequency sub-band, each in the set of sub-band impulse responses being associated with a location proximate to the target location, selecting a first pair of sub-band impulse responses for the first frequency sub-band among pairs within the set of sub-band impulse responses, computing a first coherence value indicating a coherence level between sub-band impulse responses in the first pair, determining that the first coherence value is below a coherence threshold, in response, combining the sub-band impulse responses using a non-linear interpolation technique to generate an estimated impulse response for the first frequency sub-band for the target location, generating, based on the estimated impulse response, a filter for a speaker, filtering an audio signal, and causing the speaker to output the filtered audio signal.

## Claims

### Claim 1

A computer-implemented method comprising:
determining a target location in an environment;
determining a set of sub-band impulse responses for a first frequency sub-band, each sub-band impulse response in the set of sub-band impulse responses being associated with a corresponding location that is proximate to the target location;
selecting a first pair of sub-band impulse responses for the first frequency sub-band from among pairs of sub-band impulse responses in the set of sub-band impulse responses;
computing a first coherence value indicating a level of coherence between sub-band impulse responses in the first pair;
determining that the first coherence value is below a coherence threshold;
in response to determining that the first coherence value is below the coherence threshold, combining the sub-band impulse responses in the first pair using a non-linear interpolation technique to generate an estimated impulse response for the first frequency sub-band for the target location;
generating, based at least on the estimated impulse response, a filter for a speaker;
filtering, by the filter, an audio signal to generate a filtered audio signal; and
causing the speaker to output the filtered audio signal.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the corresponding location of each of the sub-band impulse responses in the set of sub-band impulse responses is within a threshold distance of the target location, and wherein the threshold distance is one of a Euclidean distance or a perceived audio distance.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein selecting the first pair of sub-band impulse responses comprises:
computing, for each pair of impulse responses in the set of sub-band impulse responses, a corresponding coherence value between the impulse responses in the pair; and
selecting, as the first pair, the pair of impulse responses having a highest coherence value.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the non-linear interpolation technique is selected from a group consisting of: nearest-neighbor interpolation, a Lagrange interpolation, a least-squares interpolation, a bicubic spline interpolation, a cosine interpolation, and a parabolic interpolation.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, further comprising:
determining, a second set of sub-band impulse responses for a second frequency sub-band, each sub-band impulse response in the second set of sub-band impulse responses corresponding to a sub-band impulse response in the second set of sub-band impulse responses;
selecting a second pair of sub-band impulse responses for the second frequency sub-band from among pairs of sub-band impulse responses in the second set of sub-band impulse responses;
computing a second coherence value indicating a level of coherence between sub-band impulse responses in the second pair; and
determining whether the second coherence value is equal to or above the coherence threshold.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, further comprising:
in response to determining that the second coherence value is equal to or above the coherence threshold, combining the sub-band impulse responses in the second pair using a linear interpolation technique to generate a second estimated impulse response for the second frequency sub-band for the target location; or
in response to determining that the second coherence value is below the coherence threshold, combining the sub-band impulse responses in the second pair using the non-linear interpolation technique to generate the second estimated impulse response for the second frequency sub-band for the target location,
wherein the filter is further based on the second estimated impulse response.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein determining the set of sub-band impulse responses comprises:
decomposing each impulse response in a set of impulse responses into a plurality of sub-band impulse responses, wherein each sub-band impulse response in the plurality of sub-band impulse responses is associated with a different frequency range; and
grouping, from each impulse response in the set of impulse responses, the sub-band impulse response for the first frequency sub-band to generate the set of sub-band impulse responses for the first frequency sub-band.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the target location is based on a location of a listener within the environment.

### Claim 9 (depends on 8)

The computer-implemented method of claim 8, further comprising:
determining a second target location in the environment, wherein the second target location corresponds to a second listener within the environment;
determining a second set of sub-band impulse responses for the first frequency sub-band, each sub-band impulse response in the second set of sub-band impulse responses being associated with a corresponding location that is proximate to the second target location;
generating, based on the second set of impulse responses, a second estimated impulse response for the second target location; and
generating, based at least on the second estimated impulse response, a second filter for the speaker.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, further comprising:
determining an updated target location in the environment;
determining a second set of sub-band impulse responses for the first frequency sub-band, each sub-band impulse response in the second set of sub-band impulse responses being associated with a corresponding location that is proximate to the updated target location;
generating an updated estimated impulse response based on the second set of impulse responses; and
updating, based on the updated estimated impulse response, the filter for the speaker.

### Claim 11

One or more non-transitory computer-readable media comprising instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of:
determining a target location in an environment;
determining a set of sub-band impulse responses for a first frequency sub-band, each sub-band impulse response in the set of sub-band impulse responses being associated with a corresponding location that is proximate to the target location;
selecting a first pair of sub-band impulse responses for the first frequency sub-band from among pairs of sub-band impulse responses in the set of sub-band impulse responses;
computing a first coherence value indicating a level of coherence between sub-band impulse responses in the first pair;
determining that the first coherence value is below a coherence threshold;
in response to determining that the first coherence value is below the coherence threshold, combining the sub-band impulse responses in the first pair using a non-linear interpolation technique to generate an estimated impulse response for the first frequency sub-band for the target location;
generating, based at least on the estimated impulse response, a filter for a speaker;
filtering, by the filter, an audio signal to generate a filtered audio signal; and
causing the speaker to output the filtered audio signal.

### Claim 12 (depends on 11)

The one or more non-transitory computer-readable media of claim 11, wherein the corresponding location of each of the sub-band impulse responses in the set of sub-band impulse responses is within a threshold distance of the target location, and wherein the threshold distance is one of a Euclidean distance or a perceived audio distance.

### Claim 13 (depends on 11)

The one or more non-transitory computer-readable media of claim 11, wherein:
the corresponding location of each of the sub-band impulse responses in the set of sub-band impulse responses is located a corresponding distance from the target location, the corresponding distance is one of a Euclidean distance or a perceived audio distance; and
determining the set of sub-band impulse responses comprises selecting a predetermined number of the sub-band impulse responses whose corresponding distances are shortest.

### Claim 14 (depends on 11)

The one or more non-transitory computer-readable media of claim 11, wherein selecting the first pair of sub-band impulse responses comprises:
computing, for each pair of impulse responses in the set of sub-band impulse responses, a corresponding coherence value between the impulse responses in the pair; and
selecting, as the first pair, the pair of impulse responses having a highest coherence value.

### Claim 15 (depends on 11)

The one or more non-transitory computer-readable media of claim 11, the steps further comprising:
determining, a second set of sub-band impulse responses for a second frequency sub-band, each sub-band impulse response in the second set of sub-band impulse responses corresponding to a sub-band impulse response in the second set of sub-band impulse responses;
selecting a second pair of sub-band impulse responses for the second frequency sub-band from among pairs of sub-band impulse responses in the second set of sub-band impulse responses;
computing a second coherence value indicating a level of coherence between sub-band impulse responses in the second pair;
determining whether the second coherence value is equal to or above the coherence threshold; and
in response to determining that the second coherence value is equal to or above the coherence threshold, combining the sub-band impulse responses in the second pair using a linear interpolation technique to generate a second estimated impulse response for the second frequency sub-band for the target location; or
in response to determining that the second coherence value is below the coherence threshold, combining the sub-band impulse responses in the second pair using the non-linear interpolation technique to generate the second estimated impulse response for the second frequency sub-band for the target location,
wherein the filter is further based on the second estimated impulse response.

### Claim 16 (depends on 11)

The one or more non-transitory computer-readable media of claim 11, wherein the target location is based on a location of a listener within the environment.

### Claim 17

A system comprising:
a memory storing instructions; and
a processor coupled to the memory that executes the instructions to perform steps comprising:
determining a target location in an environment;
determining a set of sub-band impulse responses for a first frequency sub-band, each sub-band impulse response in the set of sub-band impulse responses being associated with a corresponding location that is proximate to the target location;
selecting a first pair of sub-band impulse responses for the first frequency sub-band from among pairs of sub-band impulse responses in the set of sub-band impulse responses;
computing a first coherence value indicating a level of coherence between sub-band impulse responses in the first pair;
determining that the first coherence value is below a coherence threshold;
in response to determining that the first coherence value is below the coherence threshold, combining the sub-band impulse responses in the first pair using a non-linear interpolation technique to generate an estimated impulse response for the first frequency sub-band for the target location;
generating, based at least on the estimated impulse response, a filter for a speaker;
filtering, by the filter, an audio signal to generate a filtered audio signal; and
causing the speaker to output the filtered audio signal.

### Claim 18 (depends on 17)

The system of claim 17, wherein selecting the first pair of sub-band impulse responses comprises:
computing, for each pair of impulse responses in the set of sub-band impulse responses, a corresponding coherence value between the impulse responses in the pair; and
selecting, as the first pair, the pair of impulse responses having a highest coherence value.

### Claim 19 (depends on 17)

The system of claim 17, further comprising a sensor;
wherein the steps further comprise:
acquiring, using the sensor, sensor data associated within a listener within the environment; and
determining the target location based on the sensor data.

### Claim 20 (depends on 17)

The system of claim 17, wherein the filter comprises a filter bank including distinct filters for separate frequency bands.
