|
Claims  |
|
|
What is claimed is:
1. An echo canceller system for performing echo cancelling processing for a
plurality of cells on a communication line, said system comprising:
a plurality of echo canceller units to which said cells applied to the echo
canceller system are allocated according to an applied order of the cells
regardless of channels of the cells.
2. The echo canceller system as claimed in claim 1, wherein said applied
order of the cells is an order of cellslot numbers of the cells.
3. The echo canceller system as claimed in claim 2, wherein each of said
echo canceller units has a multiprocessing function of processing the
cells during a process interval of cells including speech data.
4. The echo canceller system as claimed in claim 3, wherein said system
further comprises common storage means, connected to said echo canceller
units through a bus, for storing data necessary for the echo cancelling
processes for each channel providing a cell to be processed, and each of
the echo canceller units detects the channel from a header of the cell and
accesses the data for the channel from the common storage means.
5. The echo canceller system as claimed in claim 4, wherein said common
storage means comprises:
a first common RAM storing tap data and tap coefficients for said each
channel providing the cell to be processed; and
a second common RAM storing data for updating the tap coefficients and
controlling the data.
6. The echo canceller system as claimed in claim 5, wherein said echo
canceller system further comprises:
a common input data line receiving said plurality of cells which includes
cells from a transmission line and cells from an echo pass; and
a common output data line producing echo-cancelling-processed cells.
7. The echo canceller system as claimed in claim 5, wherein each of said
echo canceller units comprises:
an echo canceller circuit multiprocessing to generate a quasi-echo,
calculate a remaining echo, and update the tap coefficients by accessing
said first common RAM; and
a digital signal processor multiprocessing to calculate update coefficients
of the tap coefficients, detect a specified signal, and control said echo
canceller circuit.
8. The echo canceller system as claimed in claim 7, wherein said echo
canceller system further comprises:
a common bus connecting a plurality of said echo canceller circuits and a
plurality of said digital signal processors in the echo canceller units;
and
a controller allocating a usable time of said common bus to said digital
signal processors according to an input timing of the cell.
9. The echo canceller system as claimed in claim 8, wherein said controller
allocates the usable time of said common bus to said digital signal
processors and produces a body number of the digital signal processor to
which the usable time of the common bus is presently allocated to the
other digital signal processors, said controller allcoating the usable
time of said common bus to said digital signal processors in an order of
body numbers of the digital signal processors, wherein each of the other
digital signal processors recognizes a timing when the usable time of the
common bus will be allocated to itself based on said body number produced
by the controller.
10. The echo canceller system as claimed in claim 8, wherein said echo
canceller system comprises a plurality of said common buses, and data is
transmitted through the common buses.
11. The echo canceller system as claimed in claim 8, wherein said echo
canceller system further comprises:
a first print board onto which said plurality of the echo canceller
circuits and said first common RAM are mounted; and
a second print board onto which said plurality of the digital signal
processors and said second common RAM are mounted.
12. The echo canceller system as claimed in claim 3, wherein a number of
said echo canceller units is determined by a number of cellslots generated
on the communication line during the process interval of the cells
including the speech data, and the cells in the cellslots are permanently
allocated to the echo canceller units according to the cellslot numbers of
the cells.
13. The echo canceller system as claimed in claim 3, wherein a number m of
said echo canceller units is determined by n times a number of cellslots
generated in the communication line during the process interval of the
cells including the speech data, and the cells in the cellslots are
permanently allocated to the specified echo canceller units each n times
the process interval.
14. The echo canceller system as claimed in claim 5, wherein said first
common RAM and said second common RAM respectively include i banks, i
being an integer larger than 1, the echo canceller units accessing all
data stored in the first common RAM and the second common RAM by accessing
each bank.
15. The echo canceller system as claimed in claim 14, wherein said first
common RAM and said second common RAM respectively store said all data for
all the channels, the data to be stored in each channel being divided into
i parts which are stored in the banks.
16. The echo canceller system as claimed in claim 14, wherein:
said echo canceller circuits are constructed with i groups of the circuits;
said digital signal processors are constructed with i groups of the
processors;
said echo canceller system further comprises a first bus switch switching
data buses between said i banks of the first common RAM and said i groups
of the circuits, and a second bus switch switching data buses between said
i banks of the second common RAM and said i groups of the processors; and
each of said i groups of the circuits accesses all banks of the first
common RAM by switching of the first bus switch, and each of said i groups
of the processors accesses all banks of the second common RAM by switching
of the second bus switch.
17. The echo canceller system as claimed in claim 2, wherein said cells are
asynchronous transfer mode (ATM) cells transmitted in networks including
ATM networks, and said order of cellslot numbers of the cells is an order
of cellslot numbers of the ATM cells.
18. An echo canceller system for performing echo cancelling processing on a
plurality of cells in a communication line, said system comprising:
a common input data line receiving said plurality of cells which includes
cells from a transmission line and cells from an echo pass;
a common output data line producing echo-cancelling-processed cells;
a plurality of echo canceller units, each of said units having a
multiprocessing function of processing the cells received from said common
input data line during a process interval of cells including speech data,
each of said echo canceller units being independent of channels of the
cells and being capable of processing any channels of the cells; and
common storage means, connected to said echo canceller units through a bus,
for storing data necessary for the echo cancelling processing for each
channel providing a cell to be processed;
wherein each of the echo canceller units detects a channel from a header of
the cell and accesses the data for a channel from the common storage
means.
19. The echo canceller system as claimed in claim 18, wherein said common
storage means comprises:
a first common RAM storing tap data and tap coefficients for said each
channel providing the cell to be processed; and
a second common RAM storing data for updating the tap coefficients and
controlling the data.
20. The echo canceller system as claimed in claim 19, wherein each of said
echo canceller units comprises:
an echo canceller circuit multiprocessing to generate a quasi-echo,
calculate a remaining echo, and update the tap coefficients by accessing
said first common RAM; and
a digital signal processor multiprocessing to calculate update coefficients
of the tap coefficients, detect a specified signal, and control said echo
canceller circuit.
21. The echo canceller system as claimed in claim 18, wherein said cells
are asynchronous transfer mode (ATM) cells transmitted in networks
including ATM networks.
22. An echo canceller system for performing echo cancelling processing for
a plurality of cells on a communication line, said system comprising:
a plurality of echo canceller units to which said cells applied to the echo
canceller system are allocated according to an applied order of the cells
regardless of channels of the cells; and
common storage means connected to said echo canceller units through a bus
for each channel providing a cell to be processed and each echo canceller
unit accesses data for the channel from said common storage means,
wherein each of said echo canceller units comprises:
an echo canceller circuit for multiprocessing to generate a quasi-echo,
calculate a remaining echo, and update tap coefficients for each channel
providing the cell to be processed by accessing said common storage means,
and
a digital signal processor for multiprocessing to calculate update
coefficients of the tap coefficients, detect a specified signal, and
control said echo canceller circuit. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention generally relates to an echo canceller system in an
asynchronous transfer mode (ATM) network.
Recently, to present high-speed and broadband communications such as
high-speed data transmission, image communications, and multimedia
communications, the ATM technologies are studied and developed to realize
a broadband integrated services digital network (B-ISDN).
B-ISDN includes networks based on 64 kbps such as telephone systems and a
narrow-band ISDN (N-ISDN). When integrating the 64-kbps networks
(synchronous transfer mode networks: STM networks) such as telephone
systems into the ATM network, a transmission delay may increase because of
a delay for converting to a cell format and a delay for absorbing
fluctuation. It is supposed that an echo generated in a 2-wire/4-wire
communication system accommodating an analog telephone system will affect
an opinion quality.
To suppress affection of the echo occurring in speech communications, the
echo canceller is widely used. As the ATM networks are being constructed
over a wide area, regions necessary for the echo canceller are also
extended. This present invention is directed to the echo canceller system
used in the ATM networks.
2. Description of the Prior Art
Conventional echo cancellers have been used in the STM network. In the
conventional echo canceller, processing is carried out for each channel,
and transmission data transmitted at a 64-kbps speed is applied to the
echo canceller at an exact time interval. Therefore, the conventional echo
canceller is operable by sampling the data at 8 kbps and processing the
sampled data at a 125-.mu.sec interval (8 kHz).
FIG. 1 shows an application example of the conventional echo cancellers in
the STM networks. In FIG. 1, an analog telephone "a" communicates with an
analog telephone "b" through STM networks 81, 83, 85, echo cancellers (EC)
82, 84 and 2-wire/4-wire converter hybrids (H) 80, 86. In this
communication, when a far-end speaker signal .alpha. from the telephone b
is transmitted to the telephone "a" of a near-end speaker through the
hybrid 80, an impedance mismatch causes an echo .alpha.' which is
transmitted to the telephone "b" of the far-end speaker. If a distance
between the telephones "a" and "b" is so long and it takes a delay time
more than a given time to pass the distance, the echo .alpha.' affects
telephone voice quality received by the far-end speaker. Therefore, to
suppress the affection of the echo .alpha.', EC 82 is located between the
STM networks 81 and 83. In the same way, EC 84 cancels an echo .beta.'
occurring in the hybrid 86 from a transmitted signal .beta. from the
telephone "a".
In the STM networks, all analog speech signals are sampled at the
125-.mu.sec interval (8 kHz) to be converted to PCM codes (1 byte: 8
bits), each of the PCM codes having a 64-kbps speed. The PCM code is
transmitted on an allocated channel at a fixed time interval. Accordingly,
operations of the conventional echo cancellers 82, 84 in the STM networks
can be carried out by processing 64-kbps input data generated at the exact
125-.mu.sec interval each 125-.mu.sec (8 kHz).
FIG. 2 shows a block diagram of a configuration of the conventional echo
canceller. The echo canceller shown in FIG. 2 corresponds to EC 82 shown
in FIG. 1.
The echo canceller shown in FIG. 2 belongs to a conventional finite impulse
response (FIR) filter. In the echo canceller, when an incoming signal from
the far-end speaker is applied to a receive-side input A, the incoming
signal is input to a tap memory 824. A quasi-echo generator 823 calculates
an impulse response of an echo pass (a pass from the receive-side input A
to a transmit-side input D through a hybrid H) by using the data stored in
a tap-coefficient memory 822 and the tap memory 824, and generates a
quasi-echo y.sub.t '. The quasi-echo y.sub.t ' is subtracted from an echo
signal y.sub.t applied from the transmit-side input D in an adder 820.
A remaining echo (y.sub.t -y.sub.t ') produced from the adder 820 is
transmitted as a transmit output and is applied to a tap-coefficient
updating section 821. The tap-coefficient updating section 821 updates tap
coefficients by using the tap memory 824, and based on the result, updates
a content of the tap-coefficient memory 822. In this echo canceller, an
echo cancelling process can be carried out for one sample (8-bit PCM
codes) applied at the 125-.mu.sec interval.
On the other hand, in the ATM networks, one ATM cell is constructed with 53
bytes, the top 5-bytes of which are an ATM header, and the following
48-bytes are an information field. When the information field is speech
information, one byte of the 48-byte information field is an ATM
adaptation layer (AAL) header, and each byte (8 bits) of the residual 47
bytes is sampled data of the speech. In this way, in the ATM network, for
the speech, the speech data is transmitted each ATM cell (47 samples per
one ATM cell). However, a transmission interval of the ATM cells does not
have the same exact periodicity in the different way as the STM networks.
FIG. 3 shows an example of a configuration combining the ATM networks, the
STM networks, and present terminals. In the configuration, between the ATM
network and the STM network, and between the ATM network and the present
terminal (64-kbps STM terminal), cell assemblies and disassemblies (CLADs)
for assembling and disassembling the ATM cells are respectively located.
When subscribers in the STM networks communicate to each other through the
ATM network, a cell delay in the CLAD occurs. Therefore, to realize the
high-speed transmission, an additional delay in the echo canceller needs
to be reduced as much as possible to improve its processing speed.
FIG. 4 shows the transmission interval of the ATM cell. As shown in FIG. 4,
a standard transmission interval of the ATM cells in the same channel N is
125 .mu.sec.times.47=5875 .mu.sec (5.875 msec), in the case of 47 samples
per one cell. However, in fact, a transmission timing of the ATM cell
fluctuates, and, thereby, the transmission interval of the cells also
fluctuates. The fluctuation of the transmission timing of the cell occurs
due to a variation of a delay time in each cell pass (switch and
transmission line) in the ATM network, and is approximately .+-.1.2 msec
maximum for each ATM cell. Therefore, the transmission interval of the
cell has a maximum 2.4-msec fluctuation. In the case of the maximum
fluctuation, the ATM cells are applied to the echo canceller at a 3.475
msec (=5.875 msec-2.4 msec) interval. In this case, the echo canceller
must process one cell of 47 samples in 3.475 msec.
When the echo cancellers are located in the networks shown in FIG. 3, it is
necessary to include the echo cancellers for each STM terminal. Thus, a
large number of echo cancellers are required. However, a method of placing
the echo cancellers in the ATM network transmission line to process each
cell is more efficient. In this case, when the cells are transmitted on a
high-speed transmission line in the ATM network, for example, a 155-Mbps
transmission line, a time length of one cell is about 2.778 .mu.sec.
Therefore, in the 5.875-msec transmission interval of the speech cells, a
maximum of 2115 cells are generated.
FIG. 5 shows an illustration for explaining a conventional processing
method of the echo canceller in the same way as that in the STM network.
In FIG. 5, to process the maximum 2115 cells generated in the 5.875-msec
transmission interval of the speech cells, 2115 hardware (echo cancellers)
are located as corresponding to channels of these cells. FIG. 5 shows an
operational timing of these echo cancellers. The delay time of the echo
canceller may be reduced by using the latest technology. However, a large
number of echo cancellers causes the size of the hardware to be large,
thus it is difficult to miniaturize the hardware.
To process the cell whose transmission timing fluctuates as mentioned above
with a high speed, the hardware needs to have a margin corresponding to
the fluctuation. In this case, it is necessary to wait to process for a
certain period of time. Therefore, it is difficult to realize a
multiprocess for processing multichannels in the same hardware.
FIG. 6 shows an illustration for explaining a conventional method of the
multiprocess. In the configuration shown in FIG. 6, a 1 hardware per 1
channel configuration is improved, and processing timings of an echo
canceller having twice the conventional processing ability are shown. In
FIG. 6, to the echo canceller, processes for a cell of a channel 1 (1 ch)
and a cell of a channel 1058 (1058 ch) are allocated. FIG. 6 shows a case
that the cell of 1058 ch is applied to the echo canceller earlier before
the processing of 1 ch is finished. In this case, a buffer is included to
store the cell of 1058 ch, and when the echo canceller is able to process
the cell, the cell is read out and processed.
As mentioned above, there is a problem that the additional delay time in
the echo canceller needs to be reduced as much as possible since the delay
time occurs in the CLAD between the ATM network and the STM network.
Further, in the ATM network, since the transmission timing of the cells
fluctuates, the hardware of the echo canceller must have the margin
corresponding to the fluctuation to process the cell with high speed.
Further, since there is a case of waiting to process, the buffer is
required. To meet these requirements, the hardware of the echo canceller
is enlarged. And there is also a problem that the delay time in the echo
canceller increases by buffering the cell.
SUMMARY OF THE INVENTION
It is an object of this invention to provide an echo canceller system. In
the echo canceller system, when STM terminal sets communicate speech data
to each other through an ATM network, a processing speed of the echo
canceller can be increased and its delay time can be reduced as much as
possible. Also, for ATM cells whose input timings fluctuate, the process
of the echo canceller can be performed without a buffer. Further, a
hardware scale of the echo canceller can be reduced. This permits the
disadvantages described above to be eliminated.
The object described above is achieved by an echo canceller system for
performing echo cancelling processing for a plurality of cells on a
communication line, the system comprising: a plurality of echo canceller
units to which the cells applied to the echo canceller system are
allocated according to an applied order of the cells regardless of
channels of the cells.
In the echo canceller system mentioned above, the applied order of the
cells may be an order of cellslot numbers of the cells.
The object described above is also achieved by the echo canceller system
mentioned above, wherein each of the echo canceller units has a
multiprocessing function of processing the cells during a process interval
of cells including speech data.
According to the above echo canceller system, high-speed processing for the
plurality of cells may be realized.
In the echo canceller system mentioned above, wherein the system further
may comprise a common storage circuit, connected to the echo canceller
units through a bus, for storing data necessary for the echo cancelling
processes for each channel providing a cell to be processed, and each of
the echo canceller units detects the channel from a header of the cell and
accesses the data for the channel from the common storage circuit.
The common storage circuit may comprise: a first common RAM storing tap
data and tap coefficients for the each channel providing the cell to be
processed; and a second common RAM storing data for updating the tap
coefficients and controlling the data.
In the echo canceller system, each of the echo canceller units may
comprise: an echo canceller circuit multiprocessing to generate a
quasi-echo, calculate a remaining echo, and update the tap coefficients by
accessing the first common RAM; and a digital signal processor
multiprocessing to calculate update coefficients of the tap coefficients,
detect a specified signal, and control the echo canceller circuit.
The object described above is also achieved by the echo canceller system
mentioned above, wherein the echo canceller system further comprises: a
common bus connecting a plurality of the echo canceller circuits and a
plurality of the digital signal processors in the echo canceller units;
and a controller allocating a usable time of the common bus to the digital
signal processors according to an input timing of the cell.
The above-mentioned controller allocates the usable time of the common bus
to the digital signal processors in an order of body numbers of the
digital signal processors and produces the body number of the digital
signal processor to which the usable time of the common bus is presently
allocated to the other digital signal processors, whereby each of the
other digital signal processors recognizes a timing when the usable time
of the common bus will be allocated to itself based on the produced body
number from the controller.
The object described above is also achieved by the echo canceller system
mentioned above, wherein a number of the echo canceller units is
determined by a number of cellslots generated on the communication line
during the process interval of the cells including the speech data, and
the cells in the cellslots are permanently allocated to the echo canceller
units according to the cellslot numbers of the cells.
The object described above is also achieved by the echo canceller system
mentioned above, wherein a number m of the echo canceller units is
determined by n times a number of cellslots generated in the communication
line during the process interval of the cells including the speech data,
and the cells in the cellslots are permanently allocated to the specified
echo canceller units each n times the process interval.
The object described above is also achieved by the echo canceller system
mentioned above, wherein the first common RAM and the second common RAM
respectively include i banks (i is an integer larger than 1), the echo
canceller units accessing all data stored in the first common RAM and the
second common RAM by accessing each bank.
The above-mentioned first common RAM and the second common RAM respectively
may store the all data for all the channels, the data to be stored in each
channel being divided into i parts which are stored in the banks.
In the echo canceller system mentioned above, the echo canceller circuits
are constructed with i groups of the circuits; the digital signal
processors are constructed with i groups of the processors; the echo
canceller system further comprises a first bus switch switching data buses
between the i banks of the first common RAM and the i groups of the
circuits, and a second bus switch switching data buses between the i banks
of the second common RAM and the i groups of the processors; and each of
the i groups of the circuits accesses all banks of the first common RAM by
switching of the first bus switch, and each of the i groups of the
processors accesses all banks of the second common RAM by switching of the
second bus switch.
The object described above is also achieved by an echo canceller system for
performing echo cancelling processing on a plurality of cells in a
communication line, the system comprising: a common input data line
receiving the plurality of cells which includes cells from a transmission
line and cells from an echo pass; a common output data line producing
echo-cancelling-processed cells; a plurality of echo canceller units, each
of the units having a multiprocessing function of processing the cells
received from the common input data line during a process interval of
cells including speech data; and a common storage circuit, connected to
the echo canceller units through a bus, storing data necessary for the
echo cancelling processing for each channel providing a cell to be
processed; wherein each of the echo canceller units detects the channel
from a header of the cell and accesses the data for the channel from the
common storage circuit.
According to the echo canceller system, the echo canceller system includes
the plurality of echo canceller units, and the cells applied to the echo
canceller system are sequentially allocated according to the applied order
(the cellslot number) of the cells regardless of channels of the cells.
Therefore, the cell can start to be processed as soon as the cell is
applied to the system without the waiting time. Since there is no waiting
time for the process of the hardware, input buffers are unnecessary.
And, according to the echo canceller system, each of the echo canceller
units has the multiprocessing function of processing the cells during the
process interval of the cells including the speech data. Therefore, the
processing ability of the echo canceller units can be improved, and the
delay time in the echo cancelling process may be minimized to only the
processing time of the echo canceller unit.
Therefore, extreme miniaturization of the hardware, reduction of the
process delay, and fixing of the process delay are simultaneously
realized.
Further according to the echo canceller system, the common storage section
(the common RAMs) are located outside the echo canceller units. Therefore,
this makes it possible to simplify the design of an echo canceller unit
large scale integration (LSI). This leads to miniaturization of the
hardware scale of the echo canceller system in the ATM networks.
Other objects and further features of the present invention will be
apparent from the following detailed description when read in conjunction
with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows an application example of conventional echo cancellers in STM
networks;
FIG. 2 shows a block diagram of a configuration of the conventional echo
canceller;
FIG. 3 shows an example of a configuration combining ATM networks, the STM
networks, and present terminals;
FIG. 4 shows a transmission interval of an ATM cell;
FIG. 5 shows an illustration for explaining a conventional processing
method of the echo canceller in the same way as that in the STM network;
FIG. 6 shows an illustration for explaining a conventional method of
multiprocessing;
FIG. 7 shows a block diagram of a configuration for explaining an operation
principle of an echo canceller system according to the present invention;
FIG. 8 shows a block diagram of a first embodiment of the echo canceller
system according to the present invention;
FIG. 9 shows an illustration for explaining a relationship between data and
a cellslot;
FIG. 10 shows a first embodiment of a method of allocating the cells in an
ATM network to ECUs in the echo canceller system shown in FIG. 8;
FIG. 11 shows a second embodiment of the method of allocating the cells in
the ATM network to the ECUs in the echo canceller system;
FIG. 12 shows a third embodiment of the method of allocating the cells in
the ATM network to the ECUs in the echo canceller system;
FIG. 13 shows an illustration for explaining a periodical allocating
operation of the third embodiment of the method shown in FIG. 12;
FIG. 14 shows a configuration of common buses between EC-LSI circuit (EC
circuit 14) and DSP;
FIG. 15A shows a configuration of bus connections between an EC-common RAM
and the EC-LSI circuits;
FIG. 15B shows a method of accessing the EC-common RAM by groups of the
EC-LSI circuits shown in FIG. 15A;
FIG. 16A shows a configuration of bus connections between a DSP-common RAM
and the DSPs;
FIG. 16B shows a method of accessing the DSP-common RAM by groups of the
DSPs shown in FIG. 16A;
FIG. 17 shows an illustration for explaining a relationship between
cellslot timings and memory-data transmission timings of each EC unit; and
FIG. 18 shows a configuration of another embodiment of the echo canceller
system.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
First, a description will be given of an operation principle of an echo
canceller system according to the present invention. FIG. 7 shows a block
diagram of a configuration for explaining the operation principle of the
echo canceller system according to the present invention. In FIG. 7, a
first common random access memory (RAM) 1 stores past tap data (speech
data) and tap coefficients corresponding to channels in a transmission
line. A receive-side input (Rin) and a transmit-side input (Sin) are
applied to an input data line 3a, and a transmit-side output (Sout) is
produced to an output data line 3b. The input data line 3a and the output
data line 3b are connected to a plurality of echo canceller units (ECUs)
4. Each of the ECUs 4 comprises an echo canceller (EC) circuit 5 and a
digital signal processor (DSP) 6. The ECU 4 generates a quasi-echo,
calculates a remaining echo, and updates tap coefficients. Further, the
ECU 4 detects double talk (speeches are simultaneously generated from both
terminals) and a disable tone (a tone signal for disabling the echo
canceller before analog modem communications start), and has controls to
stop the process of the echo canceller. Each EC unit 4 can process m
channel cells in one speech cell interval (=5.875 msec, which is called a
process interval), namely the EC 4 has an ability of m multiprocessing.
The echo canceller system comprises m EC units (#1 to #m).
The EC circuit 5 is supplied with receive signals (Rin, Sin) from the input
data line 3a, and performs an echo cancelling operation based on the data
stored in the first common RAM 1, etc., to produce the transmit signal
(Sout) to the output data line 3b. The DSP 6 calculates power of the
receive-side input (Rin), the transmit-side input (Sin), and the remaining
echo, and processes data for updating the tap coefficients. Further, the
DSP 6 detects the double talk and the disable tone and controls the EC
circuit 5 to be invalidated (non-linear process). A second common RAM 8
stores data necessary for processing in the DSP 6 (data of the cell from
each channel for calculating new tap coefficients to be updated, and data
for detecting specified signals, etc.). The data stored in the first
common RAM 1 is accessed through a bus 2, and the data stored in the
second common RAM 8 is accessed through a bus 7.
The present invention realizes the multiprocessing in the echo canceller
system without buffers and reduces a hardware scale and a process delay
for ATM cells of speech data in an ATM high-speed transmission line. In
the echo canceller system, the cells from many channels are not allocated
to specified hardware, and can be allocated to any hardware which can
process any cells. Therefore, waiting time to process the input data may
be removed. Accordingly, the echo canceller system comprises the echo
canceller (EC) unit which can perform the multiprocessing for the echo
cancelling operation, the first common RAM storing the data necessary for
cancelling the echo, and the second common RAM storing the data necessary
for each channel's signal processing and controlling. Each EC unit can
access both common RAMs through the buses with a high speed.
In the echo canceller system shown in FIG. 7, when the receive-side input
signal (Rin) and the transmit-side input signal (Sin) having many cells
(cellslots) are applied to the input data line 3a, the cells are input to
free ones of the EC units 4. When the cell is input to the EC unit 4, a
cellslot number of the cell is also applied to the EC unit 4. The EC
circuit 5 loads data necessary for the EC process corresponding to the
cellslot number from the first common RAM 1 through the bus 2. The EC
circuit 5 processes an input signal with the data loaded from the first
common RAM 1 and generates a quasi-echo and calculates a remaining echo.
The DSP 6 loads data corresponding to the channel from the second common
RAM 8 through the bus 7. Based on the data, the DSP 6 updates the tap
coefficients, detects the double talk and the disable tone signal, and
controls the EC circuit 5.
A result (the remaining echo signal) of processing the echo cancelling
operation in the EC unit 4 is produced to the output data line 3b. The tap
data and the updated tap coefficients are saved in the initial location of
the first common RAM 1 corresponding to the channel. In the second common
RAM 8, the data is saved in the location corresponding to the cellslot. In
this way, a plurality of cells are processed in such a multiprocessing
form by using the EC units 4 in time division. Therefore, each EC unit 4
can process any cellslot.
Each EC unit 4 can perform the echo cancelling processing of n cells (n
multiprocessing) for the process interval of 5.875 msec which is the
transmission interval of the speech cell. Therefore, m EC units 4 can
process a total of n.times.m cells for that process interval.
In general, in the ATM transmission, each cell is not located in the
specified cellslot (periodical location in a time scale where a cell is
located). Therefore, it is unclear which of cellslots has the data before
the cell is received and control data (including channel information) of
the cell is checked. Thus, the EC unit (which is free after the latest
process) allocated to the cellslot checks the cell and discriminates the
channel to perform the process.
In this way, the EC unit 4 is constructed with the EC circuit 5 and the DSP
6. The data used in each EC unit 4 is stored in the common RAM. The EC
unit 4 can perform the multiprocessing for any channel by improved
processing ability. Therefore, the hardware scale may be reduced. And just
after the cell is applied to the echo canceller system, the cell can be
processed, so that the delay time in the echo canceller may be minimized.
Next, a description will be given of a first embodiment of the echo
canceller system according to the present invention, by referring to FIG.
8 and FIG. 9. FIG. 8 shows a block diagram of the first embodiment of the
echo canceller system according to the present invention. FIG. 9 shows an
illustration for explaining a relationship between the data and the
cellslot.
In FIG. 8, an EC-common RAM 10 and a DSP-common RAM 17 respectively
correspond to the first common RAM 1 and the second common RAM 8 shown in
FIG. 7. Elements 11, 12a, 12b, 13 to 16 in FIG. 8 are respectively the
same as those 2, 3a, 3b, 4 to 7 shown in FIG. 7.
This embodiment shows an example of a cell-based echo canceller system
located in one 155-Mbps link (corresponds to the speech data line having
2016 channels) of the ATM network. In the ATM networks, each cell has 53
bytes. When the data of the cell is the speech data, 47 bytes (47 samples)
of the cell are allocated to the speech data.
As shown in FIG. 9, in the 155-Mbps transmission line, the time length of
one cell is 2.7778 .mu.sec. The cells having the speech data occurs at the
5.875-msec interval (125 .mu.sec.times.47 samples). Therefore, a number of
cells which can be transmitted for the 5.875-msec interval is 2115 (=5.875
msec/2.7778 .mu.sec). Namely, if a formation of the cell located in the
transmission line is represented by the cellslot, there are 2115 cellslots
in the process interval 5.875 msec.
In the example shown in FIG. 8, 2115 cells are processed in the process
interval of 5.875 msec. Each EC unit (ECU) 13, namely each EC circuit 14
and each DSP 15, can perform 10 multiprocessing (m=10), and 212 EC units
13 are located in the echo canceller system. Thus, the system has an
ability of processing 2115 cells in the process interval.
The EC-common RAM 10 stores the data necessary for performing the echo
cancelling operation by using the FIR filter of the EC circuit 14. Namely,
the data includes the tap data (previous speech data) and the tap
coefficient data for each channel, which are 512 words (1 word=24 bits).
24 bits constructing the word consists of 16-bit tap data and 8-bit tap
coefficient data. Therefore, the EC-common RAM 10 has a memory capacity of
1 MW.times.24 bits.
Each cell in the input signals (Rin, Sin) from the input data line 12a has
47 sample data (1 sample data=8 bits), each sample data being constructed
with compressed codes. The compressed codes are decompressed to be
converted to linear codes in the EC circuit 14, and, vice versa. Each EC
circuit 14 calculates the quasi-echo with estimation of the echo pass
(determination of the tap coefficients and the tap data) and updates the
tap coefficients in time division. The update coefficients are calculated
in the DSP 15.
The DSP-common RAM 17 stores the data for producing the update coefficients
of the filter, the power information, and the data for detecting the
specified signal and the specified condition (the disable tone signal and
the double talk condition). The data of 256 words (1 word=16 bits) is
stored for each of the 2115 channels. Therefore, the DSP-common RAM 17 has
a memory capacity of 512 kW.times.16 bits.
The DSP 15, accompanying with the EC circuit 14, calculates speech power of
the receive-side input signal (Rin in FIG. 7) and the transmit-side input
signal (Sin in FIG. 7), and also calculates speech power of the remaining
echo. The DSP 15 further calculates the update coefficients of the tap
coefficients and detects the disable tone signal and the double talk
condition.
Next, a description will be given of a method of allocating the cells to
the ECUs in the echo canceller system shown in FIG. 8. In the echo
canceller system, for the multiprocessing, a processing speed of each ECU
13 is set to n times a processing speed of the hardware of the
conventional echo canceller. The hardware of n=10 may be easily realized
by using the present technologies. The first following description shows
the case of n=10 for simplification of the description. As will be
mentioned later, cases of n=15 and n=12 may be also realized.
FIG. 10 shows a first embodiment of the method of allocating the cells in
the ATM network to the ECUs in the echo canceller system shown in FIG. 8.
In the method, 212 ECUs 13 (represented by ECU-1 to ECU-212) are located.
Each ECU has ten times the processing ability of the conventional hardware
which can process 1 channel for 125 .mu.sec.times.47 samples (=5.875
.mu.sec). Therefore, each ECU can process 1 cell for 0.5875 msec, namely
can process 10 cells for 5.875 msec. A number written in a cell block
represents a cellslot number, which is different from the channel number
written in the header of the cell. In the method, input cellslots are
sequentially allocated to ECU-1, ECU-2, . . . regardless of the channel
number. After the 212-th cellslot is allocated to ECU-212, the 213-th
cellslot is allocated to ECU-1 again to be processed. By this time, in
ECU-1, the processing for the 1st cellslot has been finished.
In the cells applied to the echo canceller system, idle cells and
non-speech data cells are also included. For these cells, no process is
carried out in the EC unit (ECU). Each ECU sequentially processes 10
channels (which are represented by numerals (1) to (10) in FIG. 10).
In the above method, each ECU hardware does not correspond to the channel
of the cell. Therefore, as the cells are sequentially applied to the
system, the applied cells are allocated to the ECUs in that order and are
processed without the waiting time. In this way, the waiting time to
process the applied cell may be eliminated. Furthermore, the delay time in
the process is decreased to 1/10 (1/n in the case of n multiprocessing)
the delay time of the conventional echo canceller. The total scale of the
EC units is also decreased to 1/10 (1/n in the case of n multiprocessing).
Next, a description will be given of the operation of the EC unit.
When the cell is applied to the echo canceller system, the channel
information of the cell can be detected from the header of the applied
cell. Based on the channel information, the following processes (a) to (d)
are carried out.
(a) The tap data, etc., to be processed in the EC circuits 14 of the ECUs
13 is loaded from the EC-common RAM 10.
(b) The storage data to be processed in the DSPs 15 of the ECUs 13 is
loaded from the DSP-common RAM 17.
(c) In each ECU 13, the echo canceller processing is performed for 47
samples. The processed speech data cell is produced to the output data
line 12b (with the fixed delay).
(d) After the process, the updated data is saved in the EC-common RAM 10
and the DSP-common RAM 17.
After that, the processes (a) to (d) are repeated in that order.
Next, descriptions will be given of other methods of allocating the cells
to the ECUs in the echo canceller systems, by referring to FIGS. 11 to 14.
FIG. 11 shows a second embodiment of the method of allocating the cells in
the ATM network to the ECUs in the echo canceller system. Returning to
FIG. 10, the number of ECUs is 212, which is not a factor of the number of
cellslots (2115=3.times.3.times.5.times.47). Therefore, in the first cycle
of the processing, the 1st cellslot is processed in ECU-1 and the 2015-th
cellslot is processed in ECU-207. And, in the second cycle, the 1st
cellslot is processed in ECU-208. In this way, the cellslot is not always
allocated to the same specified hardware.
On the other hand, in the method shown in FIG. 11, the number of ECUs is
141, which is a factor of the number of cellslots (2115=141.times.15).
Each ECU can perform 15 multiprocessing (which is represented by (1) to
(15)). Therefore, the 2115 cellslots can be equivalently allotted to each
of ECUs (ECU-1 to ECU-141). In this way, the cellslot can be processed in
the specified hardware (ECU). This improves a debug efficiency, etc., of
the hardware.
FIG. 12 shows a third embodiment of the method of allocating the cells in
the ATM network to the ECUs in the echo canceller system. In the above
embodiment shown in FIG. 11, the number of ECUs is 141. In this
configuration, it is difficult to realize a plurality of banks in an
access to the common RAMs, and operations of the buses accessing the
memories can not be allotted in the same rate. In FIG. 12, 188 ECUs are
located, wherein each ECU can perform 12 multiprocessing (which is
represented by (1) to (12)). The number 188 is a multiple of the number (4
is set in this case) of the banks of the common RAM, and, thus, the bus
operations for accessing the memories may be easily distributed in the
same rate. However, since the number of cellslots (2115) is not a multiple
of 4, some cells are left over.
FIG. 13 shows an illustration for explaining a periodical allocating
operation of the third embodiment of the method shown in FIG. 12.
Though the number of cellslots (2115) is not the multiple of 4 as mentioned
above, the cellslots are allocated to the specified hardware (ECUs) at the
2115.times.4 process interval. In FIG. 13, in the first process cycle of
the 2115 cellslots, the 1st cellslot shown by numeral a is allotted to
ECU-1, the 2115-th cellslot is allotted to ECU-47 with the 12-th
multiprocessing. In the second process cycle of the 2115 cellslots, the
1st cellslot shown by | | |