WO2019056372A1 - An adaptive filter - Google Patents

An adaptive filter Download PDF

Info

Publication number
WO2019056372A1
WO2019056372A1 PCT/CN2017/103183 CN2017103183W WO2019056372A1 WO 2019056372 A1 WO2019056372 A1 WO 2019056372A1 CN 2017103183 W CN2017103183 W CN 2017103183W WO 2019056372 A1 WO2019056372 A1 WO 2019056372A1
Authority
WO
WIPO (PCT)
Prior art keywords
adaptive filter
microphone
taps
speaker
direct path
Prior art date
Application number
PCT/CN2017/103183
Other languages
French (fr)
Inventor
Morgan James Colmer
Original Assignee
Global Silicon Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Global Silicon Limited filed Critical Global Silicon Limited
Priority to CN201780095245.9A priority Critical patent/CN111201712B/en
Priority to PCT/CN2017/103183 priority patent/WO2019056372A1/en
Publication of WO2019056372A1 publication Critical patent/WO2019056372A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M9/00Arrangements for interconnection not involving centralised switching
    • H04M9/08Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
    • H04M9/082Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/20Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other
    • H04B3/23Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers
    • H04B3/235Reducing echo effects or singing; Opening or closing transmitting path; Conditioning for transmission in one direction or the other using a replica of transmitted signal in the time domain, e.g. echo cancellers combined with adaptive equaliser

Definitions

  • the invention relates to an adaptive filter and a method of processing signals by an adaptive filter.
  • the invention more particularly relates to a method of dynamically changing an input of an adaptive filter in response to a change in a distance between a microphone and a speaker.
  • the method relates particularly, but not exclusively, to acoustic echo cancellation (AEC).
  • AEC acoustic echo cancellation
  • AEC is frequently used in speakerphone and hands-free telephony equipment to remove echoes.
  • Such echoes may be caused by sounds from the far end of the communication link, e.g. the user’s voice at the remote end, being emitted by a local loudspeaker and being captured by a local microphone in addition to the intended capture of the local sound, e.g. the local user’s voice.
  • This echo path will often be perceived by the user at the remote end as an echo of their own voice over the top of the local user’s voice. It is generally desirable to remove this unwanted echo signal.
  • AEC is often implemented with an adaptive filter 10.
  • the adaptive filter 10 attempts to replicate the transfer function of the acoustic environment 12 where the loudspeaker 14 and the microphone 16 are located based upon an error signal.
  • the error signal is the difference between the microphone feedback signal and the output signal of the adaptive filter 10.
  • the adaptive filter 10 often requires considerable processing resources to be practicably implemented. Often a 1024 or 2048 tap adaptive filter 10 is needed.
  • the processing requirements required to implement an adaption algorithm for calculating the adaptive filter tap coefficients are scaled as a function of the filter length.
  • the length of the adaptive filter 10 should be proportional to a tail length of the combined echo paths 20 within the acoustic environment 12 that need to be cancelled. In general, longer echo paths 20 have lower gains and so a system designer may choose a length of the adaptive filter 10 to match the performance requirements of the AEC system implemented with an N tap adaptive filter.
  • the feedback signal from the microphone 16 can be considered in terms of its impulse response with the various echo paths 20 representing taps of the adaptive filter 10.
  • the AEC system is essentially trying to match the impulse responses of the adaptive filter 10 to the impulse response of the acoustic environment 12. Because of the finite speed of sound in air, the impulse response of the acoustic environment 12 will have a zero response for the duration of time that is equivalent to a time of flight for a direct path between the loudspeaker 14 and the microphone 16.
  • the adaptive filter 10 must have zero-valued coefficients for the samples times, i.e. taps, which represent the time of flight for a direct path between the loudspeaker 14 and the microphone 16.
  • Traditional AEC can be very efficient when the relative locations of the loudspeaker 14 and the microphone 16 are fixed with respect to each other.
  • the AEC system cannot make any assumptions regarding the number of zero-valued coefficient initial taps in the adaptive filter 10 and thus must attempt to calculate all of them in real time on each occasion. This might be the case when, for example, the local user has a portable microphone and moves around within the local acoustic environment 12, although it is equally the case where one of the loudspeaker 14 or the microphone 16 is moved relative to the other.
  • the processing requirements are further increased due to the need to make the adaptive filter 10 converge faster because the acoustic environment 12 as seen by the local microphone 16 may now be dynamically changing and thus needs to adapt faster than the local user is able to move the microphone 14 within that environment 12.
  • An object of the invention is to mitigate or obviate to some degree one or more problems associated with known methods of processing signals in an adaptive filter.
  • Another object of the invention is to provide a method for changing an input of an adaptive filter in response to a change in a distance between a microphone and a speaker.
  • Another object of the invention is to provide a method for dynamically changing an input of an adaptive filter in response to dynamic changes in distance between a microphone and a speaker.
  • the invention provides a method of processing signals by an adaptive filter.
  • the method includes the steps of determining a direct path distance d between a speaker and a microphone. Based on said determined direct path distance d , a number of taps of the adaptive filter having a zero-valued coefficient is calculated. Input signals to the adaptive filter are then processed adaptively on all remaining taps of the adaptive filter not having a zero-valued coefficient.
  • the adaptive filter can be utilized in an AEC system which dynamically adapts to changes in the direct path distance d .
  • the invention provides a method of processing signals by an N tap adaptive filter, the method comprising the steps of: determining a direct path distance d between a speaker and a microphone; based on said determined direct path distance d , calculating a number of taps of the adaptive filter having a zero-valued coefficient; and processing input signals adaptively on all remaining taps of the adaptive filter not having a zero-valued coefficient.
  • the invention provides a non-transitory computer readable medium storing machine readable code which, when executed by a processor, causes an electronic processing device to implement the steps of the method of the first aspect.
  • the invention provides a microphone unit comprising computer readable medium storing machine readable code which, when executed by a processor of said microphone unit, causes the microphone unit to implement the steps of the method of the first aspect.
  • the invention provides a sound system comprising a speaker and a microphone unit according to the third aspect.
  • Figure 1 is a schematic diagram of a known AEC system based on an adaptive filter
  • Figure 2 is a block diagram of a system in which the method of the invention can be performed
  • Figure 3 is a schematic diagram of an AEC system in accordance with the invention based on an adjustable adaptive filter
  • FIG. 4 shows the AEC system in accordance with the invention in more detail
  • Figure 5 provides a comparison of the performance of the known AEC system of Fig. 1 with the AEC system in accordance with the invention.
  • FIGS may be implemented in various forms of hardware, software or combinations thereof. Preferably, these elements are implemented in a combination of hardware and software on one or more appropriately programmed general-purpose devices, which may include a processor, memory and input/output interfaces.
  • processor or “controller” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (“DSP”) hardware, read-only memory (“ROM”) for storing software, random access memory (“RAM”), and non-volatile storage.
  • DSP digital signal processor
  • ROM read-only memory
  • RAM random access memory
  • any element expressed as a means for performing a specified function is intended to encompass any way of performing that function including, for example, a) a combination of circuit elements that performs that function or b) software in any form, including, therefore, firmware, microcode or the like, combined with appropriate circuitry for executing that software to perform the function.
  • the invention as defined by such claims resides in the fact that the functionalities provided by the various recited means are combined and brought together in the manner which the claims call for. It is thus regarded that any means that can provide those functionalities are equivalent to those shown herein.
  • the sound system comprises a speaker unit 110 and a microphone unit 210 separated by a direct path distance d .
  • the speaker unit 110 may comprise only a speaker unit, but preferably comprises a conference call unit 120 or the like including one or more integrated microphones 130 and input means 140 to enable users to operate the conference unit 120 to set up and hold conference calls.
  • the conference unit 120 preferably provides a main speaker module such as a loudspeaker 150.
  • the conference unit 120 is also provided with a processor 160 and a memory 170.
  • the memory 170 stores machine readable instructions which, when executed by the processor 160, cause the conference unit 120 to implement the methods and functions hereinafter described.
  • the conference unit 120 may also be provided with means 180 such as an accelerometer, a magnetometer or the like which senses when the conference unit 120 has been moved. Other means of detecting the position of the conference unit 120 within an acoustic environment, particularly with respect to the microphone unit 210, may be used additionally or alternatively to the movement sensing means 180.
  • the microphone unit 210 may comprise a portable unit such that it can be held by a user, although this is not essential. In any case, the microphone unit 210 is preferably configured such that it may be placed at any distance d from the conference unit 120 where d is a measure in metres of the direct path distance from the loudspeaker 150 to a microphone module 220 of the microphone unit 210. In use, the distance d may vary over time should a user move the microphone unit 210 and/or move the conference unit 120.
  • the microphone unit 210 is also provided with a processor 230 and a memory 240.
  • the memory 240 stores machine readable instructions which, when executed by the processor 230, cause the microphone unit 210 to implement the methods and functions hereinafter described.
  • the microphone unit 210 may also be provided with means 250 such as an accelerometer, a magnetometer or the like which senses when the microphone unit 210 has been moved. Other means of detecting the position of the microphone unit 210 within the acoustic environment, particularly with respect to the conference unit 120, may be used additionally or alternatively to the movement sensing means 250.
  • the conference unit 120 and the microphone unit 210 are shown as comprising separate devices, it will be understood that the method of the invention can be applied to any sound system where the position of a microphone may be adjusted with respect to a speaker even if the microphone and speaker are provided in the same device or apparatus.
  • the sound system may include a distance measuring device or system 310 which is arranged to determine the value of the direct path distance d between the conference unit 120 and the microphone unit 210.
  • the distance measuring device or system 310 may comprise any one or any combination of: means for cross-correlating the speaker drive signal and the microphone feedback signal to derive d ; radio frequency (RF) ranging means; ultrasound ranging means; or a machine vision system.
  • the distance measuring device or system 310 may comprise a stand-alone unit or may be integrated with one or other of the conference unit 120 and the microphone unit 210.
  • the foregoing examples of distance measuring means are provided by way of example only. It will be understood that any known time of flight (ToF) measuring device, system or apparatus may be employed in the implementation of the invention to determine, calculate, derive or measure the direct path distance d between the conference unit 120 and the microphone unit 210.
  • ToF time of flight
  • the method of the invention generally relates to a method of processing signals for AEC or the like using an N tap adaptive filter where the inputs, i.e. taps, to the adaptive filter can be modified in response to a change in value of the direct path distance d , where N is an integer ⁇ 2.
  • the method can be better understood from Figs. 3 and 4 which each show an adaptive filter 410 in an AEC system 400 in accordance with the invention where AEC is used to remove echoes from signals being communicated to a remote receiver system 500 from the local sound system 100.
  • a Time of Flight Optimization (ToFO) technique can be implemented to optimize the processing requirements to implement AEC within the adaptive filter 410.
  • ToFO Time of Flight Optimization
  • the proportion of zero-valued coefficient taps in the adaptive filter 410 increases and thus the processing requirements will fall as the zero-valued coefficient taps need little or no processing compared to the computational requirements for processing adaptively signals input on remaining taps not having a zero-valued coefficient.
  • the processing bandwidth that has been freed up can potentially be used to dynamically decrease the convergence time or to increase the temporal range of the adaptive filter 410.
  • the section of the adaptive filter 410 that has taps calculated to have zero-valued coefficients can be treated as a FIFO filter from a processing point of view which will consume very little processing overhead.
  • the method of the invention therefore comprises processing signals by the N tap adaptive filter 410 by firstly determining, calculating, deriving, measuring or otherwise obtaining a direct path distance d between the local loudspeaker 150 and the local microphone 220. Then, based on the determined or obtained direct path distance d , calculating a number of taps of the adaptive filter 410 having a zero-valued coefficient. Consequently, the method involves processing input signals adaptively only on all remaining taps of the adaptive filter 410 not having a zero-valued coefficient. For those taps of the adaptive filter 410 calculated to have a zero-valued coefficient, the method may include processing input signals on these taps as First-In-First-Out (FIFO) filter taps.
  • FIFO First-In-First-Out
  • the taps determined to each have a zero-valued coefficient can be treated as comprising a FIFO section 410A of a combined FIFO and adaptive filter 410 and all remaining taps not having a zero-valued coefficient can be treated as comprising an adaptive tap section 410B of the combined FIFO and adaptive filter 410.
  • the number of taps of the adaptive filter 410 having a zero-valued coefficient is calculated from the equation:
  • N 1 is the number of taps of the adaptive filter having a zero-valued coefficient
  • d is the direct path distance between the speaker and the microphone
  • c is the speed of sound in air
  • F S is the system sample rate.
  • the adaptive filter 410 is treated as a combined FIFO and adaptive filter based on the equation:
  • N N 1 + N 2
  • N is the total number of taps of the combined FIFO and adaptive filter
  • N 1 is the number of taps comprising a FIFO section of the combined FIFO and adaptive filter
  • N 2 is the number of taps comprising an adaptive section of the combined FIFO and adaptive filter.
  • the method involves determining or obtaining a direct path distance d between the local loudspeaker 150 and the local microphone 220 on only one occasion at the start of operation and adjusting operation of the adaptive filter 410 based on said once only determination of the direct path distance d .
  • the method involves determining or obtaining an initial direct path distance d between the local loudspeaker 150 and the local microphone 220 and thereafter only determining or obtaining a new value for the direct path distance d when it is sensed that one or other of the local loudspeaker 150 or the local microphone 220 has been moved, i.e. in response to inputs from one or other of the movement sensing means 180, 250 or any other suitable means.
  • the method involves continuously or periodically determining or obtaining an initial direct path distance d between the local loudspeaker 150 and the local microphone 220 in order to dynamically adjust the input to the adaptive filter 410 by dynamically adjusting the sizes of the FIFO section 410A and the adaptive filter section 410B.
  • the method may further comprise the step of dynamically adjusting the values of N 1 and N 2 in response to changes in the determined distance d between the local loudspeaker 150 and the local microphone 220.
  • the AEC processor 160, 230 has enough computational speed (MIPS) to run, for example, a large adaptive filter such as a 2048 tap adaptive filter 410, then, if the local microphone 220 and the local loudspeaker 150 are a long way apart, much of this computational speed is wasted as the coefficients of taps of the adaptive filter 410 that represent the direct path time of flight between the local microphone 220 and the local loudspeaker 150 will converge to zero (because there cannot be any echo path which are shorter than the direct path) and, as such, these taps will require little or no processing. Doing this means that, in the case of a 2048 tap filter, the whole of the filter is now being used to cancel an even longer echo tail and thus giving better performance.
  • MIPS computational speed
  • the dynamic adjustment of the adaptive filter 410 is performed every say 10ms.
  • Fig. 5 shows a comparison of the performance of the known AEC system of Fig. 1 with the AEC system 400 in accordance with the invention.
  • the AEC window of the known AEC system can be designed to very efficiently deal with echo cancellation where the distance d between the local loudspeaker and the local microphone is known and is fixed as illustrated by window 610 in part (a) of Fig. 5.
  • window 610 in part (a) of Fig. 5.
  • the known AEC system window 610 progressively fails to cover the part 630a of the acoustic environment signal 630 requiring AEC adaptive processing.
  • window 620 the ability provided by the method of the invention to adjust the adaptive filter 410 enables efficient AEC adaptive processing at any value of distance d .
  • the local microphone 220 and the loudspeaker 150 are preferably linear and thus should not contribute significantly to the system transfer function based upon the error signal.
  • the adaptive filter 410 will comprise a finite impulse response (FIR) filter 410.
  • FIR finite impulse response
  • the method may be implemented at one or both of the conference unit 120 and the microphone unit 210.
  • the invention also provides a non-transitory computer readable medium 170, 240 storing machine readable code which, when executed by a processor 160, 230, causes an electronic processing device 120, 210 to implement the steps of the method hereinbefore described.
  • the invention also provides a microphone unit 210 comprising computer readable medium storing machine readable code 240 which, when executed by a processor 230 of said microphone unit 210, causes the microphone unit 210 to implement the steps of the method hereinbefore described.
  • the invention also provides a sound system 100 comprising a speaker unit 110 and a microphone unit 210.
  • the sound system may also include a distance measuring unit 310.
  • the local microphone 220 and the local loudspeaker 150 are linear and thus do not contribute significantly to the system transfer function based on the error signal.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Circuit For Audible Band Transducer (AREA)

Abstract

The invention provides a method of processing signals by an adaptive filter. The method includes the steps of determining a direct path distance d between a speaker and a microphone. Based on said determined direct path distance d, a number of taps of the adaptive filter having a zero-valued coefficient is calculated. Input signals to the adaptive filter are then processed adaptively on all remaining taps of the adaptive filter not having a zero-valued coefficient. The adaptive filter can be utilized in an AEC system which dynamically adapts to changes in the direct path distance d.

Description

An Adaptive Filter
The invention relates to an adaptive filter and a method of processing signals by an adaptive filter. The invention more particularly relates to a method of dynamically changing an input of an adaptive filter in response to a change in a distance between a microphone and a speaker. The method relates particularly, but not exclusively, to acoustic echo cancellation (AEC).
AEC is frequently used in speakerphone and hands-free telephony equipment to remove echoes. Such echoes may be caused by sounds from the far end of the communication link, e.g. the user’s voice at the remote end, being emitted by a local loudspeaker and being captured by a local microphone in addition to the intended capture of the local sound, e.g. the local user’s voice. This echo path will often be perceived by the user at the remote end as an echo of their own voice over the top of the local user’s voice. It is generally desirable to remove this unwanted echo signal.
As illustrated in Fig. 1, AEC is often implemented with an adaptive filter 10. The adaptive filter 10 attempts to replicate the transfer function of the acoustic environment 12 where the loudspeaker 14 and the microphone 16 are located based upon an error signal. The error signal is the difference between the microphone feedback signal and the output signal of the adaptive filter 10. Once the adaptive filter 10 has adapted to mimic the acoustic environment 12 where the loudspeaker 14 and the microphone 16 are located, only the additional signal of the local voice will be transmitted to the far end receiver 18.
The adaptive filter 10 often requires considerable processing resources to be practicably implemented. Often a 1024 or 2048 tap adaptive filter 10 is needed. The processing requirements required to implement an adaption algorithm for calculating the adaptive filter tap coefficients are scaled as a function of the filter length. The length of the adaptive filter 10 should be proportional to a tail length of the combined echo paths 20 within the acoustic environment 12 that need to be cancelled. In general, longer echo paths 20 have lower gains and so a system designer may choose a length of the adaptive filter 10 to match the performance requirements of the AEC system implemented with an N tap adaptive filter.
The feedback signal from the microphone 16 can be considered in terms of its impulse response with the various echo paths 20 representing taps of the adaptive filter 10. The AEC system is essentially trying to match the impulse responses of the adaptive filter 10 to the impulse response of the acoustic environment 12. Because of the finite speed of sound in air, the impulse response of the acoustic environment 12 will have a zero response for the duration of time that is equivalent to a time of flight for a direct path between the loudspeaker 14 and the microphone 16. The adaptive filter 10 must have zero-valued coefficients for the samples times, i.e. taps, which represent the time of flight for a direct path between the loudspeaker 14 and the microphone 16. Essentially, there can be no echo paths 20 within a time shorter than a flight time of a direct path 22 of the sound between the speaker and the microphone and thus the taps of the adaptive filter 10 that represent these times do not need to be calculated. When the locations of the loudspeaker 14 and the microphone 16 are fixed with respect to each other, there will generally be a fixed proportion of the initial taps of the adaptive filter 10 which have zero valued coefficients.
Traditional AEC can be very efficient when the relative locations of the loudspeaker 14 and the microphone 16 are fixed with respect to each other. When, however, the relative positions of the loudspeaker 14 and the microphone 16 are not fixed with respect to each other, the AEC system cannot make any assumptions regarding the number of zero-valued coefficient initial taps in the adaptive filter 10 and thus must attempt to calculate all of them in real time on each occasion. This might be the case when, for example, the local user has a portable microphone and moves around within the local acoustic environment 12, although it is equally the case where one of the loudspeaker 14 or the microphone 16 is moved relative to the other. The processing requirements are further increased due to the need to make the adaptive filter 10 converge faster because the acoustic environment 12 as seen by the local microphone 16 may now be dynamically changing and thus needs to adapt faster than the local user is able to move the microphone 14 within that environment 12.
There is therefore a need for an improved method of processing signals in an adaptive filter.
Objects of the Invention
An object of the invention is to mitigate or obviate to some degree one or more problems associated with known methods of processing signals in an adaptive filter.
The above object is met by the combination of features of the main claims; the sub-claims disclose further advantageous embodiments of the invention.
Another object of the invention is to provide a method for changing an input of an adaptive filter in response to a change in a distance between a microphone and a speaker.
Another object of the invention is to provide a method for dynamically changing an input of an adaptive filter in response to dynamic changes in distance between a microphone and a speaker.
One skilled in the art will derive from the following description other objects of the invention. Therefore, the foregoing statements of object are not exhaustive and serve merely to illustrate some of the many objects of the present invention.
The invention provides a method of processing signals by an adaptive filter. The method includes the steps of determining a direct path distance d between a speaker and a microphone. Based on said determined direct path distance d, a number of taps of the adaptive filter having a zero-valued coefficient is calculated. Input signals to the adaptive filter are then processed adaptively on all remaining taps of the adaptive filter not having a zero-valued coefficient. The adaptive filter can be utilized in an AEC system which dynamically adapts to changes in the direct path distance d.
In a first main aspect, the invention provides a method of processing signals by an N tap adaptive filter, the method comprising the steps of: determining a direct path distance d between a speaker and a microphone; based on said determined direct path distance d, calculating a number of taps of the adaptive filter having a zero-valued coefficient; and processing input signals adaptively on all remaining taps of the adaptive filter not having a zero-valued coefficient.
In a second aspect, the invention provides a non-transitory computer readable medium storing machine readable code which, when executed by a processor, causes an electronic processing device to implement the steps of the method of the first aspect.
In a third aspect, the invention provides a microphone unit comprising computer readable medium storing machine readable code which, when executed by a processor of said microphone unit, causes the microphone unit to implement the steps of the method of the first aspect.
In a fourth aspect, the invention provides a sound system comprising a speaker and a microphone unit according to the third aspect.
The summary of the invention does not necessarily disclose all the features essential for defining the invention; the invention may reside in a sub-combination of the disclosed features.
The foregoing and further features of the present invention will be apparent from the following description of preferred embodiments which are provided by way of example only in connection with the accompanying figures, of which:
Figure 1 is a schematic diagram of a known AEC system based on an adaptive filter;
Figure 2 is a block diagram of a system in which the method of the invention can be performed;
Figure 3 is a schematic diagram of an AEC system in accordance with the invention based on an adjustable adaptive filter;
Figure 4 shows the AEC system in accordance with the invention in more detail; and
Figure 5 provides a comparison of the performance of the known AEC system of Fig. 1 with the AEC system in accordance with the invention.
Description of Preferred Embodiments
The following description is of preferred embodiments by way of example only and without limitation to the combination of features necessary for carrying the invention into effect.
Reference in this specification to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase "in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Moreover, various features are described which may be exhibited by some embodiments and not by others. Similarly, various requirements are described which may be requirements for some embodiments, but not other embodiments.
It should be understood that the elements shown in the FIGS, may be implemented in various forms of hardware, software or combinations thereof. Preferably, these elements are implemented in a combination of hardware and software on one or more appropriately programmed general-purpose devices, which may include a processor, memory and input/output interfaces.
The functions of the various elements shown in the figures may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term "processor" or "controller" should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor ("DSP") hardware, read-only memory ("ROM") for storing software, random access memory ("RAM"), and non-volatile storage.
In the claims hereof, any element expressed as a means for performing a specified function is intended to encompass any way of performing that function including, for example, a) a combination of circuit elements that performs that function or b) software in any form, including, therefore, firmware, microcode or the like, combined with appropriate circuitry for executing that software to perform the function. The invention as defined by such claims resides in the fact that the functionalities provided by the various recited means are combined and brought together in the manner which the claims call for. It is thus regarded that any means that can provide those functionalities are equivalent to those shown herein.
Referring to Fig. 2, shown by way of example only is a sound system 100 in which the improved AEC system of the invention may be implemented. The sound system comprises a speaker unit 110 and a microphone unit 210 separated by a direct path distance d. The speaker unit 110 may comprise only a speaker unit, but preferably comprises a conference call unit 120 or the like including one or more integrated microphones 130 and input means 140 to enable users to operate the conference unit 120 to set up and hold conference calls. The conference unit 120 preferably provides a main speaker module such as a loudspeaker 150. The conference unit 120 is also provided with a processor 160 and a memory 170. The memory 170 stores machine readable instructions which, when executed by the processor 160, cause the conference unit 120 to implement the methods and functions hereinafter described. The conference unit 120 may also be provided with means 180 such as an accelerometer, a magnetometer or the like which senses when the conference unit 120 has been moved. Other means of detecting the position of the conference unit 120 within an acoustic environment, particularly with respect to the microphone unit 210, may be used additionally or alternatively to the movement sensing means 180.
The microphone unit 210 may comprise a portable unit such that it can be held by a user, although this is not essential. In any case, the microphone unit 210 is preferably configured such that it may be placed at any distance d from the conference unit 120 where d is a measure in metres of the direct path distance from the loudspeaker 150 to a microphone module 220 of the microphone unit 210. In use, the distance d may vary over time should a user move the microphone unit 210 and/or move the conference unit 120. The microphone unit 210 is also provided with a processor 230 and a memory 240. The memory 240 stores machine readable instructions which, when executed by the processor 230, cause the microphone unit 210 to implement the methods and functions hereinafter described. The microphone unit 210 may also be provided with means 250 such as an accelerometer, a magnetometer or the like which senses when the microphone unit 210 has been moved. Other means of detecting the position of the microphone unit 210 within the acoustic environment, particularly with respect to the conference unit 120, may be used additionally or alternatively to the movement sensing means 250.
Whilst the conference unit 120 and the microphone unit 210 are shown as comprising separate devices, it will be understood that the method of the invention can be applied to any sound system where the position of a microphone may be adjusted with respect to a speaker even if the microphone and speaker are provided in the same device or apparatus.
The sound system may include a distance measuring device or system 310 which is arranged to determine the value of the direct path distance d between the conference unit 120 and the microphone unit 210. The distance measuring device or system 310 may comprise any one or any combination of: means for cross-correlating the speaker drive signal and the microphone feedback signal to derive d; radio frequency (RF) ranging means; ultrasound ranging means; or a machine vision system. The distance measuring device or system 310 may comprise a stand-alone unit or may be integrated with one or other of the conference unit 120 and the microphone unit 210. The foregoing examples of distance measuring means are provided by way of example only. It will be understood that any known time of flight (ToF) measuring device, system or apparatus may be employed in the implementation of the invention to determine, calculate, derive or measure the direct path distance d between the conference unit 120 and the microphone unit 210.
The method of the invention generally relates to a method of processing signals for AEC or the like using an N tap adaptive filter where the inputs, i.e. taps, to the adaptive filter can be modified in response to a change in value of the direct path distance d, where N is an integer ≥ 2. The method can be better understood from Figs. 3 and 4 which each show an adaptive filter 410 in an AEC system 400 in accordance with the invention where AEC is used to remove echoes from signals being communicated to a remote receiver system 500 from the local sound system 100.
If the shortest path length d (time of flight) between the loudspeaker 150 and the microphone 220 is known or can be determined, calculated, derived or measured then a Time of Flight Optimization (ToFO) technique can be implemented to optimize the processing requirements to implement AEC within the adaptive filter 410. When the local microphone 220 is located further away from the local loudspeaker 150, the proportion of zero-valued coefficient taps in the adaptive filter 410 increases and thus the processing requirements will fall as the zero-valued coefficient taps need little or no processing compared to the computational requirements for processing adaptively signals input on remaining taps not having a zero-valued coefficient. The processing bandwidth that has been freed up can potentially be used to dynamically decrease the convergence time or to increase the temporal range of the adaptive filter 410. The section of the adaptive filter 410 that has taps calculated to have zero-valued coefficients can be treated as a FIFO filter from a processing point of view which will consume very little processing overhead.
The method of the invention therefore comprises processing signals by the N tap adaptive filter 410 by firstly determining, calculating, deriving, measuring or otherwise obtaining a direct path distance d between the local loudspeaker 150 and the local microphone 220. Then, based on the determined or obtained direct path distance d, calculating a number of taps of the adaptive filter 410 having a zero-valued coefficient. Consequently, the method involves processing input signals adaptively only on all remaining taps of the adaptive filter 410 not having a zero-valued coefficient. For those taps of the adaptive filter 410 calculated to have a zero-valued coefficient, the method may include processing input signals on these taps as First-In-First-Out (FIFO) filter taps. In other words, the taps determined to each have a zero-valued coefficient can be treated as comprising a FIFO section 410A of a combined FIFO and adaptive filter 410 and all remaining taps not having a zero-valued coefficient can be treated as comprising an adaptive tap section 410B of the combined FIFO and adaptive filter 410.
Preferably, the number of taps of the adaptive filter 410 having a zero-valued coefficient is calculated from the equation:
Figure 17PA01850PCT-appb-M000001
where:
N 1 is the number of taps of the adaptive filter having a zero-valued coefficient;
d is the direct path distance between the speaker and the microphone;
c is the speed of sound in air; and
F S is the system sample rate.
Preferably also, the adaptive filter 410 is treated as a combined FIFO and adaptive filter based on the equation:
N = N 1 + N 2
where:
N is the total number of taps of the combined FIFO and adaptive filter;
N 1 is the number of taps comprising a FIFO section of the combined FIFO and adaptive filter;
N 2 is the number of taps comprising an adaptive section of the combined FIFO and adaptive filter.
In one embodiment, the method involves determining or obtaining a direct path distance d between the local loudspeaker 150 and the local microphone 220 on only one occasion at the start of operation and adjusting operation of the adaptive filter 410 based on said once only determination of the direct path distance d.
In another embodiment, the method involves determining or obtaining an initial direct path distance d between the local loudspeaker 150 and the local microphone 220 and thereafter only determining or obtaining a new value for the direct path distance d when it is sensed that one or other of the local loudspeaker 150 or the local microphone 220 has been moved, i.e. in response to inputs from one or other of the movement sensing means 180, 250 or any other suitable means.
In yet another embodiment, the method involves continuously or periodically determining or obtaining an initial direct path distance d between the local loudspeaker 150 and the local microphone 220 in order to dynamically adjust the input to the adaptive filter 410 by dynamically adjusting the sizes of the FIFO section 410A and the adaptive filter section 410B. As such, the method may further comprise the step of dynamically adjusting the values of N 1 and N 2 in response to changes in the determined distance d between the local loudspeaker 150 and the local microphone 220.
For example, if the AEC processor 160, 230 has enough computational speed (MIPS) to run, for example, a large adaptive filter such as a 2048 tap adaptive filter 410, then, if the local microphone 220 and the local loudspeaker 150 are a long way apart, much of this computational speed is wasted as the coefficients of taps of the adaptive filter 410 that represent the direct path time of flight between the local microphone 220 and the local loudspeaker 150 will converge to zero (because there cannot be any echo path which are shorter than the direct path) and, as such, these taps will require little or no processing. Doing this means that, in the case of a 2048 tap filter, the whole of the filter is now being used to cancel an even longer echo tail and thus giving better performance.
Preferably, the dynamic adjustment of the adaptive filter 410 is performed every say 10ms.
Fig. 5 shows a comparison of the performance of the known AEC system of Fig. 1 with the AEC system 400 in accordance with the invention. The AEC window of the known AEC system can be designed to very efficiently deal with echo cancellation where the distance d between the local loudspeaker and the local microphone is known and is fixed as illustrated by window 610 in part (a) of Fig. 5. However, as seen in parts (b) and (c) of Fig. 5, if the distance d is changed such that the local loudspeaker and the local microphone are moved apart, the known AEC system window 610 progressively fails to cover the part 630a of the acoustic environment signal 630 requiring AEC adaptive processing. In contrast, as shown by window 620, the ability provided by the method of the invention to adjust the adaptive filter 410 enables efficient AEC adaptive processing at any value of distance d.
In the method of the invention, the local microphone 220 and the loudspeaker 150 are preferably linear and thus should not contribute significantly to the system transfer function based upon the error signal.
It is envisaged that the adaptive filter 410 will comprise a finite impulse response (FIR) filter 410.
The method may be implemented at one or both of the conference unit 120 and the microphone unit 210.
The invention also provides a non-transitory computer readable medium 170, 240 storing machine readable code which, when executed by a processor 160, 230, causes an electronic processing device 120, 210 to implement the steps of the method hereinbefore described.
The invention also provides a microphone unit 210 comprising computer readable medium storing machine readable code 240 which, when executed by a processor 230 of said microphone unit 210, causes the microphone unit 210 to implement the steps of the method hereinbefore described.
The invention also provides a sound system 100 comprising a speaker unit 110 and a microphone unit 210. The sound system may also include a distance measuring unit 310. Preferably, the local microphone 220 and the local loudspeaker 150 are linear and thus do not contribute significantly to the system transfer function based on the error signal.
While the invention has been illustrated and described in detail in the drawings and foregoing description, the same is to be considered as illustrative and not restrictive in character, it being understood that only exemplary embodiments have been shown and described and do not limit the scope of the invention in any manner. It can be appreciated that any of the features described herein may be used with any embodiment. The illustrative embodiments are not exclusive of each other or of other embodiments not recited herein. Accordingly, the invention also provides embodiments that comprise combinations of one or more of the illustrative embodiments described above. Modifications and variations of the invention as herein set forth can be made without departing from the spirit and scope thereof, and, therefore, only such limitations should be imposed as are indicated by the appended claims.
In the claims which follow and in the preceding description of the invention, except where the context requires otherwise due to express language or necessary implication, the word “comprise” or variations such as “comprises” or “comprising” is used in an inclusive sense, i.e. to specify the presence of the stated features but not to preclude the presence or addition of further features in various embodiments of the invention.
It is to be understood that, if any prior art publication is referred to herein, such reference does not constitute an admission that the publication forms a part of the common general knowledge in the art.

Claims (14)

  1. A method of processing signals by an N tap adaptive filter, the method comprising the steps of:
    obtaining a direct path distance d between a speaker and a microphone;
    based on said direct path distance d, calculating a number of taps of the adaptive filter having a zero-valued coefficient; and
    processing input signals adaptively on all remaining taps of the adaptive filter not having a zero-valued coefficient.
  2. The method of claim 1 further comprising the step of processing input signals on the taps having a zero-valued coefficient as First-In-First-Out (FIFO) filter taps.
  3. The method of claim 1 or claim 2 further comprising the step of re-calculating the number of taps of the adaptive filter having a zero-valued coefficient in response to a change in the distance d between the speaker and the microphone.
  4. The method of claim 3, wherein, after an initial determination of the direct path distance d, the step of obtaining the direct path distance d between the speaker and the microphone is performed in response to a sensed movement of one of the speaker or the microphone relative to the other.
  5. The method of claim 3, wherein the step of obtaining a direct path distance d is performed dynamically.
  6. The method of claim 5, wherein the step of obtaining a direct path distance d is performed periodically.
  7. The method of any one of the preceding claims, wherein the number of taps of the adaptive filter having a zero-valued coefficient is calculated from the equation:
    Figure 17PA01850PCT-appb-I000001

    where:
    N 1 is the number of taps of the adaptive filter having a zero-valued coefficient;
    d is the direct path distance between the speaker and the microphone;
    c is the speed of sound in air; and
    F S is the system sample rate.
  8. The method of claim 7, wherein the adaptive filter is treated as a combined FIFO and adaptive filter based on the equation:
    N = N 1 + N 2
    where:
    N is the total number of taps of the combined FIFO and adaptive filter;
    N 1 is the number of taps comprising a FIFO section of the combined FIFO and adaptive filter;
    N 2 is the number of taps comprising an adaptive section of the combined FIFO and adaptive filter calculated according to claim 7.
  9. The method of claim 8 further comprising the step of dynamically adjusting the values of N 1 and N 2 in response to changes in the distance d between the speaker and the microphone.
  10. The method of any one of the preceding claims, wherein the adaptive filter comprises a finite impulse response (FIR) filter.
  11. The method of any one of the preceding claims, wherein the step of obtaining a direct path distance d between a speaker and a microphone comprises any one or any combination of: cross-correlating the speaker drive signal and the microphone feedback signal to derive d; using a radio frequency (RF) ranging technique between the microphone and the speaker; using an ultrasound ranging technique between the microphone and the speaker; or using a machine vision system.
  12. A non-transitory computer readable medium storing machine readable code which, when executed by a processor, causes an electronic processing device to implement the steps of the method of any one of the preceding claims.
  13. A microphone unit comprising computer readable medium storing machine readable code which, when executed by a processor of said microphone unit, causes the microphone unit to implement the steps of the method of any one claims 1 to 11.
  14. A sound system comprising a speaker unit and a microphone unit according to claim 13.
PCT/CN2017/103183 2017-09-25 2017-09-25 An adaptive filter WO2019056372A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201780095245.9A CN111201712B (en) 2017-09-25 2017-09-25 Adaptive filter
PCT/CN2017/103183 WO2019056372A1 (en) 2017-09-25 2017-09-25 An adaptive filter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/103183 WO2019056372A1 (en) 2017-09-25 2017-09-25 An adaptive filter

Publications (1)

Publication Number Publication Date
WO2019056372A1 true WO2019056372A1 (en) 2019-03-28

Family

ID=65810006

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/103183 WO2019056372A1 (en) 2017-09-25 2017-09-25 An adaptive filter

Country Status (2)

Country Link
CN (1) CN111201712B (en)
WO (1) WO2019056372A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113963712A (en) * 2020-07-21 2022-01-21 华为技术有限公司 Method for filtering echo, electronic device and computer readable storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030133565A1 (en) * 2002-01-15 2003-07-17 Chienchung Chang Echo cancellation system method and apparatus
CN1578138A (en) * 2003-06-28 2005-02-09 卓联半导体股份有限公司 Reduced complexity adaptive filter
US20100215185A1 (en) * 2009-02-20 2010-08-26 Markus Christoph Acoustic echo cancellation
CN102025395A (en) * 2009-09-09 2011-04-20 冲电气工业株式会社 Echo canceller
US20120134502A1 (en) * 2010-11-26 2012-05-31 Yasuhiro Kanishima Audio Correction Apparatus and Audio Correction Method

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2509627B2 (en) * 1987-07-21 1996-06-26 日本電信電話株式会社 Acoustic eco-canceller device
JP2615795B2 (en) * 1988-04-07 1997-06-04 日本電気株式会社 Adaptive echo canceller
US5245561A (en) * 1990-12-27 1993-09-14 Nec Corporation Adaptive filter capable of quickly identifying an unknown system
JP3204151B2 (en) * 1997-02-13 2001-09-04 日本電気株式会社 Adaptive filter
JP2000196507A (en) * 1998-12-28 2000-07-14 Nec Corp Method and system for eliminating echo for multiplex channel
WO2004057598A1 (en) * 2002-12-20 2004-07-08 Koninklijke Philips Electronics N.V. Asynchronous crosstalk cancellation
US7599432B2 (en) * 2003-12-08 2009-10-06 Freescale Semiconductor, Inc. Method and apparatus for dynamically inserting gain in an adaptive filter system
US7433463B2 (en) * 2004-08-10 2008-10-07 Clarity Technologies, Inc. Echo cancellation and noise reduction method
DE112009001303B4 (en) * 2008-06-11 2016-02-18 Mitsubishi Electric Corp. echo canceller
JP2010041450A (en) * 2008-08-06 2010-02-18 Nec Electronics Corp Adaptive equalizer, adaptive equalization method, and adaptive equalization program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030133565A1 (en) * 2002-01-15 2003-07-17 Chienchung Chang Echo cancellation system method and apparatus
CN1578138A (en) * 2003-06-28 2005-02-09 卓联半导体股份有限公司 Reduced complexity adaptive filter
US20100215185A1 (en) * 2009-02-20 2010-08-26 Markus Christoph Acoustic echo cancellation
CN102025395A (en) * 2009-09-09 2011-04-20 冲电气工业株式会社 Echo canceller
US20120134502A1 (en) * 2010-11-26 2012-05-31 Yasuhiro Kanishima Audio Correction Apparatus and Audio Correction Method

Also Published As

Publication number Publication date
CN111201712A (en) 2020-05-26
CN111201712B (en) 2023-04-21

Similar Documents

Publication Publication Date Title
US10403299B2 (en) Multi-channel speech signal enhancement for robust voice trigger detection and automatic speech recognition
GB2577824A (en) Earbud speech estimation
EP2761617B1 (en) Processing audio signals
US9210504B2 (en) Processing audio signals
JP5036874B2 (en) Echo canceller
KR101597752B1 (en) Apparatus and method for noise estimation and noise reduction apparatus employing the same
JP4957810B2 (en) Sound processing apparatus, sound processing method, and sound processing program
EP2700161B1 (en) Processing audio signals
WO2013066544A1 (en) Processing audio signals
KR20090050372A (en) Noise cancelling method and apparatus from the mixed sound
WO2009148049A1 (en) Acoustic echo canceller and acoustic echo cancel method
WO2019113253A1 (en) Voice enhancement in audio signals through modified generalized eigenvalue beamformer
KR20110034329A (en) Apparatus for gain calibration of microphone array and method thereof
JP2002204187A (en) Echo control system
JP6371167B2 (en) Reverberation suppression device
KR20160014709A (en) Echo suppression
EP2663979B1 (en) Processing audio signals
EP3288030B1 (en) Gain adjustment apparatus and gain adjustment method
CN109788420A (en) Hearing protection system and correlation technique with own voices estimation
WO2019056372A1 (en) An adaptive filter
JP5292931B2 (en) Acoustic echo canceller and echo cancellation device
JP5228903B2 (en) Signal processing apparatus and method
KR20220157475A (en) Echo Residual Suppression
JP5025753B2 (en) Echo canceling apparatus and method
JP6432384B2 (en) Echo suppression device, echo suppression program, and echo suppression method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17926311

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 20.08.2020)

122 Ep: pct application non-entry in european phase

Ref document number: 17926311

Country of ref document: EP

Kind code of ref document: A1