How are the scaling and puncturing processes carried out on the 802.16e CTC Decoder?
Q. What are the settings for "W" inputs?
A. If the code rate is greater or equal to 1/2, then W1data_in and W2data_in must be zeros regardless of the block size. The CTC decoder core supports rate 1/3 code. Higher rate codes can be supported by puncturing/depuncturing the Y1, Y2, W1, or W2 data input (by inserting zeros in the punctured location).
- When 1/3 <= code rate < 1/2, some of the W1,W2 input data are punctured.
- When code rate = 1/2, then W1 and W2 input data are all punctured and must be zero at the decoder input.
- When 1/2 < code rate < 1, then W1 and W2 are all punctured while some of the Y1, Y2 input data are punctured.
Q. What are the settings for the ex1data_in and ex2data_in?
A. The inputs ex1data_in and ex2data_in must be driven Low. If they are not driven Low, the BER/BLER performance is degraded. These inputs tend to be used in Chase Combing.
Q. How is the puncturing process carried out on the CTC Decoder?
A. The puncturing pattern is carried out externally to the core by inserting zeros in the punctured locations. Consequently, the block that is coming to the decoder must be of length "N" pairs where zeros are inserted in the punctured locations.
Q. What is a typical range of the ex_scaling?
A. The extrinsic scaling ranges from 0.6 to 0.8 depending upon the system (ex. SNR, type of modulation). However, typical values of extrinsic scaling is 0.75 Consequently, ex_scale should be set to 0.75*256 = 11000000.
Q. I need information on the LLR pre-processor mentioned in the data sheet; are there three tables, one each for QPSK, 16QAM, and 64QAM?
A. The LLR can be calculated through a look-up table outside the CTC Decoder Core.
Please see (Xilinx Answer 29447) for a detailed list of LogiCORE 802.16E Convolutional Turbo Code (CTC) Decoder Release Notes and Known Issues.