编码方式_点点滴滴学5G——一文掌握PDSCH的调制编码方式MCS

本文详细介绍了5G NR中PDSCH的调制编码方式MCS,包括QPSK、16QAM、64QAM和256QAM等调制阶数,以及MCS表的三种类型:256QAM、64QAM和低频谱效率64QAM表。MCS的选取与无线链路质量和CQI反馈密切相关,通过链路自适应算法动态调整以优化频谱效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. MCS的基本概念介绍

调制就表示在单个符号上可以携带多少个Bit数,也就是一个RE上可以承载多少个Bit。无线链路质量越好,MCS(Modulation and Coding Scheme)值就可以越高,调制编码方式(MCS)由gNB采用链路自适应算法进行分配,分配的MCS通过PDCCH信道(例如DCI 1_0、DCI 1_1)向UE以信号的方式进行发送。

调制定义了一个RE可以承载多少个比特位,而不管它是有用的位还是奇偶校验位。与4GLTE相比,5G NR支持更多的调制方式,5G NR支持QPSK、16QAM、64QAM和256QAM调制。使用QPSK,每个RE可以传输2位,16QAM可以是4位,64QAM可以是6位,256QAM可以是8位。这16、64和256被称为QAM调制的调制阶数。

2. MCS表

3GPP规范38.214给出了PDSCH-MCS的三个表,即64qam表、256qam表和低频谱效率64qam表

2.1 256qam

一般情况下,当256QAM(最大MCS=27)在非常好的无线环境下被分配时,可以使用256QAM表(如图1所示),当出现以下两种情况之一UE将使用256QAM表

f0da5a28dfec08c0328ddd14f5bc90c0.png

图1 256qam表

第一种情况:如果PDSCH-Config参数mcs-Table配置为’qam256’(如图2所示),且PDCCH由DCI format 1_1调度,并且由C-RNTI加扰;

03fd59dca0cf191878370da4503d46ce.png

图2

第二种情况:如果SPS-config中参数mcs-Table未配置,且PDSCH-Config中参数mcs-Table配置为’qam256’:

a) 如果PDSCH由CS-RNTI加扰的DCI format 1_1调度或者

b) 如果PDSCH使用SPS-config调度(没有PDCCH)。

2.2 64qam

当gNB或UE不支持256qam或者在256-QAM表解码不成功且gNB需要分配QPSK顺序调制的恶劣无线环境下,可以使用64qam表(如图3所示),另外,如果上述两种条件都不成立(PDSCH-Config或SPS-Config中参数mcs-Table未配置,则默认64QAM(最大MCS=28)

53be7d64377845a1f8ce5ff9f2858f81.png

图3 64qam表

2.3 低频谱效率64qam

低频谱效率(Low spectral efficiency)64 QAM表适用于需要可靠数据传输的应用,例如属于URLLC类别的应用。该表包括具有低频谱效率的mcs,即降低的编码速率增加信道编码冗余。

gNB指示UE使用RRC信令和Phy层信令(RNTI)的组合来选择特定的MCS表,当出现以下任意一种情况则使用qam64LowSE表(如图4所示)

9a8fe7c59a0c9e1cd2a35674861b19af.png

图4 qam64LowSE表

第一种情况:如果UE没有配置MCS-C-RNTI,IE PDSCH-Config中参数mcs-Table配置为’ qam64LowSE’,且PDSCH由C-RNTI由加扰的SSS中的PDCCH调 度;

第二种情况:如果UE配置了MCS-C-RNTI,并且PDSCH由MCS-C-RNTI加扰的PDCCH调度;

第三种情况:如果SPS-config中参数mcs-Table配置为'qam64LowSE':

a)PDSCH由CS-RNTI加扰的PDCCH调度或PDSCH使用SPS调度。

2.4频谱效率和码率

从这三张MCS表中可以看出通过Imcs可以得到目标码率和频谱效率,这里简单说明下码率和频率效率的基本概念

码率:是指每秒传送的比特(bit)数。单位为bps(bit per second)也可表示为b/s,比特率越高,单位时间传送的数据量(位数)越大,码率的计算公式为

(TBS+CRC)/(RE*Bits per RE),其中TBS表示传输块大小,CRC固定为24位,RE为分给PDSCH或PUSCH信道的Resource elaments数量,Bits per RE表示调制阶数,例如Qm=2时,Bits per RE=2。

注:对于下行PDSCH传输,如果初传中某个TB的有效信道码率高于0.95,则UE不会去解码该TB。

频谱效率:(spectral efficiency)的单位是 bit/s/Hz,该指标用来衡量系统的有效性,描述了能够提供多少容量,频谱效率的计算公式为coderate*moulation order

3. CQI与MCS

UE 测量PRB (Physical Resource Block)的接收功率和干扰得到 SINR 值, 将测量值转换为CQI, 基站根据CQI映射得到初始的MCS,然后根据传输的误码率bler动态调整MCS,在有效提高频谱效率的同时,又降低了传输错误。

为了兼顾减少 CQI 信息的开销和更细粒度的 CQI 信息指示,5G-NR 标准 eMBB 场景设计采用 2 个 CQI 表,即:最高调制方式是 64QAM 的 CQI 表和最 高调制方式是 256QAM 的 CQI 表,这两个表都采用 4 bit 开销来定义 CQI 索引 含义。网络侧通过 RRC 信令的 CQI-table 参数来指示终端选择哪个 CQI 表来 上报信道质量指示。
图5和图6 分别为 64QAM CQI 表和 256QAM CQI 表。表的第 1 列为 CQI 索引,包含的值为 0,1,…,15,表示 16 种情况,可以使用 4 bit 来指示。第 2 列为调制阶数,第 3 列为编码速率,第 4 列为根据调制方式和编码率 计算出来的传输效率

5c5afb9c20b32f4a8e241611847a25cb.png

图5

12e41bf2c5c4901888a5d48c98f29a8f.png

图6

以下是5G NR PDSCH加扰、调制、层映射、预编码、加DM-RS的MATLAB代码示例: ``` % 参数设置 MCS = 5; % 调制阶数 Nrb = 50; % RB数 Ninfo = Nrb*12*14; % 信息比特数 Qm = 2; % 星座点数 Nlayers = 2; % 天线数 Nre = Nrb*12; % RB上RE数 Nsymbs = 1; % 符号数 Nscid = 0; % SCID Nid = 1; % ID Nid2 = 0; % ID2 Nant = 4; % 天线数 Nprb = 25; % PRB数 Ncellid = 0; % 小区ID Ncp = 'normal'; % 循环前缀类型 Ndmrs = 'on'; % 是否加DM-RS Ndmrsconfig = 0; % DM-RS配置 Ndmrsoffset = 0; % DM-RS偏移量 Ncyclicshift = 0; % 循环移位 % 生成随机的信息比特 info_bits = randi([0,1],Ninfo,1); % 信道编码 coded_bits = lteConvolutionalEncode(info_bits); % 块分组 K = 8448; Z = 1024; n = ceil(length(coded_bits)/K); Q = n*Z; padded_bits = [coded_bits; zeros(Q-length(coded_bits),1)]; C = reshape(padded_bits,Z,n).'; % 信道编码后的调制符号 modulated_syms = lteSymbolModulate(C,Qm); % 生成PDSCH符号 pdsch_symbols = reshape(modulated_syms,Nre,Nlayers*Nsymbs); % 进行加扰 c_init = 0; pdsch_symbols_scrambled = ltePDSCH(coded_bits,Nrb,MCS,Qm,Nlayers,Nid,Nid2,Nscid,Ncellid,c_init); % 进行层映射 pdsch_layer_mapped = lteLayerMap(pdsch_symbols_scrambled,Nlayers); % 进行预编码 pdsch_precoded = lteDLPrecode(pdsch_layer_mapped,Nant); % 加DM-RS dmrs_symbols = lteDMRS(Nid,Nid2,Nscid,Ndmrsconfig,Nant,Nprb,Ndmrsoffset,Ncellid); pdsch_dmrspadded = ltePDSCH(pdsch_precoded,Nrb,MCS,Qm,Nlayers,Nid,Nid2,Nscid,Ncellid,c_init,dmrs_symbols); % 进行OFDM调制 ofdm_symbols = lteOFDMModulate(pdsch_dmrspadded,Nrb,Ncp,Ncyclicshift); % 将OFDM符号串行化 tx_waveform = reshape(ofdm_symbols,[],1); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值