WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Adaptive filter for signal processing and method therefor    

Get related patents on CD
United States Patent5694474   
Link to this pagehttp://www.wikipatents.com/5694474.html
Inventor(s)Ngo; John-Thomas Calderon (Sunnyvale, CA); Bhadkamkar; Neal Ashok (Palo Alto, CA)
AbstractThis invention is a component of an adaptive filter signal processor whose purpose is to separate a mixture of signals received by each of a plurality of transducers. This invention accomplishes a key step in that separation: it estimates, from the transducer signals, the relative propagation delays among the transducers for each source. First, it randomly generates a fixed number of sets of delay parameters, called a population. Thereafter, the following events occur at each clock cycle. Each set is processed by an instantaneous-performance calculator, to generate an instantaneous-performance value. The instantaneous performance value of each set is added to a cumulative performance value. The set with the greatest cumulative performance value is transferred to the adaptive filter signal processor. New parameter sets are generated at random. Whenever a parameter set is found whose instantaneous performance value exceeds that of the set in the population with the least instantaneous performance value, it is incorporated into the population. The set with the least cumulative performance value is deleted from the population, and the new parameter set is assigned an initial cumulative performance value that falls short of the greatest cumulative performance value in the population by a fixed amount.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History Custom Search
Drawing from US Patent 5694474
Adaptive filter for signal processing and method therefor - US Patent 5694474 Drawing
Adaptive filter for signal processing and method therefor
Inventor     Ngo; John-Thomas Calderon (Sunnyvale, CA); Bhadkamkar; Neal Ashok (Palo Alto, CA)
Owner/Assignee     Interval Research Corporation (Palo Alto, CA)
Patent assignment
All assignments
Company News
Publication Date     December 2, 1997
Application Number     08/529,370
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     September 18, 1995
US Classification     381/66 381/71.11 381/92 381/94.1 708/322
Int'l Classification     H04B 003/20 H04B 015/00
Examiner     Isen; Forester W.
Assistant Examiner    
Attorney/Law Firm     LLP, Yin; Ronald L. Limbach & Limbach
Address
Parent Case     This application is submitted with a microfiche appendix, containing copyrighted material, Copyright 1994, Interval Research Corporation. The Appendix consists of one (1) microfiche with forty-six (46) frames. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever in the appendices.
Priority Data    
USPTO Field of Search     381/94 381/66 381/71 381/92 364/724.19 379/388 379/410
Patent Tags     adaptive filter signal processing
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5465302
Lazzari
381/92
Nov,1995

[0 after 0 votes]
4751738
Widrow
381/313
Jun,1988

[0 after 0 votes]
4750147
Roy, III
708/801
Jun,1988

[0 after 0 votes]
4581758
Coker
381/56
Apr,1986

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B

[0 market size comments]
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 market share comments]
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 reasonable royalty comments]
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

[0 Guesstimation of Royalty Value Comments]
License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 license availability comments]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 owner/assignee comments]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

[0 competitive advantage comments]
Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

[0 commercial alternatives comments]
 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A method of determining a set of a plurality of signal parameters for use in an adaptive filter signal processor to process a plurality of input signals to generate a plurality of processed signals, said method comprising:

a) generating a fixed plurality of sets;

b) storing said fixed plurality of sets;

c) generating a plurality of cumulative performance values, with a cumulative performance value corresponding to each of said fixed plurality of sets;

d) comparing said plurality of cumulative performance values,

e) choosing one of said plurality of cumulative performance values, based upon said comparison;

f) processing said plurality of input signals for a duration of time using one set, corresponding to said chosen one cumulative performance value, from said stored fixed plurality of sets to generate the plurality of processed signals;

g) generating a new set of a plurality of signal parameters;

h) generating a plurality of cumulative performance values for said new set and for each of said stored fixed plurality of sets;

i) comparing said plurality of cumulative performance values generated in step (h),

j) choosing one of said plurality of cumulative performance values generated in step (h), based upon the comparing step of (i);

k) based upon the comparing step of (i), either:

i) replacing one of said stored fixed plurality of sets, by said new set; or

ii) deleting said new set;

l) processing said plurality of input signals for a duration of time using one set, corresponding to said chosen one cumulative performance value, from said stored fixed plurality of sets to generate the plurality of processed signals; and

m) periodically reverting to steps (g)-(l).

2. The method of claim 1, wherein said generating step (h) comprising arithmetically combining random values from a pseudorandom number generator, one set in said plurality of sets, and recent values in said plurality of input signals.

3. The method of claim 1 wherein:

said comparing step (i) compares the cumulative performance value of said new set with the cumulative performance values of one of said stored fixed plurality of sets having a least performance value;

and wherein said replacing step (k)(i) replaces one of said stored fixed plurality of sets having said least performance value.

4. The method of claim 1 wherein:

said generating step (h) further comprises generating an initial cumulative performance value for said new set by subtracting a fixed value from a cumulative performance value of one of said stored fixed plurality of sets having the greatest cumulative performance value; and

wherein said choosing step (j) chooses one of said plurality of cumulative performance values generated in step (h) having the largest cumulative performance value.

5. The method of claims 1, 2, 3, or 4 wherein said generating steps of (c) and (h) further comprises:

generating a plurality of instantaneous performance values, each at a different time, for each set; and

combining said plurality of instantaneous performance values for each set to generate said plurality of cumulative performance values; and wherein said plurality of input signals is characterized as x.sub.1 (t), x.sub.2 (t), . . . , x.sub.n (t), said plurality of processed signals is characterized as y.sub.1 (t), y.sub.2 (t), . . . , y.sub.n (t), and each of said choosing steps (e) and (j) selects a set having associated instantaneous performance values that are highest for the sets that would generate processed signals y.sub.i (t) and y.sub.j (t), that are most statistically independent for different i and j.

6. The method of claim 5 wherein said plurality of input signals and said plurality of processed signals are assumed to have zero mean and to fluctuate in power over a few clock cycles, and said choosing steps (e) and (j) selects a set for which the associated instantaneous performance values are highest for the sets that would generate processed signals y.sub.i (t) and y.sub.j (t) that most closely satisfy the relation E›y.sub.i (t)y.sub.j (t)!=E›y.sub.i (t)!E›y.sub.j (t)! for any different indices i and j, where the operation E is a weighted average over a period of time of said value of x.sub.1 (t), x.sub.2 (t), . . . , x.sub.n (t), y.sub.1 (t),y.sub.2 (t), . . . , y.sub.n (t).

7. The method of claim 6 wherein said choosing step of (e) and (h) computes an instantaneous performance value in accordance with:

C(t)=-log (.SIGMA..sub.ij {E›y.sub.i (t)y.sub.j (t)!}.sup.2),

and wherein the logarithm computation is protected against numerical overflow.

8. The method of claim 7 further comprising the step of:

generating said plurality of input signals by a plurality of transducer means, based upon waves received by said plurality of transducer means from a plurality of sources.

9. The method of claim 8 wherein said plurality of input signals is generated by a plurality of transducer means, based upon acoustic waves received by said plurality of transducer means from a plurality of sources.

10. The method of claim 8 wherein said plurality of input signals is generated by a plurality of transducer means, based upon electromagnetic waves received by said plurality of transducer means from a plurality of sources.

11. The method of claim 8 wherein said transducer means are directional and positioned to minimize relative propagation delays.

12. The method of claim 11 wherein each set of said plurality of signal parameters represents values of relative gains in transduction of said waves from said waves by said plurality of transducer means.

13. The method of claim 12 wherein said choosing steps (e) and (j) computes said instantaneous performance value in accordance with: Y(t)=inv G*X(t), where X and Y are the vector representations of the signals x.sub.i (t) and y.sub.i (t), G is the matrix representation of said relative gains, and inv G is its inverse matrix.

14. The method of claim 13 wherein said choosing steps (e) and (j) comprises computing Y(t) explicitly from the currently available input signals X(t); and

calculating said instantaneous performance value by operating on the values Y(t) for at least a duration of time equal to the averaging time of the expectation operator E› !.

15. The method of claim 13 further comprising the step of storing said plurality of input signals X(t) for at least a duration of time equal to the averaging time of the expectation operator E› !; and

wherein said choosing steps (e) and (j) computes Y(t) explicitly from said storage of input signals X(t), and subsequently said instantaneous performance value.

16. The method of claim 13 wherein said choosing steps (e) and (j) comprises the steps of:

precalculating, once per clock cycle, the quantity

e.sub.ij =E{x.sub.i (t)x.sub.j (t)}

for every (i,j) pair; and

computing said instantaneous performance value C(t) as required, from the quantities e.sub.ij.

17. The method of claim 8 wherein

said plurality of signal parameters represent the coefficients of filters that model the transfer function of propagation of said waves from said plurality of sources to said plurality of transducer means; and

said choosing steps (e) and (j) computes said instantaneous performance value in accordance with Y(t)=inv H*X(t), where X and Y are the vector representations of the signals x.sub.i (t) and y.sub.i (t), H is the matrix representation of said filters, and inv H is its inverse matrix.

18. The method of claim 17 wherein said choosing steps (e) and (j) comprises the steps of:

computing Y(t) explicitly from the currently available input signals X(t); and

calculating said instantaneous performance value by operating on the values Y(t) for at least a duration of time equal to the averaging time of the expectation operator E› ! plus the longest duration of said filters.

19. The method of claim 17 further comprising the step of storing said plurality of input signals X(t) for at least a duration of time equal to the averaging time of the expectation operator E› ! plus the longest duration of said filters; and wherein said choosing steps (e) and (j) computes Y(t) explicitly from said storage of input signals X(t), and subsequently said instantaneous performance value.

20. The method of claim 17 wherein said choosing steps (e) and (j) comprises the steps of:

precalculating, once per clock cycle, the quantity e.sub.ij (k.sub.i,k.sub.j)=E{x.sub.i (t-k.sub.i .DELTA.t)x.sub.j (t-k.sub.j .DELTA.t)} for every (i, j) pair, and for each such pair, for every (k.sub.i,k.sub.j) pair; and

computing C(t) from the quantities e.sub.ij (k.sub.i,k.sub.j) every time the instantaneous performance value is required.

21. The method of claim 8 wherein said transducer means are spaced apart and omnidirectional; and wherein said plurality of signal parameters represent values of relative delays in propagation of said waves from said plurality of sources to said plurality of transducer means; and wherein said choosing steps (e) and (j) computes said instantaneous performance value using the definition Y(t)=adj D*X(t), where X and Y are the vector representations of the signals x.sub.i (t) and y.sub.i (t), D is the matrix representation of said relative delays, and adj D is its adjugate matrix.

22. The method of claim 21 wherein said choosing steps (e) and (j) comprises the steps of: computing Y(t) explicitly from the currently available input signals X(t); and calculating said instantaneous performance value by operating on the values Y(t) for at least a duration of time equal to the averaging time of the expectation operator E› ! plus the maximum value of said relative delays.

23. The method of claim 21 further comprising

the step of storing said plurality of input signals X(t) for at least a duration of time equal to the averaging time of the expectation operator E› ! plus the maximum value of said relative delays; and

wherein said choosing steps of (e) and (j) computes Y(t) explicitly from said storage of input signals X(t), and subsequently said instantaneous performance value.

24. The method of claim 22 wherein said choosing steps (e) and (j) comprises the steps of:

precalculating, once per clock cycle, the quantity e.sub.ij (k.sub.i,k.sub.j)=E{x.sub.i (t-k.sub.i .DELTA.t)x.sub.j (t-k.sub.j .DELTA.t)} for every (i,j) pair, and for each such pair, for every (k.sub.i,k.sub.j) pair; and

computing C(t), as is required, from the quantities e.sub.ij (k.sub.i,k.sub.j) by implementing the necessary time delays using linear-phase, non-causal FIR filters with a truncated sinc-shaped impulse response.

25. A method of processing waves from a plurality of sources, comprising:

receiving said waves, including echoes and reverberations thereof, by a plurality of transducer means;

converting said waves, including echoes and reverberations thereof from said plurality of sources, by each of said plurality of transducer means into a signal, thereby generating a plurality of signals;

calculating a set of a plurality of signal parameters by:

generating a fixed plurality of sets of a plurality of signal parameters;

storing said fixed plurality of sets;

generating a plurality of instantaneous performance values for each set, with each instantaneous performance value generated at a different time;

combining said plurality of instantaneous performance values for each set to produce a plurality of cumulative performance values, with a cumulative performance value produced for each set;

storing said plurality of cumulative performance values;

periodically generating a new set of a plurality of signal parameters;

generating a new cumulative performance value, based upon said new set;

comparing said new cumulative performance value to said plurality of stored cumulative performance values;

based upon said comparing step, either:

i) replacing one of said stored plurality of cumulative performance values, by said new cumulative performance value, and the corresponding stored set by said new set; or

ii) deleting said new cumulative value and said new set;

comparing said stored plurality of cumulative performance values;

choosing one of said stored plurality of cumulative performance values, based upon said comparison;

choosing one set, corresponding to said chosen one cumulative performance value;

supplying said chosen one set to a first processing means for operation thereon;

first processing said plurality of signals, using said chosen one set, corresponding to said chosen one cumulative performance value, to generate a plurality of first processed signals, wherein each of said first processed signals represents waves from one source, and a reduced amount of waves from other sources; and then

secondly processing said plurality of first processed signals to generate a plurality of second processed signals, wherein in the presence of echoes and reverberations of said waves from said plurality of sources, each of said second processed signals represents waves from only one different source.

26. The method of claim 25 wherein said transducer means are spaced apart omnidirectional microphones, and said chosen one set of plurality of signal parameters has a set of relative delay parameters associated therewith; said first processing step further comprises:

delaying said plurality of signals using said set of relative delay parameters and generating a plurality of delayed signals in response thereto; and

combining each one of said plurality of signals with at least one of said plurality of delayed signals to produce one of said first processed signals.

27. The method of claim 26 further comprising the step of:

filtering each of said second processed signals to generate a plurality of third processed signals.

28. The method of claim 27 further comprising the step of:

sampling and converting each one of said plurality of signals and for supplying same to said plurality of delay means and to said plurality of combining means, as said signal.

29. The method of claim 25 wherein said second processing step further comprising:

subtracting by a plurality of combining means one of said first processed signals received at said first input, and the sum of input signals received at a second input, to produce an output signal, said output signal being one of said plurality of second processed signals;

generating a plurality of adaptive signals, with each of said adaptive signals being the output signal of one of said plurality of combining means; and

supplying each of said plurality of adaptive signals to second input of said plurality of combining means other than the associated one combining means.

30. The method of claim 25, wherein said step of generating a new set comprises arithmetically combining random values from a pseudorandom number generator, one set in said plurality of sets, and recent values of said plurality of input signals.

31. The method of claim 30 wherein:

said comparing step compares the cumulative performance value of said new set with the cumulative performance value of one of said stored plurality of sets having a least cumulative performance value;

and wherein said replacing step replaces one of said stored plurality of sets having said least cumulative performance value.

32. The method of claim 31 wherein: said replacing step further comprises:

generating an initial cumulative performance value for said new set by subtracting a fixed value from a cumulative performance value of one of said stored plurality of sets having the greatest cumulative performance value; and

wherein said comparing step chooses one of said stored plurality of sets having the greatest cumulative performance value, for processing by said processing step.

33. An adaptive filter for determining a set of a plurality of signal parameters for use in an adaptive filter signal processor to process a plurality of input signals to generate a plurality of processed signals, said filter comprising:

means for generating a fixed plurality of sets;

means for storing said fixed plurality of sets;

means for generating a plurality of cumulative performance values, based upon said fixed plurality of sets, with a cumulative performance value generated for each set;

means for evaluating said plurality of cumulative performance values, and choosing one of said plurality of cumulative performance values, based upon said evaluation; and

means for processing said plurality of input signals for a duration of time using one set, corresponding to said chosen one cumulative performance value, from said fixed plurality of stored sets to generate the plurality of processed signals.

34. The filter of claim 33, further comprises:

means for periodically generating a new set of a plurality of signal parameters;

means for generating a new cumulative performance value, for each set of signal parameters, including said new set generated;

means for comparing said new cumulative performance value corresponding to said new set generated to said cumulative performance values for each set of signal parameters; and

means for either i) replacing one of said fixed number of plurality of said sets, by said new set; or

ii) deleting said new set, in response to said comparing means.

35. The filter of claim 34 further comprises:

means for generating a plurality of instantaneous performance values for each set, with each instantaneous performance value generated at a different time; and

means for combining said plurality of instantaneous performance values for each set to produce a plurality of cumulative performance values, with a cumulative performance value produced for each set.

36. The filter of claim 35, wherein said means for generating a new cumulative performance value comprises means for arithmetically combining random values from a pseudorandom number generator, one set in said plurality of sets, and recent values in said plurality of input signals.

37. The filter of claim 36 wherein:

said evaluating means compares instantaneous performance value of said new set with instantaneous performance value of one of said stored plurality of sets having a least instantaneous performance value;

and wherein said replacing means replaces one of said stored plurality of sets having said least instantaneous performance value.

38. The filter of claim 37 wherein:

said means for generating a new cumulative performance value further comprises means for generating an initial cumulative performance value for said new set and means for subtracting a fixed value from a cumulative performance value of one of said stored plurality of sets having the greatest cumulative performance value; and

wherein said evaluating means comprises means for choosing one of said stored plurality of sets having the greatest cumulative performance value, for processing by said processing means.

39. A signal processing system for processing waves from a plurality of sources, said system comprising:

a plurality of transducer means for receiving waves from said plurality of sources, including echoes and reverberations thereof and for generating a plurality of signals in response thereto, wherein each of said plurality of transducer means receives waves from said plurality of sources including echoes and reverberations thereof, and for generating one of said plurality of signals;

means for calculating a set of a plurality of signal parameters, said calculating means comprising:

means for generating a fixed plurality of sets of signal parameters;

means for storing said fixed plurality of sets of signal parameters;

means for generating a plurality of cumulative performance values, based upon said fixed plurality of sets of signal parameters, with a cumulative performance value generated for each set of signal parameters;

means for evaluating said plurality of cumulative performance values, and choosing one of said plurality of cumulative performance values, based upon said evaluation, and one of said sets of signal parameters corresponding to said one of said plurality of cumulative performance values chosen;

first processing means for receiving said plurality of signals, and said plurality of signal parameters of said set chosen for generating a plurality of first processed signals in response thereto, wherein each of said first processed signals represents waves from one source, and a reduced amount of waves from other sources; and

second processing means for receiving said plurality of first processed signals and for generating a plurality of second processed signals in response thereto, wherein each of said second processed signals represents waves from only one source.

40. The system of claim 39, further comprising:

means for generating a direction of arrival signal for said waves;

wherein said first processing means for generating said plurality of first processed signals, in response to said direction of arrival signal.

41. The system of claim 39, wherein the number of transducer means is two, and the number of sources is two.

42. The system of claim 39, wherein said transducer means are spaced apart omnidirectional microphones and wherein said chosen one set of plurality of signal parameters has a set of relative delay parameters, and said first processing means comprises:

a plurality of delay means, each for receiving one of said plurality of signals and using said set of relative delay parameters for generating a plurality of delayed signals in response thereto; and

a plurality of combining means, each for receiving at least one delayed signal and one of said plurality of signals and for combining said received delayed signal and said signal to produce one of said first processed signals.

43. The system of claim 39 wherein said plurality of transducer means are co-located directional microphones and wherein said one of said set of signal parameters has a set of gain parameters associated therewith, and wherein first processing means comprises:

a plurality of multiplying means, each for receiving different ones of said plurality of signals and said set of gain parameters and for generating a scaled signal in response thereto; and

a plurality of combining means, each for receiving at least one scaled signal and one of said plurality of signals and for combining said received scaled signal and said signal to produce one of said first processed signals.

44. The system of claim 39, 40, 41, 42, or 43 wherein said second processing means comprises:

a plurality of combining means, each combining means having a first input, at least one other input, and an output; each of said combining means for receiving one of said first processed signals at said first input, an input signal at said other input, and for generating an output signal, at said output; said output signal being one of said plurality of second processed signals and is a difference between said first processed signal received at said first input and the sum of said input signal received at said other input;

a plurality of adaptive filter means for generating a plurality of adaptive signals, each of said adaptive filter means for receiving said output signal from one of said plurality of combining means and for generating an adaptive signal in response thereto; and means for supplying each of said plurality of adaptive signals to one of said other input of said plurality of combining means other than the associated one combining means.

45. The system of claim 44 further comprising means for filtering each of said second processed signals to generate a plurality of third processed signals.

46. The system of claim 45 wherein said second processed signals are characterized by having a low frequency component and a high frequency component, and wherein said filtering means boosts the low frequency component relative to the high frequency component of said second processed signals.

47. A signal processing system for processing waves from a plurality of sources, said system comprising:

a plurality of transducer means for receiving waves from said plurality of sources, including echoes and reverberations thereof and for generating a plurality of signals in response thereto, wherein each of said plurality of transducer means receives waves from said plurality of sources including echoes and reverberations thereof, and for generating one of said plurality of signals;

an adaptive filter for generating a plurality of signal parameters, said filter comprising:

means for generating a fixed plurality of sets of signal parameters;

means for storing said fixed plurality of sets of signal parameters;

means for generating a plurality of cumulative performance values, based upon said fixed plurality of sets of signal parameters, with a cumulative performance value generated for each set;

means for evaluating said plurality of performance values, and choosing one of said plurality of performance values and its corresponding set of plurality of signal parameters, based upon said evaluation;

first processing means for receiving said plurality of signals and said plurality of signal parameters and for generating a plurality of first processed signals in response thereto, wherein in the absence of echoes and reverberations of said waves from said plurality of sources, each of said first processed signals represents waves from only one different source; and

second processing means for receiving said plurality of first processed signals and for generating a plurality of second processed signals in response thereto, wherein in the presence of echoes and reverberations of said waves from said plurality of sources, each of said second processed signals represents waves from only one source.

48. The system of claim 47 wherein said waves are acoustic waves, and said transducer means are microphones.

49. The system of claim 48 further comprising means for filtering each of said second processed signals to generate a plurality of third processed signals.

50. The system of claim 49 wherein said second processed signals are characterized by having a low frequency component and a high frequency component and wherein said filtering means boosts the low frequency component relative to the high frequency component of said second processed signals.

51. The system of claim 49 wherein said microphones are spaced apart omnidirectional microphones and wherein said corresponding set of signal parameters has a set of relative delay parameters associated therewith; and

said first processing means comprises:

a plurality of delay means, each for receiving one of said plurality of signals and said set of relative delay parameters and for generating a delayed signal in response thereto; and

a plurality of combining means, each for receiving at least one delayed signal and one of said plurality of signals and for combining said received delayed signal and said signal to produce one of said first processed signals.

52. The system of claim 48 wherein said microphones are co-located directional microphones wherein said corresponding set of signal parameters has a set of gain parameters associated therewith; and

said first processing means comprises:

a plurality of multiplying means, each for receiving different ones of said plurality of signals and said set of gain parameters and for generating a scaled signal in response thereto; and

a plurality of combining means, each for receiving at least one scaled signal and one of said plurality of signals and for combining said received scaled signal and said signal to produce one of said first processed signals.

53. The systems of claims 47, 48, 49, 50, 51 or 52, wherein said second processing means comprises:

a plurality of combining means, each combining means having a first input, at least one other input, and an output; each of said combining means for receiving one of said first processed signals at said first input, an input signal at said other input, and for generating an output signal, at said output; said output signal being one of said plurality of second processed signals and is a difference between said first processed signal received at said first input and the sum of said input signal received at said other input;

a plurality of adaptive filter means for generating a plurality of adaptive signals, each of said adaptive filter means for receiving said output signal from one of said plurality of combining means and for generating an adaptive signal in response thereto; and

means for supplying each of said plurality of adaptive signals to one of said other input of said plurality of combining means other than the associated one combining means.

54. The system of claim 53 wherein each of said adaptive filter means comprises a tapped delay line.

55. An adaptive filter signal processing system for processing waves from a plurality of sources, said system comprising:

a plurality of transducer means for receiving waves from said plurality of sources, including echoes and reverberation thereof and for generating a plurality of signals in response thereto, wherein each of said plurality of transducer means receives waves from said plurality of sources including echoes and reverberations thereof, and for generating one of said plurality of signals;

an adaptive filter for generating a plurality of signal parameters, said filter comprising:

means for generating a fixed plurality of sets of signal parameters;

means for storing said fixed plurality of sets signal parameters;

means for generating a plurality of performance values, based upon said fixed plurality of sets of signal parameters, with a performance value generated for each set;

means for evaluating said plurality of performance values, and choosing one of said plurality of performance values, and its corresponding set of signal parameters, based upon said evaluation;

first processing means comprises a beamformer for receiving said plurality of signals and said plurality of signal parameters, and for generating a plurality of first processed signals in response thereto, wherein each of said first processed signals represents waves from one source, and a reduced amount of waves from other sources; and

second processing means for receiving said plurality of first processed signals and for generating a plurality of second processed signals in response thereto, wherein each of said second processed signals represent waves from only one source.

56. The system of claim 55, wherein said transducer means are spaced apart omnidirectional microphones and said corresponding set of signal parameters has a set of delay parameters associated therewith, and wherein said first processing means comprises:

a plurality of delay means, each for receiving one of said plurality of signals and said set of delay parameters, and for generating a delayed signal in response thereto; and

a plurality of combining means, each for receiving at least one delayed signal and one of said plurality of signals and for combining said received delayed signal and said signal to produce one of said first processed signals.

57. The system of claim 55 wherein said second processing means comprises:

a plurality of combining means, each combining means having a first input, at least one other input, and an output; each of said combining means for receiving one of said first processed signals at said first input, an input signal at said other input, and for generating an output signal, at said output; said output signal being one of said plurality of second processed signals and is a difference between said first processed signal received at said first input and the sum of said input signal received at said other input;

a plurality of adaptive filter means for generating a plurality of adaptive signals, each of said adaptive filter means for receiving said output signal from one of said plurality of combining means and for generating an adaptive signal in response thereto; and

means for supplying each of said plurality of adaptive signals to one of said other input of said plurality of combining means other than the associated one combining means.

58. The system of claims 55, 56, or 57, wherein said first processing means comprises analog circuits.

59. The system of claims 55, 56, or 57, wherein said second processing means comprises analog circuits.

60. The system of claims 55, 56, or 57, wherein said first processing means are a part of a digital signal processor.

61. The system of claims 55, 56, or 57, wherein said second processing means are a part of a digital signal processor.

62. The system of claims 55, 56, or 57, wherein said first processing means are a part of a general purpose computer.

63. The system of claims 55, 56, or 57, wherein said second processing means are a part of a general purpose computer.

64. The system of claims 55, 56, or 57, wherein said first processing means are reconfigurable gate array circuits.

65. The system of claims 55, 56, or 57, wherein said second processing means are reconfigurable gate array circuits.

66. The system of claim 55, further comprising:

a plurality of third processing means for receiving said plurality of second processed signals and for removing frequency coloration therefrom.

67. The system of claim 56 further comprising:

a plurality of sampling digital converting means, each for receiving a different one of said plurality of signals and for generating a digital signal; said digital signal supplied to said plurality of delay means and to said plurality of combining means, as said signal.

68. The system of claims 55, 56, or 57 further comprises:

means for periodically generating a new set of a plurality of signal parameters;

means for generating a new cumulative performance value, for each of said sets, including said new set;

means for comparing said new cumulative performance values; and

switch means for either i) replacing one of said fixed number of plurality of said sets, by said new set; or ii) deleting said new set, in response to said comparing means.

69. The system of claim 68 further comprises:

means for generating a plurality of instantaneous performance values for each of said fixed plurality of sets, with each instantaneous performance value generated at a different time;

means for combining said plurality of instantaneous performance values for each set to produce a plurality of cumulative performance values, with a cumulative performance value produced for each set.

70. The system of claim 69, wherein said means for generating a new cumulative performance value for each of said sets, including said new set, comprises means for arithmetically combining random values from a pseudorandom number generator, one set in said plurality of sets, and recent values in said plurality of input signals.

71. The system of claim 70 further comprises:

means for generating a plurality of instantaneous performance values for each of said sets, including said new set, with each instantaneous performance value generated at a different time; and wherein:

said comparing means compares instantaneous performance value of said new set with instantaneous performance value of one of said stored plurality of sets having a least instantaneous performance value;

and wherein said replacing means replaces one of said stored plurality of sets having said least instantaneous performance value.

72. The system of claim 68 further comprises

means for generating an initial cumulative performance value for said new set and means for subtracting a fixed value from a cumulative performance value of one of said stored plurality of sets having the greatest cumulative performance value; and

wherein said comparing means comprises means for choosing one of said stored plurality of sets having the greatest cumulative performance value, for processing by said processing means.
 Description Submit all comments and votes
 


This application is submitted with a microfiche appendix, containing copyrighted material, Copyright 1994, Interval Research Corporation. The Appendix consists of one (1) microfiche with forty-six (46) frames. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever in the appendices.

TECHNICAL FIELD

This invention relates to the field of adaptive filter signal processing, and more particularly to an adaptive filter signal processor for use in a two stage microphone-array signal processor for separating sounds acoustically mixed in the presence of echoes and reverberations. More particularly, the present invention relates to an improved Direction of Arrival Estimator that estimates the optimal delay values for use in the direct signal separator, i.e., the first stage in the two-stage signal processor.

BACKGROUND OF THE INVENTION

It is well known that a human being can focus attention on a single source of sound even in an environment that contains many such sources. This phenomenon is often called the "cocktail-party effect."

Considerable effort has been devoted in the prior art to solve the cocktail-party effect, both in physical devices and in computational simulations of such devices. In a co-pending application we have disclosed a two stage microphone-array signal processor in which a first stage partially accomplishes the intended aim using information about the physical directions from which signals are arriving. However, that application discloses the use of a conventional direction of arrival estimator to estimate the various delays in the acoustic waves, used in the first stage to produce the signals. This application discloses an improved direction-of-arrival estimator.

Estimation of signal parameters is pivotal in such a processor as well as a variety of signal-processing applications, such as source separation and source localization. Examples of signal parameters are the differences in propagation delays from a given source to the various sensors, and the direction from which a given source signal is arriving.

One prior art solution to the problem of signal-parameter estimation is to use directional sensors: either a collection of such sensors can be mounted so as to tessellate the set of directions of interest, or a single such sensor can be used to scan the possible directions. In either case, the strategy is to identify directions from which maximum signal power is detected.

Another prior art is to scan with a directional sensor employing classical beamforming. Signals from a collection of sensors at different spatial locations are averaged together, after being subjected to relative delays and subsequent addition such that waves arriving from a particular "look direction" are enhanced relative to waves arriving from other directions. Thus, the beamformer behaves as a directional sensor whose direction of maximum sensitivity can be changed without physically reconfiguring the sensors. Flanagan et al. (1985) described a system in which speakers in an auditorium are located by a beamformer that continuously scans the auditorium floor.

There are at least two fundamental shortcomings of this approach. First, the rate at which a new source can be located and tracked is limited by the rate at which the space of possible directions can be swept; that rate depends, in turn, on the length of time required to