DSPRelated.com
Forums

GSM implementation in TMS320C55x

Started by mos6...@yahoo.co.uk July 15, 2008
hi

I want to implement Half Rate GSM protocol in TMS320C55x.
Have anyone implemented this protocol? I need some sample code.

Tanx
Hello, You can search and download individually for free the GSM
standards at http://pda.etsi.org/pda/queryform.asp
You should search for "half rate", here is a list with some of the
documents :
---
GSM 06.02 "Digital cellular telecommunications system (Phase 2+); Half
rate speech; Half rate speech processing functions".
GSM 06.20 "Digital cellular telecommunications system (Phase 2+); Half
rate speech; Half rate speech transcoding".
GSM 06.21 "Digital cellular telecommunications system (Phase 2+); Half
rate speech; Substitution and muting of lost frames for half rate speech
traffic channels".
GSM 06.22 "Digital cellular telecommunications system (Phase 2+); Half
rate speech; Comfort noise aspects for half rate speech traffic channels".
GSM 06.41 "Digital cellular telecommunications system (Phase 2+); Half
rate speech; Discontinuous Transmission (DTX) for half rate speech
traffic channels".
GSM 06.42 "Digital cellular telecommunications system (Phase 2+); Half
rate speech; Voice Activity Detector
(VAD) for half rate speech traffic channels".
GSM 06.06 "Digital cellular telecommunications system (Phase 2+); Half
rate speech; ANSI-C code for the GSM half rate speech codec".
GSM 06.07 "Digital cellular telecommunications system (Phase 2+); Half
rate speech; Test sequences for the GSM half rate speech codec".
---

I am not sure if what you want is to implement the speech codec. If it
is the case, you can download the codec description (GSM 6.20) the
ANSI-C code (GSM 6.06) and the tests vectors (GSM 06.07).

1) You should start by compiling and making the codec work in C with an
audio file, and also test it with the test vectors. That will be your
reference implementation.

2) You should program and test in your C55x hardware the acquisition and
playback of audio, on a frame-by frame basis, with the size of the frame
matching the size of the frame of the GSM half-rate codec.

3) Then for a first approach to porting, you could use the set of
intrinsics to implement the fixed-point basic operations of the
C-Compiler. We did this relatively straight forward for porting another
codec (ITU-T G722.1) on C55x. I copy&paste from an article we are going
to present in Eusipco08 ("WATCH-DICTAPHONE FOR AUTOMATIC MEDICAL
CODIFICATION") :
"3.3 Speech coding : (...) The implemented speech codec (compression /
decompression) is based on the ITU-T G722.1 digital wideband codec [8],
which has a bandwidth of 50 Hz to 7 kHz, and a bit rate of 24 kbit/s
(allowing up-to 3 hours of recorded audio). The digital input to the
encoder is in 16-bit 2's complement format at a sample rate of 16 kHz.
The algorithm is based on Modulated Lapped Transform (MLT). It operates
on 20 ms frames (320 samples) of audio. The description
of the coding algorithm is given in terms of bit-exact, fixed point
mathematical operations. The C code delivered with the standard is
based on a set of "basic operations", which are routines implementing
fixed-point operations. These 16- and 32-bit basic operators
resemble assembly language instructions that are commonly found in DSP,
thus allowing C-code implementations that can be directly mapped to DSP
assembly code. The C55 is a 16-bit fixed point DSP. Its C-Compiler [9]
provides a set of intrinsics to implement the fixed-point basic
operations commonly found in the C-code for standard audio codecs. These
intrinsics produce assembly language statements directly into the
program. The C-code delivered with the standard was thus ported using
these intrinsics".

This implementation should the starting point for more optimization, if
needed.

Hope this helps, regards, Sara

m...@yahoo.co.uk wrote:
> hi
>
> I want to implement Half Rate GSM protocol in TMS320C55x.
> Have anyone implemented this protocol? I need some sample code.
>
> Tanx
>