21、5G NR物理层处理与MATLAB建模详解

5G NR物理层处理与MATLAB建模详解

1. MATLAB脚本中的预编码矩阵计算

在MATLAB脚本中,采用了理想的信道估计方法。预编码矩阵通过奇异值分解(SVD)来确定,这种方法能够实现多输入多输出(MIMO)信道容量。预编码矩阵可通过如下的 getPrecodingMatrix 局部函数获取:

function wtx = getPrecodingMatrix(PRBSet,NLayers,hestGrid)
% Calculate precoding matrix given an allocation and a channel 
% estimate
    % Allocated subcarrier indices
    allocSc = (1:12)' + 12*PRBSet(:).';
    allocSc = allocSc(:);
    % Average channel estimate
    [~,~,R,P] = size(hestGrid);
    estAllocGrid = hestGrid(allocSc,:,:,:);
    Hest = permute(mean(reshape(estAllocGrid,[],R,P)),[2 3 1]);
    % SVD decomposition
    [~,~,V] = svd(Hest);
    wtx = V(:,1:NLayers).';
end

该函数的主要步骤包括:
1. 计算分配的子载波索引。
2. 对分配的子载波上的信道估计值求平均。
3. 进行奇异值分解。
4. 提取前 NLayers 列作为预编码矩阵。

2. CP - OFDM处理

2.1 虚拟资源网格生成

为每个天线端口生成虚拟资源网格,其大小由子载波数量和每个符号的时隙数量决定。物理下行共享信道(PDSCH)数据从网格中最低频率的资源元素(RE)开始映射,直至最高频率的RE。完成一个符号的映射后,接着从下一个正交频分复用(OFDM)符号的最低频率开始映射。部分RE不分配PDSCH数据,而是预留用于以下信息:
- 解调参考信号(DM - RS)
- 相位跟踪参考信号(PT - RS)
- 控制资源集(CORESET)
- 同步信号(SS)/物理广播信道(PBCH)

2.2 解调参考信号(DM - RS)

DM - RS是一种用户设备(UE)特定的参考信号,按需发送到接收器用于无线信道估计,以提高所有天线端口上数据传输的解调精度。DM - RS由序列$r(n)$组成,其定义如下:
[
r(n)=\frac{-c(n)}{2}+j\frac{-c(n + 1)}{2}
]
其中,$c(n)$是一个伪随机Gold序列,通过以下公式初始化:
[
c_{init}=N_{sym}^{slot}+(2n_{s,f,m}+l)+(2^{17}+2^{16}n_{SCID})N_{ID}^{n_{SCID}}\mod{2^{31}}
]
相关参数解释如下:
- $N_{sym}^{slot}$:每个时隙中的OFDM符号数量。
- $n_{s,f,m}$:帧内的时隙编号。
- $l$:时隙内的OFDM符号编号。
- $n_{SCID}$:加扰初始化参数,取值为${0, 1}$。
- $N_{ID}^{n_{SCID}}$:加扰标识。

PDSCH映射类型(A或B)会影响DM - RS符号在资源网格上的位置。当使用PDSCH映射类型A时,DM - RS符号位于时隙的第2或3个OFDM符号;若使用类型B,则位于PDSCH分配的第一个符号。5G还支持单符号和双符号DM - RS配置,双符号DM - RS可提高接收器的信道估计精度。此外,在同一物理资源块(PRB)中最多可包含四个OFDM符号的DM - RS,以进一步提高信道估计精度,尤其适用于信道条件变化快速的高速场景。DM - RS在PRB上的映射有两种配置类型:
- 配置类型1:在频域中每隔一个资源元素分配DM - RS。
- 配置类型2:在频域中每六个资源元素为一组,映射两个连续的DM - RS。

2.3 同步信号(SS)

5G NR使用同步信号(SS)使接收器与无线传输同步,包括主同步信号(PSS)和辅同步信号(SSS)。一个SS块(SSB)由PSS、SSS和物理广播信道(PBCH)组成。PSS和SSS在时域中各占用一个OFDM符号,频域中占用127个子载波;PBCH跨越三个OFDM符号和240个子载波,但在第二个OFDM符号中有一个间隙用于放置SSS。

SSB在半帧(五个子帧)中传输,其在时域中的具体位置由子载波间隔(SCS)决定,具体关系如下表所示:
| 块模式 | F ≤ 3 GHz | 3 GHz < f ≤ 6 GHz | F > 6 GHz | OFDM符号索引 |
| ---- | ---- | ---- | ---- | ---- |
| 情况A(SCS = 15 kHz) | N = 0, 1 | N = 0, 1, 2, 3 | NA | {2, 8} + 14n |
| 情况B(SCS = 30 kHz) | N = 0 | N = 0, 1 | NA | {4, 8, 16, 20} + 28n |
| 情况C(SCS = 30 kHz) | N = 0, 1 | N = 0, 1, 2, 3 | NA | {2, 8} + 14n |
| 情况D(SCS = 120 kHz) | NA | NA | N = 0, 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 18 | {4, 8, 16, 20} + 28n |
| 情况E(SCS = 240 kHz) | NA | NA | N = 0, 1, 2, 3, 5, 6, 7, 8 | {8, 12, 16, 20, 32, 36, 40, 44} + 56n |

SSB以一定的周期进行传输,周期可以设置为5、10、20、40、80或160 ms。网络可以选择不传输半帧内的所有SSB,此时传输模式以位图的形式通知UE,位图的每一位表示相应位置的SSB是否传输。

可以使用 hSSBurst 函数创建包含SS突发的OFDM资源网格,其语法如下:

[waveform, grid, info] = hSSBurst (burst)

输入参数 burst 是一个结构体数组,包含以下字段:
- BlockPattern :SS块模式(’Case A’、’Case B’、’Case C’、’Case D’或’Case E’)
- NCellID :物理层小区标识(0…1007)
- SampleRate :突发波形的期望采样率(Hz)
- NFrame :系统帧号(0…1023)
- NHalfFrame :半帧编号(0或1)
- SSBTransmitted :表示突发中传输的块的位图
- SSBPeriodicity :突发集的周期(ms,取值为5、10、20、40、80、160)

该函数返回SS突发波形数组 waveform 、子载波网格数组 grid 以及突发信号的详细信息结构体 info

2.4 波形参数

5G支持灵活的参数集($\mu$),使得波形配置(如每帧的时隙数量和子载波间隔)可以适应不同的用户需求和服务。5G NR的帧时长为10 ms,每帧包含十个1 ms的子帧,每个子帧由包含14个OFDM符号的时隙组成。对于所有参数集,一个PRB在频域中包含12个子载波,在时域中包含一个时隙。

5G NR定义的五个参数集及其对应的波形配置如下表所示:
| $\mu$ | 子载波间隔(kHz) | 每帧的时隙数量 | 每个子帧的时隙数量 |
| ---- | ---- | ---- | ---- |
| 0 | 15 | 10 | 1 |
| 1 | 30 | 20 | 2 |
| 2 | 60 | 40 | 4 |
| 3 | 120 | 80 | 8 |
| 4 | 240 | 160 | 16 |

其中,只有$\mu = 2$支持正常和扩展循环前缀。若选择扩展循环前缀,每个时隙中的OFDM符号数量将减少到12个。

根据子载波间隔和传输带宽,可以使用以下表格确定能容纳在带宽内的资源块(RB)数量:
| NRB | 最大带宽 | 5MHz | 10 MHz | 15 MHz | 20 MHz | 25 MHz | 30 MHz | 40 MHz | 50 MHz | 60 MHz | 80 MHz | 90 MHz | 100 MHz |
| ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- |
| SCS = 15 kHz | | 25 | 52 | 79 | 106 | 133 | 160 | 216 | 270 | N/A | N/A | N/A | N/A |
| SCS = 30 kHz | | 11 | 24 | 38 | 51 | 65 | 78 | 106 | 133 | 162 | 217 | 245 | 273 |
| SCS = 60 kHz | | N/A | 11 | 18 | 24 | 31 | 38 | 51 | 65 | 79 | 107 | 121 | 135 |

传输带宽的两端包含保护带,最小保护带的计算公式如下:
[
Guard\ band=\frac{BW - N_{RB}\times12\times SCS}{2}-SCS
]
其中,$BW$为总传输带宽(kHz),$N_{RB}$为PRB数量,$SCS$为子载波间隔(kHz)。

2.5 虚拟资源网格到物理资源网格的映射

虚拟资源网格映射到物理资源网格有两种可用的映射方案:交织和非交织映射。
- 非交织映射:物理资源网格是虚拟资源网格的简单复制。但如果PDSCH传输由下行控制信息(DCI)格式1_0调度,则第$n$个虚拟资源块(VRB)映射到第$n + N_{start}^{CORESET}$个PRB,其中$N_{start}^{CORESET}$是接收到DCI的CORESET中的第一个PRB。
- 交织映射:将连续的资源块分组为固定大小的束,束的数量记为$N_{bundle}$。映射规则如下:
- 最后一个VRB束($N_{bundle}-1$)映射到最后一个PRB束($N_{bundle}-1$)。
- 其余VRB束$j$映射到PRB束$f(j)$,其中:
[
f(j)=rC + c
]
[
j = cR + r
]
[
r = 0,1,\cdots,R - 1
]
[
c = 0,1,\cdots,C - 1
]
[
R = 2
]
[
C=\frac{N_{bundle}}{R}
]

例如,当$N_{bundle}=100$时,$R = 2$,$C = 50$。当$c = 2$且$r = 1$时,$j = 2\times2 + 1 = 5$,$f(5)=1\times2 + 2 = 4$,即第五个VRB束映射到第四个PRB束。

每个OFDM符号的连续时间信号通过逆快速傅里叶变换(IFFT)生成,天线端口$p$在子帧中第$m$个OFDM符号在时间$t$的信号公式如下:
[
s_{p,m}(t)=\sum_{k = 0}^{N_{grid,x,size}^{sc,RB}-1}a_{r,m,k,m}\cdot e^{-j2\pi(k + k_0)\Delta f(t - t_{start,m}-N_{CP,m}T_c)}
]
相关参数解释如下:
- $m\in{0,1,\cdots,M - 1}$,$M = N_{slot}^{subframe}\times N_{symbol}^{slot}$
- $k_0 = N_{grid,x,start}^{sc,RB}+(N_{grid,x,size}^{sc,RB}/2)-1$
- $\Delta f$为子载波间隔
- $k = 64$
- $T_c$为NR中的基本时间单位,值为$5.086\times10^{-10}$
- $a_{r,m,k,m}$:表示天线端口$r$和参数集$m$在频域索引$k$和时域符号位置$m$的资源元素的复数值。
- $t_{start,m}$:参数集$m$的OFDM符号在子帧中的起始位置。
- $N_{grid,x,start}^{sc,RB}$:资源网格中的第一个资源块。
- $N_{grid,x,size}^{sc,RB}$:资源网格的大小。
- $N_{sc}^{RB}$:每个资源块的子载波数量。
- $N_{slot}^{subframe}$:每个子帧的时隙数量。
- $N_{symbol}^{slot}$:每个时隙中的OFDM符号数量。
- $m_0$:由高层参数 scs - SpecificCarrierList 指定的$m$的最大值。

可以使用 hOFDMModulate 函数进行OFDM调制,其语法如下:

txWaveform = hOFDMModulate (gnb,grid)

输入参数解释如下:
- gnb :一个结构体数组,包含以下字段:
- NRB :下行/上行资源块数量
- CyclicPrefix :循环前缀长度
- SubcarrierSpacing :子载波间隔(kHz)
- NSymbol :子帧内的第一个符号编号
- UseDCSubcarrier :是否在直流子载波上传输数据(’On’(默认),’Off’)
- Windowing :应用于OFDM符号的加窗和重叠的时域样本数量
- grid :三维数组形式的资源网格

该函数返回OFDM调制后的波形 txWaveform

3. 信道模型

3.1 簇延迟线(CDL)信道模型

针对非视距(NLOS)场景定义了三种CDL模型(CDL - A、CDL - B和CDL - C),针对视距(LOS)场景定义了两种CDL模型(CDL - D和CDL - E)。所有CDL模型都具有可扩展的延迟和角度扩展。

CDL信道系数的生成步骤如下:
1. 使用以下公式生成离开和到达角度:
[
\Phi_{n,m}^{AOA}=\Phi_{n}^{AOA}+c_{ASA}\cdot a_m
]
其中,$m$是射线索引,$n$是簇索引,$\Phi_{n}^{AOA}$是簇的到达方位角(AOA),$c_{ASA}$是簇的均方根(RMS)到达方位角扩展,$a_m$是簇内的射线偏移角。
2. 在簇$n$内随机耦合离开方位角$\Phi_{n,m}^{AOD}$与到达方位角$\Phi_{n}^{AOA}$、离开天顶角扩展$\theta_{n,m}^{ZOD}$与到达天顶角扩展$\theta_{n,m}^{ZOA}$以及离开方位角$\Phi_{n,m}^{AOD}$与离开天顶角扩展$\theta_{n,m}^{ZOD}$。
3. 使用以下公式计算交叉极化功率比:
[
k_{n,m}^{X}=\frac{10^{X/10}}{10}
]
其中,$X$是每簇的交叉极化功率比(dB)。
4. 为四种极化组合($\theta\theta$、$\theta\phi$、$\phi\theta$、$\phi\phi$)随机抽取初始相位${\Phi_{n,m}^{\theta\theta},\Phi_{n,m}^{\theta\phi},\Phi_{n,m}^{\phi\theta},\Phi_{n,m}^{\phi\phi}}$,初始相位在$(-\pi,\pi)$内均匀分布。
5. 使用以下公式为每个簇以及每个接收器和发射器元素对$(u, s)$生成信道系数:
[
H_{u,s,n}(t)=\frac{1}{M}\sum_{m = 0}^{M - 1}P_n\cdot\left[\begin{array}{cc}F_{rx,u,\theta}\cdot e^{j\Phi_{n,m}^{\theta\theta}}&F_{rx,u,\phi}\cdot e^{j\Phi_{n,m}^{\theta\phi}}\F_{rx,u,\theta}\cdot e^{j\Phi_{n,m}^{\phi\theta}}&F_{rx,u,\phi}\cdot e^{j\Phi_{n,m}^{\phi\phi}}\end{array}\right]\cdot\left[\begin{array}{cc}1&k_{n,m}^{X}\k_{n,m}^{X}&1\end{array}\right]\cdot\left[\begin{array}{cc}F_{tx,s,\theta}\cdot e^{j\Phi_{n,m}^{\theta\theta}}&F_{tx,s,\phi}\cdot e^{j\Phi_{n,m}^{\theta\phi}}\F_{tx,s,\theta}\cdot e^{j\Phi_{n,m}^{\phi\theta}}&F_{tx,s,\phi}\cdot e^{j\Phi_{n,m}^{\phi\phi}}\end{array}\right]\cdot e^{j2\pi\frac{\hat{r} {rx,n,m}^T\cdot d {rx,u}}{\lambda_0}}\cdot e^{j2\pi\frac{\hat{r} {tx,n,m}^T\cdot d {tx,s}}{\lambda_0}}\cdot e^{j2\pi\frac{\hat{r} {rx,n,m}^T\cdot v\cdot t}{\lambda_0}}
]
其中,$P_n$是簇功率,$M$是每簇的射线数量,$F
{rx,u,\theta}$和$F_{rx,u,\phi}$分别是接收天线元素$u$在球基向量$\hat{\theta}$和$\hat{\phi}$方向上的场模式,$F_{tx,s,\theta}$和$F_{tx,s,\phi}$分别是发射天线元素$s$在球基向量$\hat{\theta}$和$\hat{\phi}$方向上的场模式,$\hat{r} {rx,n,m}^T$和$\hat{r} {tx,n,m}^T$分别是具有到达方位角$\Phi_{n,m}^{AOA}$和离开方位角$\Phi_{n,m}^{AOD}$以及到达天顶角$\theta_{n,m}^{ZOA}$和离开天顶角$\theta_{n,m}^{ZOD}$的球单位向量,$d_{rx,u}$是接收天线元素$u$的位置向量,$d_{tx,s}$是发射天线元素$s$的位置向量,$\lambda_0$是载波频率的波长。

3.2 模型参数与计算示例

为了更好地理解CDL信道模型的应用,下面通过一个简单示例展示如何根据给定参数计算信道系数。

假设我们有以下参数:
- 簇数量:$N_{clusters} = 3$
- 每簇射线数量:$M = 4$
- 簇功率:$P = [0.8, 0.1, 0.1]$
- 簇到达方位角:$\Phi_{n}^{AOA} = [0, \pi/4, \pi/2]$
- 簇均方根到达方位角扩展:$c_{ASA} = 0.1$
- 射线偏移角:$a_m = [0, 0.05, 0.1, 0.15]$
- 交叉极化功率比(dB):$X = 3$
- 接收天线元素数量:$N_{rx} = 2$
- 发射天线元素数量:$N_{tx} = 2$
- 载波频率波长:$\lambda_0 = 0.1$
- 接收天线元素位置向量:$d_{rx} = [[0, 0], [0.05, 0]]$
- 发射天线元素位置向量:$d_{tx} = [[0, 0], [0.05, 0]]$

以下是使用Python实现的计算信道系数的代码:

import numpy as np

# 参数设置
N_clusters = 3
M = 4
P = np.array([0.8, 0.1, 0.1])
Phi_n_AOA = np.array([0, np.pi/4, np.pi/2])
c_ASA = 0.1
a_m = np.array([0, 0.05, 0.1, 0.15])
X = 3
N_rx = 2
N_tx = 2
lambda_0 = 0.1
d_rx = np.array([[0, 0], [0.05, 0]])
d_tx = np.array([[0, 0], [0.05, 0]])

# 初始化信道系数矩阵
H = np.zeros((N_rx, N_tx, N_clusters), dtype=complex)

# 计算信道系数
for n in range(N_clusters):
    for m in range(M):
        # 生成到达方位角
        Phi_nm_AOA = Phi_n_AOA[n] + c_ASA * a_m[m]

        # 随机生成初始相位
        Phi_nm_theta_theta = np.random.uniform(-np.pi, np.pi)
        Phi_nm_theta_phi = np.random.uniform(-np.pi, np.pi)
        Phi_nm_phi_theta = np.random.uniform(-np.pi, np.pi)
        Phi_nm_phi_phi = np.random.uniform(-np.pi, np.pi)

        # 计算交叉极化功率比
        k_nm_X = 10**(X/10) / 10

        # 假设场模式为1
        F_rx_theta = 1
        F_rx_phi = 1
        F_tx_theta = 1
        F_tx_phi = 1

        # 生成球单位向量
        r_rx_nm_T = np.array([np.sin(Phi_nm_AOA) * np.cos(0), np.sin(Phi_nm_AOA) * np.sin(0), np.cos(Phi_nm_AOA)])
        r_tx_nm_T = r_rx_nm_T  # 简化假设

        for u in range(N_rx):
            for s in range(N_tx):
                # 计算信道系数
                H[u, s, n] += (1/M) * P[n] * (
                    F_rx_theta * np.exp(1j * Phi_nm_theta_theta) * F_tx_theta * np.exp(1j * Phi_nm_theta_theta) +
                    F_rx_theta * np.exp(1j * Phi_nm_theta_phi) * k_nm_X * F_tx_phi * np.exp(1j * Phi_nm_theta_phi) +
                    F_rx_phi * np.exp(1j * Phi_nm_phi_theta) * k_nm_X * F_tx_theta * np.exp(1j * Phi_nm_phi_theta) +
                    F_rx_phi * np.exp(1j * Phi_nm_phi_phi) * F_tx_phi * np.exp(1j * Phi_nm_phi_phi)
                ) * np.exp(1j * 2 * np.pi * np.dot(r_rx_nm_T, d_rx[u]) / lambda_0) * np.exp(1j * 2 * np.pi * np.dot(r_tx_nm_T, d_tx[s]) / lambda_0)

# 输出信道系数
print("信道系数矩阵:")
print(H)

3.3 CDL模型的优缺点分析

优点
  • 灵活性 :CDL模型具有可扩展的延迟和角度扩展,能够适应不同的无线传播环境,如城市、郊区等。
  • 物理意义明确 :模型基于实际的无线传播现象,如簇和射线的概念,使得模型具有较好的物理可解释性。
  • 计算效率高 :相比于一些复杂的信道模型,CDL模型的计算复杂度相对较低,适合实时仿真和系统级分析。
缺点
  • 简化假设 :模型中存在一些简化假设,如射线的独立性和均匀分布,可能与实际的无线传播环境存在一定偏差。
  • 缺乏动态性 :CDL模型主要用于静态或准静态信道建模,对于快速变化的信道环境,如高速移动场景,模型的准确性可能会受到影响。

3.4 与其他信道模型的比较

为了更全面地了解CDL模型,下面将其与其他常见的信道模型进行比较。

模型名称 适用场景 复杂度 动态性 物理意义
CDL模型 非视距和视距场景 适中 较差 明确
3GPP 3D信道模型 5G系统级仿真 明确
Ray - tracing模型 精确的室内外建模 极高 非常明确

从表格中可以看出,CDL模型在复杂度和物理意义之间取得了较好的平衡,适用于大多数5G系统的初步设计和分析。

4. 总结与展望

4.1 总结

本文详细介绍了5G NR物理层处理的关键技术,包括预编码矩阵计算、CP - OFDM处理、同步信号传输、波形参数配置以及虚拟资源网格到物理资源网格的映射。同时,深入探讨了CDL信道模型的原理、参数设置和应用。通过理论分析和代码示例,我们展示了如何在MATLAB和Python中实现这些技术。

4.2 展望

随着5G技术的不断发展,物理层处理技术也将面临新的挑战和机遇。未来的研究方向可能包括:
- 更高阶调制和编码方案 :为了满足更高的数据速率需求,需要研究和应用更高阶的调制和编码方案。
- 大规模MIMO技术 :进一步优化大规模MIMO系统的预编码和信道估计技术,提高系统容量和性能。
- 新型信道模型 :开发更准确、更灵活的信道模型,以适应复杂多变的无线传播环境。
- 人工智能在物理层的应用 :利用人工智能技术优化物理层处理算法,提高系统的自适应能力和性能。

通过不断的研究和创新,我们相信5G NR物理层处理技术将为未来的无线通信系统带来更高效、更可靠的通信体验。

4.3 实际应用建议

对于从事5G系统设计和开发的工程师和研究人员,以下是一些实际应用建议:
- 模型验证 :在实际应用中,需要对CDL信道模型进行验证和校准,确保其准确性和可靠性。
- 参数优化 :根据具体的应用场景和需求,优化CDL模型的参数,如簇数量、射线数量等。
- 结合其他技术 :将CDL模型与其他技术,如大规模MIMO、波束赋形等结合使用,提高系统性能。
- 持续学习 :关注5G技术的最新发展动态,不断学习和掌握新的物理层处理技术。

通过以上建议,我们可以更好地应用CDL信道模型和其他物理层处理技术,推动5G技术的发展和应用。

4.4 流程图总结

下面是一个mermaid流程图,总结了5G NR物理层处理的主要流程:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;

    A(预编码矩阵计算):::process --> B(CP - OFDM处理):::process
    B --> C(同步信号传输):::process
    C --> D(波形参数配置):::process
    D --> E(虚拟资源网格映射):::process
    E --> F(CDL信道建模):::process

这个流程图展示了5G NR物理层处理的主要步骤,从预编码矩阵计算开始,经过CP - OFDM处理、同步信号传输、波形参数配置和虚拟资源网格映射,最后进行CDL信道建模。每个步骤都是相互关联的,共同构成了5G NR物理层处理的完整流程。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值