Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
APPARATUS AND METHOD FOR A LOW POWER DIGITAL FILTER BANK
Document Type and Number:
WIPO Patent Application WO/1998/049775
Kind Code:
A1
Abstract:
A digital finite impulse response bandpass filter is described. Analog to digital conversion (A/D) of an input signal uses a Sigma-Delta ($g(S)-$g(D)) converter, resulting in a digital sequence representation of the input signal. A low-pass FIR filter convolves the binary sequence to produce a low-pass vector, and a digital comb filter defined by at least one set of weighted and time-shifted unit impulses convolves the low-pass vector with the comb filter weights. An envelope detector detects a bandpass envelope of the digital FIR bandpass filter. Also described is a filter bank of a plurality of such digital FIR filters arranged in parallel. A square root of a sum of squares of the convolution products of the low-pass vector with the comb filter weights is calculated to estimate the bandpass envelope. The square root of the sum of two squares is estimated by determining the greater of the roots of the two squares and the lesser of the roots of the two squares, calculating a sum of one half the lesser of the roots of the two squares and one half a product of the greater of the roots of the two squares and the square root of three, and selecting whichever is larger between the greater of the roots of the two squares and the sum of one half the lesser of the roots of the two squares and one half the product of the greater of the roots of the two squares and the square root of three.

Inventors:
ZIERHOFER CLEMENS (AT)
Application Number:
PCT/US1998/008520
Publication Date:
November 05, 1998
Filing Date:
April 28, 1998
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
MED EL ELEKTROMED GERAETE GMBH (AT)
International Classes:
H03H15/00; H03H17/00; H04R25/00; H03H17/02; H03H17/06; (IPC1-7): H03H17/06; H03H17/02
Foreign References:
US5408235A1995-04-18
Attorney, Agent or Firm:
Sunstein, Bruce D. (125 Summer Street Boston, MA, US)
Download PDF:
Claims:
1. A digital finiteimpulseresponse (FIR) bandpass filter for processing an input signal, the filter comprising: an oversamplingtype analog to digital converter to convert the input signal into a digital sequence; a lowpass FIR filter to convolve the digital sequence to produce a low pass vector; a digital comb filter defined by at least one set of comb filter weights representative of weighted and timeshifted unit impulses to convolve the lowpass vector with the comb filter weights; and an envelope detector to detect a bandpass envelope of the digital FIR bandpass filter.
2. A digital FIR bandpass filter as in claim 1, wherein the analog to digital converter uses sigmadelta modulation.
3. A digital FIR bandpass filter as in claim 1, wherein the digital sequence is a twolevel binary sequence.
4. A digital FIR bandpass filter as in claim 1, wherein the lowpass FIR filter directly convolves the digital sequence by multiplying and accumulating the digital sequence with a lowpass FIR filter impulse response.
5. A digital FIR bandpass filter as in claim 1, wherein the lowpass FIR filter is further comprised of: an input filter to convolve the digital sequence to produce a multilevel sequence having a plurality of allowable values; a peripheral filter to convolve the multilevel sequence to produce the lowpass vector; an output stage including at least one output counter to downsample the lowpass vector at selected times; and a lowpass random access memory (RAM) to sequentially store the downsampled lowpass vector.
6. A digital FIR bandpass filter as in claim 5, wherein the multilevel sequence is a five level sequence.
7. A digital FIR bandpass filter as in claim 5 wherein the digital comb filter is further comprised of: a comb filter weight RAM to store the sets of comb filter weights; and an Arithmetic Logic Unit (ALU) to calculate a convolution product of the downsampled lowpass vector with the comb filter weights.
8. A digital FIR bandpass filter as in claim 7 wherein the comb filter weight RAM stores two orthogonal sets of comb filter weights and the ALU calculates convolution products of the downsampled lowpass vector with the two orthogonal sets of comb filter weights.
9. A digital FIR bandpass filter as in claim 8, wherein the ALU further comprises the envelope detector.
10. A digital FIR bandpass filter as in claim 9, wherein the ALU operates at a frequency less than two times a maximum bandpass frequency of the digital FIR bandpass filter.
11. A digital FIR bandpass filter as in claim 9, wherein the ALU estimates the bandpass envelope of the digital FIR bandpass filter by: calculating a square root of a sum of squares of the convolution products calculated by the ALU.
12. A digital FIR bandpass filter as in claim 11, wherein the ALU estimates the value of the square root of the sum of two squares by: determining the greater of the roots of the two squares and the lesser of the roots of the two squares; calculating a sum of one half the lesser of the roots of the two squares and one half a product of the greater of the roots of the two squares and the square root of three; and selecting whichever is larger between the greater of the roots of the two squares and the calculated sum.
13. A digital FIR bandpass filter as in claim 1, wherein the envelope detector detects a bandpass envelope of the digital FIR bandpass filter by calculating a square root of a sum of squares of the convolution products calculated by the digital comb filter.
14. A digital FIR bandpass filter as in claim 13, wherein the envelope detector estimates the value of the square root of the sum of two squares by: determining the greater of the roots of the two squares and the lesser of the roots of the two squares; calculating a sum of one half the lesser of the roots of the two squares and one half a product of the greater of the roots of the two squares and the square root of three; and selecting whichever is larger between the greater of the roots of the two squares and the calculated sum.
15. A cochlear implant system comprising: an implantable portion for implantation into a person to provide auditory signals to the patient; and an external portion to provide the auditory signals to the implantable portion, the external portion including the digital FIR bandpass filter of claim 1.
16. A method of processing an input signal by a digital finiteimpulse response (FIR) bandpass filter, the method comprising: converting the input signal into a digital sequence in a digital to analog converter by oversampling; convolving the digital sequence in lowpass FIR filter to produce a low pass vector; convolving the lowpass vector in a digital comb filter defined by at least one set of comb filter weights representative of weighted and time shifted unit impulses; and detecting in an envelope detector a bandpass envelope of the digital FIR bandpass filter.
17. A method of processing an input signal by a digital finiteimpulse response (FIR) bandpass filter, the method comprising: converting the input signal into a digital sequence in a digital to analog converter by oversampling; convolving the digital sequence in an input filter to produce a multilevel sequence having a plurality of allowable values; directly convolving the multilevel sequence in a peripheral filter to produce a lowpass vector; downsampling the lowpass vector at selected times with an output stage which includes at least one output counter; sequentially storing the downsampled lowpass vector in a lowpass random access memory (RAM); calculating in an Arithmetic Logic Unit (ALU) convolution products of the downsampled lowpass vector with two orthogonal sets of comb filter weights representative of weighted and time shifted unit impulses of a digital comb filter; estimating in the ALU a bandpass envelope of the digital FIR bandpass filter by calculating a square root of a sum of squares of the convolution products calculated by the ALU, the value of the square root of the sum of two squares being estimated by: determining the greater of the roots of the two squares and the lesser of the roots of the two squares; calculating a sum of one half the lesser of the roots of the two squares and one half a product of the greater of the roots of the two squares and the square root of three; and selecting whichever is larger between the greater of the roots of the two squares and the calculated sum.
18. A digital filter bank for processing an input signal, comprised of a plurality of digital finiteimpulseresponse (FIR) bandpass filters arranged in parallel, the filter bank comprising: an oversamplingtype analog to digital converter to convert the input signal into a digital sequence; a plurality of lowpass FIR filters arranged in parallel to convolve the digital sequence to produce a plurality of lowpass vectors; a plurality of digital comb filters each associated with one of the plurality of lowpass FIR filters and each defined by at least one set of comb filter weights representative of weighted and timeshifted unit impulses wherein each of the plurality of digital comb filters convolves the lowpass vector from the associated lowpass FIR filter with the comb filter weights; and an envelope detector to sequentially detect a bandpass envelope of each of the plurality of digital FIR bandpass filters.
19. A digital filter bank as in claim 18, wherein the analog to digital converter uses sigmadelta modulation.
20. A digital filter bank as in claim 18, wherein the digital sequence is a two level binary sequence.
21. A digital filter bank as in claim 18, wherein each of the plurality of low pass FIR filters directly convolves the digital sequence by multiplying and accumulating the digital sequence with a lowpass filter impulse response.
22. A digital filter bank as in claim 18, wherein each of the plurality of FIR bandpass filters multiplies the weighted and time shifted unit impulses of the associated comb filter by a scaling factor inversely proportional to a center bandpass frequency of the FIR bandpass filter in order to equally amplify the bandpass frequencies of the FIR bandpass filter.
23. A digital filter bank as in claim 18, wherein the plurality of lowpass FIR filters is further comprised of: an input filter which convolves the digital sequence to produce a multi level sequence having a plurality of allowable values; a plurality of peripheral filters arranged in parallel which convolve the multilevel sequence to produce the plurality of lowpass vectors, and wherein each of the peripheral filters includes: an output stage including at least one output counter which downsamples the lowpass vector at selected times, and a lowpass random access memory (RAM) which sequentially stores the downsampled lowpass vector.
24. A digital filter bank as in claim 23, wherein the multilevel sequence is a five level sequence.
25. A digital filter bank as in claim 23, wherein the plurality of digital comb filters is further comprised of: a comb filter weight RAM for storing the sets of comb filter weights for each of the plurality of digital comb filters; and an Arithmetic Logic Unit (ALU) to sequentially calculate a convolution product of each of the plurality of downsampled lowpass vectors with the comb filter weights of the associated digital comb filter.
26. A digital filter bank as in claim 25, wherein the comb filter weight RAM stores two orthogonal sets of comb filter weights for each of the plurality of digital comb filters and the ALU sequentially calculates convolution products of each of the plurality of downsampled lowpass vectors with the two orthogonal sets of comb filter weights of the associated digital comb filter.
27. A digital filter bank as in claim 26, wherein the ALU further comprises the envelope detector.
28. A digital filter bank as in claim 27, wherein the ALU operates at a frequency less than two times a maximum bandpass frequency of the digital filter bank.
29. A digital filter bank as in claim 27, wherein the ALU estimates the bandpass envelope of each of the plurality of FIR bandpass filters by: calculating a square root of a sum of squares of the convolution products of the downsampled lowpass vectors with the two orthogonal sets of comb filter weights of the associated digital comb filter.
30. A digital filter bank as in claim 29, wherein the ALU estimates the value of the square root of the sum of two squares by: determining the greater of the roots of the two squares and the lesser of the roots of the two squares; calculating a sum of one half the lesser of the roots of the two squares and one half a product of the greater of the roots of the two squares and the square root of three; and selecting whichever is larger between the greater of the roots of the two squares and the calculated sum.
31. A digital filter bank as in claim 18, wherein the envelope detector sequentially detects a bandpass envelope of each of the plurality of FIR bandpass filters by calculating for each of the plurality of digital comb filters a square root of a sum of squares of the convolution products calculated by the digital comb filter.
32. A digital FIR bandpass filter as in claim 13, wherein the envelope detector estimates the value of the square root of the sum of two squares by: determining the greater of the roots of the two squares and the lesser of the roots of the two squares; calculating a sum of one half the lesser of the roots of the two squares and one half a product of the greater of the roots of the two squares and the square root of three; and selecting whichever is larger between the greater of the roots of the two squares and the calculated sum.
33. A cochlear implant system comprising: an implantable portion for implantation into a person to provide auditory signals to the patient; and an external portion to provide the auditory signals to the implantable portion, the external portion including the digital filter bank of claim 18.
34. A method of processing an input signal by a digital filter bank comprised of a plurality of digital finiteimpulseresponse (FIR) bandpass filters arranged in parallel, the method comprising: converting the input signal into a digital sequence in a digital to analog converter by oversampling; convolving the digital sequence in each of a plurality of lowpass FIR filters arranged in parallel to produce a plurality of lowpass vectors; sequentially convolving each of the plurality of lowpass vectors in a plurality of digital comb filters each associated with one of the plurality of lowpass FIR filters and each defined by at least one set of comb filter weights representative of weighted and timeshifted unit impulses; and sequentially detecting in an envelope detector a bandpass envelope of each of the plurality of digital FIR bandpass filters.
35. A method of processing an input signal by a digital filter bank comprised of a plurality of digital finiteimpulseresponse (FIR) bandpass filters arranged in parallel, the method comprising: converting the input signal into a digital sequence in a digital to analog converter by oversampling; convolving the digital sequence in an input filter to produce a multilevel sequence having a plurality of allowable values; directly convolving the multilevel sequence in each of a plurality of peripheral filters arranged in parallel to produce a plurality of low pass vectors; downsampling each of the plurality of lowpass vectors at selected times with an associated output stage which includes at least one output counter; sequentially storing the plurality of downsampled lowpass vectors in a plurality of associated lowpass random access memories (RAMs); sequentially calculating in an Arithmetic Logic Unit (ALU) convolution products of each of the plurality of downsampled lowpass vectors with two orthogonal sets of comb filter weights representative of weighted and time shifted unit impulses of an associated digital comb filter; sequentially estimating in the ALU a bandpass envelope of each of the plurality of FIR bandpass filters by calculating a square root of a sum of squares of the convolution products each of the plurality of downsampled lowpass vectors with the two orthogonal sets of comb filter weights of the associated digital comb filter, the value of the square root of the sum of two squares being estimated by: determining the greater of the roots of the two squares and the lesser of the roots of the two squares; calculating a sum of one half the lesser of the roots of the two squares and one half a product of the greater of the roots of the two squares and the square root of three; and selecting whichever is larger between the greater of the roots of the two squares and the calculated sum.
Description:
APPARATUS AND METHOD FOR A LOW POWER DIGITAL FILTER BANK TECHNICAL FIELD The present invention pertains to low power digital signal processing particularly as employed in cochlear implants.

BACKGROUND OF THE INVENTION In the field of cochlear implants, electrostimulation of the acoustic nerve by the technique of continuous interleaved sampling (CIS) has successfully achieved high levels of speech recognition. The signal processing used in CIS, as implemented in an external speech processor, commonly employs a filter bank for splitting up the audio frequency range. The amplitudes of the stimulation pulses within the cochlea are derived from the envelopes of the band pass filter output signals.

At present, commercially available Digital Signal Processors (DSP) are used to perform speech processing according to CIS. For example, the digital signal processing for a 12-channel CIS typically comprises the following stages: (1) a digital filter bank having 12 digital Butterworth band pass filters of 6th order, Infinite Impulse Response (IIR) type; (2) 12 subsequent rectifiers and 12 digital Butterworth low pass filters of 2nd order, IIR-type, for envelope detection; and (3) a stage for patient specific estimation of the stimulation amplitudes from the envelope signals.

The DSP power consumption in a speech processor typically is about 300 mW. Thus, comparatively large batteries (usually AA-sized) are necessary, resulting in speech processor dimensions of about 90 x 70 x 20 mm3.

SUMMARY OF THE INVENTION In accordance with a preferred embodiment of the present invention,

there is provided an apparatus for processing an audio input signal with a digital finite-impulse-response (FIR) bandpass filter. In this embodiment, the FIR bandpass filter has an oversampling type analog to digital converter to convert the input audio signal into a digital sequence, a low-pass FIR filter to convolve the binary sequence to produce a low-pass vector, a digital comb filter defined by at least one set of weighted and time-shifted unit impulses to convolve the low-pass vector with the comb filter weights, and an envelope detector to detect a bandpass envelope of the digital FIR bandpass filter.

In further embodiments, the analog to digital converter may use sigma- delta modulation to produce a two-level binary sequence. The low-pass FIR filter may directly convolve the digital sequence by multiplying and accumulating the digital sequence with a low-pass FIR filter impulse response.

The low-pass FIR filter may be further comprised of an input filter to convolve the binary sequence to produce a five level sequence, and a peripheral filter to convolve the five level sequence to produce the low-pass vector. The low-pass filter may further include an output counter to downsample the low-pass vector which may further be sequentially stored in a low-pass random access memory (RAM).

Also in further embodiments, the digital comb filter may further include comb filter weight RAM to store the sets of comb filter weights and an Arithmetic Logic Unit (ALU) to calculate a convolution product of the downsampled low-pass vector with the comb filter weights. The comb filter weight RAM may store two orthogonal sets of comb filter weights, in which case, the ALU further calculates convolution products of the downsampled low- pass vector with the two orthogonal sets of comb filter weights. The ALU may comprise the envelope detector, in which case it estimates an envelope of the digital FIR bandpass filter by calculating a square root of a sum of squares of the convolution products of the downsampled low-pass vector with the two orthogonal sets of comb filter weights. The ALU estimates the value of the square root of the sum of two squares by determining the greater of the roots of the two squares and the lesser of the roots of the two squares, calculating a sum

of one half the lesser of the roots of the two squares and one half a product of the greater of the roots of the two squares and the square root of three, and selecting whichever is larger between the greater of the roots of the two squares and the sum of one half the lesser of the roots of the two squares and one half the product of the greater of the roots of the two squares and the square root of three.

In accordance with another embodiment of the present invention, a plurality of such digital FIR bandpass filters may be arranged in parallel to form a digital filter bank. In yet a further embodiment, such a digital FIR bandpass filter or a filter bank of such digital FIR bandpass filters may be a subpart of an external portion of a cochlear implant system for providing auditory signals to an implantable portion for implantation into a person.

BRIEF DESCRIPTION OF THE DRAWINGS The foregoing and other objects and advantages of the invention will be appreciated more fully from the following further description thereof with reference to the accompanying drawings wherein: Fig. 1 depicts the impulse response h(n) for s = 72 and wi = (3-30 80-128 142-10753-13).

Fig. 2 depicts the amplitude characteristics of low pass filter Htp(f), comb filter Ws(f), and the resulting band pass filter H(f) for s = 72 and wj = (3-30 80 - 128 142-107 53 -13).

Fig. 3 depicts the approximately orthogonal impulse responses h(n) and h(n) for s = 72, wi = (3-30 80-128 142-107 53 -13) and w = (13-53 107-142 128 -8030-3).

Fig. 4 depicts a block diagram of the implementation of a 12-channel filter bank.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS A preferred embodiment of the present invention implements a digital signal processing scheme for CIS implementation suitable for integration in an

Application Specific Integrated Circuit (ASIC). This significantly reduces the power consumption of the CIS speech processing as compared to prior techniques, which enables miniaturization of the speech processor to a Behind- The-Ear (BTE) device.

A preferred embodiment of the present invention includes an implementation of a digital filter bank with estimation of the envelopes of the band pass filter bank. For example, a preferred embodiment employs a 12 channel filter bank wherein each channel is designed to pass only a relatively narrow selected band of frequencies around some center frequency. By proper selection of filter channel frequencies, the entire filter bank may process all or a large part of the audio frequency spectrum.

In a preferred embodiment, an input audio signal initially undergoes analog-to-digital conversion by use of Sigma Delta (E) Modulation at a relatively high sampling rate, f0, resulting in a two-level sequence x(n) at the rate f0. Each filter channel of the digital filter bank in a preferred embodiment then employs fixed impulse response (FIR) bandpass filters. The center frequency fr of each FIR band-pass filter is related to the approximate S-A rate f0 and an integer parameter s by: <BR> <BR> <BR> <BR> <BR> fo <BR> <BR> <BR> <BR> <BR> l.

Each FIR band-pass filter also has a filter characteristic defined by a set of comb filter weights w, with typically i = 0, 1,... 7. In general, bell-shaped pass band characteristics are obtained, with side lobes typically attenuated by 24 dB.

For each filter channel of a preferred embodiment, envelope detection is achieved by implementing two FIR band-pass filters with approximately orthogonal impulse responses h(n) and h(n). The impulse responses h(n) and h(n) have equal (or almost equal) filter amplitude characteristics. Thus, the convolution products y(n) = h(n)*x(n) and p(n) = h(n)*x(n) are related to each other via the Hilbert Transform. Final estimation of the bandpass envelopes of each filter channel employs the equation:

as performed within an Arithmetic Logic Unit (ALU) by use of an approximation method. The calculation error is between 0 and -3.4%.

A more detailed description of a preferred embodiment of the present invention starts with analog-to-digital conversion of an analog input signal, accomplished by means of a Sigma-Delta (-b) modulator. Sigma Delta modulation is a well-known method of analog-to-digital conversion by the oversampling technique, described in greater detail in J.C. Candy and G.C.

Temes, "Oversampling Delta-Sigma Converters," Oversampling Methods for A/D and D/A Conversion, eds. J.C. Candy and G.C. Temes, IEEE Press, 1991, incorporated herein by reference. The output of the -A modulator is a binary sequence x(n) e [-1, +1] at a rate equal to the sampling rate f0. The spectrum X(f) of x(n) is composed of the spectrum of the audio input signal plus the shaped spectrum of the quantization noise.

For each filter channel of a preferred embodiment, the convolutions of the input S-t input sequence x(n) with orthogonal FIR filter impulse responses h(n) and h(n), respectively, are performed in two stages: peripheral convolution and central convolution. The peripheral convolution involves low pass filtering and downsampling in a peripheral filter stage. Downsampling, or decimation, is the reduction in sampling rate by an integral factor. The low pass filter is operated at the comparatively high z rate f0, but the impulse response of the low pass filter is extremely simple. Thus, the implementation requires only few binary counters with variable increments. The peripheral convolution results are stored in a peripheral RAM (Random Access Memory) at a rate (1/4s) which corresponds to a decimation by a factor of 4s. Each peripheral convolution stage is implemented such that it operates completely independently of the following processing stages.

The central convolution stage of a preferred embodiment involves convolution of the peripheral convolution results with two sets of comb filter weights. This is performed by means of an Arithmetic Logic Unit (ALU), which is driven by a micro program. Similar to a DSP, comparatively complicated

operations, e.g. Multiply-and-Accumulate (MAC) operations, are performed.

However, since the bandwidth of the envelope signals is comparatively low, the clock frequency of the ALU can be kept very low, resulting in strongly reduced ALU power consumption.

The computational efficiency of the direct convolution technique of preferred embodiments is actually the result of choosing a low order filter design with a generally bell-shaped frequency response rather than a higher order filter with a more well-defined frequency response. Although a sixth order infinite impulse response Butterworth filter typically used in the prior art may have more sharply defined frequency responses, such a design requires significantly more system computations which in aggregate require relatively substantial power resources. Moreover, some preliminary informal data suggest that users are not sensitive to the difference in frequency response. In fact, users actually seem to prefer the bell-shaped bandpass frequency response of preferred embodiments of the present invention over the more sharply defined frequency responses characteristic of the prior art.

Each digital bandpass filter channel of a preferred embodiment is implemented by directly using the two-level high-frequency sequence x(n). The impulse response h(n) is of finite length (FIR-type) and can be written as the convolution product of the impulse responses of a low pass filter hlp(n) and a comb filter t5 (n) : h(n) = h,,(n)* Ilr,(n). (Eq. 1) The low pass filter hlp(n) represents the peripheral convolution stage and the comb filter #s(n) represents the central convolution stage described above. The low pass filter impulse response hlp(n) is further the convolution product of two filter impulse responses h,(n) and hs(n), i.e., hlp(n) = ho(n)*h(n). (Eq. 2) Response h0(n) is given by:

For convenience, here and in the following, a finite impulse response is defined by a vector. Coefficients within the brackets denote the values of the impulse response at n = 0, 1, etc. Coefficients outside the range covered by the brackets are zero. MATLAB notation for vectors is used.

Filter Impulse response hs(n) is composed of two vectors hs,up and hs,down, hs(n) = [hs,up hs,down], (Eq. 4) and shows even symmetry, i.e., hs,down = hs,up(length(hs,up):-1:1). (Eq. 5) Vector hs,up has of four segments of equal lengths s, respectively, hs,up=[hs,a hs,b hs,c hs,d] (Eq. 6) where hs,a = [1 0 1 0 1.......] (Eq. 7a) hs,b = [1 1 1 1 1.......] (Eq. 7b) hs,c = [2 1 2 1 2.......] (Eq. 7c) hs,d = [2 2 2 2 2.......]. (Eq. 7d) Convolution of hs(n) with h0(n) removes the oscillating character of segments hs,a and hs,c resulting in a stair-like response hlp(n).

For example, hs(n) for s = 4 is given by h5 (n) = [1 0 1 0 1 1 1 1 2 1 2 1 2 2 2 2 2 2 2 2 1 2 1 2 1 1 1 1 0 1 0 1]. (Eq. 8) Convolution with h0(n) yields <BR> <BR> <BR> <BR> <BR> (Eq. 9)<BR> hlp(n) = [½ 1 1 1 1 3/2 2 2 5/2 3 3 3 3 7/2 4 4 4 4 4 4 7/2 3 3 3 3 5/2 2 2 3/2 1 1 1 1 ½].

Filter response #s(n) represents a comb filter composed of a set of weighted and equidistant unit impulses, The distance between the unit impulses is 8s. Weights wi (i = 0, 1,.. .7) are usually derived by sampling a window function (e.g., Hamming window) and then multiplying every second sample with -1, resulting in a sequence with

alternating sign. Convolution of #s(n) with impulse response h,,(n) causes a superposition of eight amplified and time-shifted responses hlp(n).

An embodiment of an FIR impulse response h(n) for s = 72, wi = (3-30 80 - 128 142-10753-13) is shown in FIG.1. Response h(n) represents a band pass filter with a resonance frequency which is approximately defined by the distance between the zero crossings. It aims at approximating an impulse response composed of four periods of a window-weighted sinusoid. In the frequency domain, the convolution product of Eq. 1 is replaced by the product of the corresponding Fourier transforms of low pass filter Hlp(f) and comb filter 'Ps(f), i.e., H(f) = Hlp(f) #s(f). (Eq. 11) The low pass filter H, p (f) tends to select the first main lobe of Ws(f), resulting in band pass filter H(f). Side lobes occur at odd multiples of fr. The side lobe with the maximum amplitude is at a frequency = 15fr, and the attenuation is about 24 dB. An example is shown in FIG .2 for s = 72 and wi = (3-30 80-128 142-10753 - 13). Filters Hlp(f) and #s(f) are connected via parameter s, which defines the position of the zeros of Hlp(f) as well as the resonance frequencies in Ws(f). Thus, for a given set of weights wi, the following characteristic parameters of filter function H(f) are almost independent of s: * relative position of zeros referred to the main lobe resonance frequency * relative position of center frequencies of side lobes with respect to the resonance frequency * quality factor of the main lobe, and * side lobe attenuation referred to the amplification at resonance frequency.

However, the absolute amplification is proportional to s, since the energy of hlp(n) is proportional to s. In order to achieve equal amplification at the resonance frequencies for different parameters s, it is necessary to multiply coefficients wi with a scaling factor proportional to 1/s.

Envelope detection in a preferred embodiment is achieved by implementing a second filter with an impulse response h(n) which is

approximately orthogonal to h(n): h(n) = hlp(n)*#s(n) (Eq. 12) with The unit impulse responses in #s(n) are shifted by 4s compared to the unit responses in #s(n), and a different set of weights wi is used. Fig.3 illustrates the impulse responses h(n) and h(n) for an embodiment where s = 72 and weights wi = (3-3080 -128 142 -107 53 -13] and w = (13-53107-142128-8030 -3). Here, coefficients wi are equal to the set wi, but with reversed order and different sign.

In this case, h(n) can be obtained from h(n) by mirroring h(n) in time, inverting the sign, and introducing a time shift. Thus the amplitude characteristics |H(f)| and I ~ (f) I are identical.

Filtering the -A sequence x(n) with the FIR-filters h(n) and h(n) results in y (n) = x(n)*h(n) y(n) = x(n)*h(n) (Eq. 14) The envelope signal e(n) is defined by The resonance frequency fr of filters I H(f) I and I H(f) I is approximately defined by the distance 16s between the zero crossings, i.e., f 0 fo 16s. (Eq. 16) This definition results in a relatively fine resolution of the positions of possible resonance frequencies. For example, with f0 = 1 MHZ, fri = 1.008 kHz for s1 = 63, and fr2 = 0.992 kHz for s2 = 62, resulting in a relative difference (fr1 - fr2)/fr1 = 1.6%. However, the resolution is decreasing for higher resonances frequencies.

Approximation of the square root of the sum of squares. In the present application, the estimation of the square root of the sum of two squared numbers, i.e., required for the calculation of e(n) to estimate the

envelope, is achieved with the following three-step approach. Let a and b be two positive numbers. Then, (1) determine the maximum max(a,b) and the minimum min(a,b), (2) calculate #3/2 max (a,b) + ½ min (a,b), and (3) determine the maximum max(max(a,b), #3/2 max (a,b) + ½ min (a,b)).

The result of step (3) represents the approximation to If numbers a and b define two complex vectors a+jb and b+ja, then in step (1), out of these two vectors the one with an argument between 0 and 45 degrees is selected. This vector is rotated clockwise by 30 degrees. Step (2) calculates the real part of this vector. In step (3), the real parts of the rotated and unrotated vectors are compared, and the maximum is the desired approximation.

For example, with a = 45 and b = 57: (1) max(a,b) = 57 and min(a,b) = 45, (2) #3/2 max (a,b) + ½ min (a,b) = 71.86, and (3) max(max(a,b), #3/2 max (a,b) + ½ min (a,b) ) = 71.86.

Here, the approximation 71.86 is about 1% smaller than the exact result It can be shown that the deviation of the approximation to the correct value lies between 0% and -3.4%. The worst case occurs with a = b. Then, the <BR> <BR> <BR> approximation yields a * cos(#/@) = a * 0.9659. The implementation of this<BR> <BR> 12 method in the ALU requires only two comparisons of numbers (steps (1) and (3)) and one multiply and accumulate (MAC) instruction (step (2)) including one non-trivial multiplication (factor #3/2 ). It does not require a look-up-table, which is usually used to estimate the square root.

The signal processing so far has been derived with signals sampled at the sampling frequency f0. However, calculation of signal e(n) at a rate f0 is not necessary, since the sampling rate fenv necessary for the digital representation of

the envelope of a band pass signal is much lower. The lower limit for fenv theoretically is given by fenv,min = 2B, (Eq. 17) where B is the bandwidth of the band pass filter. In fact, the rate f,nv,mm' is even considerably lower than the Nyquist rate (given by maximum signal frequency of the band pass signal times two). Thus, the method used by preferred embodiments of the invention define orthogonal impulse responses h(n) and h(n) that allow an efficient implementation of downsampling stages and that is applicable for the integration in a digital low power ASIC (Application Specific Integrated Circuit).

An example of an embodiment of a 12-channel filter bank in the context of a cochlear implant system is illustrated in FIG. 4. A microphone 10 worn behind the ear of a user transforms the acoustic signals in the user's environment into analog electrical signals. A preprocessor 12 performs additional preprocessing of the signal such as pre-emphasis or automatic gain control. The input audio signal is analog to digital converted by a -A modulator 14 which uses the oversampling technique to produce a relatively high frequency digital sequence x(n) which is representative of the input audio signal at sampling frequency f0. The #-# sequence x(n) is then input to an input filter 16 where it is convolved with the input filter impulse response h0(n). Due to the simplicity of impulse response h,(n), this convolution requires only a few logic gates which convert the two level #-# sequence x(n) E [-1, +1] into a five-level sequence x0(n) # [0, +1, i2]. The rate of x,(n) is equal to the S-t sampling frequency f0.

Peripheral filters 18 of each of the 12 filter bank channels perform the convolution of the five-level sequence x,(n) from the prefilter 16 with the impulse response hs,k(n) of each peripheral filter 18 (see Equations 4-7 and accompanying text) and downsample the result by a factor 4sk, where k represents each of the filter channels, k = 1, 2,... 12. Convolving x,(n) with hs,k(n) means to multiply and accumulate x,(n) and hs,k(n). Because of h,,(n) C [0, 1, 2] and x,(n) E [0, +1, #2], the possible multiplication results are 0, +1, +2, and +4.

These are powers of two and thus the convolution product at a particular time

instance can be calculated with the help of a binary counter with variable increments 0, +1, +2 and +4. Since the length of hs,k(n) is 8sk, the calculation of the downsampled convolution product, at a rate of (1 /4Sk)fo, requires two counters with variable increments, where the starting times of the two counters are offset by 4sk. Sampling rate (1/4sk)f0 is four times higher than the resonance frequency of each filter as estimated in Eq. 16, and thus usually considerably higher than the minimum frequency f,nv,rn as defined in Eq. 17.

The convolution products at the peripheral filter counter outputs are then stored in turns in a 16-word peripheral convolution RAM 20 (also called a low pass RAM) where the sequence of RAM addresses is... 0, 1, 2,... 14, 15, 0, 1,...

(ring configuration). For each filter channel, the combination of peripheral filter 18 with peripheral convolution RAM 20 requires only parameter 5k for correct operation, which is set during an initialization procedure by a controller unit 24.

After initialization, the filter and WRITE operations of peripheral filters 18 and peripheral convolution RAMs 20 work completely autonomously, without being influenced by controller unit 24 or any other signal processing stage.

The controller unit 24 in combination with a central convolution parameter RAM 26 (also called a comb filter weight RAM) also provides the instructions for an Arithmetic Logic Unit (ALU) 28 to perform the central convolutions with the comb filter weights and estimations of each bandpass envelope. If the controller unit 24 initiates the estimation of an envelope sample, the output of the peripheral convolution RAM 20 of the selected filter channel is connected to the ALU 28 via a multiplexer 22, and the actual contents of that peripheral convolution RAM 20 are read into the ALU 28. The 16 words from the RAM are organized as two sets of eight words, which are multiplied and accumulated with the corresponding sets of eight comb filter weights Wi,k and Wi,k (i = 0, 1,... 7) which are read out from the central convolution parameter RAM 26 where they are stored during an initialization procedure. The resulting outputs are the orthogonal filter output signals yk(n 1) and k (n 1) (cf. Eqs.14), where the argument n l denotes downsampling. The estimation of these signals yk(n#) and yk(n#) requires 16 multiply and accumulate (MAC) instructions

within the ALU 28. Together with the estimation of e,(n l) from y,(n l) and yk (n l) (cf. Eq. 15), in all, 17 ALU instructions are necessary.

Thus, the ALU 28 produces a sequence of instantaneous bandpass envelopes for each filter channel. In the context of a cochlear implant system, the ALU 28 of a preferred embodiment would also adjust the envelope amplitude by a loudness mapping function specific to the individual user' s hearing abilities. The loudness mapping may be an instantaneous logarithmic compression of the envelope and adjustment of the envelope amplitude above a threshold discerning level to a comfortable hearing level. The data coding and rf-stage 30 converts the sequence of instantaneous bandpass envelopes for each filter channel into a digital data stream which is radio transmitted. The implanted rf receiver/stimulator 32 worn by the user converts the received radio signal into narrow amplitude modulated biphasic stimulation pulses arranged sequentially by frequency band. Each frequency band has an associated electrode within the implanted portion of the device such that the electrode for a given frequency band will stimulate the neural fibers for that band of frequencies with the cochlea of the ear. As a result, the pulsatile stimulation of the cochlear neural fibers by the electrodes 34 induce stochastically distributed action potentials in the neural fibers which resemble the physiological response patterns of the stochastic activations of neural fibers in a healthy ear.

The envelope signals e,(n l) in FIG. 4 are calculated sequentially, controlled by a micro program. For example, a filter bank composed of 12 filter channels with equal bandwidths B = 1 kHz, the minimum rate for calculating the envelope signals is given by 12*f;nv,min' = 12*2*1 kHz = 24 kHz. Assuming that one clock cycle is necessary to execute one ALU instruction, the minimum ALU- clock frequency fALU,rnin is given by ALU,min = 17*12*2B = 408 kHz. This operating frequency is far below the frequency usually used in DSPs.

Regarding the power consumption of the structures in FIG. 4, it is useful to separate the convolutions of the input input sequence x(n) with h(n) and h(n) into the two stages of peripheral convolution and central convolution. The peripheral convolution involves low pass filtering and downsampling in

peripheral filter stages. These peripheral filters are operated at the comparatively high rate f0, but the impulse responses are extremely simple.

In combination with downsampling, the implementation requires only two counters with variable increments. Thus, the power consumption can be kept extremely low, if asynchronous counters are used. If an asynchronous counter of arbitrary length is driven at clock frequency f0, then on average only two flip flops toggle and hence contribute to the power consumption. For example, for a 12-channel filter bank, an overall number of 12x2x2 = 48 flip flops in average are toggled at 6. Assuming f0 = 1 MHZ and a power consumption of 10 uW/MHZ per flip flop results in a power consumption of only 0.48 mW.

The central convolution performs the convolution of the downsampled low pass filter output with the comb filter weights wt, and wi,k (i = 0, 1,... 7). This step requires more complex hardware, including an ALU which contains registers, a multiplier, etc., however, the clock frequency of the ALU can be kept very low. For example, in an ALU composed of 6000 logical gates, approximately 30% of the logical gates would be active at any given time.

Assuming a power consumption of 3 /2W/MHZ per gate, and a clock frequency of fALU = 408 kHz results in a power consumption of 2.2 mW. Thus, in the presented example, the power consumption of peripheral plus central convolution is approximately 2.68 mW, which is less than 1% of the 300 mW power consumption typical in a commercial DSP implementation of the CIS strategy.

Although various exemplary embodiments of the invention have been disclosed, it should be apparent to those skilled in the art that various changes and modifications can be made which will achieve some of the advantages of the invention without departing from the true scope of the invention. These and other obvious modifications are intended to be covered by the appended claims.




 
Previous Patent: SURFACE ACOUSTIC WAVE MATCHED FILTER

Next Patent: DELTA MODULATOR