?? read.me
字號(hào):
ANSI-C Simulation of G.723.1/Annex C
====================================
0. Introduction:
================
This channel codec ANSI-C simulation is part of the G.723.1/Annex C
recommendation.
All mandatory parts described in Annex C are implemented here.
In the case of discrepancies between description and C code, the C simulation
shall be adopted as reference.
All non mandatory parts in the channel decoder have to be considered as
implementation examples. In particular the Viterbi soft output generation has
not been included since this part will be implemented by each manufacturer
differently.
1. Description:
===============
The channel simulation is divided in three parts:
o channel encoder subdirectory enc/
o mapping between channel encoder
output and decoder input subdirectory map/
o channel and speech decoder subdirectory dec/
The test sequences are contained in subdirectory testseq/ .
Subdirectory src5.1/ contains an extended G.723.1-Version5.1 decoder where a
proposal for error concealment in the speech decoder is implemented.
In the v3.1/ directory a UNIX script and a DOS batch file are included to
process the "encoder-network-decoder" chain.
The script or batch file is called with maximum five arguments:
process.unx $1 $2 $3 $4 $5
or
process.bat $1 $2 $3 $4 $5
$1 : input G.723.1 bitstream file. This is a file which is produced by the
G.723.1-V5.1 speech encoder.
$2 : synthesized output speech file. This is the synthesized speech signal
(output of the G.723.1-V5.1 speech decoder which is processed in dec/).
Note that the speech decoder has been modified to accomodate concealment
functions. The original "decod.c" has been extended by introducing a
subroutine "SignalConcealment" which is called when determining the
overall excitation signal. All extensions can be activated by setting the
#define CHANNEL 1 (default setting)
If
#define CHANNEL 0
the decoder is the same as the original "decod.c".
In the case of error free reception there are no differences in the
output signal of the two decoder versions.
$3 : channel bitrate configuration file. This ASCII file contains the
two allowed channel bitrates (this is the 1 bit channel codec
configuration code which is transmitted inline together with the 2 bit
speech codec configuration code).
An example file in v3.1/ is named "bitrate.cfg".
$4 : requested channel bitrate. This is the channel bitrate requested by the
system control which can be any bitrate in the allowed range. This
bitrate is mapped to the next lower allowed channel bitrate defined above.
Either a fixed channel bitrate (e.g. 12000) or a binary file with 16 bit
channel bitrate values for each 30 ms frame can be specified.
An example file in v3.1/ is named "chanrate.req".
Hence it is possible to change not only the speech codec mode but also
the channel bitrate in each 30 ms frame.
$5 : If nothing is specified the whole file is processed
If "/f=xxx" is specified only xxx frames are processed.
The processing produces two intermediate files:
1) chanbit.tx : This is the packed channel bitstream produced by the
channel encoder in the format described in Table C7.
This bitstream is transmitted via the network.
2) chanbit.rx : This is the channel bitstream received by the decoder.
Note that this file is significantly longer than the *.tx file
out of two reasons:
o these values are soft values, i.e. each channel bit is
the MSB of an 8 bit soft value
o the network simulator writes all bits representing the
maximum channel capacity to the file. Hence there are a
lot of unused bits depending on the channel bitrate
used.
2. Installation:
================
There are six subdirectories:
o /v3.1 : input/output files and configuration files for
channel codec software
o /v3.1/enc : channel encoder source code version 3.1
o /v3.1/map : mapping from channel encoder output to channel
decoder input
o /v3.1/dec : channel decoder V3.1 and speech decoder V5.1
o /v3.1/testseq : test sequences for channel encoder
o /src5.1 : G.723.1 source decoder with error concealment
1) Compile the G.723.1 source decoder in /src5.1 together with the other
G.723.1 C routines (see diskette with G.723.1 code).
2) Compile the source codes in
o /v3.1/enc
o /v3.1/map
o /v3.1/dec
UNIX makefiles are included.
3) Check the installation by executing the UNIX script file
process.unx vad_test.tco test.out bitrate.cfg chanrate.req
or the DOS batch file
process.bat vad_test.tco test.out bitrate.cfg chanrate.req .
"test.out" shall be bit exact with "vad_test.rou"
(Caution: the files "chanrate.req" and "vad_test.rou" are stored in DOS
format!)
3. Executing the test sequences:
================================
/testseq contains a DOS and a UNIX script file to exercise all test
sequences.
The processed files are compared to the reference. No difference shall
occur.
Details of the test sequences' construction can be found in file
testseq.txt contained in subdirectory /testseq .
(Caution: the file "chanrate.req" is stored in DOS format!)
4. Editorial Error Report
=========================
A minor editorial error in the recommendation text has been discovered after
the approval of this annex by ITU-T:
In section 2.5.4 the BCH code is specified stating:
"A (13,5) block code with the generator polynomial ..."
The correct specification should be :
"A (13,3) block code with the generator polynomial ..."
All the other specifications of that subsection, i.e. the generator
polynomial, are correct. This also holds for the C-simulation.
Since the recommendation text is frozen a correction of this editorial error
was not possible.
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -