METHOD AND DEVICE FOR LOW DELAY PROCESSING
Adaptive processing of an input signal is achieved by offline analysis, with inline processing comprising an adaptive filter. The method comprises passing the input signal through an adaptive time domain filter to produce an output signal. The input signal and/or output signal is used as an offline analysis signal. The analysis signal is transformed into a transform domain (eg frequency domain) to produce a transformed analysis signal. The transformed analysis signal is analyzed, for example by ADRO, to produce a plurality of desired gains each corresponding to a respective transform domain sub-band. A time domain filter characteristic is synthesized to at least approach the desired gains. The adaptive filter is updated with the synthesized filter characteristic. Minimum phase adaptive filter techniques are found to possess particular benefits in this scheme.
Latest Dynamic Hearing Pty Ltd Patents:
This patent application is a continuation of U.S. patent Ser. No. 11/283,540, filed on Nov. 18, 2005, the entire contents of which are hereby expressly incorporated by reference.
FIELD OF THE INVENTIONThe present invention relates to signal processing, and in particular relates to adaptively processing a signal in a manner which introduces minimal delay.
BACKGROUND OF THE INVENTIONA design problem in many signal processing applications is to perform a given task or algorithm on a signal while introducing as little delay as possible. This delay is usually characterize by a measure known as group delay, defined as the negative rate of change of the total introduced phase shift with respect to angular frequency, −dθ/dω. A filter or system that introduces a constant group delay with respect to frequency is said to have linear phase. A filter or system with non-linear phase introduces variable delay with frequency (A. V. Oppenheim and R. W. Schafer, Discrete-Time Signal Processing, Englewood Cliffs, N.J.: Prentice-Hall Inc., 1989).
The importance of group delay depends on application, but is particularly critical in the design of audio devices, such as telephones, mobile phones, headsets, hearing aids, and cochlear implants. Introduction of additional signal path delay in these devices can have a significant impact on performance and usability. Specific problems can include:
-
- increased perceivable echo from network or acoustic sources;
- reduced perceptual coherence between user's own voice and side-tone or assisted listening path;
- reduced perceptual coherence between listening cues & other sensory (eg visual) cues;
- reduced control and integrity of delay differences in binaural listening;
- reduced opportunity to avoid other perceptual problems, such as the occlusion effect (as described in J. Agnew and J. M. Thornton, Just Noticeable and Objectionable Group Delays in Digital Hearing Aids, Journal of the American Academy of Audiology, no. 11, pp. 330-336, 2000, J. Groth and M. B. Søndergaard, Disturbance caused by varying propagation delay in non-occluding hearing aid fittings, International Journal of Audiology, no. 43, pp. 594-599, 2004, M. A. Stone and B. C. J. Moore, Tolerable Hearing-Aid Delays: IV. Effects on Subjective Disturbance During Speech Production by Hearing-Impaired Subjects, Ear & Hearing, no. 26, pp. 225-235, 2005);
- increased likelihood of feedback or gain stability;
- increased resource requirements for echo or feedback cancellation; and
- reduced sound quality, intelligibility and clarity of communication.
Telecommunication standards also mandate strict compliance to rigorous specifications on group delay and its related effects, in order to maintain quality of communication in the network (for example see IEEE Std 269-2002: Standard Methods for Measuring Transmission Performance of Analog and Digital Telephone Sets, Handsets, and Headsets, The Institute of Electrical and Electronics Engineers (IEEE), New York N.Y., 2002, ITU-T Recommendation P. 340: Transmission characteristics and speech quality parameters for hands-free terminals, International Telecommunication Union (ITU), May 2000, Telstra Specification TP TT404B51: Specification—Headset & Limiting Amplifier. Acoustic Protection. Telstra Corporation Limited, Issue 3.1, 11 Jun. 2001).
Many modern audio devices use multi-band, or transform domain, signal processing techniques to improve some aspect of performance, but often incur significant group delay in the process. A predominant class of multi-band techniques utilized in audio processing applications uses block processing, with a Fast Fourier Transform (FFT) analysis, and Inverse Fast Fourier Transform (IFFT) overlap-add synthesis, to analyze and process signals in frequency sub-bands. This type of technique is depicted in the generalized block diagram of
A significant proportion of the group delay incurred in the arrangement of
t1(min)=LFFT/fs+tp
where fs is the base sample rate in Hz, and tp is the additional latency required for the processor to perform the required operations to obtain the final output block y[n].
Several other multi-band processing structures have also been used in audio devices, some targeted specifically at reducing group delay. One such method applies a time domain filter bank using IIR or FIR filters in place of the FFT filter-bank structure applied in
The reduced group delay in the scheme of
t2(min)=ttdf+tp
where ttdf is the minimum delay in the time domain filterbank 202, and tp is again the additional latency required to process for realization of the final output y[n]. The scheme also has the advantage of flexibility in allowing more selective or non-uniform resolution filters in the filter-bank, for example to mimic the Bark scale, or to reflect critical bands in human hearing.
However the filter-bank design of
Any discussion of documents, acts, materials, devices, articles or the like which has been included in the present specification is solely for the purpose of providing a context for the present invention. It is not to be taken as an admission that any or all of these matters form part of the prior art base or were common general knowledge in the field relevant to the present invention as it existed before the priority date of each claim of this application.
Throughout this specification the word “comprise”, or variations such as “comprises” or “comprising”, will be understood to imply the inclusion of a stated element, integer or step, or group of elements, integers or steps, but not the exclusion of any other element, integer or step, or group of elements, integers or steps.
SUMMARY OF THE INVENTIONAccording to a first aspect, the present invention provides a method of adaptively processing an input signal, the method comprising:
passing the input signal through an adaptive time domain filter to produce an output signal;
taking at least one of the input signal and the output signal as an analysis signal;
transforming the analysis signal into a transform domain to produce a transformed analysis signal;
analyzing the transformed analysis signal to produce a plurality of desired gains each corresponding to a respective transform domain sub-band;
synthesizing a minimum phase time domain filter characteristic which approaches the desired gains; and
updating the adaptive filter with the synthesized filter characteristic.
According to a second aspect, the present invention provides a computer program for adaptively processing an input signal, the computer program comprising:
code for passing the input signal through an adaptive tie domain filter to produce an output signal;
code for taking at least one of the input signal and the output signal as an analysis signal;
code for transforming the analysis signal into a transform domain to produce a transformed analysis signal;
code for analyzing the transformed analysis signal to produce a plurality of desired gains each corresponding to a respective transform domain sub-band;
code for synthesizing a minimum phase time domain filter characteristic which approaches the desired gains; and
code for updating the adaptive filter with the synthesized filter characteristic.
According to a Gird aspect, the present invention provides a device for adaptively processing an input signal, the device comprising:
an adaptive time domain filter for producing an output signal from an input signal;
a transform block for taking an analysis signal from at least one of the input signal and the output signal, and for transforming the analysis signal into a transform domain to produce a transformed analysis signal;
a processor for analyzing the transformed analysis signal to produce a plurality of desired gains each corresponding to a respective transform domain sub-band;
a filter synthesizer for synthesizing a minimum phase time domain filter characteristic which approaches the desired gains, and for updating the adaptive filter with the synthesized filter characteristic.
By performing transform domain signal analysis in order to define the filter characteristic, the present invention provides for ‘offline’ signal analysis. That is, the transform domain analysis is not interposed between the input signal and the output signal, such that the output signal is not subject to a group delay caused by the offline analysis. Further, the present invention recognizes that a filter characteristic, such as filter coefficients used to implement a filter, may be adaptively updated, and may be adaptively defined substantially in real time by such transform domain analysis.
Embodiments of the first to third aspects of the invention, utilizing a minimum phase filter characteristic, will thus include filter characteristics of non-linear phase. An extent of the phase non-linearity is preferably limited to below a perception threshold. Such embodiments recognize that non-linear phase signal filtering can be substantially imperceptible to a user when phase non-linearity is maintained below such a threshold. Further, by synthesizing a filter characteristic of minimum phase, such embodiments of the invention provide for particularly low group delay between the input signal and the output signal.
In embodiments of the invention where the transform domain is the frequency domain, synthesis of a minimum phase filter characteristic may comprise: obtaining the cepstrum (IFFT) of the logarithmically expressed desired gains; ensuring the cepstrum is causal; and taking the FFT of the causal cepstrum to produce logarithmically expressed minimum phase desired gains.
Such embodiments of the present invention recognize that the cepstrum is causal if and only if both the poles and zeros of the transfer function are inside the unit circle. Such embodiments of the present invention further recognize that a filter is minimum phase if both the poles and zeros of the transfer function are inside the unit circle. Thus, by ensuring that the cepstrum is causal, such embodiments provide for synthesis of a minimum phase filter. Such embodiments may thus combine log domain multi-band processing followed by immediate cepstrum calculation.
Ensuring the cepstrum is causal may comprise applying a folding sequence to the cepstrum, to ‘fold’ exponentials of the cepstrum (quefrency components) in the non-causal (rear) half of the cepstrum into the causal (forward) half of the cepstrum.
The folding sequence λmin[q] for ensuring the cepstrum is causal may comprise: 0<λmin[q]≦2 for q=0 . . . L/2+1
λmin[q]=0 for q=L/2+2 . . . L−1,
where L is the window/FFT length, and q=0 . . . L−1.
More preferably, the folding sequence is cepstrally smoothed to smooth the output minimum phase spectrum. By performing smoothing at the time of modifying the cepstrum, such embodiments may eliminate the need for use of synthesis time domain windowing. For example, the folding sequence may comprise:
λmin[q]=0.54+0.46 cos(2πq/L) for q=0 & L/2+1
λmin[q]=1.08+0.92 cos(2π/q/L) for q=1 . . . L/2
λmin[q]=0 otherwise.
In alternate embodiments, the folding sequence may comprise:
λmin[q]=1 for q=0 & L/2+1
λmin[q]=2 for q=1 . . . L/2
λmin[q]=0 otherwise.
In such embodiments, a synthesis window function is preferably applied in the time domain as part of filter synthesis, as such a folding sequence produces an asymmetric filter impulse response which typically peaks very early in the finite filter length.
Once made causal, the causal cepstrum may then be converted back to a complex numbered spectrum (logarithmically expressed minimum phase desired gains) by FFT. Such logarithmically expressed minimum phase desired gains may typically then be converted to linear expression by taking the exponential. Preferably, a computationally efficient technique of obtaining the exponential is applied. Linearly expressed minimum phase desired gains may then be returned to the time domain by IFFT to form the basis of time domain filter synthesis.
Such embodiments, when used to produce a FIR filter having an approximate minimum phase impulse response synthesized from such a smoothed causal cepstrum may provide for extremely low group delay for multi-band DSP algorithms, may provide improved independence of group delay relative to analysis or processing filter resolution, may provide for native provision for log domain sub-band processing, multi-band compression or expansion, anti-startle algorithms and the like, and/or may provide improved adaptive filtering accuracy compared to comparable linear phase methods. Such embodiments may provide reduced signal distortion and artifacts from avoidance of overlap-add re-construction and reduced finite precision arithmetic on signal, may provide improved control of design compromises in signal analysis vs. signal processing, may provide improved resistance to feedback from reduced delay and inherent phase variation, may provide the option to reduce computational load by reducing signal analysis and filter update rate, and may be particularly suitable for implementation in commonly used audio digital signal processors.
Where the adaptive filter is a FIR or IIR linear filter, alternate embodiments of the invention may synthesize the minimum phase filter characteristic by: expressing a characteristic polynomial of the filter, factoring the characteristic polynomial to locate poles and zeros of the filter; and revising the characteristic polynomial by reciprocating each pole and zero outside the unit circle into the unit circle, to obtain a minimum phase filter. Due to the potentially large or intractable computational complexity of factoring a characteristic polynomial, such embodiments may be best suited to applications where the adaptation rate of the filter is not required to be high, to provide sufficient time for such computations.
In embodiments of the invention, the adaptive filter may be a single FIR filter, a mix of filters, whether FIR or IIR, or may be non-linear such as a neural network. Synthesizing the filter characteristic in a manner which approaches the desired gains may comprise ensuring that an adaptation rate of the adaptive filter remains no more than a pre-defined amount, for example in order to avoid inappropriate user perceptions which might be caused by large or overly rapid filter adaptations. In such embodiments the synthesized filter characteristic might thus approach, but not substantially match, the desired gains. Alternatively, synthesis of the time domain filter characteristic may comprise substantially matching the filter characteristic to the desired gains, to the extent possible when using a real time domain filter, for example in circumstances where filter adaptation rate is not required to be limited.
Embodiments of the invention may apply preventative measures to reduce the rate of gain variation between the desired gains, such that the synthesized filter is more likely to be able to replicate the desired response. For example, a difference between desired gains in adjacent transform domain sub-bands may be maintained within a pre-defined limit.
Further embodiments of the invention may apply compensatory measures to measure the extent of gain errors, and to apply appropriate feedback for ongoing iterations of generating desired gains and synthesizing the filter so as to reduce such errors.
According to a fourth aspect, the present invention provides a method of adaptively processing an input signal, the method comprising:
passing the input signal through an adaptive time domain filter to produce an output signal;
talking at least one of the input signal and the output signal as an analysis signal;
transforming the analysis signal into a transform domain to produce a transformed analysis signal;
analyzing the transformed analysis signal to produce a plurality of desired gains each corresponding to a respective transform domain sub-band;
synthesizing a time domain filter characteristic which approaches pie desired gains; and
updating the adaptive filter with the synthesized filter characteristic. According to a fifth aspect, the present invention provides a computer program for adaptively processing an input signal, the computer program comprising:
code for passing the input signal through an adaptive time domain filter to produce an output signal;
code for taking at least one of the input signal and the output signal as an analysis signal;
code for transforming the analysis signal into a transform domain to produce a transformed analysis signal;
code for analyzing the transformed analysis signal to produce a plurality of desired gains each corresponding to a respective transform domain sub-band;
code for synthesizing a time domain filter characteristic which approaches the desired gains; and
code for updating the adaptive filter with the synthesized filter characteristic.
According to a sixth aspect, the present invention provides a device for adaptively processing an input signal, the device comprising:
an adaptive time domain filter for producing an output signal from an input signal;
a transform block for taking an analysis signal from at least one of the input signal and the output signal, and for transforming the analysis signal into a transform domain to produce a transformed analysis signal;
a processor for analyzing the transformed analysis signal to produce a plurality of desired gains each corresponding to a respective transform domain sub-band;
a filter synthesizer for synthesizing a time domain filter characteristic which approaches the desired gains, and for updating the adaptive filter with the synthesized filter characteristic.
In embodiments of the fourth to sixth aspects of the invention the adaptive time domain filter may comprise a FIR filter, and the transform may comprise a FFT. In such embodiments, synthesis of the filter characteristic may comprise: applying a linear phase to the plurality of desired gains; returning the linear desired gains to the nine domain by IFFT; and applying a synthesis window to truncate the output of the IFFT to produce a finite linear phase impulse response. The synthesis window may comprise a rectangular window, a Hamming window, a hybrid asymmetric Hamming function, or other suitable window function. In alternate such embodiments of the invention, synthesis of the filter characteristic may comprise: returning the linear desired gains to the tie domain by IFFT; swapping and/or reordering the IFFT output to remove aliased non-causal components to derive a symmetric response; and applying a synthesis window to truncate the symmetric response to produce a finite linear phase impulse response.
Embodiments of the present invention may be applied in conjunction with the Adaptive Dynamic Range Optimization (ADRO) technique set out in U.S. Pat. No. 6,731,767. However, embodiments of the present invention may be applied in conjunction with any sound processing technique which involves changing the desired gain of the signal path.
It is to be appreciated that the phrase “sound signal” is used herein to refer to any signal conveying or storing sound information, and includes an electrical, optical, electromagnetic or digitally encoded signal.
Examples of the invention will now be described with reference to the accompanying drawings in which:
Input signal x[n] is also used as an analysis signal by being passed to buffer 306. The output of buffer 306 is windowed at 308 by an analysis window wa[n] and then passed through a FFT block 310. The FFT output is converted to the logarithmic power domain by block 312 to produce analyzed input levels XdB[k]. Block 314 undertakes multi-band frequency domain processing of the analyzed input levels XdB[k] in accordance with the ADRO technique to produce desired output levels YdB[k], from which the analyzed input levels XdB[k] are subtracted at 316 to produce desired gains GdB[k]. Filter realization block 318 takes the desired gains in order to synthesize a time domain filter characteristic, and updates the adaptive filter 302 to at least approach the synthesized filter characteristic. A feedback path 320 may also be utilized by block 318 in filter synthesis.
The first embodiment of the invention set out in
The circuit 300 of
The task of the filter realization block 318 is to take a specification of desired gains GdB[k] in each frequency sub-band, or transform domain sub-band, and to synthesize an appropriate time domain filter ĝ[n] having a filter magnitude response which suitably realizes the gain profile, when applied to the main signal path 304. Because the filter ĝ[n] 302 is not bound by the block processing constraints of the analysis path, it can be operated at a reduced block size or single sample rate. Substantial buffering can be avoided in the signal path 304, and the group delay in the signal path 304 therefore becomes that of the filter 302 alone.
In the embodiment of
Because a practical filter realization process does not necessarily synthesize the ideal or optimal filter, the feedback path 320 can also be used to provide feedback regarding the state of signal y[n] after the filtering process. This provides for a more sophisticated gain control system that helps the offline structure 300 achieve the required filter specification as it changes with time.
Thus, the offline analysis circuit 300 provides for reduced group delay for the main signal path 304, and provides for de-coupling of signal analysis from signal processing, allowing independent and finer control of parameters for each aspect, such as the number of channels, channel bandwidth/spacing, and delay. The circuit 300 may further utilize a reduced analysis rate in the offline processing (e.g. in block 314) relative to the processing rate of the main signal path 304, which can lead to computational savings, bearing in mind the possible increased requirements for implementation of the filter ĝ(n) 302 in such an arrangement. Further, by undertaking fewer operations on the signal data along through path 304, circuit 300 may provide for reduced distortion and reduced introduction of signal processing artifacts such as quantization noise from limited precision operations, or periodic noise from a FFT a overlap-add synthesis reconstruction process.
The circuit 300 introduces a tie differential between signal analysis and signal processing. Thus signal changes that occur in less time than the time differential can propagate through the system before the system can respond. This might be compensated for by re-introducing some initial delay in the main signal path, preferably being minimal delay to avoid detracting from the low delay nature of the offline processing arrangement.
It is desirable to control the rate of variation of the filter ĝ[n] 302, for example in order to avoid introduction of perceptible artifacts caused by overly rapid variation of the filter taps or coefficients. In particular, the rate of gain variation should not be too large relative to the time span of the filter impulse response.
Implementation of the filter realization block 318 may take a number of forms in accordance with different embodiments of the invention.
In more detail,
The output of IFFT 408 is windowed at 410 with an appropriate synthesis window ws[n], and the FIR filter ĝ[n] 402 is then updated with the filter characteristic so derived.
If appropriate linear phase is not injected, then the output of IFFT process 408 will be non-causal and ‘time aliased’, in that the filter response will wrap around in the window L such that non-causal components are rotated to the latter half of the window.
The minimum group delay t3+4(typ.) when using the filter realization blocks 400 or 420 in the circuit 300 of
t3+4(typ.)=Lg/(2*fs)+tp
where Lg is the filter length, typically the same length as the FFT length LFFT, and tp is the computational time required to process the filter. This computational time is typically significantly less than the equivalent computational time tp for
The impulse response filter obtained using the window design filter realizations depicted in
In more detail,
Other optimizations or variations may be made to the embodiments of
Use of an asymmetric or truncated window ws[n] is intended to reduce the lead in or rise time to peak of the final filter impulse response, thereby reducing group delay and shortening the filter.
The symmetric, linear phase FIR filters produced by the structures of
The present invention further recognizes that, of non-linear phase filters, minimum phase filters are well suited for low group delay magnitude response conditioning. By definition a minimum phase filter represents the unique, causal realization of a given magnitude response with minimum group delay for a given filter order. A minimum phase filter is defined as having both a causal and stable transfer function (poles inside the unit circle), and causal and stable inverse transfer function (zeroes inside the unit circle). Since FIR filters are entirely characterized by their zeroes, one way to obtain the minimum phase version of any FIR filter is to directly factor the characteristic polynomial, and reciprocate zeroes that lie outside the unit circle, into the unit circle. For example, for a given FIR filter transfer function H(z), with a zero at q that lies outside the unit circle, the transfer function can be factored as follows:
where Hap(z) is an all-pass filter, and HB(z) retains the magnitude response of H(z), but has altered phase, with the zero(s) reciprocated into the unit circle.
In practice, factoring an FIR filter polynomial can be a difficult or even intractable mathematical problem, particularly as the filter length increases. Therefore, obtaining the minimum phase filter for a time varying filter specification using the direct factoring technique in real time may not be practical in many real time applications. One option might be to obtain (in non-real time) a fixed ‘quasi’ minimum phase profile for an average or equilibrium of the filter magnitude responses expected, and to apply this phase to all frequency domain filter specifications, regardless of their magnitude response. However, the minimum phase characteristic of a given magnitude response is by definition unique, and the causality for the resultant filter is only guaranteed when the matching minimum phase for a given magnitude response is applied. Therefore, application of a fixed ‘quasi’ minimum phase is only likely to be practical when the magnitude response variation is expected to be small or is very heavily bounded, or when sufficient computational resources are available to perform factorization within the timeframe required by the application.
An alternate method for deriving the minimum phase for a given magnitude response recognizes and exploits a particular property of the real or complex cepstrum (the cepstrum being the inverse discrete Fourier transform of the log magnitude or log complex spectrum). The cepstrum property of interest is that the cepstrum is ‘causal’ if and only if both the poles and zeroes of the transfer function are inside the unit circle—i.e. the filter is minimum phase. Therefore, by subjecting the real cepstrum of the log magnitude spectrum to an appropriate ‘folding sequence’, the phase can be adjusted to be minimum without altering the spectral magnitude response. In accordance with such embodiments of the invention, the folding sequence effectively folds exponentials (termed ‘quefrency’ components) in the ‘non-causal’ (back) half of the cepstrum into the ‘causal’ (forward) half of the cepstrum. The adjusted cepstrum can then be converted back to a complex numbered spectrum via the discrete Fourier transform and complex exponential, and be used to design a time domain FIR filter.
The synthesized filter impulse responses of the linear phase method and the cepstral minimum phase method are shown in
The resulting filter phases of the linear phase method and the cepstral minimum phase method are shown in
The present invention further recognizes the possibility and advantages of applying and/or optimizing the properties of the cepstrum substantially in real time to provide for adaptive minimum phase filters. Such adaptive minimum phase filters may be particularly applicable for implementation of the filter 302 in the adaptive multi-band signal processing scheme of
Once the real cepstrum c[q] of the log gain specification is calculated (c[q]=IFFT(GdB[k])), it is element-wise multiplied at 806 by a folding sequence λmin[q] to produce a modified cepstrum ĉmin[q]=λmin[q]·c[q]. In the present embodiment, the folding sequence λmin[q] is:
where L is the window/FFT length, and q=0 . . . L−1. An example cepstrum folding sequence λmin[q] for the case of L=64 is plotted in
The modified cepstrum ĉmin[q] is then input to FFT block 808 which calculates the complex logarithmic phase modified spectrum GdB,min[k] (GdB,min[k]=FFT(ĉmin[q]). To obtain the complex linear phase modified spectrum Gmin[k], the exponent of GdB,min[k] is calculated by block 810, so that Gmin[k]=exp(GdB,min[k]). In the case where GdB[k] was calculated with a natural logarithm basis, the direct form of Euler's relation for z=a+bi can be used:
exp(z)=ez=ea(cos b+i sin b)
Similar, alternative forms of this relation can be used when GdB,min[k] is in an alternative or adjusted logarithm basis domain (e.g. base 2 or dB).
IFFT block 812 then returns the complex linear phase modified spectrum Gmin[k] to the time domain, where it is windowed at 814 with a appropriate synthesis window ws[n] to produce an approximate minimum phase impulse response to define the filter 802 as a minimum phase filter ĝmin[n]=IFFT(Gmin[k]·ws[n].
Care is required in
For the case where the minimum phase impulse response is expected to peak at the start, an initial solution might be to apply an asymmetric window such as the tail side of a conventional window function, e.g. a Hamming window or Hanning window or the like, padded with zeros, for use as the synthesis window function ws[n]. This has been trialed, but in practice suffers several problems. Because the effective peak location or group delay of the minimum phase impulse response is not constant, the effect of the window function on the final magnitude response will vary as the input magnitude response itself varies. Furthermore, a single sided asymmetric window function loses much of the spectral resolution of its symmetric counterpart.
While these or other windows may in some embodiments of the invention prove suitable for appropriate applications, an alternate cepstral implementation of filter realization has been recognized by the fifth embodiment of the present invention. Rather than attempt to choose or synthesize an asymmetric time domain window ws[n], spectral smoothing of the filter specification is obtained by recognizing and exploiting another property of the cepstrum, referred to as cepstral smoothing, cepstral homomorphic filtering or ‘littering’. The goal of such smoothing is to apply a low-pass or single sided function to weight the ends of the cepstrum. Since the ‘high exponential’ or ‘high quefrency’ components of the cepstrum generally represent the faster variations in the spectral domain, the spectrum can be smoothed if these components are weighted down relative to the ‘low exponential’ or ‘low quefrency’ components.
Cepstral filtering is therefore ideal for smoothing the minimum phase spectrum prior to truncation for the finite impulse response in the adaptive filter design application of the present invention. Indeed, the present embodiment recognizes that the operation to perform the smoothing can be the same operation which applies the cepstral folding sequence to obtain the filter minimum phase. This is an elegant solution, since improved spectral smoothing can be obtained compared to use of a time domain asymmetric window ws[n], while at the same time computational complexity and memory requirements are reduced.
In the present embodiment the cepstral smoothing or littering sequence φs[q] for spectral smoothing of the filter magnitude response exploits a reverse Hamming
function without padding:
φs[q]=0.54+0.46 cos(2πq/L)
where L is the window/FFT length, and q=0 . . . L−1. Other sequences for cepstral smoothing and folding are also possible. Since this smoothing sequence can be applied to the cepstrum in the same operation in which the folding sequence λmin[q] is applied, a single combined folding and smoothing sequence ωmin[q] is simply derived by the element-wise multiplication:
ψmin[q]=λmin[q]·φs[q]
An example plot of the combined folding and smoothing sequence ψmin[q] for L=64 is shown in
Utilizing such an optimized cepstral folding and smoothing technique provides for a real time adaptive filter realization block 1200 as shown in
The filter synthesis of the embodiment of
The present invention thus recognizes and overcomes a number of issues in order to use the cepstral minimum phase approximation for real time multi-band processing. In particular, the use and implementation of a suitable host processing structure such as the structure of
An important issue with the real time filter design structures of
An additional set of important effects are also unique to the filters designed by the schemes of
In practice, a number of measures can be taken in a processing scheme similar to that depicted in
Such preventative measures can be targeted at reducing the rate of gain variation in the filter specification GdB[k] across sub-bands, so that the synthesized filters are more likely to attain the peaks or troughs of the gain specification. Particularly for the purposes of applying sufficient attenuation to limit output levels, adjustment of GdB[k] prior to filter synthesis can assist in the filter obtaining the levels of attenuation in the minima of the gain specification. These measures include application of minimum and maximum gains over GdB[k], and/or further spectrally smoothing GdB[k], to reduce relative gain variation.
Compensatory measures are normally based on measuring the extent of gain errors, and compensating the output or specification GdB[k] accordingly. These measures usually form part of a more sophisticated gain control mechanism on the specification GdB[k] prior to the filter realization means in
Another class of measure predicts a particular level of gain variation that can be successfully attained by the filter design, and applies appropriate additional filtering measures in the signal path for levels of gain variation that exceed the maximum. These additional filtering measures can also include simply additional full-band gain, or additional adaptive IIR or FIR filters for example.
Note that a feed-back form of the structure in
Further, the cepstral minimum phase design mechanisms of
The complex exponential of blocks 810 and 1210 therefore often becomes the most computationally complex additional requirement for the schemes in
c+di=2a. log 2e·(cos b+i sin b)
However, the log gain specification is often effectively in a basis other than natural (base 2 or dB for example). Therefore, in the generalized case where the gain specification G[k]=z=a+bi=p.logk(c+di), and the base 2 exponential is available, we have:
c+di=2a. log 2(k)/p.(cos(b. logn(k)/p)+i sin(b. logn(k)/p))
For example, when G[k] is in dB,
GdB [k]=a+bi=20 log10(c+di),
c+di≈20.1661*a. (cos(0.1151*b)+i sin(0.1151*b))
The remaining task is to calculate the sine and cosine of the imaginary part This can be relatively easily accomplished by common approximation methods such as an interpolated look-up table, polynomial approximation, or CORDIC (COordinate Rotation DIgital Computer) algorithm for example. The approximation is often optimized to find both sine and cosine at the same time, and to minimize a particular form of approximation error, eg max or mean error in sine or cosine component, or the combined error (sum of squares for example). In the case of the current application, minimization of error in the resultant magnitude (sum of squares) is likely to be most desirable, since magnitude errors are likely to be more significant than phase errors.
The cepstral minimum phase schemes of
Further modeling was performed to examine the relative gain accuracy of the filter design schemes in more detail. The third embodiment (linear phase) and fourth and fifth embodiments (cepstral minimum phase) were used in a test case with ADRO and a speech input combined with a high level narrowband alarm signal for part of the signal. A telephony ADRO fitting was used with a sample rate of 8 kHz, and filter/FFT length of 32, for effectively 17 processing channels.
These characteristics, and the plots of
The results indicated by
The case study simulations were performed using a non-real time model of the signal processing systems in Matlab. A structure similar to
1. Telephony ADRO, fast adaptive gain slew rates, L=32, 17 channels, 8 kHz sample rate;
2. Hearing aid ADRO, fast adaptive gain slew rates, L=128, 65 channels, 16 kHz sample rate; and
3. Hearing aid ADRO, fixed slow slew rates, L=128, 65 channels, 16 kHz sample rate.
Note that several ADRO ‘fittings’ or target parameter sets were trialed for the hearing aid configurations. A key test case was a relatively extreme fitting for a severe audiogram developed in an actual fitting with a subject. This audiogram and the corresponding ADRO parameters are shown in
A series of audio test signals were applied in the simulations to obtain ADRO's natural response in terms of gain vs. time and frequency. The input signals tested included: 4. Several speech only signals;
5. Several speech signals with high or low frequency emphasis;
6. A speech signal with additional high level alarm during part of the speech period; and
7. Acoustic shock protection testing signals from the Telstra TT4 specification.
The case study results of Table 1 below were composed from testing the ADRO configurations (1) and (2) (with extreme fitting), and input signals (4) and (6). A fill set of additional plots showing the time order behavior of the input gain specification produced by ADRO, and the resulting behavior of the third embodiment and fifth embodiment, is shown for each case study in
In particular,
Finally,
Informal listening tests confirmed no perceivable imperfections or differences between the processed output signals for the case study tests of the third embodiment and fifth embodiment. The table following however provides a summary of the key quantitative results. Root mean square (rms) gain error, maximum absolute gain error, and mean group delay values were calculated across time and frequency for the processing in each case study. These results appear to confirm the findings from
It will be appreciated by persons skilled in the art that numerous variations and/or modifications may be made to the invention as shown in the specific embodiments without departing from the spirit or scope of the invention as broadly described. For example alternate architectures may be exploited within the scope of the present invention, and some example alternate architectures are illustrated in
Claims
1. A method of adaptively processing an input signal, the method comprising:
- passing the input signal through an adaptive time domain filter to produce an output signal;
- taking at least one of the input signal and the output signal as an analysis signal;
- transforming the analysis signal into a transform domain to produce a transformed analysis signal;
- analyzing the transformed analysis signal to produce a plurality of desired gains each corresponding to a respective transform domain sub-band;
- synthesizing a minimum phase time domain filter characteristic which approaches the desired gains; and
- updating the adaptive filter with the synthesized filter characteristic.
2. The method of claim 1 further comprising limiting phase non-linearity of the adaptive filter below a perception threshold.
3. The method of claim 1 wherein the adaptive filter is a FIR filter, and wherein synthesis of the minimum phase filter characteristic comprises:
- expressing a characteristic polynomial of the FIR filter;
- factoring the characteristic polynomial to locate poles and zeros of the FIR filter; and
- revising the characteristic polynomial by reciprocating each pole and zero outside the unit circle into the unit circle, to obtain a minimum phase FIR filter.
4. The method of claim 1 further comprising applying preventative measures to reduce the rate of gain variation between the desired gains, such that the synthesized filter is more likely to be able to replicate a response defined by the desired gains.
5. The method of claim 1 further comprising applying compensatory measures to measure the extent of gain errors in the output signal, and to apply appropriate feedback for ongoing iterations of generating desired gains and synthesizing the filter, so as to reduce such errors.
6. The method of claim 1 wherein the adaptive time domain filter is selected from a single FIR filter, a mix of filters, whether FIR or IIR, a non-linear filter and a neural network.
7. The method of claim 1 wherein updating the adaptive filter to at least approach the synthesized filter characteristic comprises varying the adaptive filter by no more than a pre-defined amount, in order to avoid inappropriate user perceptions.
8. A computer program for adaptively processing an input signal, the computer program comprising:
- code for passing the input signal through an adaptive time domain filter to produce an output signal;
- code for taking at least one of the input signal and the output signal as an analysis signal;
- code for transforming the analysis signal into a transform domain to produce a transformed analysis signal;
- code for analyzing the transformed analysis signal to produce a plurality of desired gains each corresponding to a respective transform domain sub-band;
- code for synthesizing a minimum phase time domain filter characteristic which approaches the desired gains; and
- code for updating the adaptive filter with the synthesized filter characteristic.
9. The computer program of claim 8 comprising code for limiting phase non-linearity of the adaptive filter below a perception threshold.
10. A device for adaptively processing an input signal, the device comprising:
- an adaptive time domain filter for producing an output signal from an input signal;
- a transform block for taking an analysis signal from at least one of the input signal and the output signal, and for transforming the analysis signal into a transform domain to produce a transformed analysis signal;
- a processor for analyzing the transformed analysis signal to produce a plurality of desired gains each corresponding to a respective transform domain sub-band;
- a filter synthesizer for synthesizing a minimum phase time domain filter characteristic which approaches the desired gains, and for updating the adaptive filter with the synthesized filter characteristic.
11. The device of claim 10 wherein the filter synthesizer is for limiting phase non-linearity of the adaptive filter below a perception threshold.
Type: Application
Filed: Mar 24, 2010
Publication Date: Aug 5, 2010
Patent Grant number: 8650237
Applicant: Dynamic Hearing Pty Ltd (Richmond)
Inventors: Bonar Dickson (Richmond), Brenton Robert Steele (Blackburn South)
Application Number: 12/731,074
International Classification: G06F 17/14 (20060101);