Project

General

Profile

AMR » History » Version 3

laforge, 01/28/2021 01:06 PM

1 1 laforge
2 2 laforge
h1. AMR (Adaptive Multi Rate)
3
4
5 1 laforge
The AMR codec is the latest and most advanced member of the GSM voice codec family.
6
7
8 2 laforge
h2. Specification
9
10
11 1 laforge
AMR is specified in the following specs:
12
13 2 laforge
* TS 26.090: AMR Speech Codec; Speech Transcoding Functions
14
** mathematical description of the encoding functions and adaptive/algebraic codebook
15
* TS 26.091: AMR Speech Codec; Error concealment of lost frames
16
* TS 26.092; AMR Speech Codec; Comfort Noise Aspects
17
** how to detect background noise, encode its parameters and re-create it at the decoder
18
* TS 26.093: AMR Speech Codec; Source Controlled Rate Operation (old 06.93)
19
** Controlled Rate Operation is what happens during DTX (discontinuous transmission)
20
** 
21
* TS 26.094: AMR Speech Codec; Voice Activity Detector
22
* TS 26.101: AMR Speech Codec; Frame Structure
23
** defines FR1 and FR2 frame formats used in the back-haul/core network
24
* TS 26.073: AMR Speech Codec; ANSI C source code
25
** reference implementation of the codec
26
* TS 26.074: AMR Speech Codec; Test sequences
27
** test sequences for testing a codce implementation
28
* TS 45.009: Link Adaption
29
** describe the mechanism + inband signalling for rate/link adaption
30
** SID, codec mode indication/request/command, RATSCCH
31 1 laforge
32
Related specs
33 2 laforge
* TS 28.062: Tandem Free Operation
34
** a method by which the double-transcoding in a MO-to-MT call can be avoided
35
* TS 26.071: Overall description of speech processing
36 1 laforge
37
38 2 laforge
h2. Details
39 1 laforge
40 2 laforge
41 3 laforge
h3. AMR Rate/Link Adaption
42 1 laforge
43 3 laforge
At any given time, there is a so-called _active set_ of four AMR codec modes within each (voice) channel.  Which four modes is defined by a number of different procedures, e.g. 
44
* Layer 3 signalling from BSC to BTS (RSL CHANNEL MODE MODIFY, ASSIGNMENT COMMAND, HANDOVER COMMAND)
45
* RATSCCH based signalling, using stealing frames from the speech channel (like FACCH)
46 1 laforge
47 3 laforge
During call set-up and/or handover, the BSC communicates 
48
* a _RR MultiRate configuration IE_ (TS 44.018 10.5.2.21aa) to the MS, to control the MS side rate adaptation
49
* a _RSL MultiRate configuration IE_ (TS 48.058 9.3.52) to the BTS, to control the BTS side rate adaptation
50
* a _RSL MultiRate control IE_ (TS 48.058 9..353) to the BTS, to provide further configuration, such as whether or not TFO shall be used, whether RATSCCH is enabled, ...
51 1 laforge
52 3 laforge
These IEs give a description of the multi-rate function to the MS and BTS, respectively.  They contains
53
* up to four different AMR codec modes, together with a C/I  threshold + hysteresis the determine the selection of the respective codec
54
* whether Noise Suppressions shall be enabled
55
* how the initial codec modec is to be selected
56 1 laforge
57 3 laforge
Besides the initial assignment / channel activation, the same IE can also be communicated at later points in time e.g. in  CHANNEL MODE MODIFY and HANDOVER COMMAND messages.
58 1 laforge
59
If at channel activation time there is no codec mode specified by Layer3 or RATSCCH, there are some
60
default rules (TS 45.009 Chapter 3.4.3) that define which of the codecs will be used for the first speech frames.
61
The content of this configuration is a set of codec rates and C/I (carrier/inteference) thresholds,
62
which are to be applied. Also, the initial codec mode can be specified.
63 2 laforge
64 1 laforge
When one of the network-specified thresholds is reached, the codec mode command/command procedure is
65
invoked.
66
67
* Downlink
68
** if the MS detects a C/I threshold on incoming downlink bursts was hit, it requests a new codec mode using the _CODEC MODE REQUEST (CMR)_
69 2 laforge
* Uplink
70
** if the BTS detects a C/i threshold on incoming uplink bursts was hit, it will instruct the MS to use a different codec in the uplink direction using a _CODEC MODE COMMAND (CMC)_
71
72 3 laforge
Furthermore, each sender frequently uses the _CODEC MODE INDICATION (CMI)_ to let the recipient know which codec was used to encode the speech frames.
73
74
The CMI/CMC/CMR fields are not part of every voice frame on the Um interface.  Rather, they are switched/multiplexed, i.e the same bits in the message have different role depending on the time / frame number at whcih they are sent.
75
76
The BTS converts between the Um interface of AMR and the RTP encapsulation for RTP.  On RTP, each packet always contains an indication of the mode used for this codec frame at the transmitter (FT field) and the CMR of what the transmitter requests the peer to use in the opposite direction.
Add picture from clipboard (Maximum size: 48.8 MB)