ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

5G NR中SRS与CSI-RS信号:原理、配置与外场调优实战

5G NR中SRS与CSI-RS信号:原理、配置与外场调优实战 简介这份PPT资料聚焦5G NR物理层中的SRS与CSI-RS两类关键参考信号面向通信工程专业学生、无线网络优化工程师及5G协议研究者帮助读者系统理解上行与下行信道估计、资源分配背后的信号机制。资源包内含1个pptx文件整体约1.15MB以图文并茂的幻灯片形式呈现便于课堂讲解与自学梳理。内容覆盖SRS的周期性、非周期性、半持续性三种类型及其时频位置、带宽配置、天线轮询与发送周期设置同时详解CSI-RS的NZP-CSI-RS、CSI-IM、TRS、RRM、RLM等类别与资源配置、上报参数及触发方式并对比LTE与5G NR参考信号的差异。目前已有1701人学习下载适合希望从协议原理到参数配置全面掌握5G NR信道测量机制的读者参考。1. 从一份 PPT 标题说起5G NR 里 SRS 和 CSI-RS 到底在测什么很多人第一次看到「5G NR中SRS和CSI-RS信号」这个标题以为是一份讲参考信号定义的课件。真到外场调优或者做 O-RAN 前传压缩的时候才会发现这两个信号决定了整个链路能不能跑满。SRSSounding Reference Signal是终端发给基站的上行探测信号基站靠它测上行信道质量、算下行波束赋形权值CSI-RSChannel State Information Reference Signal是基站发给终端的下行参考信号终端靠它测出 CQI、PMI、RI 再上报。一个管上行探测一个管下行测量方向相反但共同支撑 Massive MIMO 的闭环。做基站侧算法、终端协议栈、或者网优外场的人绕不开这两个信号的时频资源配置和功率参数。这篇笔记按「先立住原理、再动手配参数、最后讲踩坑」的顺序展开把 PPT 里那几页图背后的工程细节补全。2. SRS 与 CSI-RS 的时频资源映射先搞清谁占哪个 RE2.1 SRS 的梳状结构与周期/非周期触发SRS 在频域上不是连续占满带宽的而是用「梳状」comb结构把频域资源按 comb 值间隔抽取。NR 里 comb 支持 comb2 和 comb4也就是每 2 个或 4 个子载波放一个 SRS 端口。这样做的直接好处是多个终端可以在同一符号里频分复用基站侧通过不同的 comb 偏移和循环移位区分用户。时域上 SRS 分两类周期 SRSperiodic和半持续/非周期 SRSaperiodic。周期 SRS 通过 RRC 配置周期和偏移适合做长期信道跟踪非周期 SRS 由 DCI 触发适合在业务突发前临时探测。工程上常见做法是低速移动用户配周期 SRS高速或突发业务用非周期触发减少上行开销。一个典型的 SRS 资源配置参数表参数含义常用取值影响comb频域梳状间隔comb2 / comb4comb4 复用更多用户但信道估计精度下降c-SRS小区级 SRS 带宽配置0~63决定 SRS 占用的总带宽b-SRS用户级带宽配置0~3决定单个用户 SRS 带宽b-hop跳频配置0~3开启后 SRS 在频域跳变扩展探测范围periodicity周期2/5/10/20/40/80/160/320 slot越小跟踪越及时开销越大nrofSymbols占用符号数1/2/4多符号用于多端口探测配置时最容易翻车的是 c-SRS 和 b-SRS 的关系。b-SRS 必须小于等于 c-SRS且跳频开启时 b-hop 要小于 b-SRS否则基站侧解析不出正确的频域位置。我一般先在仿真里把 SRS 的频域起始位置和跳频图案画出来确认和协议公式一致再上外场。2.2 CSI-RS 的端口数与 CDM 类型选择CSI-RS 的核心参数是端口数1/2/4/8/12/16/24/32和 CDMCode Division Multiplexing类型。NR 里 CSI-RS 支持 CDM2、CDM4、CDM8分别对应 2、4、8 个端口在同一个 RE 组内码分复用。端口数越多终端能测的下行信道维度越高但 CSI-RS 开销也越大。一个 32 端口的 CSI-RS 资源如果配 CDM8需要占用 4 个 RE 组每组 8 个端口码分。实际配置时要注意CSI-RS 的密度density可以是 1 或 3密度 3 表示每个 RB 里有 3 个 CSI-RS RE用于提升测量精度但开销翻三倍。通常波束管理用密度 1精细信道测量用密度 3。# 计算 CSI-RS 在一个 slot 内的 RE 开销简化模型 def csi_rs_overhead(prb_num, ports, cdm_type, density): # 每个 CDM 组占用的 RE 数 cdm_re {CDM2: 2, CDM4: 4, CDM8: 8} re_per_group cdm_re[cdm_type] # 需要的 CDM 组数 groups ports // re_per_group # 每个 RB 内 CSI-RS RE 总数 re_per_rb groups * re_per_group * density total_re re_per_rb * prb_num return total_re # 示例100 PRB32 端口CDM8密度 1 print(csi_rs_overhead(100, 32, CDM8, 1)) # 输出 3200这段代码算的是 CSI-RS 在一个 slot 内占用的总 RE 数。参数说明prb_num 是下行带宽对应的 PRB 数ports 是 CSI-RS 端口数cdm_type 决定码分复用方式density 是频域密度。实际工程里这个值要和 PDSCH 的 RE 数对比如果 CSI-RS 开销超过 5%就要考虑降低端口数或密度。我见过有人配 32 端口 CDM8 密度 3结果 PDSCH 速率掉了 15%就是没算这笔账。2.3 两者在时隙内的共存与冲突规避SRS 在上行符号CSI-RS 在下行符号理论上不冲突。但 NR 的时隙格式是灵活可配的如果配了「下行-灵活-上行」的时隙结构灵活符号里既可能放 CSI-RS 也可能放 SRS就需要靠 RRC 的符号级配置错开。常见做法是把 CSI-RS 固定在下行符号的前几个符号SRS 固定在时隙最后 1~2 个符号中间灵活符号留给 PDSCH/PUSCH。如果 CSI-RS 和 SRS 在同一个符号里出现比如全灵活时隙基站侧调度器必须保证不把同一个 RE 同时配给两者。实际排查时如果发现终端上报的 CQI 异常低先查 CSI-RS 的 RE 有没有被 SRS 或 PUCCH 占用这种资源碰撞在日志里表现为 CSI 测量参考功率突变。3. 从 RRC 参数到外场验证SRS 和 CSI-RS 的配置落地3.1 SRS 资源配置的 RRC 参数逐项拆解在 NR 里SRS 配置通过 RRC 的SRS-ConfigIE 下发。核心字段包括srs-ResourceId、nrofSRS-Ports、transmissionComb、resourceMapping、freqDomainPosition、freqDomainShift、cyclicShift、periodicityAndOffset。每个字段都影响基站侧的信道估计。以freqDomainPosition和freqDomainShift为例前者决定 SRS 在频域的起始 RB 位置后者决定 comb 的偏移。如果两个用户的freqDomainShift相同且 comb 相同就会在频域完全重叠基站只能靠 cyclicShift 区分。cyclicShift 有 8 个取值理论上最多支持 8 个用户正交。超过 8 个用户就要靠 comb 和频域位置再分。# 通过 O1 接口下发 SRS 配置的示例命令厂商无关的伪代码 # 配置一个周期 SRScomb22 端口周期 20 slot srs_config { srs_ResourceId: 1, nrofSRS_Ports: 2, transmissionComb: {combOffset: 0, cyclicShift: 0}, resourceMapping: { startPosition: 0, nrofSymbols: 1, repetitionFactor: 1 }, freqDomainPosition: 0, freqDomainShift: 0, periodicityAndOffset: {periodicity: 20, offset: 5} } # 下发后检查基站侧是否收到终端的 SRS # 在基站日志里搜索 SRS received 和 SRS SNR这段配置的关键是periodicityAndOffset的 offset 要和小区级配置对齐否则终端发的 SRS 和基站预期的接收窗口错位表现为基站收不到 SRS 或者 SNR 极低。参数说明startPosition是 SRS 在时隙内的起始符号nrofSymbols是占用符号数repetitionFactor决定是否重复。外场调优时我一般先把周期设大比如 40 slot确认链路通了再逐步减小避免一开始就引入上行干扰。3.2 CSI-RS 的波束管理与测量配置CSI-RS 在 NR 里分两类用途一类是用于波束管理的 CSI-RSbeam management一类是用于信道测量的 CSI-RSCSI acquisition。波束管理用的 CSI-RS 通常配成多组窄波束终端测量后上报最佳波束索引信道测量用的 CSI-RS 配成宽波束终端测 CQI/PMI/RI。配置时通过CSI-ResourceConfig和NZP-CSI-RS-ResourceSet下发。关键参数是repetition和trs-Info。repetition设为on时多个 CSI-RS 资源用同一个波束发送用于终端做精细信道估计设为off时不同资源用不同波束用于波束扫描。trs-Info设为true时CSI-RS 作为跟踪参考信号TRS用于时频同步。一个常见的坑是波束管理阶段repetition配成on终端以为所有资源都是同一个波束不上报波束索引导致基站无法完成波束切换。排查时看终端上报的 CSI 报告里有没有CRICSI-RS Resource Indicator如果没有先查repetition配置。3.3 用仿真和日志验证配置是否生效配置下发后怎么确认 SRS 和 CSI-RS 真的按预期工作我一般分三步第一步在基站侧看 SRS 的接收功率和 SNR如果 SNR 低于 0 dB检查终端发射功率和路径损耗第二步看终端上报的 CSI 报告CQI 是否在合理范围比如 16QAM 对应 CQI 7~9如果 CQI 一直是 0 或 15说明 CSI-RS 测量有问题第三步做吞吐量测试对比配置前后的下行速率。# 解析基站日志中 SRS 和 CSI-RS 的关键指标示例 import re def parse_srs_log(log_line): # 匹配 SRS SNR 和接收功率 pattern rSRS.*?SNR(-?\d\.?\d*).*?RSSI(-?\d\.?\d*) match re.search(pattern, log_line) if match: return {snr: float(match.group(1)), rssi: float(match.group(2))} return None def parse_csi_log(log_line): # 匹配 CSI 报告中的 CQI 和 RI pattern rCSI.*?CQI(\d).*?RI(\d) match re.search(pattern, log_line) if match: return {cqi: int(match.group(1)), ri: int(match.group(2))} return None # 示例日志行 srs_line 2024-01-01 10:00:00 SRS received SNR12.5 RSSI-85.3 csi_line 2024-01-01 10:00:01 CSI report CQI9 RI2 print(parse_srs_log(srs_line)) print(parse_csi_log(csi_line))这段脚本用于从日志里提取 SRS 和 CSI 的关键指标。参数说明SNR 正常范围在 5~20 dBRSSI 在 -70~-100 dBmCQI 9 对应 16QAMRI 2 表示两层 MIMO。如果 SRS SNR 持续低于 0 dB先查终端是否真的发了 SRS再看基站接收通道有没有问题。如果 CQI 一直是 15 但吞吐量上不去可能是 RI 配死了终端没上报正确的层数。4. 避坑与排查SRS 和 CSI-RS 配置中最容易翻车的五个点4.1 现象终端不上报 CSICQI 始终为 0原因CSI-RS 资源配置里的resourceType设成了aperiodic但基站没有发触发 DCI终端一直在等触发信号。或者CSI-ReportConfig里的reportQuantity设成了none终端根本不计算 CSI。解决先确认resourceType是periodic还是aperiodic。如果是aperiodic检查 DCI format 0_1 或 0_2 里的 CSI request 字段是否置位。如果是periodic检查CSI-ReportConfig的reportQuantity是否配成了cri-RI-PMI-CQI之类的有效值。我遇到过有人把reportQuantity配成none做测试忘了改回来排查了半天。4.2 现象SRS 接收 SNR 正常但上行吞吐量低原因SRS 只用于信道探测不承载数据。上行吞吐量低可能是 PUSCH 的 MCS 配置保守或者 SRS 的周期太长导致信道估计过时。如果终端移动速度快SRS 周期 40 slot 以上基站拿到的信道信息已经过期调度器只能降 MCS。解决把 SRS 周期从 40 slot 降到 10 或 20 slot观察上行 MCS 是否提升。同时检查b-hop是否开启跳频能扩展探测带宽但会引入额外的信道估计复杂度。如果终端高速移动建议用非周期 SRS在每次上行调度前触发。4.3 现象CSI-RS 端口数配了 32但终端只上报 RI1原因终端能力不支持 32 端口 CSI-RS或者nrofSRS-Ports和 CSI-RS 端口数不匹配。NR 终端的能力等级UE capability里明确写了支持的 CSI-RS 端口数如果基站配了 32 端口但终端只支持 8 端口终端会忽略多余的端口RI 只能上报 1。解决查终端的featureSets里csi-RS-ForTracking和csi-RS-ForBeamManagement支持的最大端口数。如果终端只支持 8 端口基站侧把 CSI-RS 端口数降到 8 或 16。另外检查nrofSRS-Ports是否和 CSI-RS 端口数一致不一致会导致上下行信道互易性假设失效。4.4 现象SRS 和 PUCCH 在同一符号冲突上行误码率升高原因SRS 配在了时隙的最后一个符号而 PUCCH 的格式 1 也占用最后几个符号。如果调度器没做符号级避让两者在同一 RE 上碰撞基站解调 PUCCH 时误码率飙升。解决在 RRC 配置里把 SRS 的startPosition设成时隙倒数第 2 个符号PUCCH 格式 1 占用倒数第 1 个符号。或者用SRS-Config里的resourceMapping把 SRS 限制在特定符号。外场排查时看 PUCCH 的 DTX 率如果突然升高先查 SRS 符号位置。4.5 现象CSI-RS 密度配了 3下行速率反而下降原因密度 3 意味着每个 RB 里有 3 个 CSI-RS RE开销是密度 1 的三倍。如果下行带宽是 100 PRB32 端口 CDM8 密度 3CSI-RS 占用 9600 个 RE而一个 slot 总共才 100×12×1416800 个 RECSI-RS 占了 57%PDSCH 没资源可调。解决波束管理阶段用密度 1信道测量阶段如果终端低速且信道变化慢也可以用密度 1。密度 3 只在需要极高测量精度且带宽较小的场景用。我一般先算 CSI-RS 开销占比超过 10% 就降密度或降端口数。5. 进阶技巧用 SRS 和 CSI-RS 的互易性做下行预编码验证SRS 和 CSI-RS 最值钱的用法不是各自单独工作而是利用上下行信道的互易性channel reciprocity。TDD 系统里基站通过 SRS 测出上行信道假设下行信道和上行信道相同经过校准后直接用上行信道信息算下行预编码权值省掉终端上报 CSI 的开销。这个技巧在 Massive MIMO 里是标配但验证起来有几个关键点。第一天线校准。基站侧的发射通道和接收通道存在幅度和相位差异如果不校准SRS 测出的上行信道不能直接用于下行预编码。校准方法是在基站侧加一个校准网络定期测量收发通道的差异并补偿。外场验证时如果发现下行波束赋形增益比预期低 3 dB 以上先查校准。第二SRS 的探测带宽要覆盖下行调度带宽。如果 SRS 只探测了 20 MHz而下行调度用了 100 MHz基站只能对 20 MHz 内的信道做预编码其余 80 MHz 用默认波束增益会打折。配置时让c-SRS对应的带宽等于下行带宽。第三CSI-RS 用于验证互易性。基站用 SRS 算出一套预编码权值后发 CSI-RS 让终端测 CQI如果 CQI 比不用互易性时高 2~3 dB说明互易性生效。如果 CQI 没变化甚至更低检查校准和 SRS 带宽。# 互易性验证对比 SRS 信道和 CSI-RS 上报的信道相关性 import numpy as np def reciprocity_check(srs_channel, csi_channel): # srs_channel: 基站侧从 SRS 估计的上行信道矩阵 (Nt x Nr) # csi_channel: 终端上报的 CSI 还原的下行信道矩阵 (Nt x Nr) # 计算相关系数 corr np.abs(np.sum(srs_channel * np.conj(csi_channel))) / ( np.linalg.norm(srs_channel) * np.linalg.norm(csi_channel)) return corr # 示例4x4 MIMO 信道 srs_ch np.random.randn(4, 4) 1j * np.random.randn(4, 4) csi_ch srs_ch 0.1 * (np.random.randn(4, 4) 1j * np.random.randn(4, 4)) print(fReciprocity correlation: {reciprocity_check(srs_ch, csi_ch):.3f})这段代码算的是 SRS 估计的上行信道和 CSI-RS 还原的下行信道之间的相关系数。参数说明srs_channel是基站侧估计的矩阵csi_channel是终端上报后还原的矩阵。相关系数大于 0.9 说明互易性良好低于 0.7 说明校准有问题或者信道变化太快。我一般在外场每隔一小时跑一次这个检查相关系数掉到 0.8 以下就重新校准。最后说个血泪教训SRS 和 CSI-RS 的配置不是配完就完事终端移动、天气变化、邻区干扰都会让信道条件变。我习惯在网优平台上设个定时任务每天凌晨低话务时段自动跑一遍 SRS SNR 和 CSI CQI 的统计发现异常趋势提前处理比等用户投诉再排查省事得多。希望帮到你。本文还有配套的精品资源点击获取
返回列表