00:07
Acoustical Echo Cancelling, or AEC for short, is applied mostly in Q-SYS conferencing applications.
00:14
In this application meeting participants in at least two rooms need to be able to communicate with each other
00:20
and participants in other rooms.
00:22
Each room typically has a local audio/video conferencing system and the systems in each room
00:28
are connected by standard telecommunications infrastructure.
00:31
This could be simple POTS or VoIP telephony, dedicated codec (using the internet for transmission)
00:37
or soft codec applications such as ZOOM, MS Teams or BlueJeans.
00:41
The participants in a given room view themselves as the ‘near end’ in conferencing terminology.
00:47
They are transmitting their voices to the remote participants
00:51
and receiving from them via the linking technology being used.
00:54
This all starts of course with the microphones, which may be placed on the table as in this example,
01:00
or elsewhere such as the ceiling.
01:02
The microphones will be attached to the conferencing system,
01:05
which in this case would ultimately be a Q-SYS core.
01:08
Conferencing microphones are typically digitally processed to optimize clarity and sound quality,
01:14
then automixed to send an audio signal of constant level to the receiving rooms.
01:19
After the mic signals are properly processed and mixed,
01:22
the ‘transmit’ signals are then sent to the linking technology, which may be a dedicated video codec,
01:28
a telephone line or USB interface to a soft codec.
01:32
The room or rooms that receive the near end signals are called ‘far ends’.
01:37
The near end signal comes from the connecting infrastructure
01:41
where it is mixed with any required local sources, such as local presentation audio, etc.
01:47
The signals are digitally processed for audio quality and clarity,
01:50
then fed to an amplifier and ultimately loudspeakers which are typically overhead.
01:55
Here’s where we see the fundamental problem with audio conferencing systems.
02:00
The receive signal is broadcast into the room through the speakers.
02:04
There are microphones on the table or ceiling that pick up these signals.
02:09
The microphones send what they hear out to the remote rooms, which means that the talkers in the remote room
02:15
will hear themselves with a long delay as they try to speak.
02:19
If you’ve ever experienced this condition, which most of us have,
02:23
it’s almost impossible to speak and have productive communication when this happens.
02:28
To make things even more complicated, the microphones don’t hear the far end signal only once,
02:34
but potentially a number of times based on the reflectivity of the room.
02:39
There’s a ‘direct’ signal from the speaker to microphone, but…
02:44
There are also signals reflected off the surfaces in the room and back into the microphone.
02:49
These are known as ‘Acoustic Echo’.
02:51
Based on the reflectivity of the room, we end up sending
02:55
many time-shifted signals of varying levels to the microphones.
02:58
Removing these signals becomes a very difficult problem to solve.
03:02
This hard work is done by the ‘Acoustical Echo Cancelling’ algorithm, or AEC block.
03:08
We send a reference signal to the AEC algorithm, which tells it what to look for and remove.
03:16
We can conceptualize what’s happening here by looking at each part of the echo path as a separate signal.
03:23
Let’s look at a very simple case with a direct signal and two reflections.
03:28
Each reflection will naturally have a little more time shift and decay in level.
03:33
Now, real voice signals would be more complex than shown in this diagram,
03:37
but we’ll use these to keep it simple.
03:39
The AEC algorithm is a very advanced set of adaptive filters.
03:44
We introduce the signal we’d like the algorithm to remove as the ‘reference’ signal.
03:49
When audio is present at the input of the algorithm,
03:52
the adaptive filter begins to identify and try to remove the unwanted signals.
03:57
The reference signal reaches the algorithm first,
04:00
so the block always knows what to remove before the signal will be seen at the microphone.
04:05
The algorithm works to calculate what’s known as the ‘impulse response’ of the room to decide
04:11
the relative time shift and amplitude of each reflection.
04:15
The algorithm then works to scale and shift the reference signal
04:19
to be exactly out of phase with the incoming mic signal.
04:22
As we know, adding two audio signals that are completely
04:26
out of phase results in a cancellation of the signals in question.
04:30
The same operation is carried out for the first reflection
04:34
..and finally for the second…
04:37
In a perfect world with simple signals the cancellation would be perfect as seen in the diagrams.
04:43
As we know, the real world is much more complex. Perfect cancellation is rarely attainable.
04:50
This and other considerations add to the complexity of the AEC algorithm.
04:55
If we look at the algorithm in detail, we see all the parts
04:59
that make the right functionality for the conferencing application:
05:02
The incoming conferencing signal goes to the AEC reference,
05:05
is processed and ultimately goes into the room.
05:09
Notice that the adaptive filter set includes steady-state noise reduction as well as the AEC functionality.
05:16
The algorithm makes the necessary calculations and sets up the adaptive filter.
05:21
The filter then operates on the mic signal.
05:24
As an adaptive system, the algorithm uses the error signal, the amount of signal that’s not cancelled,
05:31
to continue to fine-tune the filter settings.
05:33
The nonlinear processing then suppresses the error signal that gets back to the caller’s ear.
05:40
Note the algorithm uses a double-talk detector to know if people at both ends of the call are talking at once.
05:47
The adaptive filter holds in the double-talk condition to make sure it doesn’t attempt
05:52
to remove any signal from local talkers that needs to reach the far end.
05:56
As you can see, this is one of the most advanced uses of audio DSP out there.
06:01
There are other features in the Q-SYS algorithm that add even more complexity…we’ll discuss those in detail later.
06:07
For now let's take a quick break, and continue along whenever you're ready.