MT92210 Zarlink Semiconductor, MT92210 Datasheet - Page 79

no-image

MT92210

Manufacturer Part Number
MT92210
Description
1023 Channel Voice Over ip (VoIP) Processor
Manufacturer
Zarlink Semiconductor
Datasheet
Data Sheet
MT92210
7.6
Silence Suppression
The other operation that the packet assembly module can perform is calculating silence suppression information on
data contained in circular buffers. The objective is simple: after performing calculations on a block of PCM data
(using the PCM bytes), the calculator must decide if the channel currently being treated is silent or not. It then
communicates this information to the packet assembler that will discard all RTP packets containing that channel
until the channel re-enables.
Silence suppression calculations are performed on the block of data that is about to be sent in the xxPCM packet by
the assembly process. By synchronizing the two events, the assembly process will have the most up-to-date
information concerning the suppression of its packets and voice quality will be maintained to a maximum.
The silence suppression process reads its data from the same circular buffer as the packet assembly; the minimum
size for any TX circular buffer is 512 bytes, because silence suppression information is only contained in the lower
byte of each word in the buffer (thus the minimum amount of useful data in a circular buffer is 256 bytes).
There are 2 sequential steps to be performed in the silence suppression calculation. The first is the filtering of the
input signal. In some cases, PCM signals are not centered around 0 and have a constant offset that is added to
them: performing energy calculations with these offset values would lead to erroneous results and poor
performance. Thus, to eliminate this error, the silence suppression module uses a first-order high-pass butterworth
filter with a cutoff frequency of 10 Hz to eliminate DC and extremely low-frequency signals. The butterworth filter
keeps the entire context it needs in the Local Butterworth HP 10 Hz Context field. This filter can be enabled or
disabled by using the Local Butterworth enable bit.
To filter the signal, it must first be expanded into linear form. The Local Law bit indicates if the input signal is coded
using u-law or A-law. Using the correct law, each PCM input sample is expanded into its linear value.
Once the filtering of the input signal has been calculated, silence suppression can be correctly performed on the
data. The silence suppression process uses an adaptive algorithm to determine whether the input signal represents
silence or voice. The basic approach used in the silence suppression algorithm is to smooth out the level of the
signal to remove any frequency-dependent components, then to establish the minimum level at which the signal
maintains itself over a reasonable period of time. Then, the current level of the signal is compared to the floor level,
and if it is measured to be larger, then the signal is deemed to be voice; otherwise it is considered to be silence.
If the packet is silent, then a CN packet may potentially be generated. If the last packet was not suppressed, then a
CN packet will definitely be transmitted. A CN packet will also be sent at other points in time when the padding
energy at the remote end needs to be updated. The Last Suppress bit indicates the state of the last packet, which
allows a CN packet transmission decision to be taken.
The CN energy is calculated by summing the energies of the most recent samples received. Depending on whether
the current state is voice or silence, the energy will be summed on a different number of samples, using the First
Energy Period and Subsequent Energy Period respectively. This is done because energy on background noise and
silence can be calculated on a much longer period to obtain greater accuracy. The sum of samples is kept in the
Energy Sum and the sample count is kept in the Energy Counter. When the Energy Counter reaches the terminal
count, a linear-to-dB conversion is performed to take the Energy sum divided by the Energy Counter to obtain the
average linear energy, then converted to a logarithmic scale to obtain an energy in dBov. The TX Silence
Suppression Structure contains a dB Correction that allows the dB energy to be converted to any scale, like dBm0
instead of dBov, for example. There is also a Maximum dB Value and a Minimum dB Value that can be set, making
sure that the value in CN packets stays within a certain range.
The silence suppression information can also be fed to the process externally. When this is the case, a special
PCM code is used on the TDM bus. In this mode, 2 TSSTs must be used to feed the MT92210 with the transmit
data. When the last PCM byte of the packet is read off the H.110 bus is 00h and the associated time slot upper bit
also indicates 0, this means that the packet must be suppressed. Note that the TX unsigned PCM magnitude is
transmitted on the lower 7 bits of the associated time slot. If the code received is normal data (upper bit 1), then the
packet is valid. In this case, the external agent makes all the suppress/don't suppress decisions, but the MT92210
still calculates the CN Energy and decides when to send and when not to send CN packets.
The MT92210 also supports many modes in which it can send CN packets. In the most common configuration, it
will suppress silence packets and send CN packets at the beginning of silence periods, or whenever it decides to
update. It is also possible to configure it to suppress silence packets but never to send CN packets at any time. It
also supports two modes in which it does not suppress packets. In the first one, it uses the marker bit in RTP to
Zarlink Semiconductor Inc.
79

Related parts for MT92210