IP Library Patent Application 13842911
Patent Application
App. No. 13/842,911

METHOD, APPARATUS, AND MANUFACTURE FOR BEAMFORMING WITH FIXED WEIGHTS AND ADAPTIVE SELECTION OR RESYNTHESIS

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
13/842,911
Abstract

A method, apparatus, and manufacture for beamforming is provided. Parameters based on sets of pre-determined beamforming weights are stored. Each of the sets of pre-determined beamforming weights has a corresponding integral index number. Each input microphone signal is transformed to the frequency domain to provide a corresponding transformed signal. Each of the transformed signals includes a plurality of subbands. Next, an index number is determined representing an optimal set of beamforming weights for the transformed signals. Then, a set of beamforming weights is applied to each subband of each of the transformed signals to provide a weighted signal. The set corresponds to the determined index number. A time domain signal is then provided by combining each of the weighted signals.

Claims (59)

1 . A method for beamforming, comprising:

storing a plurality of parameters that are based, at least in part, on a plurality of sets of pre-determined beamforming weights, wherein each of the sets of pre-determined beamforming weights has a corresponding integral index number;

for each input microphone signal of a plurality of input microphone signals, transforming the input microphone signal to the frequency domain to provide a corresponding transformed signal, wherein each of the transformed signals includes a plurality of subbands;

determining an index number representing an optimal set of beamforming weights for the transformed signals;

for each subband of each of the transformed signals, applying a set of beamforming weights that corresponds to the determined index number to provide a weighted signal; and

providing a time domain signal by combining each of the weighted signals.

2 . The method of claim 1 , where the sets of pre-determined beamforming weights correspond to at least one of: different null beamforming patterns, beampatterns with different looking directions, different end-fire directivity beampatterns, or beampatterns for different levels of diagonal loading.

3 . The method of claim 1 , wherein transforming the input microphone signal to the frequency domain is accomplished with a Short-Time Fourier Transform.

4 . The method of claim 1 , wherein each of the beamforming weights is a complex number.

5 . The method of claim 1 , wherein determining the index number representing the optimal set of beamforming weights for the transformed signals is performed over time such that the index number representing the optimal set of beamforming weights is updated over time.

6 . The method of claim 1 , wherein

the plurality of parameters is the plurality of sets of pre-determined weights, and wherein determining the index number representing the optimal set of beamforming weights for the transformed signals is accomplished by: generating a plurality of beamforming outputs by applying each set of the plurality of sets of pre-determined beamforming weights to the transformed signals, and selecting an optimal beamforming output among the plurality of beamforming outputs by comparing each of the plurality of beamforming weights with each other in accordance with at least a first selection criterion.

7 . The method of claim 6 , wherein the first selection criterion is at least one of minimal mean square error, minimal variance distortion-less response, maximal output signal-to-noise ratio, or maximal non-Gaussianity of the output.

8 . The method of claim 1 , wherein

the plurality of parameters are an interpolation function and the coefficients of the interpolation function;

determining the index number representing the optimal set of beamforming weights for the transformed signals is accomplished by:

determining the index number from a cost function based on at least a first criterion; and

wherein applying the set of beamforming weights that corresponds to the determined index number includes synthesizing a new set of beamforming weights based on the determined index number and the interpolation function.

9 . The method of claim 8 , wherein the interpolation function is at least one of polynomial, exponential, or Gaussian.

10 . The method of claim 8 , wherein determining the index number from the cost function based on at least the first criterion is accomplished employing a steepest-descent algorithm.

11 . An apparatus for beamforming, comprising:

a memory that is configured to store a plurality of parameters that are based, at least in part, on a plurality of sets of pre-determined beamforming weights, wherein each of the sets of pre-determined beamforming weights has a corresponding integral index number; and

a processor that is configured to execute code that enables actions, including:

for each input microphone signal of a plurality of input microphone signals, transforming the input microphone signal to the frequency domain to provide a corresponding transformed signal, wherein each of the transformed signals includes a plurality of subbands;

determining an index number representing an optimal set of beamforming weights for the transformed signals;

for each subband of each of the transformed signals, applying a set of beamforming weights that corresponds to the determined index number to provide a weighted signal; and

providing a time domain signal by combining each of the weighted signals.

12 . The apparatus of claim 11 , wherein

the plurality of parameters is the plurality of sets of pre-determined weights, and wherein the processor is further configured such that determining the index number representing the optimal set of beamforming weights for the transformed signals is accomplished by: generating a plurality of beamforming outputs by applying each set of the plurality of sets of pre-determined beamforming weights to the transformed signals, and selecting an optimal beamforming output among the plurality of beamforming outputs by comparing each of the plurality of beamforming weights with each other in accordance with at least a first selection criterion.

13 . The apparatus of claim 11 , wherein the plurality of parameters are an interpolation function and the coefficients of the interpolation function, and wherein the processor is further configured such that:

determining the index number representing the optimal set of beamforming weights for the transformed signals is accomplished by:

determining the index number from a cost function based on at least a first criterion; and

applying the set of beamforming weights that corresponds to the determined index number includes synthesizing a new set of beamforming weights based on the determined index number and the interpolation function.

14 . The apparatus of claim 11 , further comprising:

a microphone array that includes a plurality of microphones, wherein the each microphone in the microphone array is arranged to receive sound, and to provide a microphone signal in response to the received sound;

a digital-to-analog converter that is arranged to provide the plurality of input microphone signals by converting each of the microphone signals into the input microphone signal.

15 . A tangible processor-readable storage medium that arranged to encode processor-readable code, which, when executed by one or more processors, enables actions for beamforming, comprising:

storing a plurality of parameters that are based, at least in part, on a plurality of sets of pre-determined beamforming weights, wherein each of the sets of pre-determined beamforming weights has a corresponding integral index number;

for each input microphone signal of plurality of input microphone signals, transforming the input microphone signal to the frequency domain to provide a corresponding transformed signal, wherein each of the transformed signals includes a plurality of subbands;

determining an index number representing an optimal set of beamforming weights for the transformed signals;

for each subband of each of the transformed signals, applying a set of beamforming weights that corresponds to the determined index number to provide a weighted signal; and

providing a time domain signal by combining each of the weighted signals.

16 . The tangible processor-readable storage medium of claim 15 , wherein

the plurality of parameters is the plurality of sets of pre-determined weights, and wherein determining the index number representing the optimal set of beamforming weights for the transformed signals is accomplished by: generating a plurality of beamforming outputs by applying each set of the plurality of sets of pre-determined beamforming weights to the transformed signals, and selecting an optimal beamforming output among the plurality of beamforming outputs by comparing each of the plurality of beamforming weights with each other in accordance with at least a first selection criterion.

17 . The tangible processor-readable storage medium of claim 15 , wherein

the plurality of parameters are an interpolation function and the coefficients of the interpolation function;

determining the index number representing the optimal set of beamforming weights for the transformed signals is accomplished by:

determining the index number from a cost function based on at least a first criterion; and

wherein applying the set of beamforming weights that corresponds to the determined index number includes synthesizing a new set of beamforming weights based on the determined index number and the interpolation function.

18 . A method for beamforming, comprising:

storing an interpolation function and coefficients of the interpolation function, wherein the interpolation is based, in part, on a plurality of sets of pre-determined beamforming weights, wherein each of the sets of pre-determined beamforming weights has a corresponding integral index number;

for each input microphone signal of a plurality of input microphone signals, transforming the input microphone signal to the frequency domain to provide a corresponding transformed signal, wherein each of the transformed signals includes a plurality of subbands;

determining an index number representing an optimal set of beamforming weights for the transformed signals;

re-synthesizing a set of weights that correspond to the determined index number to provide a weighted signal;

for each subband of each of the transformed signals, applying the re-synthesized set of beamforming weights; and

providing a time domain signal by combining each of the weighted signals.

19 . The method of claim 18 , wherein determining the index number representing the optimal set of beamforming weights for the transformed signals is accomplished by: determining the index number from a cost function based on at least a first criterion employing a steepest-descent algorithm.

20 . The method of claim 18 , further comprising:

prior to storing the interpolation function and coefficients of the interpolation function, computing the interpolation function, wherein computing the interpolation function is accomplished by minimization of mean square error.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2024
From: CSR TECHNOLOGY INC.
To: QUALCOMM INCORPORATED
Reel/Frame 069221/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TYPOGRAPHICAL ERROR IN THE NAME OF THE RECEIVING PARTY SHOULD BE CSR TECHNOLOGY INC. PREVIOUSLY RECORDED ON REEL 030022 FRAME 0933. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Aug 31, 2015
From: YU, TAO; ALVES, ROGERIO GUEDES
To: CSR TECHNOLOGY INC.
Reel/Frame 036514/0472 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2013
From: YU, TAO; ALVES, ROGERIO G.
To: CSR TECHNOLOGY INC.
Reel/Frame 030022/0933 →