GSM Baseband Implementation

Embed Size (px)

Citation preview

  • 8/3/2019 GSM Baseband Implementation

    1/4

    GSM Baseband Implementation

    Fig 1. A Conceptual block diagram for GSM transmitter/Receiver. Only the above sixblocks will be implemented.

    As a input, voice interfaces will not be implemented. Instead a random bits are generatedto be as input as shown in Fig 1.2

    Fig 1.2 . Input is replaced by random bit generator here.

    TRANSMITTER:

    The overall picture of the transmitter seems to be as below.

  • 8/3/2019 GSM Baseband Implementation

    2/4

    Fig 1.3 Transmitter block diagram

    To provide an input data stream to channel encode/interleaver, a sequence of random databits are generated. This sequence is after processing- received by the MUX which splits

    the incoming sequence to form the GSM normal burst. As this burst type requires that a

    training sequence is included , so that is also supplied (as shown in pic above).After generating the normal GSM burst data sequence , the MUX returns this to GMSK

    modulator. GMSK block performs the differential encoding of the incoming burst to form

    the NRZ (non return to zero) sequence.This modified sequence is then subject to actual GMSK modulation , after which the

    resulting signal is represented as complex baseband signal (in form of I and Q signal).

    RECEIVER:The overall structure of receiver is as follows:

    Fig 1.4 Receiver block diagram

    The demodulator accepts the GSM burst r using a complex baseband representation.

    based on the data sequence information concerning the over sampling sequence OSR, the

    training sequence TRAINING , and the desired length of the receiving filter Lh , the

    demodulator determines the most probable bit sequence.

    This sequence is used as input to the DeMUX , Where the bits are split in order to

    retrieve the actual data bits., remaining control bit and training sequence is discharged

    here.

    As a final operation channel decoding and de-interleaving is performed. Parameter valuesused in receiver is used as equal to values used in transmitter.

    Matlab implementation:The following .m files are propsed to simulate the above mentioned block diagram.

    Transmitter section:

  • 8/3/2019 GSM Baseband Implementation

    3/4

    1. data_gen.m for DataGenerator in Tx

    2. channel_enc.m for channelEncoder

    3. interleav.m for Interleaver.

    4. burst_g.m for MUX

    5. diff_enc.m for differential encoding (GMSK Mod)

    6. gmsk_mod.m (GMSK Mod)7. ph_g.m (GMSK Mod)

    Fig 1.5 A Typical GSM Burst Structure

    Receiver Section:1. mf.m (for matched filter in case of demodulator).

    2. viterbi_init.m

    3. viterbi_detector.m

    4. demux.m for demultiplexer

    5. channel_dec.m for channel decoder

    6. deinterleaver.m for DeInterleaving

    7.

    file number 2 and 3 are for viterbi equalizer (minimum least square error detection).

    In brief, on a broad level the functionality looks like as below.

    1. data_gen.m --- generates random data for transmission

    2. channel_enc.m performs parity and convolutional encoding of data bits

    3. interleave.m -- interleave the encoded data bits

    4. gsm_mod.m - - modulates the burst and does multiplexing as well.

    5. mf.m performs chanel estimation, synchronization, matched filtering and down

    sampling

    6. viterbi_init.m -- set up data structure for viterbi detector to use

    7. viterbi_detector.m viterbi algo based on MLSE

    8. demux.m -- does simple demultiplexing

    9. deinterleave.m takes care of deinterleaving10. channel_dec.m performs cahnnel decoding.

    Other detailed desctiption about each block and its implementation will be given later.

    These things are still in design phase and not yet finalized.

  • 8/3/2019 GSM Baseband Implementation

    4/4

    Your comments/suggestion/critics are most welcome in order to make the simulation

    more refined.

    All of the above implementation will be done on 6.x or higher version of Matlab.

    Currently I am identifying the built it APIs and other blocks which an be used to simulate

    it.