WCDMA3G_ViterbiDCC
Description: Viterbi decoder for convolutional code
Library: 3GPPFDD 10-99, Channel Coding
Class: SDFWCDMA3G_ViterbiDCC
Parameters
Name |
Description |
Default |
Type |
---|---|---|---|
LinkDir |
link direction: Downlink, Uplink |
Downlink |
enum |
CodeType |
convolutional code type: rate 1/2 K 9 g0 0561 g1 0753, rate 1/3 K 9 g0 0557 g1 0663 g2 0711 |
rate 1/2 K 9 g0 0561 g1 0753 |
enum |
TrCHType |
transport channel type(8kbps for no coding in downlink): DCH_8_kbps, DCH_16_kbps, DCH_32_kbps, DCH_64_kbps, DCH_128_kbps, DCH_256_kbps, DCH_512_kbps, DMCH_2_4_kbps, DMCH_12_2_kbps, DMCH_64_kbps, DMCH_144_kbps, DMCH_384_kbps, DMCH_2048_kbps, BCH_11_1_kbps, BCH_12_3_kbps |
DCH_8_kbps |
enum |
TTI |
transmission time interval: TTI_10ms, TTI_20ms, TTI_40ms, TTI_80ms |
TTI_10ms |
enum |
Pin Inputs
Pin |
Name |
Description |
Signal Type |
---|---|---|---|
1 |
In |
input coded block data |
real |
2 |
TF |
input transport format |
int |
Pin Outputs
Pin |
Name |
Description |
Signal Type |
---|---|---|---|
3 |
Out |
output data after decoding |
int |
Notes/Equations
- This model is used to implement Viterbi decoding for convolutional coding, or hard decision for no coding. Decoding is performed block-by-block.
Coding schemes are listed in the following table.
Convolutional Coding Schemes
TrCHType LinkDir CodeType Coding DCH_8_kbps Downlink rate 1/2 K 9 g0 0561 g1 0753 no coding Uplink rate 1/3 K 9 g0 0557 g1 0663 g2 0711 rate 1/3 coding DCH_16_kbps Downlink rate 1/2 K 9 g0 0561 g1 0753 rate 1/2 coding Uplink rate 1/3 K 9 g0 0557 g1 0663 g2 0711 rate 1/3 coding DCH_32_kbps Downlink rate 1/2 K 9 g0 0561 g1 0753 rate 1/2 coding Uplink rate 1/3 K 9 g0 0557 g1 0663 g2 0711 rate 1/3 coding DCH_64_kbps any any zero output DCH_128_kbps any any zero output DCH_256_kbps any any zero output DCH_512_kbps any any zero output DMCH_2_4_kpbs any rate 1/3 K 9 g0 0557 g1 0663 g2 0711 rate 1/3 coding DMCH_12_2_kpbs any rate 1/3 K 9 g0 0557 g1 0663 g2 0711 rate 1/3 coding DMCH_64_kbps any any zero output DMCH_144_kbps any any zero output DMCH_384_kbps any any zero output DMCH_2048_kbps Uplink any zero output BCH_11_1_kbps Downlink rate 1/2 K 9 g0 0561 g1 0753 rate 1/2 coding BCH_12_3_kbps Downlink rate 1/2 K 9 g0 0561 g1 0753 rate 1/2 coding
Input and output tokens are listed in the following table.
Input and Output Tokens
LinkDir TrCHType TTI No. Input Tokens No. Output Tokens Downlink DCH_8_kbps (No Coding) 10 ms 96 96 20 ms 176 176 40 ms 336 336 80 ms 656 656 Downlink DCH_16_kbps (1/2 CC) 10 ms 368 184 20 ms 688 344 40 ms 1344 672 80 ms 2640 1320 Downlink DCH_32_kbps (1/2 CC) 10 ms 688 344 20 ms 1344 672 40 ms 2640 1320 80 ms 5256 2628 Uplink DCH_8_kbps (1/3 CC) 10 ms 312 104 20 ms 552 184 40 ms 1032 344 80 ms 2016 672 Uplink DCH_16_kbps (1/3 CC) 10 ms 552 184 20 ms 1032 344 40 ms 2016 672 80 ms 3960 1320 Uplink DCH_32_kbps (1/3 CC) 10 ms 1032 344 20 ms 2016 672 40 ms 3960 1320 80 ms 7884 2628 Downlink/Uplink DMCH_2_4_kbps (1/3 CC) 40 ms 360 120 Downlink/Uplink DMCH_12_2_kbps (1/3 CC) 20 ms 804 268 Downlink BCH_11_1_kbps (1/2 CC) 10 ms 135 270 Downlink BCH_12_3_kbps (1/2 CC) 20 ms 270 540 - Model functions
Input bits are read from the input buffer.
The input transport format is read; current block number and valid length of every block is calculated. If no coding is selected, data is output directly with hard decision, otherwise Viterbi decoding is performed to every data block.
Viterbi decoding
The initial state of register is used to decode since the initial state of encoder is all 0. Not all states can be reached in the first K-1(K is constraint length of convolutional encoder) steps; this feature can be used to calculate the metrics of every possible state and store the paths.
The metrics and the survivor paths are calculated until the present decoding bit index equals parameter L(L=5K). In this period no output is given.
The metrics and the survivor path calculations continue and export the previous L th decoding bit until the present decoding bit is the K th bit to the end of the block.
Tail bit information is used to decode and export the previous L th decoding bit. Since the last K-1 bits of input block are known as all zeros, not all states can be reached in the last few steps. This feature is used to calculate the metrics of every possible state and the survival paths of those states.
Decoding of the last bit and exporting of all bits in this block. Since the last state is 0 in this block, there is only one survivor after decoding the last bit. All bits in this path as the decoding bits can then be exported.
All decoded data is output into the output buffer.
References
- 3GPP Technical Specification TS25.212 V3.0.0,"Multiplexing and Channel Coding (FDD)," October 1999.
- 3GPP Technical Specification TS25.101 V3.0.0,"UE Radio Transmission and Reception (FDD)," October 1999.
- 3GPP Technical Specification TS25.104 V3.0.0,"UTRA(BS) FDD: Transmission and Reception," October 1999.