22、5G NR建模与接收处理:MATLAB实现

5G NR建模与接收处理:MATLAB实现

1. 5G NR多普勒频率与信道建模

在5G NR建模中,多普勒频率分量由以下公式给出:
[
v_{r,v_{n,m},tx_{n,m},T} = \hat{l_0}
]
其中,(v)是UT速度向量,速度为(v),行进方位角为(\varphi_v),仰角为(\theta_v),其表达式为:
[
v = v\begin{bmatrix}
\sin\theta_v\cos\varphi_v \
\sin\theta_v\sin\varphi_v \
\cos\theta_v
\end{bmatrix}^T
]

1.1 CDL信道建模

在MATLAB中,可以使用5G Toolbox中的 nrCDLChannel 对象来模拟输入信号通过CDL信道的传输。需要指定以下对象属性:
| 属性 | 描述 |
| ---- | ---- |
| DelayProfile | CDL延迟配置文件(’CDL - A’,’CDL - B’,’CDL - C’,’CDL - D’或’CDL - E’) |
| DelaySpread | 所需的均方根延迟扩展(秒) |
| TransmitAntennaArray | 发射天线阵列特性 |
| SampleRate | 输入信号的采样率(Hz) |

可以通过以下形式调用系统对象来获得信道受损信号:

[rxWaveform, pathgains, sampletimes] = channel (txWaveform)

其中, channel 是所有属性都已正确定义的 nrCDLChannel 系统对象, txWaveform 是输入信号。该函数返回信道受损信号 rxWaveform 、底层衰落过程的MIMO信道路径增益 pathgains 以及路径增益的信道快照的采样时间 sampletimes

1.2 TDL信道建模

TDL模型用于非MIMO评估,具有可扩展的延迟扩展。为非视距(NLOS)场景定义了三种TDL模型(TDL - A、TDL - B和TDL - C),为视距(LOS)场景定义了两种TDL模型(TDL - D和TDL - E)。TDL模型是通过空间滤波从CDL模型生成的,具体步骤如下:
1. 选择空间滤波器 :选择在局部坐标系(LCS)中定义的空间滤波器(A_{tx}’)和(A_{rx}’)。例如,LCS中各向同性模式的滤波器由以下公式给出:
[
A_{tx,rx}’(\theta,\varphi) = 1
]
2. 坐标转换 :将空间滤波器转换到全局坐标系(GCS),以获得指向方向((\theta_p,\varphi_p))位于滤波器中心的(A_{tx})和(A_{rx})。
3. 确定TDL簇功率值 :使用以下公式确定TDL簇功率值:
[
P_{n,TDL} = P_{n,CDL}A_{rx}(\theta_{n,ZOA},\varphi_{n,AOA})A_{tx}(\theta_{n,ZOD},\varphi_{n,AOD})
]

在MATLAB中,可以使用5G Toolbox中的 nrTDLChannel 对象来模拟输入信号通过TDL信道的传输。需要指定以下对象属性:
| 属性 | 描述 |
| ---- | ---- |
| DelayProfile | CDL延迟配置文件(’TDL - A’,’TDL - B’,’TDL - C’,’TDL - D’或’TDL - E’) |
| DelaySpread | 所需的均方根延迟扩展(秒) |
| NumTransmitAntennas | 发射天线数量 |
| NumReceiveAntennas | 接收天线数量 |
| SampleRate | 输入信号的采样率(Hz) |

同样,可以通过以下形式调用系统对象来获得信道受损信号:

[rxWaveform, pathgains, sampletimes] = channel (txWaveform)

其中, channel 是所有属性都已正确定义的 nrTDLChannel 系统对象, txWaveform 是输入信号。

以下是TDL信道生成的流程图:

graph LR
    A[选择LCS空间滤波器] --> B[转换到GCS]
    B --> C[确定TDL簇功率值]
    C --> D[创建nrTDLChannel对象]
    D --> E[输入信号通过信道]
    E --> F[输出信道受损信号]
2. 5G物理层PDSCH处理接收模型

UE使用接收到的SSBs与gNodeB进行同步,然后通过CP - OFDM解调恢复资源网格上的符号,并进行信道估计。接收数据块经过一系列处理,包括层解映射、解调、解扰、DLSCH解码等,最终得到解码后的输出。

2.1 同步

在5G NR网络中,UE解码SSBs以获取与gNodeB同步所需的必要定时信息。可以使用MATLAB 5G Toolbox中的 nrPerfectTimingEstimate 函数进行完美定时估计,其语法如下:

[offset, mag] = nrPerfectTimingEstimate (pathGains, pathFilters)

输入参数:
- pathGains :衰落过程的信道路径增益。
- pathFilters :路径滤波器的脉冲响应。

该函数返回样本的定时偏移 offset 和信道脉冲响应的幅度 mag

2.2 CP - OFDM解调

使用快速傅里叶变换对接收信号进行CP - OFDM解调,以恢复从资源网格接收的符号。可以使用MATLAB示例文件夹中生成的 hOFDMDemodulate 函数进行CP - OFDM解调,其语法如下:

rxGrid = hOFDMDemodulate(gnb, rxWaveform)

输入参数:
- gnb :一个结构数组,包含以下字段:
- NRB :下行/上行资源块数量
- CyclicPrefix :循环前缀长度(’Normal’(默认)或’Extended’)
- SubcarrierSpacing :子载波间隔(kHz)(默认值为15)
- NSymbol :子帧内第一个符号的索引(默认值为0)
- UseDCSubcarrier :定义是否在直流子载波上传输数据(’On’(默认)或’Off’)
- WaveformType :波形OFDM类型(’CP - OFDM’(默认),’F - OFDM’,’W - OFDM’)
- Windowing :对OFDM符号进行加窗和重叠的时域样本数量
- rxWaveform :要解调的接收波形。

该函数输出包含CP - OFDM解调复符号的资源元素数组 rxGrid

2.3 信道估计

在5G无线传输中,gNodeB发送信道状态信息参考信号(CSI - RS),允许UE进行信道估计。CSI - RS包含伪随机序列,并映射到资源网格上的特定资源元素。可以使用以下公式估计每个子载波的信道响应:
[
H_{k,f} = \frac{Y_{k,f}}{X_{k,f}}
]
其中,(X_{k,f})是频域中的发射信号,(Y_{k,f})是频域中的接收信号,(f_k)是子载波间隔的整数倍。

为了进行仿真,可以使用MATLAB 5G Toolbox中的 nrPerfectChannelEstimate 函数进行完美信道估计,其语法如下:

estChannelGrid = nrPerfectChannelEstimate(pathGains, pathFilters, nrb, scs, initialSlot, toffset, sampleTimes, cpl)

输入参数:
- pathGains :衰落过程的信道路径增益。
- pathFilters :路径滤波器的脉冲响应。
- nrb :资源块数量。
- scs :子载波间隔。
- initialSlot :初始时隙号。
- toffset :样本中的定时偏移。
- sampleTimes :信道快照的采样时间。
- cpl :循环前缀长度。

该函数返回完美信道脉冲响应估计 estChannelGrid

以下是接收处理的流程图:

graph LR
    A[接收信号] --> B[同步]
    B --> C[CP - OFDM解调]
    C --> D[信道估计]
    D --> E[PDSCH解码]
    E --> F[输出解码数据]
2.4 PDSCH解码

PDSCH解码包括层解映射、解调和解扰等子过程。

  • 层解映射 :将接收到的 NLayers 层组合成 NCW 个PDSCH码字。可以使用MATLAB 5G Toolbox中的 nrLayerDemap 函数进行层解映射,其语法如下:
Symbols = nrLayerDemap(sym)

该函数将包含分层符号的输入 sym 转换为输出数组 Symbols ,该数组根据层数包含一个或两个码字。

例如,将五个层解映射到两个PDSCH码字的数值示例:
输入层:

j0 = [-0.46 - 0.16j, -0.46 + 1.09j, -0.47 + 1.05j];
j1 = [0.45 + 1.08j, -1.07 - 1.05j, -1.10 - 1.11j];
j2 = [0.41 - 0.13j, 1.02 + 1.06j];
j3 = [1.04 + 1.08j, -0.44 + 1.03j];
j4 = [-0.46 - 1.05j, -0.43 - 1.06j];

解映射后:

H1 = [-0.46 - 0.16j, 0.45 + 1.08j, -0.46 + 1.09j, -1.07 - 1.05j, -0.47 + 1.05j, -1.10 - 1.11j];
H2 = [0.41 - 0.13j, 1.04 + 1.08j, -0.46 - 1.05j, 1.02 + 1.06j, -0.44 + 1.03j, -0.43 - 1.06j];
  • 解调 :使用软判决将每个PDSCH码字中的复符号解调为软比特。软判决通过计算对数似然比(LLR)来实现,公式如下:
    [
    LLR = \ln\frac{P(g’ = 1)}{P(g’ = 0)}
    ]
    可以使用MATLAB 5G Toolbox中的 nrSymbolDemodulate 函数进行解调,其语法如下:
Demodulated = nrSymbolDemodulate(symbols, mod, nVar)

输入参数:
- symbols :要解调的码字。
- mod :调制方案。
- nVar :噪声方差。

该函数以数组形式返回解调输出比特 Demodulated

例如,对一个64 - QAM接收符号进行解调的数值示例:
接收符号:

h1_0 = -0.46 - 1.08j;

噪声方差缩放因子:

sigma2 = 0.0661;

经过计算得到解调后的码字。

  • 解扰 :使用与加扰数据相同的黄金序列对解调器输出的软比特序列 Ga' 进行解扰。黄金序列在应用于软比特之前需要进行符号化,即所有1替换为“ - 1”,所有0替换为“1”。解扰通过 Ga' c 数组的逐元素乘法实现。

可以使用MATLAB 5G Toolbox中的 nrPDSCHPRBS 函数生成加扰序列进行解扰。

例如,对一个软比特流进行解扰的数值示例:
软比特流:

G1_prime = [-21, -11, 32, 15, 20, -40, 13, -12, 33, -9];

符号化黄金序列:

c = [1, 1, 1, -1, 1, 1, -1, -1, -1, 1];

解扰后:

G1 = G1_prime .* c;

通过以上步骤,可以在MATLAB中实现5G NR的信道建模和接收处理,从而更好地理解和验证5G系统的性能。

5G NR建模与接收处理:MATLAB实现

3. 各步骤详细操作总结

为了更清晰地展示5G NR建模与接收处理的整个流程,下面对各个步骤进行详细总结。

步骤 操作内容 MATLAB函数 输入参数 输出结果
多普勒频率计算 根据公式 (v_{r,v_{n,m},tx_{n,m},T} = \hat{l_0}) 计算多普勒频率分量 (v)(UT速度向量)等 多普勒频率分量
CDL信道建模 模拟输入信号通过CDL信道的传输 nrCDLChannel DelayProfile DelaySpread TransmitAntennaArray SampleRate txWaveform rxWaveform pathgains sampletimes
TDL信道建模 模拟输入信号通过TDL信道的传输 nrTDLChannel DelayProfile DelaySpread NumTransmitAntennas NumReceiveAntennas SampleRate txWaveform rxWaveform pathgains sampletimes
同步 获取与gNodeB同步所需的定时信息 nrPerfectTimingEstimate pathGains pathFilters offset mag
CP - OFDM解调 恢复从资源网格接收的符号 hOFDMDemodulate gnb (包含 NRB CyclicPrefix 等字段)、 rxWaveform rxGrid
信道估计 估计每个子载波的信道响应 nrPerfectChannelEstimate pathGains pathFilters nrb scs initialSlot toffset sampleTimes cpl estChannelGrid
PDSCH解码 - 层解映射 将接收到的层组合成PDSCH码字 nrLayerDemap sym Symbols
PDSCH解码 - 解调 将复符号解调为软比特 nrSymbolDemodulate symbols mod nVar Demodulated
PDSCH解码 - 解扰 对软比特序列进行解扰 nrPDSCHPRBS 生成序列,元素相乘解扰 Ga' c 解扰后的软比特序列
4. 实际应用中的注意事项

在实际应用5G NR建模与接收处理时,有以下几点需要注意:

  • 参数设置 :不同的场景和需求可能需要不同的参数设置。例如,在CDL和TDL信道建模中, DelayProfile DelaySpread 的选择会影响信道的特性;在CP - OFDM解调中, gnb 结构数组中的各个字段需要根据实际情况进行准确设置。
  • 噪声处理 :在解调过程中,噪声方差 nVar 的设置会影响解调的准确性。需要根据实际的噪声环境进行合理的估计和设置。
  • 资源管理 :在进行大规模的5G系统仿真时,需要注意资源的管理,避免内存溢出等问题。例如,在处理大量的符号和码字时,要合理分配内存和优化算法。
5. 总结

通过本文的介绍,我们详细了解了5G NR建模与接收处理在MATLAB中的实现方法。从多普勒频率的计算,到CDL和TDL信道的建模,再到接收处理中的同步、CP - OFDM解调、信道估计和PDSCH解码等各个步骤,都有相应的MATLAB函数和具体的操作方法。

以下是整个5G NR建模与接收处理的流程图:

graph LR
    A[多普勒频率计算] --> B[信道建模]
    B --> C[CDL信道]
    B --> D[TDL信道]
    E[接收信号] --> F[同步]
    F --> G[CP - OFDM解调]
    G --> H[信道估计]
    H --> I[PDSCH解码]
    I --> J[层解映射]
    I --> K[解调]
    I --> L[解扰]
    C --> M[信号传输]
    D --> M
    M --> E
    J --> K
    K --> L
    L --> N[输出解码数据]

掌握这些方法和技术,能够帮助我们更好地理解和验证5G系统的性能,为5G技术的研究和应用提供有力的支持。在实际应用中,我们需要根据具体的场景和需求,合理选择参数和方法,确保系统的准确性和可靠性。同时,不断优化算法和资源管理,提高仿真和处理的效率。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值