User:Morgancolmer/sandbox

ToFO (Time of Flight Optimization) A signal processing optimization technique used in conjunction with AEC (acoustic echo cancellation). ToFO can be used to either reduce the processing requirements.[1] or to allow incremental improvements to the performance of acoustic echo cancellation when used to optimize the computation overhead of an adaptive filter. ToFO is a recent development[2] that has been enabled by the latest technologies in RTLS (real time locating systems). Room Echoes in Telephony AEC is frequently used in speakerphone and hands free telephony equipment to remove echos[3] due to the voice from the far end (the user[s] on the remote end) which is emitted by a local loudspeaker could also be captured by the local microphone as well as the local voice. This echo path will often be perceived by the user at the remote end as an echo of their own voice. It is generally desirable to remove this unwanted echo signal[4]. Traditional AEC Solution

A traditional AEC system implemented with an N-tap adaptive filter AEC is often implemented with an adaptive filter[5]. The adaptive filter attempts to replicate the transfer function of the acoustic environment where the loudspeaker/microphone are placed (assuming that the microphone and loudspeaker are linear and thus do not contribute significantly to the system transfer function) based upon an error signal. The error signal is difference between the microphone feedback and the output of the adaptive filter. Once the filter has adapted to mimic the acoustic environment, only the additional signal of the local voice will be transmitted to the far end receiver[6]. The adaptive filter often requires considerable processing resources to be practically implemented[7], often 1024 or 2048 taps are needed,[8] and the processing requirements for adaption algorithm for the coefficients is also scaled as a function of the filter length. The length of the adaptive filter should be proportional to the tail length of combined echo paths within the acoustic environment that needs to be cancelled. In general, the longer echo paths have lower gains and so the system designer will chose the length of the adaptive filter to match the performance requirements of the AEC system[9] Traditional AEC can be very efficient when the relative locations of the loudspeaker and the microphone are fixed with respect to each other. Zero Valued Coefficients The feedback signal from the microphone can be considered in terms of its impulse response, the various echo paths representing taps of an FIR filter, the adaptive filter can be directly implemented as an FIR filter. The AEC system is essentially trying to match the impulse responses of the adaptive filter to the impulse response of acoustic environment. Because of the finite speed of sound, the impulse response of the acoustic environment will have zero response for the duration of time that is equivalent to the time of flight between the loudspeaker and the microphone. The adaptive filter must also have zero-valued coefficients for the samples times that represent the time of flight between the loudspeaker and the microphone[10], essentially there can be no echo paths within a time shorter than direct path of the sound and thus the taps of the adaptive filter that represent these times do not need to be calculated. When the locations of the loudspeaker and the microphone are fixed with respect to each other then there will generally be a fixed proportion of the initial taps with zero valued coefficients. ToFO AEC Solution

AEC implemented with ToFO optimization When the relative positions of the loudspeaker and the microphone are not fixed with respect to each other then the AEC system cannot make any assumptions regarding the number of zero-valued coefficient taps in the adaptive filter and thus must attempt to calculate all of them in real time. This might be the case when the local user has a portable microphone (though is clearly equally applicable if either or both transducers are in motion) and moves around within the local acoustic environment. The processing requirements are further increased due to the need to make the adaptive filter converge faster because acoustic environment as seen by the local microphone is now dynamically changing and thus needs to adapt faster than the local user can move the microphone within that environment. If the shortest path length between the loudspeaker and the microphone (time of flight) is known a-priori, then it is self evident that a Time of Flight Optimization (ToFO) technique can be implemented to optimize the processing requirements to implement AEC within an adaptive filter. As the local microphone is moved further away from the local loudspeaker, the proportion of zero-valued coefficient taps increases and thus the processing requirements will fall. The processing bandwidth that has been freed up could potentially be used to dynamically decrease the convergence time or to increase the temporal range of the adaptive filter. The section of the adaptive filter that have zero-valued coefficients can be regarded as a FIFO which will consume very little processing overhead. The number of taps that can now have zero-valued coefficients (and thus implemented as a FIFO) is given by: Distance Estimation There are a number of techniques than could potentially be used to derive the direct path distance between the local loudspeaker and the local microphone. The technique used must be able to update the distance estimate sufficiently fast and have enough accuracy/resolution in order for the ToFO system to be useful.Potential techniques are: •	Cross correlation of the loudspeaker drive signal and the microphone feedback signal. This is likely to consume more processing bandwidth than is saved by using ToFO if the acoustic environment has a long impulse response. •	Machine vision systems, using video camera(s) to locate the remote microphone. This is a fairly expensive way to implement ToFO location and would likely result in more processing power being used that ToFO can save. This technique can be used when the camera and vision recognition systems are already present in the larger system and thus do not require additional processing and cost. •	TOF camera systems, limitations are the same as vision systems above. •	Ultrasound ranging systems. •	RF based distance ranging systems.