APPARATUS AND METHOD FOR A LOW POWER DIGITAL FILTER BANK

Abstract: A digital finite impulse response bandpass filter is described. Analog to digital conversion (A/D) of an input signal uses a Sigma-Delta ( SIGMA - DELTA ) 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.

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 mm 3 . 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 w, = {3 -30 80 -128 142 -10753 -13}. Fig. 2 depicts the amplitude characteristics of low pass filter H lp (f), comb filter Ψ s (f), and the resulting band pass filter H(f) for s = 72 and w, = {3 -30 80 - 128 142 -10753 -13}. Fig. 3 depicts the approximately orthogonal impulse responses h(n) and h(n) for s = 72, w, = {3 -30 80 -128 142 -107 53 -13} and w, = {13 -53 107 -142 128 -80 30 -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 Applicarion 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 (Σ-Δ) Modulation at a relatively high sampling rate, f 0 , resulting in a two-level sequence x(n) at the rate f 0 . Each filter channel of the digital filter bank in a preferred embodiment then employs fixed impulse response (FIR) bandpass filters. The center frequency f r of each FIR band-pass filter is related to the approximate Σ-Δ rate f 0 and an integer parameter s by: Each FIR band-pass filter also has a filter characteristic defined by a set of comb filter weights w S/ 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 y . (n) = h(n)*x(n) are related to each other via the Hubert 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 (Σ-Δ) 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 Σ-Δ modulator is a binary sequence x(n) e [-1, +1] at a rate equal to the sampling rate f 0 . 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 Σ-Δ 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 Σ-Δ rate f 0 , 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 (l/4s)f 0 , 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 h lp (n) and a comb filter ψ s (n): h(n) = h lp (n)* ψ s (n). (Eη. l) The low pass filter h lp (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 h lp (n) is further the convolution product of two filter impulse responses h 0 (n) and hg(n), i.e., h lp (n) = h 0 (n)*h s (n). (Eq. 2) Response is given by: h Q (n) = i 2 i i 2 (Eq. 3) 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 h s (n) is composed of two vectors h sup and h s down , h s (n) = [h SUp h sdown ], {Eq.4) and shows even symmetry, i.e., h s,down = h s,up (length(h S/Up ):-l:l). (Eq.5) Vector h sup has of four segments of equal lengths s, respectively, l up = [h^h. b ^^ (Eq.6) where h s,a = [10101 ] (Eq.7a) l\ b = [11111 ] (Eq.7b) h- = [22222 ]. (Eq.7d) Convolution of h s (n) with ho(n) removes the oscillating character of segments h s a and h sc resulting in a stair-like response h lp (n). For example, - (n) for s = 4 is given by h^n) = [10101111212122222222121211110101]. (Eq.8) Convolution with ho(n) yields 1 3 5 7 7 5 3 ' ' ' h,(n) = [— 1111—22 — 3333—444444 — 3333 — 22—1111— ]. lp 2 2 2 2 2 2 2 2 Filter response ψ s (n) represents a comb filter composed of a set of weighted and equidistant unit impulses, 7 ψ (n) = Yw l δ(n-i8s) S <=o (Eq.10) The distance between the unit impulses is 8s. Weights w t (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 lp (n) causes a superposition of eight amplified and time-shifted responses h lp (n). An embodiment of an FLR impulse response h(n) for s = 72, w, = {3 -30 80 - 128 142 -10753 -13} is shown in FIG.l. 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 H lp (f) and comb filter Ψ s (f), i.e., H(f) = H lp (f) Ψ s (f). (Eq. 11) The low pass filter H lp (f) tends to select the first main lobe of Ψ s (f), resulting in band pass filter H(f). Side lobes occur at odd multiples of f r . The side lobe with the maximum amplitude is at a frequency ~ 15f r , and the attenuation is about 24 dB. An example is shown in FIG.2 for s = 72 and w ; = {3 -30 80 -128 142 -10753 - 13}. Filters H lp (f) and Ψ s (f) are connected via parameter s, which defines the position of the zeros of H lp (f) as well as the resonance frequencies in Ψ s (f). Thus, for a given set of weights w„ 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 h lp (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 w, 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) = h lp (n)*Uf s (n) (Eq. 12) with The unit impulse responses in ^(n) are shifted by 4s compared to the unit responses in ψ s (n), and a different set of weights w, is used. Fig.3 illustrates the impulse responses h(n) and h(n) for an embodiment where s = 72 and weights w, = {3 -30 80 -128 142 -10753 -13} and w, = {13 -53 107 -142 128 -80 30 -3}. Here, coefficients w, are equal to the set w„ 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 I H(f) I and I H(f) I are identical. Filtering the Σ-Δ 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 f r of filters I H(f) I and I H(f ) I is approximately defined by the distance 16s between the zero crossings, i.e., 16s . (Eq. 16) This definition results in a relatively fine resolution of the positions of possible resonance frequencies. For example, with f 0 = 1 MHZ, f rl = 1.008 kHz for s x = 63, and f r2 = 0.992 kHz for s 2 = 62, resulting in a relative difference (f rl - f r2 )/f rt = 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.,V« ~ + b ~ t 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 min (-.,&), and (3) determine the maximum max(max(a,b), ■¥— max (a, b) + — min (a, b)). 2 2 The result of step (3) represents the approximation to a + b . 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) ^- max(a,b) + - min(-.,b) = 71.86, and (3) max(max(a,b), max(α,b) + — 1 πύn(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 approximation yields a * cos ( — ) = a * 0.9659. The implementation of this 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 ). 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 f 0 . However, calculation of signal e(n) at a rate f 0 is not necessary, since the sampling rate f env necessary for the digital representation of the envelope of a band pass signal is much lower. The lower limit for f env theoretically is given by where B is the bandwidth of the band pass filter. In fact, the rate f env,m i n 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 Σ-Δ 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 f 0 . The Σ-Δ sequence x(n) is then input to an input filter 16 where it is convolved with the input filter impulse response h^n). Due to the simplicity of impulse response h 0 (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 x 0 (n) e [0, ±1, ±2]. The rate of x 0 (n) is equal to the Σ-Δ sampling frequency f 0 . Peripheral filters 18 of each of the 12 filter bank channels perform the convolution of the five-level sequence x 0 (n) from the prefilter 16 with the impulse response h s k (n) of each peripheral filter 18 (see Equations 4-7 and accompanying text) and downsample the result by a factor 4s k , where k represents each of the filter channels, k = 1, 2, ... 12. Convolving x 0 (n) with l k (n) means to multiply and accumulate x 0 (n) and h s k (n). Because of h s k (n) e [0, 1, 2] and x 0 (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 h s k (n) is 8s k , the calculation of the downsampled convolution product, at a rate of (l/4s k )f 0 , requires two counters with variable increments, where the starting times of the two counters are offset by 4s k . Sampling rate (1 /4s k )f 0 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 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 s k 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 w i/k and w i 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 y k (nl) and y .k ( l) (cf. Eqs.14), where the argument n i denotes downsampling. The estimation of these signals y k (nl) and y_ k (nl) requires 16 multiply and accumulate (MAC) instructions within the ALU 28. Together with the estimation of e k (nl) from y k (nl) and y. k (nl) (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 k (nl) 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 env min = 12*2*1 kHz = 24 kHz. Assuming that one clock cycle is necessary to execute one ALU instruction, the minimum ALU- clock frequency f AL u, m i n is given by f AL u ,m i n = 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 f 0 , 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 f 0 , 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 f 0 . Assuming f 0 = 1 MHZ and a power consumption of 10 μW/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 w l k and w i 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 μW/MHZ per gate, and a clock frequency of f ALU = 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.

Claims: What is claimed is: 1. A digital finite-impulse-response (FIR) bandpass filter for processing an input signal, the filter comprising: an oversampling-type analog to digital converter to convert the input signal into a digital sequence; a low-pass 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 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. 2. A digital FIR bandpass filter as in claim 1, wherein the analog to digital converter uses sigma-delta modulation. 3. A digital FIR bandpass filter as in claim 1, wherein the digital sequence is a two-level binary sequence. 4. A digital FIR bandpass filter as in claim 1, wherein the low-pass FIR filter directly convolves the digital sequence by multiplying and accumulating the digital sequence with a low-pass FIR filter impulse response. 5. A digital FIR bandpass filter as in claim 1, wherein the low-pass FIR filter is further comprised of: an input filter to convolve the digital sequence to produce a multi-level sequence having a plurality of allowable values; a peripheral filter to convolve the multi-level sequence to produce the low-pass vector; an output stage including at least one output counter to downsample the low-pass vector at selected times; and a low-pass random access memory (RAM) to sequentially store the downsampled low-pass vector. 6. A digital FIR bandpass filter as in claim 5, wherein the multi-level 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 low-pass 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 low-pass 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 5 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. 10 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. 15 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 20 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. 25 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 30 filter of claim 1. 16. A method of processing an input signal by a digital finite-impulse- 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 low-pass FIR filter to produce a low- pass vector; convolving the low-pass 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 finite-impulse- 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 multi-level sequence having a plurality of allowable values; directly convolving the multi-level sequence in a peripheral filter to produce a low-pass vector; downsampling the low-pass vector at selected times with an output stage which includes at least one output counter; sequentially storing the downsampled low-pass vector in a low-pass random access memory (RAM); calculating in an Arithmetic Logic Unit (ALU) convolution products of the downsampled low-pass 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 5 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. 0 18. A digital filter bank for processing an input signal, comprised of a plurality of digital finite-impulse-response (FIR) bandpass filters arranged in parallel, the filter bank comprising: an oversampling-type analog to digital converter to convert the input 5 signal into a digital sequence; a plurality of low-pass FIR filters arranged in parallel to convolve the digital sequence to produce a plurality of low-pass vectors; a plurality of digital comb filters each associated with one of the plurality of low-pass FIR filters and each defined by at least one set of comb 0 filter weights representative of weighted and time-shifted unit impulses wherein each of the plurality of digital comb filters convolves the low-pass vector from the associated low-pass FIR filter with the comb filter weights; and an envelope detector to sequentially detect a bandpass envelope of each 25 of the plurality of digital FIR bandpass filters. 19. A digital filter bank as in claim 18, wherein the analog to digital converter uses sigma-delta modulation. 30 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 low-pass 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 low-pass 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 multi-level sequence to produce the plurality of low-pass vectors, and wherein each of the peripheral filters includes: an output stage including at least one output counter which downsamples the low-pass vector at selected times, and a low-pass random access memory (RAM) which sequentially stores the downsampled low-pass vector. 24. A digital filter bank as in claim 23, wherein the multi-level 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 low-pass 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 5 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 low-pass vectors with the two orthogonal sets of comb filter weights of the associated digital comb filter. 10 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 15 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 20 of the downsampled low-pass 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: 25 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 30 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 finite-impulse-response (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 low-pass FIR filters arranged in parallel to produce a plurality of low-pass vectors; sequentially convolving each of the plurality of low-pass vectors in a plurality of digital comb filters each associated with one of the plurality of low-pass FIR filters and each defined by at least one set of comb filter weights representative of weighted and time-shifted 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 finite-impulse-response (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 multi-level sequence having a plurality of allowable values; directly convolving the multi-level 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 low-pass vectors at selected times with an associated output stage which includes at least one output counter; sequentially storing the plurality of downsampled low-pass vectors in a plurality of associated low-pass random access memories (RAMs); sequentially calculating in an Arithmetic Logic Unit (ALU) convolution products of each of the plurality of downsampled low-pass 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 low-pass 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.

Inventors: ZIERHOFER CLEMENS, ZIERHOFER, CLAUDE
Applicants: MED EL ELEKTROMED GERAETE GMBH, MURPHY, TIMOTHY, M.
Application year: 1998
Main classification: H03H17
IPC codes: H03H15, H03H17, H04R25