The present invention is directed to the processing of acoustic signals, and more particularly, but not exclusively, relates to techniques to extract an acoustic signal from a selected source while suppressing interference from other sources using two or more microphones.
The difficulty of extracting a desired signal in the presence of interfering signals is a long-standing problem confronted by acoustic engineers. This problem impacts the design and construction of many kinds of devices such as systems for voice recognition and intelligence gathering. Especially troublesome is the separation of desired sound from unwanted sound with hearing, aid devices. Generally, hearing aid devices do not permit selective amplification of a desired sound when contaminated by noise from a nearby source. This problem is even more severe when the desired sound is a speech signal and the nearby noise is also a speech signal produced by other talkers. As used herein, “noise” refers not only to random or nondeterministic signals, but also to undesired signals and signals interfering with the perception of a desired signal.
One form of the present invention includes a unique signal processing technique using two or more microphones. Other forms include unique devices and methods for processing acoustic signals.
Further embodiments, objects, features, aspects, benefits, forms, and advantages of the present invention shall become apparent from the detailed drawings and descriptions provided herein.
While the present invention can take many different forms, for the purpose of promoting an understanding of the principles of the invention, reference will now be made to the embodiments illustrated in the drawings and specific language will be used to describe the same. It will nevertheless be understood that no limitation of the scope of the invention is thereby intended. Any alterations and further modifications of the described embodiments, and any further applications of the principles of the invention as described herein are contemplated as would normally occur to one skilled in the art to which the invention relates.
Sensors 22, 24 are separated by distance D as illustrated by the like labeled line segment along lateral axis T. Lateral axis T is perpendicular to azimuthal axis AZ. Midpoint M represents the halfway point along distance D from sensor 22 to sensor 24. Axis AZ intersects midpoint M and acoustic source 12. Axis AZ is designated as a point of reference (zero degrees) for sources 12, 14, 16 in the azimuthal plane and for sensors 22, 24. For the depicted embodiment, sources 14, 16 define azimuthal angles 14a, 16a relative to axis AZ of about +22° and −65°, respectively. Correspondingly, acoustic source 12 is at 0° relative to axis AZ. In one mode of operation of system 10, the “on axis” alignment of acoustic source 12 with axis AZ selects it as a desired or target source of acoustic excitation to be monitored with system 10. In contrast, the “off-axis” sources 14, 16 are treated as noise and suppressed by system 10, which is explained in more detail hereinafter. To adjust the direction being monitored, sensors 22, 24 can be moved to change the position of axis AZ. In an additional or alternative operating mode, the designated monitoring direction can be adjusted by changing a direction indicator incorporated in the routine of
In one embodiment, sensors 22, 24 are omnidirectional dynamic microphones. In other embodiments, a different type of microphone, such as cardioid or hypercardioid variety could be utilized, or such different sensor type can be utilized as would occur to one skilled in the art. Also, in alternative embodiments more or fewer acoustic sources at different azimuths may be present; where the illustrated number and arrangement of sources 12, 14, 16 is provided as merely one of many examples. In one such example, a room with several groups of individuals engaged in simultaneous conversation may provide a number of the sources.
Sensors 22, 24 are operatively coupled to processing subsystem 30 to process signals received therefrom. For the convenience of description, sensors 22, 24 are designated as belonging to left channel L and right channel R, respectively. Further, the analog time domain signals provided by sensors 22, 24 to processing subsystem 30 are designated xL(t) and xR(t) for the respective channels L and R. Processing subsystem 30 is operable to provide an output signal that suppresses interference from sources 14, 16 in favor of acoustic excitation detected from the selected acoustic source 12 positioned along axis AZ. This output signal is provided to output device 90 for presentation to a user in the form of an audible or visual signal which can be further processed.
Referring additionally to
Processor 42 can be a software or firmware programmable device, a state logic machine, or a combination of both programmable and dedicated hardware. Furthermore, processor 42 can be comprised of one or more components and can include one or more Central Processing Units (CPUs). In one embodiment, processor 42 is in the form of a digitally programmable, highly integrated semiconductor chip particularly suited for signal processing. In other embodiments, processor 42 may be of a general purpose type or other arrangement as would occur to those skilled in the art.
Likewise, memory 50 can be variously configured as would occur to those skilled in the art. Memory 50 can include one or more types of solid-state electronic memory, magnetic memory, or optical memory of the volatile and/or nonvolatile variety. Furthermore, memory can be integral with one or more other components of processing subsystem 30 and/or comprised of one or more distinct components.
Processing subsystem 30 can include any oscillators, control clocks, interfaces, signal conditioners, additional filters, limiters, converters, power supplies, communication ports, or other types of components as would occur to those skilled in the art to implement the present invention. In one embodiment, subsystem 30 is provided in the form of a single microelectronic device.
Referring also to the flow chart of
In stage 142, routine 140 begins with initiation of the A/D sampling and storage of the resulting discrete input samples xL(z) and xR(z) in buffer 52 as previously described. Sampling is performed in parallel with other stages of routine 140 as will become apparent from the following description. Routine 140 proceeds from stage 142 to conditional 144. Conditional 144 tests whether routine 140 is to continue. If not, routine 140 halts. Otherwise, routine 140 continues with stage 146. Conditional 144 can correspond to an operator switch, control signal, or power control associated with system 10 (not shown).
In stage 146, a fast discrete fourier transform (FFT) algorithm is executed on a sequence of samples xL(Z) and xR(z) and stored in buffer 54 for each channel L and R to provide corresponding frequency domain signals XL(k) and XR(k); where k is an index to the discrete frequencies of the FFTs (alternatively referred to as “frequency bins” herein). The set of samples xL(z) and xR(z) upon which an FFT is performed can be described in terms of a time duration of the sample data. Typically, for a given sampling rate fS, each FFT is based on more than 100 samples. Furthermore, for stage 146, FFT calculations include application of a windowing technique to the sample data. One embodiment utilizes a Hamming window. In other embodiments, data windowing can be absent or a different type utilized, the FFT can be based on a different sampling approach, and/or a different transform can be employed as would occur to those skilled in the art. After the transformation, the resulting spectra XL(k) and XR(k) are stored in FFT buffer 54 of memory 50. These spectra are generally complex-valued.
It has been found that reception of acoustic excitation emanating from a desired direction can be improved by weighting and summing the input signals in a manner arranged to minimize the variance (or equivalently, the energy) of the resulting output signal while under the constraint that signals from the desired direction are output with a predetermined gain. The following relationship (1) expresses this linear combination of the frequency domain input signals:
Y(k)=WL*(k)XL(k)+WR*(k)XR(k)=WH(k)X(k); (1)
where:
Y(k) is the output signal in frequency domain form, WL(k) and WR(k) are complex valued multipliers (weights) for each frequency k corresponding to channels L and R, the superscript “*” denotes the complex conjugate operation, and the superscript “H” denotes taking the Hermitian of a vector. For this approach, it is desired to determine an “optimal” set of weights WL(k) and WR(k) to minimize variance of Y(k). Minimizing the variance generally causes cancellation of sources not aligned with the desired direction. For the mode of operation where the desired direction is along axis AZ, frequency components which do not originate from directly ahead of the array are attenuated because they are not consistent in phase across the left and right channels L, R, and therefore have a larger variance than a source directly ahead. Minimizing the variance in this case is equivalent to minimizing the output power of off-axis sources, as related by the optimization goal of relationship (2) that follows:
where Y(k) is the output signal described in connection with relationship (1). In one form, the constraint requires that “on axis” acoustic signals from sources along the axis AZ be passed with unity gain as provided in relationship (3) that follows:
eHW(k)=1 (3)
Here e is a two element vector which corresponds to the desired direction. When this direction is coincident with axis AZ, sensors 22 and 24 generally receive the signal at the same time and amplitude, and thus, for source 12 of the illustrated embodiment, the vector e is real-valued with equal weighted elements—for instance eH=[0.5 0.5]. In contrast, if the selected acoustic source is not on axis AZ, then sensors 22, 24 can be moved to align axis AZ with it.
In an additional or alternative mode of operation, the elements of vector e can be selected to monitor along a desired direction that is not coincident with axis AZ. For such operating modes, vector e becomes complex-valued to represent the appropriate time/phase delays between sensors 22, 24 that correspond to acoustic excitation off axis AZ. Thus, vector e operates as the direction indicator previously described. Correspondingly, alternative embodiments can be arranged to select a desired acoustic excitation source by establishing a different geometric relationship relative to axis AZ. For instance, the direction for monitoring a desired source can be disposed at a nonzero azimuthal angle relative to axis AZ. Indeed, by changing vector e, the monitoring direction can be steered from one direction to another without moving either sensor 22, 24. Procedure 520 described in connection with the flowchart of
For inputs XL(k) and XR(k) that generally correspond to stationary random processes (which is typical of speech signals over small periods of time), the following weight vector W(k) relationship (4) can be determined from relationships (2) and (3):
where e is the vector associated with the desired reception direction, R(k) is the correlation matrix for the kth frequency, W(k) is the optimal weight vector for the kth frequency and the superscript “−1” denotes the matrix inverse. The derivation of this relationship is explained in connection with a general model of the present invention applicable to embodiments with more than two sensors 22, 24 in array 20.
The correlation matrix R(k) can be estimated from spectral data obtained via a number “F” of fast discrete Fourier transforms (FFTs) calculated over a relevant time interval. For the two channel L, R embodiment, the correlation matrix for the kth frequency, R(k), is expressed by the following relationship (5):
where Xl is the FFT in the frequency buffer for the left channel L and Xr is the FFT in the frequency buffer for right channel R obtained from previously stored FFTs that were calculated from an earlier execution of stage 146; “n” is an index to the number “F” of FFTs used for the calculation; and “M” is a regularization parameter. The terms Xll(k), Xlr(k), Xrl(k), and Xrr(k) represent the weighted sums for purposes of compact expression. It should be appreciated that the elements of the R(k) matrix are nonlinear, and therefore Y(k) is a nonlinear function of the inputs.
Accordingly, in stage 148 spectra Xl(k) and Xr(k) previously stored in buffer 54 are read from memory 50 in a First-In-First-Out (FIFO) sequence. Routine 140 then proceeds to stage 150. In stage 150, multiplier weights WL(k), WR(k) are applied to Xl(k) and Xr(k), respectively, in accordance with the relationship (1) for each frequency k to provide the output spectra Y(k). Routine 140 continues with stage 152 which performs an Inverse Fast Fourier Transform (IFFT) to change the Y(k) FFT determined in stage 150 into a discrete time domain form designated y(z). Next, in stage 154, a Digital-to-Analog (D/A) conversion is performed with D/A converter 84 (
After conversion to the continuous time domain form, signal y(t) is input to signal conditioner/filter 86. Conditioner/filter 86 provides the conditioned signal to output device 90. As illustrated in
After stage 154, routine 140 continues with conditional 156. In many applications it may not be desirable to recalculate the elements of weight vector W(k) for every Y(k). Accordingly, conditional 156 tests whether a desired time interval has passed since the last calculation of vector W(k). If this time period has not lapsed, then control flows to stage 158 to shift buffers 52, 54 to process the next group of signals. From stage 158, processing loop 160 closes, returning to conditional 144. Provided conditional 144 remains true, stage 146 is repeated for the next group of samples of xL(z) and xR(Z) to determine the next pair of XL(k) and XR(k) FFTs for storage in buffer 54. Also, with each execution of processing loop 160, stages 148, 150, 152, 154 are repeated to process previously stored Xl(k) and Xr(k) FFTs to determine the next Y(k) FFT and correspondingly generate a continuous y(t). In this manner buffers 52, 54 are periodically shifted in stage 158 with each repetition of loop 160 until either routine 140 halts as tested by conditional 144 or the time period of conditional 156 has lapsed.
If the test of conditional 156 is true, then routine 140 proceeds from the affirmative branch of conditional 156 to calculate the correlation matrix R(k) in accordance with relationship (5) in stage 162. From this new correlation matrix R(k), an updated vector W(k) is determined in accordance with relationship (4) in stage 164. From stage 164, update loop 170 continues with stage 158 previously described, and processing loop 160 is re-entered until routine 140 halts per conditional 144 or the time for another recalculation of vector W(k) arrives. Notably, the time period tested in conditional 156 may be measured in terms of the number of times loop 160 is repeated, the number of FFTs or samples generated between updates, and the like. Alternatively, the period between updates can be dynamically adjusted based on feedback from an operator or monitoring device (not shown).
When routine 140 initially starts, earlier stored data is not generally available. Accordingly, appropriate seed values may be stored in buffers 52, 54 in support of initial processing. In other embodiments, a greater number of acoustic sensors can be included in array 20 and routine 140 can be adjusted accordingly. For this more general form, the output can be expressed by relationship (6) as follows:
Y(k)=WH(k)X(k) (6)
where the X(k) is a vector with an entry for each of “C” number of input channels and the weight vector W(k) is of like dimension. Equation (6) is the same at equation (1) but the dimension of each vector is C instead of 2. The output power can be expressed by relationship (7) as follows:
E[Y(k)2]=E[W(k)HX(k)XH(k)W(k)]=W(k)HR(k)W(k) (7)
where the correlation matrix R(k) is square with “C×C” dimensions. The vector e is the steering vector describing the weights and delays associated with a desired monitoring direction and is of the form provided by relationships (8) and (9) that follow:
φ=(2πDfs/(cN))(sin(θ)) for k=0, 1, . . . , N−1 (9)
where C is the number of array elements, c is the speed of sound in meters per second, and θ is the desired “look direction.” Thus, vector e may be varied with frequency to change the desired monitoring direction or look-direction and correspondingly steer the array. With the same constraint regarding vector e as described by relationship (3), the problem can be summarized by relationship (10) as follows:
This problem can be solved using the method of Lagrange multipliers generally characterized by relationship (11) as follows:
where the cost function is the output power, and the constraint is as listed above for vector e. A general vector solution begins with the Lagrange multiplier function H(W) of relationship (12):
where the factor of one half (½) is introduced to simplify later math. Taking the gradient of H(W) with respect to W(k), and setting this result equal to zero, relationship (13) results as follows:
∇wH(W)=R(k)W(k)+eλ=0 (13)
Also, relationship (14) follows:
W(k)=−R(k)−1eλ (14)
Using this result in the constraint equation relationships (15) and (16) that follow:
eH└−R(k)−1eλ┘=1 (15)
λ=−[eHR(k)−1e]−1 (16)
and using relationship (14), the optimal weights are as set forth in relationship (17):
Wopt=R(k)−4e[eHR(k)−1e]−1 (17)
Because the bracketed term is a scalar, relationship (4) has this term in the denominator, and thus is equivalent.
Returning to the two variable case for the sake of clarity, relationship (5) may be expressed more compactly by absorbing the weighted sums into the terms Xll, Xlr, Xrl and Xrr, and then renaming them as components of the correlation matrix R(k) per relationship (18):
Its inverse may be expressed in relationship (19) as:
where det( ) is the determinant operator. If the desired monitoring direction is perpendicular to the sensor array, e=[0.5 0.5]T, the numerator of relationship (4) may then be expressed by relationship (20) as:
Using the previous result, the denominator is expressed by relationship (21) as:
Canceling out the common factor of the determinant, the simplified relationship (22) is completed as:
It can also be expressed in terms of averages of the sums of correlations between the two channels in relationship (23) as:
where wl(k) and wr(k) are the desired weights for the left and right channels, 5 respectively, for the kth frequency, and the components of the correlation matrix are now expressed by relationships (24) as:
just as in relationship (5). Thus, after computing the averaged sums (which may be kept as running averages), computational load can be reduced for this two channel embodiment.
In a further variation of routine 140, a modified approach can be utilized in applications where gain differences between sensors of array 20 are negligible. For this approach, an additional constraint is utilized. For a two-sensor arrangement with a fixed on-axis steering direction and negligible inter-sensor gain differences, the desired weights satisfy relationship (25) as follows:
The variance minimization goal and unity gain constraint for this alternative approach correspond to the following relationships (26) and (27), respectively:
By inspection, when eH=[1 1], relationship (27) reduces to relationship (28) as follows:
Im[w1]=−Im[w2] (28)
Solving for desired weights subject to the constraint in relationship (27) and using relationship (28) results in the following relationship (29):
The weights determined in accordance with relationship (29) can be used in place of those determined with relationships (22), (23), and (24); where R11, R12, R21, R22, are the same as those described in connection with relationship (18). Under appropriate conditions, this substitution typically provides comparable results with more efficient computation. When relationship (29) is utilized, it is generally desirable for the target speech or other acoustic signal to originate from the on-axis direction and for the sensors to be matched to one another or to otherwise compensate for inter-sensor differences in gain. Alternatively, localization information about sources of interest in each frequency band can be utilized to steer sensor array 20 in conjunction with the relationship (29) approach. This information can be provided in accordance with procedure 520 more fully described hereinafter in connection with the flowchart of
Referring to relationship (5), regularization factor M typically is slightly greater than 1.00 to limit the magnitude of the weights in the event that the correlation matrix R(k) is, or is close to being, singular, and therefore noninvertable. This occurs, for example, when time-domain input signals are exactly the same for F consecutive FFT calculations. It has been found that this form of regularization also can improve the perceived sound quality by reducing or eliminating processing artifacts common to time-domain beamformers.
In one embodiment, regularization factor M is a constant. In other embodiments, regularization factor M can be used to adjust or otherwise control the array beamwidth, or the angular range at which a sound of a particular frequency can impinge on the array relative to axis AZ and be processed by routine 140 without significant attenuation. This beamwidth is typically larger at lower frequencies than higher frequencies, and can be expressed by the following relationship (30):
r=1−M, where M is the regularization factor, as in relationship (5), c represents the speed of sound in meters per second (m/s),f represents frequency in Hertz (Hz), D is the distance between microphones in meters (m). For relationship (30), Beamwidth—3 dB defines a beamwidth that attenuates the signal of interest by a relative amount less than or equal to three decibels (dB). It should be understood that a different attenuation threshold can be selected to define beamwidth in other embodiments of the present invention.
Per relationship (30), as frequency increases, beamwidth decreases; and as regularization factor M increases, the beamwidth increases. Accordingly, in one alternative embodiment of routine 140, regularization factor M is increased as a function of frequency to provide a more uniform beamwidth across a desired range of frequencies. In another embodiment of routine 140, M is alternatively or additionally varied as a function of time. For example, if little interference is present in the input signals in certain frequency bands, the regularization factor M can be increased in those bands. It has been found that beamwidth increases in frequency bands with low or no inference commonly provide a better subjective sound quality by limiting the magnitude of the weights used in relationships (22), (23), and/or (29). In a further variation, this improvement can be complemented by decreasing regularization factor M for frequency bands that contain interference above a selected threshold. It has been found that such decreases commonly provide more accurate filtering, and better cancellation of interference. In still another embodiment, regularization factor M varies in accordance with an adaptive function based on frequency-band-specific interference. In yet further embodiments, regularization factor M varies in accordance with one or more other relationships as would occur to those skilled in the art.
Referring to
In operation, the user wearing eyeglasses G can selectively receive an acoustic signal by aligning the corresponding source with a designated direction, such as axis AZ. As a result, sources from other directions are attenuated. Moreover, the wearer may select a different signal by realigning axis AZ with another desired sound source and correspondingly suppress a different set of off-axis sources. Alternatively or additionally, system 210 can be configured to operate with a reception direction that is not coincident with axis AZ.
Processor 30 and output device 190 may be separate units (as depicted) or included in a common unit worn in the ear. The coupling between processor 30 and output device 190 may be an electrical cable or a wireless transmission. In one alternative embodiment, sensors 22, 24 and processor 30 are remotely located relative to each other and are configured to broadcast to one or more output devices 190 situated in the ear E via a radio frequency transmission.
In a further hearing aid embodiment, sensors 22, 24 are sized and shaped to fit in the ear of a listener, and the processor algorithms are adjusted to account for shadowing caused by the head, torso, and pinnae. This adjustment may be provided by deriving a Head-Related-Transfer-Function (HRTF) specific to the listener or from a population average using techniques known to those skilled in the art. This function is then used to provide appropriate weightings of the output signals that compensate for shadowing.
Another hearing aid system embodiment is based on a cochlear implant. A cochlear implant is typically disposed in a middle ear passage of a user and is configured to provide electrical stimulation signals along the middle ear in a standard manner. The implant can include some or all of processing subsystem 30 to operate in accordance with the teachings of the present invention. Alternatively or additionally, one or more external modules include some or all of subsystem 30. Typically a sensor array associated with a hearing aid system based on a cochlear implant is worn externally, being arranged to communicate with the implant through wires, cables, and/or by using a wireless technique.
Besides various forms of hearing aids, the present invention can be applied in other configurations. For instance,
Under certain circumstances, the directional orientation of a sensor array relative to the target acoustic source changes. Without accounting for such changes, attenuation of the target signal can result. This situation can arise, for example, when a binaural hearing aid wearer turns his or her head so that he or she is not aligned properly with the target source, and the hearing aid does not otherwise account for this misalignment. It has been found that attenuation due to misalignment can be reduced by localizing and/or tracking one or more acoustic sources of interests. The flowchart of
Procedure 520 starts with AID conversion in stage 522 in a manner like that described for stage 142 of routine 140. From stage 522, procedure 520 continues with stage 524 to transform the digital data obtained from stage 522, such that “G” number of FFTs are provided each with “N” number of FFT frequency bins. Stages 522 and 524 can be executed in an ongoing fashion, buffering the results periodically for later access by other operations of procedure 520 in a parallel, pipelined, sequence-specific, or different manner as would occur to one skilled in the art. With the FFTs from stage 524, an array of localization results, P(γ), can be described in terms of relationships (31)-(35) as follows:
where the operator “INT” returns the integer part of its operand, L(g,k) and R(g,k) are the frequency-domain data from channels L and R, respectively, for the kth FFT frequency bin of the gth FFT, Mthr(k) is a threshold value for the frequency-domain data in FFT frequency bin k, the operator “ROUND” returns the nearest integer degree of its operand, c is the speed of sound in meters per second, fs is the sampling rate in Hertz, and D is the distance (in meters) between the two sensors of array 20. For these relationships, array P(γ) is defined with 181 azimuth location elements, which correspond to directions −90° to +90° in 1° increments. In other embodiments, a different resolution and/or location indication technique can be used.
From stage 524, procedure 520 continues with index initialization stage 526 in which index g to the G number of FFTs and index k to the N frequency bins of each FFT are set to one and zero, (g=1, k=0), respectively. From stage 526, procedure 520 continues by entering frequency bin processing loop 530 and FFT processing loop 540. For this example, loop 530 is nested within loop 540. Loops 530 and 540 begin with stage 532.
For an off-axis acoustic source, the corresponding signal travels different distances to reach each of the sensors 22, 24 of array 20. Generally, these different distances cause a phase difference between channels L and R at some frequency. In stage 532, routine 520 determines the difference in phase between channels L and R for the current frequency bin k of the FFT g, converts the phase difference to a difference in distance, and determines the ratio x(g,k) of this distance difference to the sensor spacing D in accordance with relationship (35). Ratio x(g,k) is used to find the signal angle of arrival θx, rounded to the nearest degree, in accordance with relationship (34).
Conditional 534 is next encountered to test whether the signal energy level in channels L and R have more energy than a threshold level Mthr and the value of x(g,k) was one for which a valid angle of arrival could be calculated. If both conditions are met, then in stage 535 a value of one is added to the corresponding element of P(γ), where y=θx. Procedure 520 proceeds from stage 535 to conditional 536. If neither condition of conditional 534 is met, then P(γ) is not modified, and procedure 520 bypasses stage 535, continuing with conditional 536.
Conditional 536 tests if all the frequency bins have been processed, that is whether index k equals N, the total number of bins. If not (conditional 536 test is negative), procedure 520 continues with stage 537 in which index k is incremented by one (k=k+1). From stage 537, loop 530 closes, returning to stage 532 to process the new g and k combination. If the conditional 536 test is affirmative, conditional 542 is next encountered, which tests if all FFTs have been processed, that is whether index g equals G number of FFTs. If not (conditional 542 is negative), procedure 520 continues with stage 544 to increment g by one (g=g+1) and to reset k to zero (k=0). From stage 544, loop 540 closes, returning to stage 532 to process the new g and k combination. If conditional test 542 is affirmative, then all N bins for each of the G number of FFTs have been processed, and loops 530 and 540 are exited.
With the conclusion of processing by loops 530 and 540, the elements of array P(γ) provide a measure of the likelihood that an acoustic source corresponds to a given direction (azimuth in this case). By examining P(γ), an estimate of the spatial distribution of acoustic sources at a given moment in time is obtained. From loops 530, 540, procedure 520 continues with stage 550.
In stage 550, the elements of array P(γ) having the greatest relative values, or “peaks,” are identified in accordance with relationship (36) as follows:
p(l)=PEAKS(P(γ), γlim, Pthr) (36)
where p(l) is direction of the lth peak in the function P(γ) for values of γ between ±γlim (a typical value for γlim is 10°, but this may vary significantly) and for which the peak values are above the threshold value Pthr. The PEAKS operation of relationship (36) can use a number of peak-finding algorithms to locate maxima of the data, including optionally smoothing the data and other operations.
From stage 550, procedure 520 continues with stage 552 in which one or more peaks are selected. When tracking a source that was initially on-axis, the peak closest to the on-axis direction typically corresponds to the desired source. The selection of this closest peak can be performed in accordance with relationship (37) as follows:
where θtar is the direction angle of the chosen peak. Regardless of the selection criteria, procedure 520 proceeds to stage 554 to apply the selected peak or peaks. Procedure 520 continues from stage 554 to conditional 560. Conditional 560 tests whether procedure 520 is to continue or not. If the conditional 560 test is true, procedure 520 loops back to stage 522. If the conditional 560 test is false, procedure 520 halts.
In an application relating to routine 140, the peak closest to axis AZ is selected, and utilized to steer array 20 by adjusting steering vector e. In this application, vector e is modified for each frequency bin k so that it corresponds to the closest peak direction θtar. For a steering direction of θtar, the vector e can be represented by the following relationship (38), which is a simplified version of relationships (8) and (9):
where k is the FFT frequency bin number, D is the distance in meters between sensors 22 and 24, fs is the sampling frequency in Hertz, c is the speed of sound in meters per second, N is the number of FFT frequency bins and θtar is obtained from relationship (37). For routine 140, the modified steering vector e of relationship (38) can be substituted into relationship (4) of routine 140 to extract a signal originating from direction θtar. Likewise, procedure 520 can be integrated with routine 140 to perform localization with the same FFT data. In other words, the AID conversion of stage 142 can be used to provide digital data for subsequent processing by both routine 140 and procedure 520. Alternatively or additionally, some or all of the FFTs obtained for routine 140 can be used to provide the G FFTs for procedure 520. Moreover, beamwidth modifications can be combined with procedure 520 in various applications either with or without routine 140. In still other embodiments, the indexed execution of loops 530 and 540 can be at least partially performed in parallel with or without routine 140.
In a further embodiment, one or more transformation techniques are utilized in addition to or as an alternative to fourier transforms in one or more forms of the invention previously described. One example is the wavelet transform, which mathematically breaks up the time-domain waveform into many simple waveforms, which may vary widely in shape. Typically wavelet basis functions are similarly shaped signals with logarithmically spaced frequencies. As frequency rises, the basis functions become shorter in time duration with the inverse of frequency. Like fourier transforms, wavelet transforms represent the processed signal with several different components that retain amplitude and phase information. Accordingly, routine 140 and/or routine 520 can be adapted to use such alternative or additional transformation techniques. In general, any signal transform components that provide amplitude and/or phase information about different parts of an input signal and have a corresponding inverse transformation can be applied in addition to or in place of FFTs.
Routine 140 and the variations previously described generally adapt more quickly to signal changes than conventional time-domain iterative-adaptive schemes. In certain applications where the input signal changes rapidly over a small interval of time, it may be desired to be more responsive to such changes. For these applications, the F number of FFTs associated with correlation matrix R(k) may provide a more desirable result if it is not constant for all signals (alternatively designated the correlation length F). Generally, a smaller correlation length F is best for rapidly changing input signals, while a larger correlation length F is best for slowly changing input signals.
A varying correlation length F can be implemented in a number of ways. In one example, filter weights are determined using different parts of the frequency-domain data stored in the correlation buffers. For buffer storage in the order of the time they are obtained (First-In, First-Out (FIFO) storage), the first half of the correlation buffer contains data obtained from the first half of the subject time interval and the second half of the buffer contains data from the second half of this time interval. Accordingly, the correlation matrices R1(k) and R2(k) can be determined for each buffer half according to relationships (39) and (40) as follows:
R(k) can be obtained by summing correlation matrices R1(k) and R2(k).
Using relationship (4) of routine 140, filter coefficients (weights) can be obtained using both R1(k) and R2(k). If the weights differ significantly for some frequency band k between R1(k) and R2(k), a significant change in signal statistics may be indicated. This change can be quantified by examining the change in one weight through determining the magnitude and phase change of the weight and then using these quantities in a function to select the appropriate correlation length F. The magnitude difference is defined according to relationship (41) as follows:
ΔM(k)=||w1.1(k)|−|w1.2(k)|| (41)
where w1.1(k) and w1.2(k) are the weights calculated for the left channel using R1(k) and R2(k), respectively. The angle difference is defined according to relationship (42) as follows:
where the factor of ±2π is introduced to provide the actual phase difference in the case of a ±2π jump in the phase of one of the angles.
The correlation length F for some frequency bin k is now denoted as F(k). An example function is given by the following relationship (43):
F(k)=max(b(k)·ΔA(k)+d(k)·ΔM(k)+cmax(k), Cmin(k)) (43)
where Cmin(k) represents the minimum correlation length, cmax(k) represents the maximum correlation length and b(k) and d(k) are negative constants, all for the kth frequency band. Thus, as ΔA(k) and ΔM(k) increase, indicating a change in the data, the output of the function decreases. With proper choice of b(k) and d(k), F(k) is limited between cmin(k) and cmin(k), so that the correlation length can vary only within a predetermined range. It should also be understood that F(k) may take different forms, such as a nonlinear function or a function of other measures of the input signals.
Values for function F(k) are obtained for each frequency bin k. It is possible that a small number of correlation lengths may be used, so in each frequency bin k the correlation length that is closest to F1(k) is used to form R(k). This closest value is found using relationship (44) as follows:
where imin, is the index for the minimized function F(k) and c(i) is the set of possible correlation length values ranging from cmin to cmax.
The adaptive correlation length process described in connection with relationships (39)-(44) can be incorporated into the correlation matrix stage 162 and weight determination stage 164 for use in a hearing aid, such as that described in connection with
Many other further embodiments of the present invention are envisioned. One further embodiment includes: detecting acoustic excitation with a number of acoustic sensors that provide a number of sensor signals; establishing a set of frequency components for each of the sensor signals; and determining an output signal representative of the acoustic excitation from a designated direction. This determination includes weighting the set of frequency components for each of the sensor signals to reduce variance of the output signal and provide a predefined gain of the acoustic excitation from the designated direction.
In another embodiment, a hearing aid includes a number of acoustic sensors in the presence of multiple acoustic sources that provide a corresponding number of sensor signals. A selected one of the acoustic sources is monitored. An output signal representative of the selected one of the acoustic sources is generated. This output signal is a weighted combination of the sensor signals that is calculated to minimize variance of the output signal.
A still further embodiment includes: operating a voice input device including a number of acoustic sensors that provide a corresponding number of sensor signals; determining a set of frequency components for each of the sensor signals; and generating an output signal representative of acoustic excitation from a designated direction. This output signal is a weighted combination of the set of frequency components for each of the sensor signals calculated to minimize variance of the output signal.
Yet a further embodiment includes an acoustic sensor array operable to detect acoustic excitation that includes two or more acoustic sensors each operable to provide a respective one of a number of sensor signals. Also included is a processor to determine a set of frequency components for each of the sensor signals and generate an output signal representative of the acoustic excitation from a designated direction. This output signal is calculated from a weighted combination of the set of frequency components for each of the sensor signals to reduce variance of the output signal subject to a gain constraint for the acoustic excitation from the designated direction.
A further embodiment includes: detecting acoustic excitation with a number of acoustic sensors that provide a corresponding number of signals; establishing a number of signal transform components for each of these signals; and determining an output signal representative of acoustic excitation from a designated direction. The signal transform components can be of the frequency domain type. Alternatively or additionally, a determination of the output signal can include weighting the components to reduce variance of the output signal and provide a predefined gain of the acoustic excitation from the designated direction.
In yet another embodiment, a hearing aid is operated that includes a number of acoustic sensors. These sensors provide a corresponding number of sensor signals. A direction is selected to monitor for acoustic excitation with the hearing aid. A set of signal transform components for each of the sensor signals is determined and a number of weight values are calculated as a function of a correlation of these components, an adjustment factor, and the selected direction. The signal transform components are weighted with the weight values to provide an output signal representative of the acoustic excitation emanating from the direction. The adjustment factor can be directed to correlation length or a beamwidth control parameter just to name a few examples.
For a further embodiment, a hearing aid is operated that includes a number of acoustic sensors to provide a corresponding number of sensor signals. A set of signal transform components are provided for each of the sensor signals and a number of weight values are calculated as a function of a correlation of the transform components for each of a number of different frequencies. This calculation includes applying a first beamwidth control value for a first one of the frequencies and a second beamwidth control value for a second one of the frequencies that is different than the first value. The signal transform components are weighted with the weight values to provide an output signal.
For another embodiment, acoustic sensors of the hearing aid provide corresponding signals that are represented by a plurality of signal transform components. A first set of weight values are calculated as a function of a first correlation of a first number of these components that correspond to a first correlation length. A second set of weight values are calculated as a function of a second correlation of a second number of these components that correspond to a second correlation length different than the first correlation length. An output signal is generated as a function of the first and second weight values.
In another embodiment, acoustic excitation is detected with a number of sensors that provide a corresponding number of sensor signals. A set of signal transform components is determined for each of these signals. At least one acoustic source is localized as a function of the transform components. In one form of this embodiment, the location of one or more acoustic sources can be tracked relative to a reference. Alternatively or additionally, an output signal can be provided as a function of the location of the acoustic source determined by localization and/or tracking, and a correlation of the transform components.
It is contemplated that various signal flow operators, converters, functional blocks, generators, units, stages, processes, and techniques may be altered, rearranged, substituted, deleted, duplicated, combined or added as would occur to those skilled in the art without departing from the spirit of the present inventions. It should be understood that the operations of any routine, procedure, or variant thereof can be executed in parallel, in a pipeline manner, in a specific sequence, as a combination of these appropriate to the interdependence of such operations on one another, or as would otherwise occur to those skilled in the art. By way of nonlimiting example, A/D conversion, D/A conversion, FFT generation, and FFT inversion can typically be performed as other operations are being executed. These other operations could be directed to processing of previously stored AID or signal transform components, such as stages 150, 162, 164, 532, 535, 550, 552, and 554, just to name a few possibilities. In another nonlimiting example, the calculation of weights based on the current input signal can at least overlap the application of previously determined weights to a signal about to be output. All publications and patent applications cited in this specification are herein incorporated by reference as if each individual publication or patent application were specifically and individually indicated to be incorporated by reference.
The following experimental results provide nonlimiting examples, and should not be construed to restrict the scope of the present invention.
Microphones 422, 424 were each operatively coupled to a Mic-to-Line preamp 432 (Shure FP-11). The output of each preamp 432 was provided to a dual channel volume control 434 provided in the form of an audio preamplifier (Adcom GTP-5511). The output of volume control 434 was fed into A/D converters of a Digital Signal Processor (DSP) development board 440 provided by Texas Instruments (model number TI-C6201 DSP Evaluation Module (EVM)). Development board 440 includes a fixed-point DSP chip (model number TMS320C62) running at a clock speed of 133 MHz with a peak throughput of 1064 MIPS (millions of instructions per second). This DSP executed software configured to implement routine 140 in real-time. The sampling frequency for these experiments was about 8 kHz with 16-bit A/D and D/A conversion. The FFT length was 256 samples, with an FFT calculated every 16 samples. The computation leading to the characterization and extraction of the desired signal was found to introduce a delay in a range of about 10-20 milliseconds between the input and output.
Referring to
These experiments demonstrate marked suppression of interfering sounds. The use of the regularization parameter (valued at approximately 1.03) effectively limited the magnitude of the calculated weights and results in an output with much less audible distortion when the target source is slightly off-axis, as would occur when the hearing aid wearer's head is slightly misaligned to the target talker. Miniaturization of this technology to a size suitable for hearing aids and other applications can be provided using techniques known to those skilled in the art.
Experiments described herein are simply for the purpose of demonstrating operation of one form of a processing system of the present invention. The equipment, the speech materials, the talker configurations, and/or the parameters can be varied as would occur to those skilled in the art.
Any theory, mechanism of operation, proof, or finding stated herein is meant to further enhance understanding of the present invention and is not intended to make the present invention in any way dependent upon such theory, mechanism of operation, proof, or finding. While the invention has been illustrated and described in detail in the drawings and foregoing description, the same is to be considered as illustrative and not restrictive in character, it being understood that only the selected embodiments have been shown and described and that all changes, modifications and equivalents that come within the spirit of the invention as defined herein or by the following claims are desired to be protected.
The present application is a continuation-in-part of U.S. patent application Ser. No. No. 09/568,430 filed on May 10, 2000, and is related to: U.S. patent application Ser. No. No. 09/193,058 filed on 16 Nov. 1998, which is a continuation-in-part of U.S. patent application Ser. No. 08/666,757 filed Jun. 19, 1996 (now U.S. Pat. No. 6,222,927 B1); U.S. patent application Ser. No. 09/568,435 filed on May 10, 2000; and U.S. patent application Ser. No. 09/805,233 filed on Mar. 13, 2001, which is a continuation of International Patent Application Number PCT/US99/26965, all of which are hereby incorporated by reference.
The U.S. Government has a paid-up license in this invention and the right in limited circumstances to require the patent owner to license others on reasonable terms as provided for by DARPA Contract No. ARMY SUNY240-6762A and National Institutes of Health Contract No. R21DC04840.
Number | Date | Country | |
---|---|---|---|
Parent | 10290137 | Nov 2002 | US |
Child | 11545256 | Oct 2006 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09568430 | May 2000 | US |
Child | 10290137 | Nov 2002 | US |