Hybrid beamforming
First Claim
Patent Images
1. A system comprising:
- a set of microphones;
a memory configured to store program instructions;
a processor configured to read and execute the program instructions from the memory, wherein the program instructions are executable to implement;
(a) receiving input signals, one input signal corresponding to each of the microphones;
(b) generating first versions of at least a first subset of the input signals, wherein the first versions are band limited to a first frequency range;
(c) operating on the first versions of the first subset of input signals with a first set of parameters in order to compute a first output signal corresponding to a first virtual beam having an integer-order superdirective structure;
(d) generating second versions of at least a second subset of the input signals, wherein the second versions are band limited to a second frequency range different from the first frequency range;
(e) operating on the second versions of the second subset of input signals with a second set of parameters in order to compute a second output signal corresponding to a second virtual beam;
(f) generating a resultant signal, wherein the resultant signal includes a combination of at least the first output signal and the second output signal.
4 Assignments
0 Petitions
Accused Products
Abstract
A system such as a speakerphone may include a processor, memory and an array of microphones. The processor may be configured (via program instructions stored in the memory) to perform automatic echo cancellation, self calibration and beam forming. In particular, the processor may receive input signals from the microphone array and operate on the input signals with a highly directed virtual beam which is a composite of two or more beams which are restricted to respective frequency ranges. The two or more beams may include beams of different kinds, e.g., superdirective beams and delay-and-sum beams.
-
Citations
20 Claims
-
1. A system comprising:
-
a set of microphones;
a memory configured to store program instructions;
a processor configured to read and execute the program instructions from the memory, wherein the program instructions are executable to implement;
(a) receiving input signals, one input signal corresponding to each of the microphones;
(b) generating first versions of at least a first subset of the input signals, wherein the first versions are band limited to a first frequency range;
(c) operating on the first versions of the first subset of input signals with a first set of parameters in order to compute a first output signal corresponding to a first virtual beam having an integer-order superdirective structure;
(d) generating second versions of at least a second subset of the input signals, wherein the second versions are band limited to a second frequency range different from the first frequency range;
(e) operating on the second versions of the second subset of input signals with a second set of parameters in order to compute a second output signal corresponding to a second virtual beam;
(f) generating a resultant signal, wherein the resultant signal includes a combination of at least the first output signal and the second output signal. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprising:
-
receiving input signals from an array of microphones, one input signal from each of the microphones;
operating on the input signals with a set of virtual beams to obtain respective beam-formed signals, wherein each of the virtual beams is associated with a corresponding frequency range and a corresponding subset of the input signals, wherein each of the virtual beams operates on versions of the input signals of the corresponding subset of input signals, wherein said versions are band limited to the corresponding frequency range, wherein the virtual beams include one or more virtual beams of a first type and one or more virtual beams of a second type; and
generating a resultant signal, wherein the resultant signal includes a combination of the beam-formed signals. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer readable memory medium configured to store program instructions, wherein the program instructions are executable to implement:
-
(a) receiving input signals from an array of microphones, one input signal corresponding to each of the microphones;
(b) generating first versions of at least a first subset of the input signals, wherein the first versions are band-limited to a first frequency range;
(c) operating on the first versions of the first subset of input signals with a first set of parameters in order to compute a first output signal corresponding to a first virtual beam having an integer-order superdirective structure;
(d) generating second versions of at least a second subset of the input signals, wherein the second versions are band limited to a second frequency range different from the first frequency range;
(e) operating on the second versions of the second subset of input signals with a second set of parameters in order to compute a second output signal corresponding to a second virtual beam;
(f) generating a resultant signal, wherein the resultant signal includes a combination of at least the first output signal and the second output signal.
-
-
18. A method for configuring a system, wherein the system includes an array of microphones, a memory and a processor, the method comprising:
-
(a) generating a first set of parameters for a first virtual beam based on a first subset of the microphones, wherein the first virtual beam has an integer-order superdirective structure;
(b) computing a plurality of parameter sets for a corresponding plurality of delay-and-sum beams, wherein the parameter set for each delay-and-sum beam is computed for a corresponding frequency, wherein the parameter sets for the delay-and-sum beams are computed based on a common set of beam constraints, wherein the frequency for the delay-and-sum beams are above a transition frequency;
(c) combining the plurality of parameter sets to obtain a second set of parameters;
(d) storing the first set of parameters and the second set of parameters in the memory of the system. - View Dependent Claims (19, 20)
-
Specification