简单介绍CSI-RS信号生成,在信道中传输和接收的过程
1.载波配置
首先需要配置载波相关的参数
系统带宽和子载波间隔
5G NR中,系统带宽和子载波间隔是两个关键参数,共同决定无线资源的分配和使用
- 系统带宽
5G NR支持广泛的系统带宽,从5 MHz到400 MHz不等。具体的带宽选择依赖于频段和应用场景。5G NR定义了两大频段范围:
FR1(Frequency Range 1):450 MHz至6 GHz,通常称为Sub-6 GHz频段。
FR2(Frequency Range 2):24.25 GHz至52.6 GHz,通常称为毫米波频段(mmWave)。 - 子载波间隔
5G NR采用灵活的子载波间隔设计,以适应不同的应用需求和频谱条件。主要的子载波间隔包括:
5G NR采用灵活的子载波间隔设计,以适应不同的应用需求和频谱条件。主要的子载波间隔包括:
1.15 kHz:常用于FR1频段,适用于低频段(如600 MHz、700 MHz)的应用。
2.30 kHz:常用于FR1频段,适用于中频段(如3.5 GHz)的应用。
3.60 kHz:常用于FR1和FR2频段,适用于高频段(如28 GHz)的应用。
4.120 kHz:常用于FR2频段,适用于更高频段(如39 GHz)的应用。
5.240 kHz:在某些特定高频应用中可以使用。 - 系统带宽和子载波间隔的关系
系统带宽和子载波间隔的组合决定了资源块(Resource Block, RB)的数量。每个资源块包含12个子载波,因此子载波间隔越大,支持的系统带宽内的资源块数量就越少。 - 总结
1.系统带宽决定了可以使用的频谱范围,从5 MHz到400 MHz不等。
2.子载波间隔(15 kHz、30 kHz、60 kHz、120 kHz、240 kHz)提供了灵活性,以满足不同的频谱条件和应用需求。
3.资源块数量取决于系统带宽和子载波间隔的组合,影响了无线资源的分配效率
子载波间隔和帧结构(TS 38.211-4.3)
帧,子帧,时隙,符号的关系和子载波间隔有关,子载波间隔为 15 ∗ 2 μ 15*2^μ 15∗2μ,则它们之间的关系如下所示。帧和子帧的换算始终是1帧=10子帧(10ms)。即一个子帧为1ms.
N s l o t s u b f r a m e = 2 μ N_{slot}^{subframe}=2^μ Nslotsubframe=2μ
N s l o t f r a m e = 2 μ N_{slot}^{frame}=2^μ Nslotframe=2μ
时隙号:以子帧为单位,从0开始编号到一个子帧的时隙个数-1
下行链路的资源块数量
系统带宽和子载波间隔的组合决定了资源块(Resource Block, RB)的数量。每个资源块包含12个子载波,因此子载波间隔越大,支持的系统带宽内的资源块数量就越少。下表展示了不同系统带宽和子载波间隔组合下的资源块数量
每个资源块的子载波数量
在5G NR(New Radio)系统中,每个资源块(Resource Block,RB)包含固定数量的子载波。无论子载波间隔(Subcarrier Spacing, SCS)如何,每个资源块总是包含12个子载波。这一设计使得资源分配和管理更加简单和统一。
子载波总数
子载波总数=下行链路的资源块数量*每个资源块的子载波数量
一个时隙每不包括循环前缀的样本数量
一般情况下,一个时隙包含14个OFDM符号
载波偏移
载波偏移(Carrier Frequency Offset, CFO)是指接收信号的载波频率与发射信号的载波频率之间的偏差。
2.CSI-RS基本配置
见:CSI-RS
给出csi-rs传输过程中的基本配置(不包括周期和报告等配置)
3.生成CSI-RS信号和索引
-
生成cinit
-
cinit转换成二进制
-
x1,x2初始化,生成c(n),(大小为N,N可设置为:2*CSI-RS符号数量)。共L个c(n), L为CSI-RS所占的OFDM符号个数。
-
QPSK调制c(n)序列得到r(n)(大小为N/2)共l个r(n)
-
生成参考信号,返回参考信号的各种信息
4.信号功率设置
给定sinr以及对应的信号功率E和噪声功率N
给生成的参考信号加功率
a(k,l) = sqrt(E)*a(k,l);
5.初始化资源栅格,将CSI-RS资源映射到资源栅格
6.实施OFDM调制
见:OFDM(正交频分复用)
生成时域波形信号
7.发射波形经过信道传输
常见的信道模型
信道模型 | 描述 | 应用场景 |
---|---|---|
高斯信道 | 假设传输过程中只有加性白高斯噪声(AWGN),不考虑多径效应、衰落和其他干扰。 | 理论分析和系统设计的基础 |
瑞利信道 | 适用于没有直视路径(NLOS)的多径环境,信号路径的振幅服从瑞利分布。 | 城市环境中的信号传输 |
莱斯信道 | 适用于存在直视路径(LOS)和多径反射路径的环境,信号振幅服从莱斯分布。 | 存在强直视路径的环境,如卫星通信 |
Nakagami信道 | 更通用的衰落模型,通过调整形状参数模拟不同的衰落条件。 | 多种无线环境 |
延迟扩展信道 | 考虑信号通过不同路径到达接收端的时间延迟差异,导致频率选择性衰落。 | 室内无线信道,如Wi-Fi |
多普勒效应信道 | 由于发射端或接收端的相对运动导致信号频率发生偏移。 | 移动环境中的信号传输 |
时变瑞利信道 | 瑞利信道随时间的变化,适用于移动环境。 | 移动通信 |
对数正态阴影衰落信道 | 由于障碍物遮挡信号,信号强度呈对数正态分布衰落。 | 大尺度路径损耗描述 |
WINNER模型 | 综合信道模型,适用于多种无线场景(如室内、城市、郊区等)。 | 综合性能评估 |
3GPP信道模型 | 为蜂窝通信系统定义的信道模型,描述多种场景下的多径和阴影衰落特性。 | 蜂窝网络(如LTE和5G NR)性能评估 |
一般用高斯信道进行模拟
rxWaveform = txWaveform + noise;
噪声为高斯白噪声,符合正太分布
8.接收端OFDM解调
接收端进行OFDM解调,得到接收端的资源栅格
9.测量
之后便可以利用接收端的资源栅格和发射端生成的CSI-RS信号进行测量
以上是一个比较简单的CSI-RS信号从发射端生成,信道中传输到接收端接收的过程。
利用这一过程可以计算RSRP,RSSI,RSRQ和SINR。
当然,CSI-RS信号可以用在不同的场景中(波束管理,移动性管理,信道状态信息测量,时频跟踪,速率匹配),此时就需要更多配置信息。
matlab代码
%%--------------CSI-RS传输-------------%%%% 载波配置
carrier = nrCarrierConfig;
carrier.NSlot = 1; %选择第二个时隙
carrier.NSizeGrid = 264; %% CSI-RS配置
csirs = nrCSIRSConfig;
% CSI-RS resource #0 #1 #3
csirs.CSIRSType = {'nzp', 'nzp', 'nzp'}; %非零功率CSI-RS
csirs.CSIRSPeriod = {[10 1], [10 1], [10 1]};%每10个子帧传输一次CSI-RS,1代表没有偏移
csirs.RowNumber = [1 1 1 ]; % Single port (3000) CSI-RS resources
csirs.Density = {'three', 'three', 'three'};%一个PRB有三个RE用于CSI-RS
csirs.SymbolLocations = {4, 6, 10};%定义了在一个时隙中,CSI-RS信号所在的OFDM符号索引。这里分别设置为6和10
csirs.SubcarrierLocations = {0, 1, 2};%设置CSI-RS的子载波位置。0表示CSI-RS从第一个子载波开始放置
csirs.NumRB = [264, 264 ,264]; % Measurement bandwidth in terms of number of resource blocks%% 生成CSI-RS符号和索引
ind = nrCSIRSIndices(carrier,csirs,'OutputResourceFormat','cell'); %计算CSI-RS信号的资源元素(RE)索引
sym = nrCSIRS(carrier,csirs,'OutputResourceFormat','cell');%生成CSI-RS信号的复数符号%% 信号和功率设置
SINRdB0 = 3; % For CSI-RS #0
SINRdB1 = 10; % For CSI-RS #1
SINRdB2 = 15; % For CSI-RS #2
NocdBm = -94.65;
NocdB = NocdBm - 30;
Noc = 10^(NocdB/10);
%功率缩放
% Power scaling of CSI-RS resource #0
SINR0 = 10^(SINRdB0/10); % linear Es/Noc
Es0 = SINR0*Noc;
% Power scaling of CSI-RS resource #1
SINR1 = 10^(SINRdB1/10); % linear Es/Noc
Es1 = SINR1*Noc;
% Power scaling of CSI-RS resource #2
SINR2 = 10^(SINRdB2/10);
Es2 = SINR2*Noc;%% 初始化载波资源栅格,将CSI-RS资源映射到资源栅格中
txGrid = nrResourceGrid(carrier,1);
txGrid(ind{1}) = sqrt(Es0)*sym{1};
txGrid(ind{2}) = sqrt(Es1)*sym{2};
txGrid(ind{3}) = sqrt(Es2)*sym{3};% Plot the carrier grid for two CSI-RS resources
%plotGrid(size(txGrid),ind)%实施OFDM调制
[txWaveform,ofdmInfo] = nrOFDMModulate(carrier,txGrid);%发射波形加高斯信道,OFDM解调
% Generate the noise
rng('default'); % Set RNG state for repeatability
N0 = sqrt(Noc/(2*double(ofdmInfo.Nfft)));
noise = N0*complex(randn(size(txWaveform)),randn(size(txWaveform)));
% Add AWGN to the transmitted waveform
rxWaveform = txWaveform + noise;
rxGrid = nrOFDMDemodulate(carrier,rxWaveform);%% 测量
meas = nrCSIRSMeasurements(carrier,csirs,rxGrid);