AUDIO SIGNAL PROCESSOR CIRCUIT
[0001] This invention relates to an audio signal processor circuit for treating the signals
from a telephone subscriber's line when these have been received at the telephone
exchange and converted to sampled digital form.
[0002] In a telephone exchange, the signals on the telephone subscriber's line usually are
in analogue form and are converted from analogue to digital form by a sampling and
coding operation performed by an audio processor circuit. The impedances which are
presented by each individual telephone line at any particular time are likely to give
an impedance mismatch and this can cause a 2-to-4 wire hybrid echo signal to appear.
It is possible for at least part of this echo effect to be cancelled digitally in
the audio processor unit. The echo cancellation operation may be static, that is,
its operation will be pre-set by the manufacturer of the circuit at some compromise
impedance matching value. Alternatively, the echo cancellation could be designed to
work by a process of continuous adaption to minimise the echo signal.
[0003] If sinusoidal signals happen to be present on the telephone line instead of speech,
any adaptive operation can lead to the occurrence of further unwanted side effects
in the adaption circuit output.
[0004] It is possible to overcome some of these problems by providing an adaptive echo cancellation
system which can be modified in response to the statistical properties of the signal
input, but a conventional adaptive system using a conventional signal correlator would
need a substantial quantity of hardware for its realisation. The correlator hardware
and necessary signal processing would be likely to increase significantly the area
of circuit board necessary for that subscriber at the exchange. This could lead to
a substantial increase in the cost of building the exchange.
[0005] An object of the present invention is to provide an audio processor circuit which
can carry out an adaptive echo cancellation function with normal speech signals and
which will not respond adversely to large sinusoidal signals, but which can be economical
in the quantity of hardware needed.
[0006] According to the invention, there is provided an audio signal processor circuit for
treating a digitally encoded incoming signal, the circuit comprising means for sampling
the encoded signal, means for calculating from the sampled values a measure of correlation
function relevant to a particular time frame, the value of said function serving to
control operation of an adaptive echo cancellation algorithm, in which the sampled
signal portions are truncated such that only the arithmetic sign bit of each signal
portion contributes to the function calculation.
[0007] The circuit further comprises means for controlling the operation of said adaptive
algorithm at the end of each time frame for a new function calculation.
[0008] In one embodiment, an incoming signal sample is initially treated in an extraction
block arranged to determine the arithmetic sign of that signal, the resulting sign
bits being fed in sequence to a shift register arranged to store a predetermined number
of said sign bits.
[0009] By way of example, a particular embodiment of the invention will now be described
with reference to the accompanying drawings, in which:
Figure 1 is a block diagram of a correlator circuit used in the present invention;
Figure 2 is a block schematic diagram of the correlator of Figure 1;
Figure 3 and 3A are diagrammatic representations of sensitivity of correlators, according
to the present invention, to sinusoidal inputs of different frequencies;
Figure 4 is a block schematic diagram of a preferred correlator, according to the
present invention; and
Figure 5 is a diagrammatic representation of a DC blocking filter usable with a correlator
according to the present invention.
[0010] In order to prevent an adaptive echo cancellation system exhibiting instability with
sinusoidal signals, it is sufficient to be able to estimate when two signals are both
periodic and have a high degree of correlation. For the cross-correlation function,
it would be helpful to produce a binary output indicating, in one state, if the signals
were uncorrelated or random and correlated. In the other state, the signals would
be periodic and of substantially the same period. It can also be sufficient to determine
if a signal transmitted in one path is sinusoidal. In this case, an auto-correlation
function can be used to discriminate between sinusoidal and random signals. The auto-correlation
function will be produced if each of two extraction blocks are connected to a common
signal path.
[0011] Given two signals
x and
y, the cross-correlation function will have the following properties dependent on the
nature of the signals. If
x and
y are 'uncorrelated' then by definition the cross-correlation function will be zero.
If
x and
y are random but have some degree of correlation the cross-correlation function will
have a maximum value at some point and the function will diminish to zero at points
removed from the location of the maxima. If, however, the signals are sinusoidal,
differing only in amplitude and phase, the cross-correlation function will be a cosinusoid
of half the amplitude of the product of the amplitudes of the sinusoids.
[0012] For periodic signals, correlation functions are precisely given by the integral

[0013] In this expression, T is the period of the sinusoidal signal,
t is time, τ is a shift in time (shifted time) and x(t) is a function of the signal
x with respect to time. For a finite set of samples (sampled digital systems), this
integral may be summed approximately as follows:-

[0014] In this expression, C(k) is the correlation function, N is the total number of samples,
j is any one of the set of the samples from zero to the number N,
k is a different one of the set of samples from zero to the number N, X
j is the jth member of the set of samples of x(t).
[0015] The degree of approximation which has been effected depends on the statistics of
the signals, sampling frequency and the size (N) of the set of samples used. If the
signals are uncorrelated, or random but correlated, then instead of tending to zero
they will tend to a small number which will 'hover' about zero. But, if the signals
x and
y are periodic and exhibit a high degree of correlation, the correlation function will
be a close approximation to a cosinusoid even with a relatively small sample set.
The conventional hardware realisation of the above summation (the correlation function)
would require the provision of
k shift registers of shift 1 to
k,
k + 1 full word length multipliers,
k adders and a software algorithm for determining, from the stored waveform, the nature
of the signals
x and
y for all levels of
x and
y (mean square value).
[0016] The present invention serves to determine the occurrence of the periodic case from
the classes of signals that can be present, and with a significant reduction in the
amount of hardware necessary to achieve such determination.
[0017] If the signals
x and
y are replaced by their arithmetic signs (that is, by the sign +1 if the signal is
greater than zero and -1 if less than zero), we can calculate an estimate of the cross-correlation
function as

[0018] It will be noted that by taking the sign bits of the signal portions, this expression
will be independent of the exact amplitude of the signals but, in the cases considered,
the means values of the signals are assumed to be zero.
[0019] The latter case, that of periodic correlated signals, can be deduced if the above
summation is more negative than -0.5.
[0020] Figure 1 shows one from that the circuit hardware can take.
[0021] As shown in Figure 1, an
x signal path 1 is connected to a first extraction block 2 by which the sign bit of
an incoming digitally encoded signal is extracted and the relevant sign bit is passed
to a multiplier 3. Similarly, a
y signal path 4 is connected to a second extraction block 5 by which the sign bit of
the signal is extracted and the relevant sign bit is passed to an M bit shift register
6 (where M≧N). In the shift register 6, the number of samples falling within a given
time period T, can be given to the
y value. A control logic select k1 circuit 7 takes the relevant
y sign bit and passes it to the multiplier 3.
[0022] In the multiplier 3, multiplication is performed according to the following truth
table to give the xy product:-

[0023] The output of the multiplier 3 is delivered to an up/down counter 8 which serves
to sum the multiplier output over N samples. At the conclusion of the time period
T, the counter values of the sign and magnitude bits are delivered to an evaluation
point 9. By noting the logic output, a simple gate device is able to indicate if both
the sign bit indicates a negative value and the magnitude of the output is greater
than half the maximum count. The counter 8 is then cleared and the process is arranged
to start again to produce a sequence of estimated values. Correlation is assumed if
the sign bit is negative and the count is greater than 0.5. The signals may be assumed
to be sinusoidal and the adaptive echo cancellation inhibited.
[0024] As already mentioned, an auto-correlation function would be produced if both extraction
blocks 2 and 5 are connected to a common signal path, that is, to either path 1 or
path 4 in the diagram.
[0025] This construction as just described is able to estimate the cross-correlation (or
auto-correlation) function at only a single point. However, because of the periodic
nature of sinusoids, it is possible to construct other values of the correlation function
by simply repeating the process within a given time frame. This will therefore build
up a 'sampled' correlation function. Because of a relationship that may exist between
the sample frequency and the set of
k-values, it may be that all values generated are greater than -0.5, thus a second
set of k-values (k2) that are not numerically related to the first set (k1) should
be used simultaneously.
[0026] For example, a first set k1 could result in estimation of a cross-correlation function
occurring at, for example, arbitrary points 7, 14, 21 ..., whilst a second set k2
could detect correlation at points 13, 26, 39 ... . By choice of sample size, shift
register length and knowledge of the signal bandwidth, the above process can be repeated
within a particular time frame whereby a high degree of certainty of detection of
the periodic signals, if these signals should exist, can be assured.
[0027] The provision of the 'sampled' correlation function is capable of being effected
in the circuit shown in Figure 1 because the shift register 6 is additionally coupled
to a control logic, select-k2, circuit 11. The select-k2 circuit 11 thus passes a
y sign bit selected for a different value of k to a second single bit multiplier 12.
The multiplier 12 has a second input which receives a
x signal sign bit from the first extract block 2 in the
x signal path.
[0028] The output from the multiplier 12 is delivered to a second up/down counter 13 which
serves to sum the multiplier output over N samples. At the conclusion of the count,
the values of the sign and magnitude bits are delivered to a second evaluation point
14, and, if correlation exists, the adaptive echo cancellation is inhibited.
[0029] This process may be extended further, at the cost of providing additional hardware,
for a third (k3), a fourth (k4) etc. set of values.
[0030] At the conclusion of the estimation period, the logic control of the adaptive echo
cancellor is able to update its adaption to the echo signal improving its cancellation
performance, or in the presence of large sinusoidal signals prevent further adaption
and thereby avoid the unwanted side effects.
[0031] A more practical autocorrelation block circuit diagram is shown in Figure 2. A sampled
speech signal is digitised and the sign bit only is input at 16 to a D.C. blocking
filter 18. The filter 18 may be any conventional high pass filter such as that shown
in Figure 5. The filter there shown comprises an input 20, a forward feed path 22,
a summer 24 whereto are fed input 20 and a feedback signal on a line 26, a delay element
28, a second summer 30 having as inputs the output of the delay element 28 and the
forward feed path 22 and providing an output 32 from which is taken the feedback signal,
through an amplifier 34 to the line 26.
[0032] The filter 18 strips out any D.C. offset and provides an output 36 which is fed directly
to a multiplier 38 (equivalent to the multiplier 3 of Figure 1) and to a delay register
40 (equivalent to the shift register 6 of Figure 1). A selectable tap 42 provides
a second input to the mixer 38. The output 44 of the mixer 38 is fed to an up/down
converter 46 clocked at the sampling rate (16KHz) by a clock 48. The converter 46
is reset at the end of each correlation period by reset means 50. The underflow output
52 of the counter 46 is fed to a latch 54 which is also reset by the reset means 50
to provide an output 56 to inhibit adaptive echo cancellation.
[0033] The arrangement described in relation to Figures 1 and 2, whilst providing considerable
advantage over the known prior art, requires an increasing number of delay elements
as the frequency to be detected is reduced. The Figure 1 arrangement normally requires
2 correlators each performing, for example, 8 correlation operations per time frame.
Using only negative sign and value (underflow) outputs, 12 delay elements are required
to detect a sinusoidal signal of frequency 600Hz. Mains frequency hum at 50Hz requires
120 delay elements which increase the quantity of hardware required to effect detection.
[0034] Figures 3 and 3A show the number of 16KHz delay elements necessary to detect correlation
if underflow (Figure 3) or underflow and overflow (Figure 3A) output of the counter
such as the counter 46 is taken.
[0035] The underflow representations (negative sign and magnitude) shows that the number
of delay elements required is inversely proportional to the frequency of the sinusoid.
If a combination of underflow and overflow (negative or positive and value) is taken
then the advantageously low number of delay elements (2) could be used for sinusoids
up to 1000Hz and thereafter six (or preferable eight either as a single element or
two banks of four) could be used for all frequencies from zero to maximum frequency
at which sinusoids cause problems.
[0036] As shown in Figure 4, additional circuitry over that shown and described in relation
to Figure 2, is minimal. Like reference numerals have been used to indicate similar
parts in these figures.
[0037] In Figure 4, the up/down counter 46 has an overflow output 58 which is fed to one
input of an OR gate 60 to the other input of which is fed the underflow 52 from the
counter 46. The output 62 from the OR gate 60 is fed to the latch 54 and the output
56 is taken and used in the same way as previously.
[0038] It has been found that the hardware for the correlator circuit of the invention is
capable of being built on an integrated circuit chip with only a small increase in
the chip area needed over that required for the audio processor including the adaptive
echo cancellor. In one embodiment, an area increase of only 3% was required to support
the components needed for the correlator circuit.
[0039] The foregoing description of embodiments of the invention have been given by way
of example only and a number of modifications may be made without departing from the
scope of the invention as defined in the appended claims.
1. An audio signal processor circuit for treating a digitally encoded incoming signal,
the circuit comprising means for sampling the encoded signal, means for calculating
from the sampled values a measure of the correlation function of the sampled signal
to a further sampled signal during a particular time frame, the value of said function
serving to control operation of an adaptive echo cancellation algorithm, in which
the sampled signal portions are truncated such that only the arithmetic sign bit of
each signal portion contributes to the function calculation, such that control can
be effected on the adaptive algorithm for eliminating unwanted effects.
2. A circuit as claimed in claim 1 wherein the sampled digitally encoded incoming signal
and the further sampled signal are the same sampled signals whereby the circuit functions
as an autocorrelator.
3. A circuit as claimed in claim 1 or 2, comprising means, operative at the end of each
time frame, for controlling the operation of said adaptive algorithm for a new function
calculation.
4. A circuit as claimed in claim 1, 2 or 3 in which an incoming signal sample is initially
treated in an extraction block (2) arranged to determine the arithmetic sign relevant
to that signal, the resulting sign bits being fed in sequence to a shift register
(6) arranged to store a predetermined number of said sign bits.
5. A circuit as claimed in claim 4, which provides outputs from selected locations in
the shift register in accordance with a control logic select circuit.
6. A circuit as claimed in claim 5, in which the output from the said select circuit
is combined in a multiplier (3) with arithmetic sign signals extracted from the path
of the further sampled signal and a multiplier output signal is delivered to an up/down
counter (8).
7. A circuit as claimed in claim 6 wherein the up/down counter (8) has underflow and
overflow outputs providing both sign and value outputs.
8. A circuit as claimed in any preceding claim further including a D.C. blocking filter
(18).
9. A circuit as claimed in any preceding claim further including latch means, reset at
the end of each further calculation, for holding the arithmetic sign and value of
the calculation for inhibiting or permitting operation of the adaptive echo cancellation
algorithm.
10. A telephone exchange line interface circuit including an audio signal processor circuit
as claimed in any preceding claims.
1. Schaltung zur Audiosignalverarbeitung zum Verarbeiten eines digitalcodierten Eingangssignals,
wobei die Schaltung eine Einrichtung zum Abtasten des codierten Signals umfaßt, eine
Einrichtung zum Berechnen eines Maßes der Korrelationsfunktion des abgetasteten Signals
zu einem weiteren abgetasteten Signal während eines speziellen Zeitrahmens aus den
abgetasteten Werten, wobei der Wert dieser Funktion dazu dient, die Operation eines
adaptiven Echokompensationsalgorithmus zu steuern, in dem die abgetasteten Signalabschnitte
so beschnitten werden, daß nur das arithmetische Vorzeichenbit jedes Signalabschnitts
zur Funktionsberechnung beiträgt, derart, daß eine Steuerung für eine Eliminierung
unerwünschter Effekte bezüglich des adaptiven Algorithmus erbracht werden kann.
2. Schaltung nach Anspruch 1, in welcher das abgetastete digitalcodierte Eingangssignal
und das weitere abgetastete Signal dieselben abgetasteten Signale sind, wodurch die
Schaltung als Autokorrelator wirkt.
3. Schaltung nach Anspruch 1 oder 2, aufweisend eine Einrichtung, die am Ende jedes Zeitrahmens
wirkt, zum Steuern der Operation des adaptiven Algorithmus für eine neue Funktionsberechnung.
4. Schaltung nach Anspruch 1, 2 oder 3, in welcher der Eingangssignalabtastwert anfangs
in einem Extraktionsblock (2) verarbeitet wird, der dazu ausgelegt ist, das für dieses
Signal zutreffende arithmetische Vorzeichen zu bestimmen, wobei die resultierenden
Vorzeichenbits aufeinanderfolgend einem Schieberegister (6) zugeführt werden, das
dazu ausgelegt ist, eine vorbestimmte Anzahl dieser Vorzeichenbits zu speichern.
5. Schaltung nach Anspruch 4, welche Ausgangssignale aus selektierten Stellen im Schieberegister
gemäß einer Steuerlogik-Selektionsschaltung vorsieht.
6. Schaltung nach Anspruch 5, in welcher das Ausgangssignal von der Selektionsschaltung
in einem Multiplizierer (3) mit arithmetischen Vorzeichensignalen kombiniert wird,
die aus dem Pfad des weiteren abgetasteten Signals extrahiert sind, und ein Multipliziererausgangssignal
einem Aufwärts/Abwärts-Zähler (8) zugeführt wird.
7. Schaltung nach Anspruch 6, in welcher der Aufwärts/Abwärts-Zähler (8) Unterlauf- und
Uberlaufausgangssignale aufweist, die sowohl Vorzeichen- als auch Werte-Ausgangssignale
liefern.
8. Schaltung nach einem vorhergehenden Anspruch, ferner aufweisend ein Gleichspannungssperrfilter
(18).
9. Schaltung nach einem vorhergehenden Anspruch, ferner aufweisend eine Latch-Schaltung,
die am Ende jeder weiteren Berechnung zurückgesetzt wird, um das arithmetische Vorzeichen
und den Wert der Berechnung zur Verhinderung oder zum Zulassen der Operation des adaptiven
Echokompensationsalgorithmus zu halten.
10. Fernsprecheramtsleitungs-Interfaceschaltung, aufweisend eine Schaltung zur Audiosignalverarbeitung
nach einem vorhergehenden Anspruch.
1. Circuit processeur de signaux d'audiofréquences, destiné à traiter un signal reçu
codé numériquement, le circuit comprenant un dispositif d'échantillonnage du signal
codé, un dispositif de calcul, à partir des valeurs échantillonnées, d'une mesure
de la fonction de corrélation du signal échantillonné en un signal échantillonné supplémentaire
pendant une séquence temporelle particulière, la valeur de la fonction étant utilisée
pour la commande du fonctionnement d'un algorithme de compensation d'écho par adaptation,
dans lequel les parties de signal échantillonné sont tronquées afin que seul le bit
de signe arithmétique de chaque partie de signal contribue au calcul de la fonction,
si bien que la commande peut être réalisée avec un algorithme d'adaptation permettant
l'élimination des effets indésirables.
2. Circuit selon la revendication 1, dans lequel le signal entrant codé numériquement
qui est échantillonné et le signal échantillonné supplémentaire sont les mêmes signaux
échantillonnés, si bien que le circuit joue le rôle d'un circuit d'autocorrélation.
3. Circuit selon la revendication 1 ou 2, comprenant un dispositif commandé à la fin
de chaque séquence temporelle et destiné à commander l'exécution de l'algorithme d'adaptation
pour un nouveau calcul de la fonction.
4. Circuit selon la revendication 1, 2 ou 3, dans lequel un échantillon du signal entrant
est traité initialement dans un bloc d'extraction (2) destiné à déterminer le signe
arithmétique correspondant de ce signal, les bits de signaux résultants étant transmis
successivement à un registre à décalage (6) destiné à conserver un nombre prédéterminé
des bits de signe.
5. Circuit selon la revendication 4, qui transmet des signaux de sortie à des emplacements
choisis du registre à décalage en fonction d'un circuit logique de commande de sélection.
6. Circuit selon la revendication 5, dans lequel le signal de sortie du circuit de sélection
est combiné dans un circuit multiplicateur (3) à des signaux de signe arithmétique
extraits du trajet du signal supplémentaire échantillonné, et un signal de sortie
du circuit multiplicateur est transmis à un compteur-décompteur (8).
7. Circuit selon la revendication 6, dans lequel le compteur-décompteur (8) a des sorties
de débordement par le bas et par le haut, donnant des signaux de sortie de signe et
de valeur à la fois.
8. Circuit selon l'une quelconque des revendications précédentes, comprenant en outre
un filtre (18) d'arrêt de courant continu.
9. Circuit selon l'une quelconque des revendications précédentes, comprenant en outre
un dispositif à bascule, rétabli à la fin de chaque calcul supplémentaire et destiné
à contenir le signe arithmétique et la valeur du calcul afin qu'il inhibe ou permette
l'exécution de l'algorithme de compensation d'écho par adaptation.
10. Circuit d'interface de ligne de central téléphonique, comprenant un circuit processeur
de signaux d'audiofréquences selon l'une quelconque des revendications précédentes.