• LTE


    Introduction

    This example shows how to generate a time domain waveform containing a Physical Downlink Shared Channel (PDSCH), corresponding Physical Downlink Control Channel (PDCCH) transmission and the Physical Control Format Indicator Channel (PCFICH), for one subframe.

    • Physical Downlink Shared Channel (PDSCH)

    • Physical Downlink Control Channel (PDCCH)

    • Physical Downlink Control Format Indicator Channel (PCFICH)

    Cell-wide Settings

    enb.NDLRB = 6;                % No of Downlink Resource Blocks(DL-RB)
    enb.CyclicPrefix = 'Normal';  % CP length
    enb.PHICHDuration = 'Normal'; % Normal PHICH duration
    enb.DuplexMode = 'FDD';       % FDD duplex mode
    enb.CFI = 3;                  % 4 PDCCH symbols
    enb.Ng = 'Sixth';             % HICH groups
    enb.CellRefP = 4;             % 4-antenna ports
    enb.NCellID = 10;             % Cell id
    enb.NSubframe = 0;            % Subframe number 0

    Subframe Resource Grid Generation

    Creating an empty resource grid for one subframe. The subframe is a 3 dimensional matrix. The number of rows represents the number of subcarriers available, this is equal to 12*enb.NDLRB since there are 12 subcarriers per resource block. The number of columns equals the number of OFDM symbols in a subframe, i.e. 7*2, since we have 7 OFDM symbols per slot for normal cyclic prefix and there are 2 slots in a subframe. The number of planes (3rd dimension) in subframe is 4 corresponding to the 4 antenna ports as specified in enb.CellRefP.

    DL-SCH and PDSCH Settings

    The DL-SCH and PDSCH are configured using a structure pdsch. The settings here configure 4 antenna transmit diversity with QPSK modulation.

    pdsch.NLayers = 4;                       % No of layers
    pdsch.TxScheme = 'TxDiversity';          % Transmission scheme
    pdsch.Modulation = 'QPSK';               % Modulation scheme
    pdsch.RNTI = 1;                          % 16-bit UE-specific mask
    pdsch.RV = 0;                            % Redundancy Version

    DL-SCH Channel Coding

    Now generate the DL-SCH bits and apply channel coding. This includes CRC calculation, code block segmentation and CRC insertion, turbo coding, rate matching and code block concatenation.

    The DL-SCH transport block size is chosen according to rules in TS36.101, Annex A.2.1.2 "Determination of payload size" with target code rate $R=1/3$ and number of bits per subframe given by codedTrBlkSize.

    codedTrBlkSize = pdschInfo.G;          % Available PDSCH bits
    
    transportBlkSize = 152;                % Transport block size
    dlschTransportBlk = randi([0 1], transportBlkSize, 1);
    
    % Perform Channel Coding
    codedTrBlock = lteDLSCH(enb, pdsch, codedTrBlkSize, dlschTransportBlk);

    PDSCH Complex Symbols Generation

    The following operations are applied to the coded transport block to generate the Physical Downlink Shared Channel complex symbols: scrambling, modulation, layer mapping and precoding. This can be achieved using ltePDSCH. As well as some of the cell-wide settings specified in enb this function also requires other parameters related to the modulation and channel transmission configuration, pdsch. The resulting matrix pdschSymbols has 4 columns. Each column contains the complex symbols to map to each antenna port.

    pdschSymbols = ltePDSCH(enb, pdsch, codedTrBlock);

    PDSCH Mapping

    The complex PDSCH symbols are then easily mapped to each of the resource grids for each antenna port using a simple assignment operation. The locations of the PDSCH symbols in the resource grids are given by pdschIndices.

    % Map PDSCH symbols on resource grid
    subframe(pdschIndices) = pdschSymbols;

    DCI Message Configuration

    Downlink Control Information (DCI), conveys information about the DL-SCH resource allocation, transport format, and information related to the DL-SCH hybrid ARQ. lteDCI can be used to generate a DCI message to be mapped to the Physical Downlink Control Channel (PDCCH). These parameters include the number of downlink Resource Blocks (RBs), the DCI format and the Resource Indication Value (RIV). The RIV of 26 correspond to full bandwidth assignment.

    DCI Channel Coding

    The DCI message bits are channel coded. This includes the following operations: CRC insertion, tail-biting convolutional coding and rate matching. The field PDCCHFormat indicates that one Control Channel Element (CCE) is used for the transmission of PDCCH, where a CCE is composed of 36 useful resource elements.

    PDCCH Bits Generation

    The capacity of the control region depends on the bandwidth, the Control Format Indicator (CFI), the number of antenna ports and the PHICH groups. The total number of resources available for PDCCH can be calculated using ltePDCCHInfo

    pdcchInfo = ltePDCCHInfo(enb);    % Get the total resources for PDCCH
    pdcchBits = -1*ones(pdcchInfo.MTot, 1); % Initialized with -1
    
    % Performing search space for UE-specific control channel candidates
    candidates = ltePDCCHSpace(enb, pdcch, {'bits','1based'});
    
    % Mapping PDCCH payload on available UE-specific candidate. In this example
    % the first available candidate is used to map the coded DCI bits.
    pdcchBits( candidates(1, 1) : candidates(1, 2) ) = codedDciBits;

    PDCCH Complex Symbol Generation

    From the set of bits used in pdcchBits (values not set to -1) PDCCH complex symbols are generated. The following operations are required: scrambling, QPSK modulation, layer mapping and precoding.

    ltePDCCH takes a set of PDCCH bits and generates complex-valued PDCCH symbols performing the operations mentioned above. In this case pdcchSymbols is a 4 column matrix, each corresponding to each antenna port.

    pdcchSymbols = ltePDCCH(enb, pdcchBits);

    CFI Channel Coding

    The number of OFDM symbols in a subframe is linked to the Control Format Indicator (CFI) value. Cell-wide settings structure enb specifies a CFI value of 3, which means that 4 OFDM symbols are used for the control region in the case of 6 downlink resource blocks. The CFI is channel coded using lteCFI. The resulting set of coded bits is a 32 element vector.

    cfiBits = lteCFI(enb);

    PCFICH Complex Symbol Generation

    The CFI coded bits are then scrambled, QPSK modulated, mapped to layers and precoded to form the PCFICH complex symbols. The pcfichSymbols is a matrix having 4 columns where each column contains the PCFICH complex symbols that map to each of the antenna ports.

    pcfichSymbols = ltePCFICH(enb, cfiBits);

    Plot Grid

    Plot the resource grid for the first antenna. This includes (in yellow) the physical channels added in the example: PDSCH, PDCCH and PCFICH.

    Reference

      1. TS 36.101

      2. MathWorks

  • 相关阅读:
    自己设计的SSO登录流程图
    Java泛型:泛型类、泛型接口和泛型方法
    Java中泛型的各种使用
    Java总结篇系列:Java泛型
    java生成MD5校验码
    Android SQLite数据库之事务的学习
    Android SQLite详解
    android删除表和清空表
    Android 软键盘自动弹出和关闭
    java中表示二进制、八进制、十进制、十六进制
  • 原文地址:https://www.cnblogs.com/zzyzz/p/13381226.html
Copyright © 2020-2023  润新知