An Echo Canceller with Frequency Dependent NLP Attenuation Niklas Nilsson June 1998

An Echo Canceller with Frequency Dependent NLP Attenuation Niklas Nilsson June 1998
Examensarbete MEE 98-05
ERA/B/D-98:032
An Echo Canceller with Frequency
Dependent NLP Attenuation
Niklas Nilsson
June 1998
post−filter attenuation
5
0
Attenuation (dB)
−5
−10
−15
−20
−25
0
2
4
6
8
time (s)
10
12
14
16
Master Thesis work
at
Ericsson Radio Systems AB
Supervisor
Lars Karlström
B/D - Speech Processing Products
Ericsson Radio Systems AB, Kista, Sweden
Examiner
Jörgen Nordberg
Department of Signal Processing
at the University of Karlskrona/Ronneby
INTERNAL INFORMATION
REPORT
Uppgjord tjst, namn - Prepared dept, name
KI/ERA/B/D Niklas Nilsson
Godkänd tjst, namnteckning - Approved dept, signature
Datum - Date
Rev
98-09-14
A
Kontr - Checked
1(52)
Nr - No.
ERA/B/D-98:032
Tillhör/Referens - File/Reference
KI/ERA/B/DC
To
Information copy
KI/ERA
B
Abstract
In this thesis, three different post-filtering algorithms for acoustic residual echo
attenuation have been studied and simulated to see if the algorithms work in
case of network echoes. The simulations were carried out using real recorded
speech signals. The results are presented by different plots.
The post-filter was implemented in the frequency domain due to the lower
computation complexity. The main drawback of this is that an additional time
delay will occur, when using block wise calculation.
Finally, results of the post-filter and those obtained with the Non Linear Processor (NLP) were compared to see if the NLP can be replaced by the post-filter
or not.
The second algorithm, the overweighted wiener filter yields a very high attenuation of the Near End (NE) signal if the overweight is too great. This means
that some of the NE frequencies is represented in the Far End (FE) spectrum.
The third algorithm gives the lowest attenuation in case of no NE noise and
modulates the NE noise mostly. The first algorithm gives the best overall
performance.
The simulation results shows that the NE and FE signals must be fully separated in frequency to make the post-filter working at optimum.
As the post-filter modulates the NE noise, comfort noise has been injected and
tested with simulations using the third algorithm.
The estimation and injection of comfort noise works best when the NE noise is
of a fairly stationary nature.
As the main requirement is to remove the entire residual echo, the NLP can not
be replaced with the post filter as it leaves some residual echo behind.
INTERNAL INFORMATION
REPORT
2(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
TABLE OF CONTENTS
Abstract
1
Abbreviations
3
1
INTRODUCTION
4
2
2.1
2.2
2.2.1
2.2.1.1
2.2.1.2
2.2.1.3
2.2.1.4
BACKGROUND
Echo origins
Echo cancellers
The modern echo canceller
The adaptive linear filter
The double talk detector
The non linear processor
The comfort noise generator
5
5
7
8
8
9
9
9
3
PURPOSE
10
4
POST-FILTER DESIGN
11
5
IMPLEMENTATION AND COMPUTATION OF FILTERCOEFFICIENTS
13
6
6.1
6.2
6.3
DESCRIPTION OF THE POST-FILTER ALGORITHMS
First algorithm, the Wiener post-filter
Second algorithm, the overweighted wiener post-filter
Third algorithm, the post-filter using noise reduction techniques
15
15
16
16
7
7.1
7.1.1
7.1.1.1
7.1.2
7.1.2.1
7.1.3
7.1.3.1
7.2
SIMULATIONS
Simulations of the three algorithms
The Wiener post-filter
Results and discussions
The overweighted Wiener post-filter
Results and discussions
Post-filter using noise reduction techniques
Results and discussions
Over-all discussions
18
18
19
19
27
27
31
31
36
8
8.1
8.2
COMFORT NOISE INJECTION
Simulation examples
Results and comments
37
39
40
9
9.1
9.2
COMPARISON OF THE NLP AND THE POST-FILTER
Simulation examples
Results and comments
42
42
42
10
CONCLUSIONS
45
11
SUGGESTIONS FOR FUTURE WORK
46
12
REFERENCES
47
Appendix
48
INTERNAL INFORMATION
REPORT
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
Abbreviations
NLP
GSM
FE
NE
FIR
LMS
NLMS
DT
DTD
CNG
DFT
FFT
IFFT
STFT
FRF
PSD
CSD
SNR
SER
PSTN
NMT
AR
VAD
PEF
MSE
MMSE
3(52)
Datum - Date
Non Linear Processor
Global System for Mobile communications
Far end
Near end
Finite Impulse Response
Least Mean Square
Normalized Least Mean Square
Double Talk
Double Talk Detector
Comfort Noise Generator
Discrete Fourier Transform
Fast Fourier Transform
Inverse Fast Fourier Transform
Short Term Fourier Transform
Frequency Response function
Power spectral Density
Cross spectral Density
Signal to Noise Ratio
Signal to Echo Ratio
Public Switched Telephony Network
Nordic Mobile Telephony
Auto Regressive
Voice Activity detector
Prediction Error Filter
Mean Square Error
Minimum Mean Square Error
INTERNAL INFORMATION
REPORT
1
4(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
INTRODUCTION
The adaptive linear filter in the echo canceller does not fully attenuate the echo,
despite the fact, that it is set at optimal. The remaining residual echo needs
further suppression. This task is handled by a Non Linear Processor (NLP).
The NLP blocks the residual echo fully or partially. Unfortunately, the NLP
cuts, especially weak parts of the near end signal, making the speech interrupted.
An alternative way of suppressing residual echo would be to design an adaptive
post-filter which attenuates the residual echo but leaves the near end signal
unaffected.
The object of this thesis is to study and make simulations of three different
algorithms for acoustic residual echo reduction in accordance with [1]. Further,
the results obtained are analysed to see if the algorithms work for network
echoes and evaluate the possibilities of replacing the NLP with the post-filter.
INTERNAL INFORMATION
REPORT
2
BACKGROUND
2.1
Echo origins
5(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
The extent to which echo is a problem for the telephone user depends on the
duration of the time delay involved. If the delay between the speech and the
echo is short, the echo is not noticeable but perceived as a spectral distortion or
reverberation. If the time delay exceeds, a few tens of milliseconds, the echo
becomes noticeable and thereby annoying.
Echoes are noticeable particularly in a telephone circuit that includes a geostationary satellite. Due to the high altitude of such a satellite, there is a one-way
propagation time of about 250 ms between the two parties. This yields a round
trip delay of 500 ms. In the Global System for Mobile communications (GSM)
system, the echo is noticeable too. That is because there is a one way delay of
about 100 ms [2]. This delay is present due to speech coding and radio transmission, where channel coding and decoding are used. Echo has to be attenuated in accordance with the delay involved. Longer delays must be compensated with higher echo attenuation to prevent the echo to be heard.
To see the cause of echoes, consider the telephone circuit depicted in Figure 1.
2-wire
Subscriber
Line
4-wire Transmission Network
2-wire
Subscriber
Line
echo
echo
Subscriber A
Subscriber B
Hybrid
Figure 1
Hybrid
A general telephone network with the two parties,
the 4 wire connection, the 2-wire connection and
the telephones.
The telephone sets for subscribers A and B are connected to their local station
by a 2-wire subscriber line. That line serves the need for communication in both
directions. The device which maintains the conversion between the 4-wire
transmission network and the subscriber line is called a hybrid. A hybrid is a
bridge circuit as depicted in Figure 2. The 4-wire transmission network splits
the transmission into two separate channels, one for each direction. The reason
for having separate transmission paths for send and receive is among other
things that signals transmitted over a long distance need amplification to maintain the level and compensate a signal loss. Amplifiers are mainly operational
INTERNAL INFORMATION
REPORT
6(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
in one direction only. Another reason of having a 4-wire connection is that
digitally operated switches are using it.
The main origin of echoes in telephone networks is an impedance mismatch at
the hybrid. This means that there is coupling between the “receive” and “send”
port of the hybrid. When a speech signal from the Far End (FE) encounters this
mismatch, some energy of the speech signal will be returned to the speaker at
the FE as an echo. Such echoes are usually called network echoes or hybrid
echoes.
Receive
Balancing
network
Subscriber
Send
Figure 2
Hybrid circuit with receive and send ports, a
speaker port and a balancing network.
Another echo source is the acoustic coupling between the loudspeaker and the
microphone. Some of the sound waves transmitted from the loudspeaker
including room reflections are returned to the FE speaker as echo via the microphone. This type of echo is referred to as an acoustic echo.
INTERNAL INFORMATION
REPORT
7(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
Figure 3 shows a typical acoustic echo situation. Acoustic echoes are present
mainly in hands free equipments and tele conference systems.
Reverberation
Direct
echo
Reverberation
Figure 3
2.2
Acoustic crosstalk between loudspeaker and
microphone caused by direct echo and late
reverberation.
Echo cancellers
Two solutions of handling echo problems have been used so far. In the past, a
device called echo suppressor [3] was widely used. That device basically operates as follows: When it detects a speech signal from the receive path it
produces an attenuation towards the send path. The major drawback of using
echo suppressors is the speech detection errors that occur. Speech detection
errors will cause an attenuation of the Near End (NE) speech as well.
In the late 60’s, echo cancellers [2] [3] [4] were introduced. A basic echo
canceller model is depicted in Figure 4. The echo canceller builds an estimate
of the echo path through the hybrid. The estimated echo signal is then
subtracted from the input signal and the echo is hopefully removed.
Estimated
echo path
-
Figure 4
Echo
source
Subscriber line
+ +
The basic echo canceller model.
INTERNAL INFORMATION
REPORT
8(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
The modern echo canceller
2.2.1
Figure 5 shows the parts in a modern echo canceller.
Echo Canceller
Rin
r(n)
Rout
Near End
Adaptive
Linear
Filter
Far End
Hybrid
DTD
s(n)+m(n)
^
d(n)
_
Sout
+
Sin
+
NLP
e(n)
s(n)+m(n)+d(n)
CNG
DTD
NLP
CNG
Double-talk Detector
Non-linear Processor
Comfort Noise Generator
s ( n ) -The near end speech
r ( n ) -The far end speech
m ( n ) -The near end noise
d ( n ) -The echo signal
d̂ ( n ) -The echo signal as estimated by the echo canceller
e ( n ) -The residual echo signal
Figure 5
The modern echo canceller model with its parts
and signal definitions.
Each part of the echo canceller is described in the following sections,
2.2.1.1
The adaptive linear filter
The central part of an echo canceller is the linear filter. The filter determines an
estimate of the echo path. When the incoming speech signal from FE pass
through this filter, a replica of the echo is obtained. The echo is cancelled by
subtracting the estimated echo signal from the input signal. However, an echo
canceller is a shared resource. At any moment in time, the signals passing
through one channel in the echo canceller may come from a particular telephone call between two end stations. When a telephone call is done, the same
channel is available for calls between two new end stations. This leads to
INTERNAL INFORMATION
REPORT
9(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
different echo paths from call to call. When the echo path is changing in time,
it is necessary to use an adaptive filter to estimate the echo path.
The adaptive filter consists of a linear Finite Impulse Response (FIR) filter,
usually controlled by a form of Least Mean Square (LMS) algorithm. The LMS
algorithm updates the filter coefficients in time according to the changes in
echo path impulse- or frequency response function. The most widely used
adaptation algorithm is the Normalized Least Mean Square (NLMS) algorithm.
NLMS is essential mainly where the input signal is subject to widely fluctuating power levels at the input of the filter. The convergence speed is another
reason for using NLMS. Details about LMS and its variants can be found in
references [3] [4] [5].
The length of a FIR filter is usually 512 taps, which corresponds to 64 ms at 8
kHz sample rate. Therefore the impulse response of the echo path may not
exceed 64 ms, otherwise the filter length for the estimate is too short and the
echo attenuation becomes poor.
2.2.1.2
The double talk detector
If near end speech is present, the adaptive algorithm will tend to diverge. This
can cause a poor echo-path estimate which yields poor echo attenuation. The
divergence problem still exists when speech signals from far end and near end
are present simultaneously (Double Talk (DT)). Because of these problems,
there is a need for a function that detects if there is NE speech present or not.
This function is known as a Double Talk Detector (DTD). When the DTD is
active, the adaptive filter will stop updating the filter coefficients.
2.2.1.3
The non linear processor
In many cases, the echo suppression obtained by the adaptive FIR filter is not
sufficient. These problems occur mainly when there are non linearities in the
echo path according to bad balanced networks, long time delays and overload
in the hybrid and so on. Another cause to bad echo suppression is when there
is estimation errors. To overcome these problems, a device called a Non Linear
Processor (NLP) is used. The NLP further reduces the echo by blocking the
output signal, completely or partially, when it is dominated by residual echo.
2.2.1.4
The comfort noise generator
If there is background noise at the NE, the NLP will remove both the residual
echo and the background noise as well. This modulation of noise must be
compensated to avoid poor speech quality due to unwanted silence periods in
the speech. One way to do this is to add virtually generated noise to the output
and thereby compensate for the modulated noise. The unit which handles this
task is called a Comfort Noise Generator (CNG). The main task of the CNG is
to create and inject noise that spectrally matches and is at the same energy level
as the background noise at the NE.
INTERNAL INFORMATION
REPORT
3
10(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
PURPOSE
The simplest NLP used today is based on a centre clipper [2] [4]. Figure 6
shows a basic centre clipper function.
g(e(n))
T
Figure 6
e(n)
A simple centre clipper function.
The centre clipper is controlled by a preset threshold level T. When the residual echo signal is below that level, the centre clipper becomes active and the
residual echo is cut off. Otherwise, it is let through. This method of cutting the
residual echo will affect the near end signal in a negative manner. The listener
at FE will experience the phone call very disturbing, as parts of the NE speech
is removed as well. It is especially the weak parts of the NE signal, for example at the beginning and the end of words, which are accidentally cut off.
An alternative method of suppressing residual echoes would be to replace the
NLP with an adaptive post-filter. The post-filter will suppress the residual echo
and leave the NE signal intact. This principle is described in [1], where the
performance of three different algorithms for residual acoustic echo reduction
are compared.
The purpose of this thesis is to make simulations and experiments in accordance with [1] and see if the methods work for network echoes as well as for
acoustic ones. Further, the possibilities of replacing the NLP with the postfilter are investigated in this work.
INTERNAL INFORMATION
REPORT
11(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
POST-FILTER DESIGN
4
Figure 7 shows the post-filter attached to the echo canceller.
ECHO CANCELLER
Rout
Rin
Adaptive
Linear
Filter
NE
FE
HYBRID
d
^
^
s+m=out Post-filter
s+m
_ ^
Sout
d
e
Sin
+
Sin = x =
= s+m+d
^
e = x-d = ^
= s+m+(d-d)
Computation of the spectral densities and filter
coefficients
Figure 7
e
x
^
d
The structure of the echo canceller with an
additional post-filter and the filter coefficients
computing block.
INTERNAL INFORMATION
REPORT
12(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
To describe the function and the design requirements of the post-filter, consider
four sequences of a telephone call denoted in table 1.
Table 1: Four sequences in a general telephone call
Sequences
Signals present
Filter requirements
NE signal
FE signal
1 Silence
x(n)=m(n)
No attenuation of
residual echo needed
ambient background noise
quiet
2 NE talk
present
x(n)=s(n)+m(n)
No attenuation of
residual echo needed
speech +
ambient background noise
quiet
3 FE talk
present
x(n)=m(n)+d(n)
Attenuate the residual echo
ambient background noise
speech
4 DT Double
talk present
x(n)=s(n)+m(n)+d(n)
Attenuate the residual echo and leave
the NE signal intact
speech +
ambient background noise
speech
The algorithms of the post-filter are designed to follow these requirements
without causing too much modulation of the NE-signal. Section 6 describes
each algorithm according to the filter requirements.
INTERNAL INFORMATION
REPORT
13(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
IMPLEMENTATION AND COMPUTATION OF FILTER COEFFICIENTS
5
The post-filter was implemented in the frequency domain. Frequency domain
implementation was chosen because of its lower computational complexity.
The major drawback of frequency domain implementation is the additional
time delay that occurs when using block wise calculation. This delay depends
on the post-filter length of N taps, i e if N=512 the time delay will be 64 ms at
a sample rate of 8kHz. Consider the filter coefficients computation block
diagram depicted in figure 8.
Hanning
window
w(p,n)
x(n)
e(n)
^
d(n)
Sample/
Block
x(p,n) ..
X(p,k) ..
X
x(p,n)w(p,n)
FFT
_
X(p,k) ..
Spectrum
estimation
Γxe
Calculate
coefficients
Filter
coefficients
Filter
coefficients
E(p,k)
U(p,k)
H(p,k)
u(p,n)
Overlapadd
Figure 8
u(p,n)
IFFT
out(p,n)
block/
Sample
^
^
out(n) = s(n)+m(n)
The spectral densities and post-filter coefficients
computation block diagram.
First, the signals x ( n ) , e ( n ) and d̂ ( n ) are divided into blocks with length of
N taps. Each block p of the three signals is further windowed with a Hanning
window. This is done to achieve smooth transitions in filter H when reconstructing the output signal in time domain. Then the Discrete Fourier Transform (DFT) as defined in equation (1) is performed to each windowed block to
INTERNAL INFORMATION
REPORT
14(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
get the Short Term Fourier Transforms (STFT:s) X ( p, k ) , E ( p, k ) and
D̂ ( p, k ) .
Definition of the DFT with windowed signal blocks,
N–1
X ( p, k ) =
∑ x ( p, n )w ( p,
kn
– j2π -----N ,
n )e
(1)
n=0
where x ( p, n ) is the input signal block and w ( p, n ) is the windowing function(Hanning). To further decrease the computation complexity, the Fast
Fourier Transform (FFT) have been used. The FFT is a faster way of calculating the DFT. The filter coefficients are according to the Frequency Response
Function (FRF) of the algorithms described in the next section, computed and
copied into the post-filter. The output signal from the post-filter is inverse
fourier transformed using the Inverse Fast Fourier Transform (IFFT) and
synthesized using an overlap add technique [7] with an overlapping factor of
50%.
Since all FRF:s can be expressed as functions of spectral densities, there is
need of spectral estimation when using a limited set of data. It is assumed that
the speech signals are short time stationary. A rough estimate of the Power
Spectral Density (PSD) Γ xx ( p, k ) is expressed as:
Γ̂ xx ( p, k ) = X ( p, k )
2
(2)
2
The expression X ( p, k ) can be rewritten as X ( p, k )X ∗ ( p, k ) , where *
denotes the complex conjugate. In a similar way, the expression of the Cross
Spectral Density (CSD) estimate becomes:
Γ̂ xy ( p, k ) = X ( p, k )Y ∗ ( p, k )
(3)
This estimate as well as the PSD estimate above yields too big variance. To
reduce the variance, a general averaged CSD estimate is obtained using equation (4)
r–1
1
Γ xy ( p, k ) = --- ∑ X i ( p, k )Y i∗ ( p, k ) .
r
(4)
i=0
Here Γ xy ( p, k ) is the averaged CSD estimate and X i ( p, k ) is the STFT of
x i ( p, n )w i ( p, n ) . To reduce the complexity of computing the CSD and the
memory requirements, the averaging in equation 2 can be done by low pass
filtering as.
Γ xy ( p + 1, k ) = αΓ xy ( p, k ) + ( 1 – α )X ( p + 1, k )Y ∗ ( p + 1, k ) ,
(5)
where α is a forgetting factor. This factor is usually set between 0.65 and 0.9.
By replacing index y with x, the averaged PSD estimate is obtained.
INTERNAL INFORMATION
REPORT
15(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
6
DESCRIPTION OF THE POST-FILTER ALGORITHMS
6.1
First algorithm, the Wiener post-filter
In this case, the post-filter is designed according to an optimal Wiener filter
model. This filter model is depicted in Figure 9.
e(n)
x(n)
H
Figure 9
u(n)
-
+
ep(n)
The Wiener filter model.
The filter coefficients minimizes the Mean Square Error (MSE) [3] [5] between
e ( n ) and u ( n ) using least squares filtering. In appendix A, the filter is defined
and derived. The estimated FRF of the post-filter is:
Γ xe ( p, k )
Ĥ ( p, k ) = --------------------Γ xx ( p, k )
(6)
Where Γ xx ( p, k ) is the averaged PSD estimate of the signal X ( p, k ) and
Γ xe ( p, k ) stands for the CSD between X ( p, k ) and the residual error signal
E ( p, k ) . Consider the sequences as in table 1. During ST where FE speech is
present, the signal x ( n ) has more power than e ( n ) and the filter is attenuating
the residual echo signal because the term Γ xe ( p, k ) is smaller than Γ xx ( p, k ) .
In ST, where NE speech is present and during silence, the signals e ( n ) and
x ( n ) are identical. Hence the filter is reduced to an all pass filter and lets the
residual echo signal pass through. During DT, frequencies which corresponds
mainly to the echo are attenuated while other frequencies are less affected. This
means that the echo canceller must give some attenuation in order to get the
post-filter working effectively. This is because there must be a difference in
energy level between x ( n ) and e ( n ) . Otherwise, the post-filter would always
be an all-pass filter and thereby not be able to attenuate any residual echo.
INTERNAL INFORMATION
REPORT
6.2
16(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
Second algorithm, the overweighted wiener post-filter
This algorithm is a modified version of the one described above. This approach
yields an additional degree of freedom to design the post-filter by adding an
additional PSD term in the denominator of the FRF. This term is further amplified by a weighting factor A, where A > 0 . The FRF estimate is expressed as:
Γ xe ( p, k )
Ĥ ( p, k ) = -----------------------------------------------------------Γ xx ( p, k ) + A ⋅ Γ d̂d̂ ( p, k )
(7)
In this algorithm, Γ d̂d̂ ( p, k ) stands for the averaged PSD estimate of the echo
estimated by the echo canceller. The filter behaviour is similar to the Wiener
post-filter described in the previous section. The difference is that with
Γ d̂d̂ ( p, k ) and A in the denominator there is an additional attenuation of the
residual echo.
6.3
Third algorithm, post-filter using noise reduction techniques
This approach is based on noise reduction techniques [6]. These techniques are
based on spectral subtraction. The post-filter is designed according to a non
causal Wiener filter model [7] [9] as depicted in Figure 10. The echo estimated
by the echo canceller d̂ ( n ) is seen as the disturbance.
^d(n)
x(n)
+
Figure 10
u(n)
H
^x(n)
Block diagram of the non causal Wiener filter
model with FRF as in equation 8.
The filter coefficients obtained in this model minimizes the MSE between x ( n )
and x̂ ( n ) so that x̂ ( n ) → x ( n ) . This will result in an attenuation in the echo
frequencies. In appendix B, this filter model is defined and described in detail.
The FRF estimate of this algorithm is expressed as:
Γ xx ( p, k )
SER ( p, k )
Ĥ ( p, k ) = ---------------------------------- = ---------------------------------------------------,
1 + SER ( p, k )
Γ xx ( p, k ) + Γ d̂d̂ ( p, k )
Γ xx ( p, k )
where SER ( p, k ) = ---------------------- is the Signal to Echo Ratio.
Γ d̂d̂ ( p, k )
(8)
INTERNAL INFORMATION
REPORT
17(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
In ST, where NE speech is present and in silence, the signals e ( n ) and x ( n )
are the same. This means that the term Γ d̂d̂ ( p, k ) gives no contribution to
Ĥ ( p, k ) and thus, filter Ĥ ( p, k ) will be an all-pass filter. During ST where the
FE speaker is active, there is an echo situation. The term Γ d̂d̂ ( p, k ) in the
denominator which contains the echo frequencies is added to the term
Γ xx ( p, k ) . The denominator in Ĥ ( p, k ) is greater than the numerator in the
echo frequencies. Therefore, an attenuation of the residual echo signal is
obtained. If in DT, the filter is attenuating the residual echo and letting the NE
speech pass through as the NE has the same energy in x ( n ) and e ( n ) .
INTERNAL INFORMATION
REPORT
18(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
SIMULATIONS
7
In this section, simulation results of the three algorithms are presented and
discussed. In all cases, real life recorded speech signals have been used.
7.1
Simulations of the three algorithms
The simulation examples which were used are presented in Table 2. The simulation time in all examples apart from example 4 is set to 16 s to include all the
sequences in accordance with table 1. In example 4 the simulation time is 56 s
for the same reason.
Examples 1 to 3 are from a general Public Switched Telephony Network
(PSTN) to PSTN conversation. In example 2, a stationary background NE car
noise is present to see how the post-filter operates. Example 3 consists of a NE
noise which is a non-stationary noise from a restaurant, here called babble
noise. The fourth example is a live Nordic Mobile Telephony (NMT) mobile to
PSTN telephone call and it is a very difficult case with lots of DT and non linearities. The non linearities give poor echo estimates and the post-filter is not
able to attenuate the residual echo signal properly, as to be seen in the simulations. Simulations where NE is a male voice and FE is a female voice are not
presented in the thesis, because they give similar results as the simulations
according to Table 2.
Table 2: Summary of the simulation examples
No
of
simulation
FE
NE
NE noise
Name
1
male voice
female
voice
none
General
2
male voice
female
voice
car noise
General
3
male voice
female
voice
babble
noise
General
4
male voice
male voice
none
NMT call
All simulations were carried out using a filter length of N=128 as default. This
length seems to be the best one in view of the additional time delay and distortions as shown in the simulations, where different filter lengths are used. The
forgetting factor α was set to 0.78. For each simulation, the signals are plotted
in sample-domain. The momentary powers of the signals are plotted to see how
the post-filter attenuation appears to be. The post-filter attenuation A ( dB ) is
calculated using equation 9 and then plotted. The results obtained from each
algorithm are discussed.
INTERNAL INFORMATION
REPORT
19(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
N
 1
2 
 ---- ∑ ( e k ( n ) ) 
 Nk = 1

A ( dB ) = 10 log  ---------------------------------------- dB
N
1
2
 ---- ∑ ( out k ( n ) ) 
N

(9)
k=1
1
Where ---N
1
and ---N
7.1.1
N
∑ ( ek ( n ) )
2
is the momentary power of the residual echo e ( n ) ,
k=1
N
∑ ( out k ( n ) )
2
is the same of the output signal of the post-filter out ( n ) .
k=1
The Wiener post-filter
Simulation example 1 was carried out using different filter lengths to see how
the length would affected the post-filter performance. The filter length was
varied like this: N=32, 64, 128(default), 256, 512 and 1024. The estimated
PSD:s, CSD:s and the FRF:s were plotted according to figure 15 and 16.
7.1.1.1
Results and discussions
In simulation examples 1 to 3 (Figures 11 to 13), the Wiener post-filter gives a
fair attenuation of the residual echo without causing too much modulation of
the NE-speech during DT.
In the fourth example (Figure 14), where there are non linearities, the echo
canceller attenuation will vary through time. This will result in varying
post-filter performances. That is because the post-filter is dependent of the echo
canceller attenuation. During DT, there is some audible modulation of the NE
speech signal. That is probably because it is a male to male conversing situation, which yields a NE spectra represented at some of the frequencies of the
FE spectra. More of this problem is stated in the next section, where the results
from the overweighted Wiener filter is presented.
The background noise is modulated both in simulation example 2 and 3. Simulation example 2 with car noise yields a very annoying speech quality after
post- filtering. In simulation example 3, with NE babble noise, the quality is
better than in the case of car noise. This is because the spectrum of that noise
spans over a larger frequency range than the car noise. Then, the higher
frequencies are not attenuated as much as the lower ones, since the residual
echo lies mainly in the lower spectra.
INTERNAL INFORMATION
REPORT
20(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
In the cases, where the filter length N is set to N=32 and N=64, there is a nasty
speech distortion of the NE-speech during DT. This is probably due to a low
frequency resolution. Most of the real frequencies are not represented in the
spectrum and this will result in spectral leakage.
For lengths of N=128 and N=256, the post-filter is working properly without
any audible distortions of the NE-speech during DT. In other words it is recommended to choose a filter length of N=128 according to the additional time
delay caused by longer post-filter lengths.
When the Filter length is N=512 and N=1024 the filtered output signal sounds
strange. The reason for that would be that with longer filter lengths, the signals
loses the short-time stationary properties. If there are non stationary spectral
variations of speech, then the performance of Wiener filters, which only work
properly with stationary signals, become poor.
INTERNAL INFORMATION
REPORT
21(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
Simulation example 1
4
2
residual echo signal e(n)
x 10
residual echo signal e(n)
3000
2000
amplitude
amplitude
1
0
1000
0
−1000
−1
−2000
−2
0
2
4
6
8
time (s)
4
2
10
12
14
−3000
16
0
1
2
3
output signal out(n)
x 10
4
time (s)
5
6
7
8
5
6
7
8
10
12
14
16
output signal out(n)
3000
2000
amplitude
amplitude
1
0
1000
0
−1000
−1
−2000
−2
0
2
4
6
8
time (s)
10
12
14
−3000
16
0
1
2
3
(a)
4
time (s)
(b)
residual echo signal e(n)
post−filter attenuation
0
5
power (dB)
−20
0
−40
−60
0
2
4
6
8
time (s)
10
12
14
16
output signal out(n)
0
−10
−15
−20
power (dB)
Attenuation (dB)
−80
−5
−40
−20
−60
−80
0
2
4
6
8
time (s)
10
12
(c)
14
16
−25
0
2
4
6
8
time (s)
(d)
Figure 11
(a) The residual echo signal e ( n ) and the output
signal out ( n ) in sample domain. (b) The same
signals at shorter duration (8 s) to see how the
post-filter performance appears to be. (c) The
momentary powers of e ( n ) and out ( n ) . (d) The
post-filter attenuation in dB.
INTERNAL INFORMATION
REPORT
22(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
Simulation example 2:
4
2
residual echo signal e(n)
x 10
residual echo signal e(n)
3000
2000
amplitude
amplitude
1
0
1000
0
−1000
−1
−2000
−2
0
2
4
6
8
time (s)
4
2
10
12
14
−3000
16
0
1
2
3
output signal out(n)
x 10
4
time (s)
5
6
7
8
5
6
7
8
10
12
14
16
output signal out(n)
3000
2000
amplitude
amplitude
1
0
1000
0
−1000
−1
−2000
−2
0
2
4
6
8
time (s)
10
12
14
−3000
16
0
1
2
3
(a)
4
time (s)
(b)
residual echo signal e(n)
post−filter attenuation
0
5
power (dB)
−10
−20
0
−30
−40
−60
0
2
4
6
8
time (s)
10
12
14
16
output signal out(n)
0
Attenuation (dB)
−50
−5
−10
power (dB)
−10
−20
−30
−15
−40
−50
−60
0
2
4
6
8
time (s)
10
12
(c)
14
16
−20
0
2
4
6
8
time (s)
(d)
Figure 12
(a) The residual echo signal e ( n ) and the output
signal out ( n ) in sample domain. (b) The same
signals at shorter duration (8 s) to see how the
post-filter performance appears to be. (c) The
momentary powers of e ( n ) and out ( n ) . (d) The
post-filter attenuation in dB.
INTERNAL INFORMATION
REPORT
23(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
Simulation example 3:
4
2
residual echo signal e(n)
x 10
residual echo signal e(n)
3000
2000
amplitude
amplitude
1
0
1000
0
−1000
−1
−2000
−2
0
2
4
6
8
time (s)
4
2
10
12
14
−3000
16
0
1
2
3
output signal out(n)
x 10
4
time (s)
5
6
7
8
5
6
7
8
10
12
14
16
output signal out(n)
3000
2000
amplitude
amplitude
1
0
1000
0
−1000
−1
−2000
−2
0
2
4
6
8
time (s)
10
12
14
−3000
16
0
1
2
3
(a)
4
time (s)
(b)
residual echo signal e(n)
post−filter attenuation
0
5
power (dB)
−10
−20
0
−30
−40
−5
−60
0
2
4
6
8
time (s)
10
12
14
16
output signal out(n)
0
power (dB)
−10
Attenuation (dB)
−50
−10
−15
−20
−30
−20
−40
−50
−60
0
2
4
6
8
time (s)
10
12
(c)
14
16
−25
0
2
4
6
8
time (s)
(d)
Figure 13
(a) The residual echo signal e ( n ) and the output
signal out ( n ) in sample domain. (b) The same
signals at shorter duration (8 s) to see how the
post-filter performance appears to be. (c) The
momentary powers of e ( n ) and out ( n ) . (d) The
post-filter attenuation in dB.
INTERNAL INFORMATION
REPORT
24(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
Simulation example 4:
4
2
residual echo signal e(n)
x 10
residual echo signal e(n)
3000
2000
amplitude
amplitude
1
0
1000
0
−1000
−1
−2000
−2
0
10
20
4
2
30
time (s)
40
−3000
50
0
5
10
output signal out(n)
x 10
15
time (s)
20
25
30
20
25
30
output signal out(n)
3000
2000
amplitude
amplitude
1
0
1000
0
−1000
−1
−2000
−2
0
10
20
30
time (s)
40
−3000
50
0
5
10
(a)
15
time (s)
(b)
residual echo signal e(n)
post−filter attenuation
0
5
power (dB)
−20
0
−40
−60
−5
0
10
20
30
time (s)
40
50
output signal out(n)
0
−10
−15
−20
power (dB)
Attenuation (dB)
−80
−40
−20
−60
−80
0
10
20
30
time (s)
40
(c)
50
−25
0
10
20
30
time (s)
40
50
(d)
Figure 14
(a) The residual echo signal e ( n ) and the output
signal out ( n ) in sample domain. (b) The same
signals at shorter duration (30 s) to see how the
post-filter performance appears to be. (c) The
momentary powers of e ( n ) and out ( n ) . (d) The
post-filter attenuation in dB.
INTERNAL INFORMATION
REPORT
25(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
Simulation example 1 run with different post-filter lengths.
cross spectral densities
100
50
0
0
100
500
1000
1500
2000
2500
3000
3500
4000
500
1000
1500
2000
2500
3000
3500
4000
500
1000
1500
2000
2500
3000
3500
4000
500
1000
1500
2000
2500
3000
3500
4000
500
1000
1500
2000
2500
3000
3500
4000
500
1000
1500
2000
frequency (Hz)
2500
3000
3500
4000
50
gain dB
0
0
100
50
0
0
100
50
0
0
100
50
0
0
100
50
0
0
(a)
power spectral densities
100
50
0
0
100
500
1000
1500
2000
2500
3000
3500
4000
500
1000
1500
2000
2500
3000
3500
4000
500
1000
1500
2000
2500
3000
3500
4000
500
1000
1500
2000
2500
3000
3500
4000
500
1000
1500
2000
2500
3000
3500
4000
500
1000
1500
2000
frequency (Hz)
2500
3000
3500
4000
50
gain dB
0
0
100
50
0
0
100
50
0
0
100
50
0
0
100
50
0
0
(b)
Figure 15
(a) The cross spectral densities between x ( n ) and
e ( n ) . (b) The power spectral densities of signal
x ( n ) for filter lengths of N=32, 64, 128, 256, 512
and 1024 taps.
INTERNAL INFORMATION
REPORT
26(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
Frequency Response functions
0
−20
−40
0
0
500
1000
1500
2000
2500
3000
3500
4000
500
1000
1500
2000
2500
3000
3500
4000
500
1000
1500
2000
2500
3000
3500
4000
500
1000
1500
2000
2500
3000
3500
4000
500
1000
1500
2000
2500
3000
3500
4000
500
1000
1500
2000
frequency (Hz)
2500
3000
3500
4000
−20
gain dB
−40
0
0
−20
−40
0
0
−20
−40
0
0
−20
−40
0
0
−20
−40
0
Figure 16
Frequency response functions of the Wiener
post-filter of lengths N=32, 64, 128, 256, 512 and
1024 taps.
INTERNAL INFORMATION
REPORT
7.1.2
27(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
The overweighted Wiener post-filter
The simulation example 1 was carried out with A=1, 6 and 30 to see how the
attenuation performances of the post-filter appears to be and how the NE signal
is affected, especially during DT. Example 1 is presented only, as it is enough
to make the conclusions.
7.1.2.1
Results and discussions
The overweighted version of the first algorithm seems to work well in all
sequences except during DT, where the NE-speech is modulated in a non
acceptable manner, especially when the parameter A is set to 30, as shown in
Figure 20. The NE signal is attenuated because some energy of the NE-speech
signal lies on the same frequencies as the FE-speech signal. Then if the term
Γ d̂d̂ ( p, k ) is amplified by A to a level that make the numerator greater then the
denominator in Ĥ ( p, k ) , at common frequencies, the speech modulation
becomes noticeable. Hence, the attenuation of the NE-speech becomes audible
if A is set too high.
A solution would perhaps be to find a way of controlling the parameter A.
During DT, parameter A would be close to zero. During ST where FE is active,
parameter A should be high (>=30) to get maximum attenuation. Of course, this
algorithm gives modulations of noise as the Wiener post-filter.
In other words, the prerequisite for this algorithm to work perfectly is that the
NE-speech signal should be totally separated from the FE-speech in frequency
as sketched in figure 17. In this case, parameter A can be set very high.
NE
Gain (DB)
FE
f
Figure 17
An interpretation of how the spectrum of FE and
NE should look like to make the post-filter
working at optimum without any modulations of
the NE signal.
INTERNAL INFORMATION
REPORT
28(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
Simulation example 1 with A=1:
4
2
residual echo signal e(n)
x 10
residual echo signal e(n)
3000
2000
amplitude
amplitude
1
0
1000
0
−1000
−1
−2000
−2
0
2
4
6
8
time (s)
4
2
10
12
14
−3000
16
0
1
2
3
output signal out(n)
x 10
4
time (s)
5
6
7
8
5
6
7
8
10
12
14
16
output signal out(n)
3000
2000
amplitude
amplitude
1
0
1000
0
−1000
−1
−2000
−2
0
2
4
6
8
time (s)
10
12
14
−3000
16
0
1
2
3
(a)
4
time (s)
(b)
residual echo signal e(n)
post−filter attenuation
0
5
power (dB)
−20
0
−40
−5
−80
0
2
4
6
8
time (s)
10
12
14
16
output signal out(n)
0
Attenuation (dB)
−60
−10
−15
power (dB)
−20
−20
−40
−25
−60
−80
0
2
4
6
8
time (s)
10
12
(c)
14
16
−30
0
2
4
6
8
time (s)
(d)
Figure 18
(a) The residual echo signal e ( n ) and the output
signal out ( n ) in sample domain. (b) The same
signals at shorter duration (8 s) to see how the
post-filter performance appears to be. (c) The
momentary powers of e ( n ) and out ( n ) . (d) The
post-filter attenuation in dB.
INTERNAL INFORMATION
REPORT
29(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
Simulation example 1 with A=6:
4
2
residual echo signal e(n)
x 10
residual echo signal e(n)
3000
2000
amplitude
amplitude
1
0
1000
0
−1000
−1
−2000
−2
0
2
4
6
8
time (s)
4
2
10
12
14
−3000
16
0
1
2
3
output signal out(n)
x 10
4
time (s)
5
6
7
8
5
6
7
8
10
12
14
16
output signal out(n)
3000
2000
amplitude
amplitude
1
0
1000
0
−1000
−1
−2000
−2
0
2
4
6
8
time (s)
10
12
14
−3000
16
0
1
2
3
(a)
(b)
post−filter attenuation
residual echo signal e(n)
5
0
−20
power (dB)
4
time (s)
0
−40
−5
−60
0
2
4
6
8
time (s)
10
12
14
16
output signal out(n)
0
Attenuation (dB)
−10
−80
−15
−20
power (dB)
−20
−25
−40
−30
−60
−80
−35
0
2
4
6
8
time (s)
10
12
(c)
14
16
0
2
4
6
8
time (s)
(d)
Figure 19
(a) The residual echo signal e ( n ) and the output
signal out ( n ) in sample domain. (b) The same
signals at shorter duration (8 s) to see how the
post-filter performance appears to be. (c) The
momentary powers of e ( n ) and out ( n ) . (d) The
post-filter attenuation in dB.
INTERNAL INFORMATION
REPORT
30(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
Simulation example 1 with A=30:
4
2
residual echo signal e(n)
x 10
residual echo signal e(n)
3000
2000
amplitude
amplitude
1
0
1000
0
−1000
−1
−2000
−2
0
2
4
6
8
time (s)
4
2
10
12
14
−3000
16
0
1
2
3
output signal out(n)
x 10
4
time (s)
5
6
7
8
5
6
7
8
10
12
14
16
output signal out(n)
3000
2000
amplitude
amplitude
1
0
1000
0
−1000
−1
−2000
−2
0
2
4
6
8
time (s)
10
12
14
−3000
16
0
1
2
3
(a)
(b)
post−filter attenuation
5
−20
0
−40
−5
−60
−10
0
2
4
6
8
time (s)
10
12
14
16
output signal out(n)
0
power (dB)
−20
−15
−20
−25
−30
−40
−35
−60
−80
Attenuation (dB)
power (dB)
residual echo signal e(n)
0
−80
4
time (s)
−40
0
2
4
6
8
time (s)
10
12
(c)
14
16
−45
0
2
4
6
8
time (s)
(d)
Figure 20
(a) The residual echo signal e ( n ) and the output
signal out ( n ) in sample domain. (b) The same
signals at shorter duration (8 s) to see how the
post-filter performance appears to be. (c) The
momentary powers of e ( n ) and out ( n ) . (d) The
post-filter attenuation in dB.
INTERNAL INFORMATION
REPORT
31(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
7.1.3
Post-filter using noise reduction techniques
7.1.3.1
Results and discussions
This algorithm is not attenuating the residual echo as well as could be expected,
neither for simulation example 1 (Figure 21) nor 4 (Figure 24). The attenuation
obtained is about 8 to 12 dB compared with about 15 to 20 dB in example 2 and
3 (Figure 22 and 23). This is probably due to the fact that there is correlation
between x ( n ) and d̂ ( n ) . In example 2 and 3, where NE-noise is present, the
noise is probably decorrelating the signal x ( n ) from d̂ ( n ) and therefore, the
post-filter performance is increasing in these cases.
The results from example 1 shows that the NE-speech modulation is not noticeable as the post-filter attenuation is low. In examples 2 and 3, the modulation of
the NE-speech is tolerable because of the male-female conversation where the
NE is fairly separated from FE in frequency. In example 4, the modulation of
NE is noticeable due to the fact, that NE and FE sometimes lie in the same spectral range, but not as disturbing as in the first algorithm because of low
post-filter attenuation.
In order to get the non casual Wiener filter working properly, the signals x ( n )
and d̂ ( n ) should be uncorrelated. As stated in appendix B, the signals x ( n ) and
w ( n ) are assumed to be uncorrelated, and then the filter performance obtained
in the simulations show that the theory corresponds to the simulation examples.
INTERNAL INFORMATION
REPORT
32(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
Simulation example 1:
4
2
residual echo signal e(n)
x 10
residual echo signal e(n)
3000
2000
amplitude
amplitude
1
0
1000
0
−1000
−1
−2000
−2
0
2
4
6
8
time (s)
4
2
10
12
14
−3000
16
0
1
2
3
output signal out(n)
x 10
4
time (s)
5
6
7
8
5
6
7
8
10
12
14
16
output signal out(n)
3000
2000
amplitude
amplitude
1
0
1000
0
−1000
−1
−2000
−2
0
2
4
6
8
time (s)
10
12
14
−3000
16
0
1
2
3
(a)
(b)
residual echo signal e(n)
post−filter attenuation
0
2
−20
power (dB)
4
time (s)
0
−40
−2
−60
0
2
4
6
8
time (s)
10
12
14
16
output signal out(n)
0
Attenuation (dB)
−4
−80
−6
−8
power (dB)
−20
−10
−40
−12
−60
−80
0
2
4
6
8
time (s)
10
12
(c)
14
16
−14
0
2
4
6
8
time (s)
(d)
Figure 21
(a) The residual echo signal e ( n ) and the output
signal out ( n ) in sample domain. (b) The same
signals at shorter duration (8 s) to see how the
post-filter performance appears to be. (c) The
momentary powers of e ( n ) and out ( n ) . (d) The
post-filter attenuation in dB.
INTERNAL INFORMATION
REPORT
33(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
Simulation example 2:
4
2
residual echo signal e(n)
x 10
residual echo signal e(n)
3000
2000
amplitude
amplitude
1
0
1000
0
−1000
−1
−2000
−2
0
2
4
6
8
time (s)
4
2
10
12
14
−3000
16
0
1
2
3
output signal out(n)
x 10
4
time (s)
5
6
7
8
5
6
7
8
10
12
14
16
output signal out(n)
3000
2000
amplitude
amplitude
1
0
1000
0
−1000
−1
−2000
−2
0
2
4
6
8
time (s)
10
12
14
−3000
16
0
1
2
3
(a)
4
time (s)
(b)
residual echo signal e(n)
post−filter attenuation
0
5
power (dB)
−10
−20
0
−30
−40
−5
−60
0
2
4
6
8
time (s)
10
12
14
16
output signal out(n)
0
power (dB)
−10
Attenuation (dB)
−50
−10
−15
−20
−30
−20
−40
−50
−60
0
2
4
6
8
time (s)
10
12
(c)
14
16
−25
0
2
4
6
8
time (s)
(d)
Figure 22
Simulation results from example 2. (a) The
residual echo signal e ( n ) and the output signal
out ( n ) in sample domain. (b) The same signals at
shorter duration (8 s) to see how the post-filter
performance appears to be. (c) The momentary
powers of e ( n ) and out ( n ) . (d) The post-filter
attenuation in dB.
INTERNAL INFORMATION
REPORT
34(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
Simulation example 3:
4
2
residual echo signal e(n)
x 10
residual echo signal e(n)
3000
2000
amplitude
amplitude
1
0
1000
0
−1000
−1
−2000
−2
0
2
4
6
8
time (s)
4
2
10
12
14
−3000
16
0
1
2
3
output signal out(n)
x 10
4
time (s)
5
6
7
8
5
6
7
8
10
12
14
16
output signal out(n)
3000
2000
amplitude
amplitude
1
0
1000
0
−1000
−1
−2000
−2
0
2
4
6
8
time (s)
10
12
14
−3000
16
0
1
2
3
(a)
4
time (s)
(b)
residual echo signal e(n)
post−filter attenuation
0
5
power (dB)
−10
−20
0
−30
−40
−5
−60
0
2
4
6
8
time (s)
10
12
14
16
output signal out(n)
0
power (dB)
−10
Attenuation (dB)
−50
−10
−15
−20
−30
−20
−40
−50
−60
0
2
4
6
8
time (s)
10
12
(c)
14
16
−25
0
2
4
6
8
time (s)
(d)
Figure 23
(a) The residual echo signal e ( n ) and the output
signal out ( n ) in sample domain. (b) The same
signals at shorter duration (8 s) to see how the
post-filter performance appears to be. (c) The
momentary powers of e ( n ) and out ( n ) . (d) The
post-filter attenuation in dB.
INTERNAL INFORMATION
REPORT
35(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
Simulation example 4:
4
2
residual echo signal e(n)
x 10
residual echo signal e(n)
3000
2000
amplitude
amplitude
1
0
1000
0
−1000
−1
−2000
−2
0
10
20
4
2
30
time (s)
40
−3000
50
0
5
10
output signal out(n)
x 10
15
time (s)
20
25
30
20
25
30
output signal out(n)
3000
2000
amplitude
amplitude
1
0
1000
0
−1000
−1
−2000
−2
0
10
20
30
time (s)
40
−3000
50
0
5
10
(a)
15
time (s)
(b)
residual echo signal e(n)
post−filter attenuation
0
5
power (dB)
−20
0
−40
−60
−5
0
10
20
30
time (s)
40
50
output signal out(n)
0
−10
−15
−20
power (dB)
Attenuation (dB)
−80
−40
−20
−60
−80
0
10
20
30
time (s)
40
(c)
50
−25
0
10
20
30
time (s)
40
50
(d)
Figure 24
(a) The residual echo signal e ( n ) and the output
signal out ( n ) in sample domain. (b) The same
signals at shorter duration (30 s) to see how the
post-filter performance appears to be. (c) The
momentary powers of e ( n ) and out ( n ) . (d) The
post-filter attenuation in dB
INTERNAL INFORMATION
REPORT
7.2
36(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
Overall discussions
According to the simulation results, the third algorithm gives the best attenuation in the examples where additive noise is present at the NE but with an
increased modulation of the NE. The first algorithm gives the best overall
performance. This algorithm is used to compare the post-filter performance
with the NLP.
In all cases when there is background noise present, the noise is modulated
during the post-filtering. That is because the noise spectra is represented over
the same frequencies as the residual echo. The noise as well as the residual echo
is attenuated and this yields a poor speech quality, especially in example 2,
where car noise is present. To solve this problem, comfort noise is injected as
described in the next section. The third algorithm is used to see how the comfort
noise injection appears to be. This is because this algorithm is modulating the
noise very rapidly, in comparison with algorithm 1.
INTERNAL INFORMATION
REPORT
37(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
COMFORT NOISE INJECTION
8
As the background noise from NE is modulated when filtered by the post-filter,
there is a need for injecting comfort noise to compensate for the modulation and
fill out the spectral “valleys” in the residual echo signal. Figure 25 shows a
variant of the CNG similar to [11].
x(n)
VAD
True/False
LPC
estimate
Noise
level
ha
White noise
generator
W(n)
~
m(n)
F(z)
^m(n)
X
Hanning
window
^m(n)
Sample/
Block
w(p,n)
^m(p,n)
X
^M(p,k)
G(p,k)
IFFT
Figure 25
^M(p,k)
^m(p,n)w(p,n)
Overlapadd
FFT
Block/
Sample
cn(n)
The CNG block diagram and the filter G.
The procedure of comfort noise estimation is based on linear prediction [5].
This is to predict a future value of a stationary random process from observation
of past values of the process. Because the noise is to be predicted, it must be
estimated during speech pauses. During the prediction, an estimate of the Auto
Regressive (AR) filter coefficients is obtained. The AR model is used because
the parameters can be obtained as the solution of a set of linear equations.
INTERNAL INFORMATION
REPORT
38(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
The AR filter used here is designed as:
1
F ( z ) = ----------- .
A(z)
(10)
A generated white noise process is filtered through F ( z ) to obtain the NE noise
estimate with a spectrum similar to the NE noise. This filtered noise is further
amplified to the same level as the NE-noise and added to the output signal.
To determine whether there is silence or not, there is need of a voice activity
detector (VAD). This VAD detects if there is any speech in either directions. If
the silence period is detected, the AR coefficients can be estimated from the
signal x ( n ) by a one-step predictor [5] using Yule-Walker equations [6] [7] as
in equations 11 as
p
R xx ( n ) =
∑
f a R xx ( n – a ) ,
(11)
a=1
where R xx ( n ) is the autocorrelation of the signal x ( n ) . The AR filter coefficients are f a and the filter length is p taps. Equation 11 can be rewritten in
matrix form of order p as:
R xx ( 1 )
R xx ( 0 )
R xx ( 1 )
R xx ( 2 )
…
R xx ( p – 1 )
f1
R xx ( 2 )
R xx ( 1 )
R xx ( 0 )
R xx ( 1 )
…
R xx ( p – 2 )
f2
˙
˙
˙
˙
˙
˙
˙
˙
˙
˙
R xx ( 1 )
˙
R xx ( p – 1 )
…
…
R xx ( 1 )
R xx ( 0 )
hp
˙
˙
R xx ( p )
=
=
–1
g = Rf ⇒ f = R g.
=
(12)
These equations are known as the normal equations. There are some methods
of solving these equations. One solution is to use Levinson algorithm [5] [6]
[7], which allows the recursive calculation of the predictor coefficients.
To easier solve the normal equations, a Prediction Error Filter (PEF) [5] can be
used. In the PEF of the one-step predictor, the order of the vectors and matrixes
is p + 1 . The matrix in equation 12 is rewritten as [5]:
INTERNAL INFORMATION
REPORT
1
–h1
˙
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
R xx ( 0 ) R xx ( 1 ) R xx ( 2 )
…
R xx ( p )
R xx ( 1 ) R xx ( 0 ) R xx ( 1 )
…
R xx ( p – 1 )
˙
˙
˙
˙
˙
˙
˙
˙
˙
˙
R xx ( 1 )
–h p
R xx ( p )
…
…
R xx ( 1 )
R xx ( 0 )
=
39(52)
Datum - Date
p
R xx ( 0 ) –
∑ hi R xx ( i )
i=1
0
˙
˙
0
(13)
As the vector in equation 13 has a much simpler form, a modified version of
Levinson algorithm can be used. This algorithm is referred to as the LevinsonDurbin algorithm and is defined in [5] [7].
The AR filter can either be designed in direct- or in Lattice form [7]. In
Levinson-Durbin algorithm, the reflection coefficients [7] for a Lattice filter is
obtained as well as the filter coefficients for a direct form realisation.
The output noise m̃ ( n ) is further amplified to a level that corresponds to the
power of the NE-noise itself.
When the silence is over, the AR coefficients obtained from this estimation
procedure are frozen and used in the filter F ( z ) until the next period of silence
is detected by the VAD. Then, the whole estimation procedure is restarted once
again.
Filter G ( p, k ) is designed as
G ( p, k ) = 1 – H ( p, k ) ,
(14)
where H ( p, k ) is the FRF of the post-filter. This filter amplifies the noise at the
frequencies that H ( p, k ) attenuates and vice versa. The output noise is therefore set to the same level as the input noise. After that procedure the filtered
noise is IFFT:ed, overlap-saved and finally added to the filtered residual echo
signal.
8.1
Simulation examples
The results of interest are those obtained from simulation example 2 and 3, as
the NE-signal in example 2 consists of a fairly stationary car noise and example
3 has a non stationary background noise.
INTERNAL INFORMATION
REPORT
8.2
40(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
Results and comments
In example 2 (Figure 26), the output signal added with comfort noise sounds
very good in comparison with the post-filter modulated one. Then the filter
G ( p, k ) is working properly and the estimation procedure as well.
The simulation results of example 3 (Figure 27) shows that it is difficult to build
an estimate of the NE babble noise. This is because the noise is of a non
stationary nature. The output signal does not sound annoying, anyway.
To summarize the results, the estimation and injection of comfort noise is
working well during the circumstances that the NE-noise is of a fairly
stationary nature. I.e. the signal has a slow variation with time. When NE-noise
is non stationary, the CNG tries to estimate the noise as far as possible.
Simulation Example 2:
residual echo signal e(n)
2000
0
−2000
0
1
2
0
1
2
0
1
2
3
4
5
output signal out(n)
6
7
8
3
4
5
6
output signal and comfort noise out(n) + cn(n)
7
8
7
8
amplitude
2000
0
−2000
2000
0
−2000
Figure 26
3
4
time (s)
5
6
Results of example 2, where comfort noise is
injected to the filtered output signal
INTERNAL INFORMATION
REPORT
41(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
Example 3
residual echo signal e(n)
2000
0
−2000
0
1
2
0
1
2
0
1
2
3
4
5
output signal out(n)
6
7
8
3
4
5
6
output signal and comfort noise out(n) + cn(n)
7
8
7
8
amplitude
2000
0
−2000
2000
0
−2000
Figure 27
3
4
time (s)
5
6
Results of example 3, where comfort noise is
injected to the filtered output signal.
INTERNAL INFORMATION
REPORT
9
42(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
COMPARISON OF THE NLP AND THE POST-FILTER
In this section, the performance of the post-filter implemented as the third algorithm is compared with the NLP used in the ERICSSON network echo
canceller.
9.1
Simulation examples
The simulation examples to test are the NMT telephone call (example 4) and
the male-female conversation with background car noise (example 2) to see the
clipping effects and comfort noise injection.
9.2
Results and comments
If considering the simulation results obtained from example 4 (Figure 28), the
output from the NLP sounds very bad as the clipping threshold level of the NLP
is set too high due to non linearities. The NE speech is modulated in such a way
that parts of the conversation is more or less lost. With the post-filter, most of
the conversation is understandable, but as stated before, it leaves some of the
residual echo behind and the NE speech is fairly modulated when two men are
talking to each other.
In example 2 (Figure 29), the NLP does not affect the output as much as is the
NMT conversation example. As the NLP is clipping the residual echo straight
off, the comfort noise injection sounds more interrupted than the comfort noise
obtained with filter G ( p, k ) , which should inject as much comfort noise as the
post-filter attenuates. Thereby, the comfort noise injection is smoother than the
one obtained in NLP.
The post-filter sounds best in the examples, where CN is injected. As the
frequencies of NE and FE are better separated than in example 4, the NE speech
is not modulated as much during DT.
To summarize this, the NLP cuts the residual echo straight off. Then the injection of comfort noise sounds better with the post-filter.
As the most important of residual echo suppression is to remove all the residual
echo, the NLP can not be totally replaced with the post-filter. More research has
to be done about how to control the parameter A in the second algorithm. The
solutions from [10] would be of interest. Maybe the NLP and the CNG can be
replaced with the residual echo suppressor as in [10].
INTERNAL INFORMATION
REPORT
43(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
Example 4, the NMT telephone call example:
residual echo signal e(n)
2000
0
−2000
0
5
10
15
20
output signal from post−filter out(n)
25
30
0
5
10
25
30
0
5
10
25
30
amplitude
2000
0
−2000
15
20
output signal from NLP NLP(n)
2000
0
−2000
Figure 28
15
time (s)
20
Simulation results of example 4, where the
post-filter is compared with the NLP.
INTERNAL INFORMATION
REPORT
44(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
The male-female conversation with background car noise
residual echo signal e(n)
2000
0
−2000
0
1
0
1
0
1
2
3
4
5
output signal from post−filter out(n)
6
7
8
7
8
7
8
7
8
7
8
amplitude
2000
0
−2000
2
3
4
5
6
output signal from post−filter with comfort noise out(n) + cn(n)
2000
0
−2000
2
3
4
time (s)
5
6
(a)
output signal from NLP NLP(n)
3000
amplitude
2000
1000
0
−1000
−2000
−3000
0
1
0
1
2
3
4
5
6
output signal from NLP with comfort noise NLP(n) + cn(n)
3000
amplitude
2000
1000
0
−1000
−2000
−3000
2
3
4
time (s)
5
6
(b)
Figure 29
Simulation results of (a) the post-filter (b) the NLP
in example 2, where the post-filter is compared
with the NLP.
INTERNAL INFORMATION
REPORT
10
45(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
CONCLUSIONS
Three different algorithms for acoustic residual echo suppression have been
simulated for situations with network echoes.
Simulations with different post-filter lengths shows that if the length is too
short, then distortions of the NE-speech appears. That is because there is not
enough frequency resolution in the spectrum to build a good estimate. If the
post-filter is too long, then the windowed blocks loses the short time stationary
properties. The Wiener filter methods does therefore not work properly. The
post-filter lengths of N=128 and N=256 works best. The choice is thereby the
filter length of N=128 in case of the additional time delay that occurs in the case
of blockwise calculations.
In order to get the algorithms to work perfect during DT, the NE-signal and the
FE-signal have to be totally separated in frequency. This is not the fact in the
reality.
According to the simulation results, the third algorithm gives the best attenuation in the examples where additive noise is present at the NE but with an
increased modulation of the NE. The first algorithm gives the best overall
performance.
The estimation and creation of comfort noise is working well during the
circumstances that the NE-noise is of a fairly stationary nature, i.e. the periodic
elements of the signal have slow variations with time. When NE-noise is non
stationary, the CNG tries to estimate the noise as good as possible.
In real echo situations, no residual echo is desired at all. The post-filter algorithms delivers an attenuation which is not good enough. One solution to this
problem is to use a post-filter and a NLP together. The post-filter is used to
suppress the residual and lowering the threshold level for the NLP which is
clipping the remaining residual echo. Hence the NE speech would be less
affected by the NLP and the speech quality may improve. But the price to pay
is the additional time delay that occurs by the post-filter.
Another solution would to use a method of decorrelation as in [10] and maybe
get rid of the NLP and the CNG.
INTERNAL INFORMATION
REPORT
11
46(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
SUGGESTIONS FOR FUTURE WORK
•
Evaluate the possibilities of using a post-filter and a standard
NLP together. Explore how to create and inject comfort noise
when using this combination.
•
Find accurate methods of controlling the parameter A in
algorithm 2 to get hard attenuation of residual echo without
modulating the NE speech in a negative manner during DT.
•
To evaluate possible methods of suppressing residual echoes
based on sample per sample calculation and thus reduce the
additional time delay that occurs when using blockwise
calculation.
•
Evaluate the method of using decorrelation as in [10] and
compare the results with those obtained in this thesis.
INTERNAL INFORMATION
REPORT
12
47(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
REFERENCES
[1] Vale’rie Turbin, Andre’ Gilloire and Pascal Scalart, "Comparison of three
Post-filtering algorithms for acoustic echo reduction"., IEEE 1997, pp.
307-310
[2] Anders Eriksson, Gunnar Eriksson, Johnny Karlsen, Anders Roxström and
Teresa Vallon Hult, "Ericsson echo canceller - a key to improved speech
quality". Ericsson Review No 1. 1996
[3] Simon Haykin, "Adaptive filter theory”., 3rd ed. Upper Saddle River, NJ:
Prentice Hall 1997
[4] K. Shenoi, "Digital Signal Processing in telecommunications"., Upper
Saddle River, NJ: Prentice-Hall 1997
[5] Peter M. Clarkson, "Optimal and Adaptive Signal Processing"., CRC Press,
Inc. 1993
[6] Alberto Leon-Garcia, "Probability and Random Processes for Electrical
Engineering"., Second Edition, Addison-Wesley Publishing Company, Inc.
1994
[7] John G.Proakis Dimitris G.Manolakis "Digital Signal Processing principles, algorithms and applications"., Second Edition, Macmillan Publishing
Company 1992
[8] Ayad Beghdad, “Acoustic echo and noise reduction: a novel Approach”.,
IWAENC’97 pp. 168-171
[9] Jae S. Lim, “Two-Dimensional Signal and Image Processing”., Englewood
cliffs, NJ: Prentice-Hall 1990
[10] Peter Eneroth and Thomas Gänsler, “A Frequency domain adaptive Echo
Canceller with Post-Processing Residual Echo Suppression by Decorrelation”., Signal Processing Report SPR-40, Department of Applied Electronics,
Signal Processing Group, Lund University 1997
[11] Stefan Gustafsson, “Acoustic Echo Compensation in the GSM Environment - Echo Cancellation Combined with the Echo Shaping Filter”., Rheinisch-Westfälische Technische Hochschule Aachen 1997
INTERNAL INFORMATION
REPORT
A
48(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
The optimal Wiener filter
In figure 30, the optimal Wiener filter model block diagram is depicted.
d(n)
x(n)
e(n)
y(n)
H
+
-
Figure 30
The idea behind optimal filtering is to design a filter H with the impulse
response h ( n ) in such a way that the output signal y ( n ) obtained will be as
close as possible to the desired signal d ( n ) in the sense of minimum mean
squared error(MMSE). The performance of this filter is observed through the
error signal e ( n ) between d ( n ) and y ( n ) .
In accordance with figure 30, the signal e ( n ) is expressed as
e(n) = d (n) – y(n) ,
(15)
where y ( n ) for a filter length of m taps is
m
y(n) = h(n) ⊗ x(n) =
∑ h ( k )x ( n – k ) ,
(16)
k=0
where ⊗ stands for the convolution operator. The MSE is written as:
2
J = E{e (n)} ,
2
(17)
2
where E { e ( n ) } is the expectation value of e ( n ) . The MMSE is obtained by
differentiating J with respect to each filter coefficient and setting the partial
derivatives ∂J ⁄ ∂h ( i ) to zero. The differentiation yields
2

∂e ( n ) 
∂J
∂E { e ( n ) }
------------ = --------------------------- = 2E  e ( n ) -------------  ,
∂h ( i ) 
∂h ( i )
∂h ( i )

(18)
where ∂e ( n ) ⁄ ∂h ( i ) will be – x ( n – i ) which results in
m



∂J
------------ = 2E   d ( n ) – ∑ h ( k )x ( n – k ) ⋅ – x ( n – i ) 
∂h ( i )



k=0
(19)
INTERNAL INFORMATION
REPORT
49(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
Setting ∂J ⁄ ∂h ( i ) to zero gives
m


E  – d ( n )x ( n – i ) + ∑ h ( k )x ( n – k )x ( n – i )  = 0 ⇒


k=0
(20)
m


⇒ E { x ( n )d ( n + i ) } = E  ∑ h ( k )x ( n )x ( n – k + i ) 
k = 0

The definition of the autocorrelation function of signal x ( n ) is
R xx ( i ) = E { x ( n )x ( n + i ) }
(21)
The cross correlation function between x ( n ) and d ( n ) is
R xd ( i ) = E { x ( n )d ( n + i ) }
(22)
From equations 20 to 22, the expression becomes
m
R xd ( i ) =
∑ h ( k )R xx ( i – k ) ⇒ R xd ( i )
= h ( i ) ⊗ R xx ( i )
(23)
k=0
This is known as the normal equations. Taking the fourier transform of equation
gives
Γ xd ( f ) = H ( f )Γ xx ( f ) ,
(24)
where Γ xx ( f ) is the PSD of x ( n ) and Γ xd ( f ) is the CSD between x ( n ) and
d(n) .
Γ xd ( f )
The result of this gives FRF of H ( f ) = ---------------- which is the one used in the
Γ xx ( f )
first algorithm (equation 6).
INTERNAL INFORMATION
REPORT
B
50(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
The non causal Wiener filter
Consider figure 31. Suppose there is a signal s ( n ) and a disturbance w ( n ) . The
signal x ( n ) is an observation of the noisy signal. x ( n ) and w ( n ) is assumed
as stationary processes. The observation signal x ( n ) is expressed as
x(n) = s(n) + w(n)
(25)
w(n)
s(n)
+
^
s(n)
x(n)
Figure 31
H
The non causal Wiener filter block diagram,
where s ( n ) is the signal, w ( n ) is the disturbance
The goal is to design filter H with the impulse response of h ( n ) so that the
signal s ( n ) is determined from x ( n ) as good as possible. The expression of
the signal estimate ŝ ( n ) is given by
ŝ ( n ) = x ( n ) ⊗ h ( n )
(26)
where ⊗ is the convolution operator. An estimation error e ( n ) is defined as
e ( n ) = s ( n ) – ŝ ( n )
(27)
The filter tries to minimize the error as stated above. To solve this estimation
problem, the ortogonality principle can be used. In this problem, the error is to
be minimized by saying that e ( n ) is ortogonal with the input signal x ( n ) .
Then, the error e ( n ) shall always be uncorrelated with any variable in the
process x ( n ) . The signals e ( n ) and x ( n ) said to be ortogonal if
 ∀n
E { e ( n )x ( i ) } = 0, 
 ∀i
(28)
E { e ( n )x ( n + i ) } = 0
(29)
This means that
and then, according to the definition of the cross correlation function in equation the term R ex ( i ) = 0 . The Fourier transform of this gives the CSD expres-
INTERNAL INFORMATION
REPORT
51(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
sion Γ ex ( f ) = 0 for every f . If the Fourier transform is taken of equation 27,
the expression becomes
E ( f ) = S ( f ) – Ŝ ( f ) .
(30)
This expression can be rewritten as spectral densities
E ( f )X ∗ ( f ) = S ( f )X ∗ ( f ) – Ŝ ( f )X ∗ ( f ) ⇒
⇒ Γ ex ( f ) = Γ sx ( f ) – Γ ŝx ( f ) ⇒
⇒ Γ ŝx ( f ) = Γ sx ( f )
(31)
From equation the expression is written as
S ( f ) = H ( f )X ( f ) ⇒
⇒ S ( f )X ∗ ( f ) = H ( f )X ( f )X ∗ ( f ) ⇒
⇒ Γ ŝx ( f ) = H ( f )Γ xx ( f ) ⇒
⇒ Γ sx ( f ) = H ( f )Γ xx ( f )
(32)
Then the non causal Wiener filter H is expressed as
Γ sx ( f )
H ( f ) = ---------------Γ xx ( f )
(33)
If considering equation 23. Assume that s ( n ) and w ( n ) is uncorrelated which
means that
R sw ( i ) = 0 ⇒ Γ sw ( f ) = 0 .
(34)
Fourier transform of equation 25 gives
X ( f ) = S ( f ) + W ( f ) ⇒ Γ xx ( f ) = Γ ss ( f ) + Γ ww ( f )
(35)
The cross correlation function between s ( n ) and x ( n ) can be expressed as
R sx ( i ) = E { s ( n )x ( n + i ) } = E { s ( n ) ( s ( n + i ) + w ( n + i ) ) } =
= E { s ( n )s ( n + i ) } + E { s ( n )w ( n + i ) } ⇒
⇒ R sx ( i ) = R ss ( i ) + R sw ( i )
(36)
With the term R sw ( i ) = 0 set to zero, this yields
R sx ( i ) = R ss ( i ) ⇒ Γ sx ( f ) = Γ ss ( f )
(37)
INTERNAL INFORMATION
REPORT
52(52)
Datum - Date
Rev
Nr - No.
98-09-14
A
ERA/B/D-98:032
Then the FRF is expressed as
Γ ss ( f )
H ( f ) = ---------------------------------------Γ ss ( f ) + Γ ww ( f )
(38)
The signal to noise ratio (SNR) is defined as
Γ ss ( f )
SNR ( f ) = -----------------Γ ww ( f )
(39)
Then the final expression of the FRF becomes
Γ ss ( f )
-----------------Γ ww ( f )
SNR ( f )
H ( f ) = -------------------------------------------- ⇒ H ( f ) = ----------------------------Γ ss ( f ) Γ ww ( f )
SNR ( f ) + 1
----------------- + -----------------Γ ww ( f ) Γ ww ( f )
In the third algorithm (equation 8), the SNR is called SER
(40)
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement