主要内容

链路模拟中使用的信噪比定义

该示例展示了5G Toolbox™链路级模拟如何定义信噪比(SNR)。

信噪比的定义

5G工具箱™链接示例(NR PDSCH吞吐量NR PUSCH吞吐量)对接收信号在时域内引入AWGN,在衰落信道之后,在OFDM解调之前。

SNRExampleNoiseChannel.png

这些例子将信噪比定义为每个接收天线的每个资源单元(RE)的平均信噪比。REs是在资源网格中定义的(即在频域中)。为了达到预期的信噪比,这些例子在时域引入了等效的噪声水平。

信噪比定义为

信噪比 年代 再保险 N 再保险

年代 再保险 N 再保险 分别为每接收天线每RE的平均信号功率和每接收天线每RE的平均噪声功率。 N 再保险 对添加到信号中的AWGN建模。

对一个信号 x 用离散傅里叶变换(DFT) X , Parseval定理表示

n 1 N FFT | x n | 2 1 N FFT k 1 N FFT | X k | 2

N FFT 为FFT长度。方程除以 N FFT 求平均信号功率

年代 1 N FFT n 1 N FFT | x n | 2 1 N FFT 2 k 1 N FFT | X k | 2 1 N FFT X RMS 2

在5G中,由于保护带或零填充,感兴趣的信号不使用所有FFT箱(或REs)。此外,信号分配只能占用可用网格的一部分。如果信号只用 K 年代 的bin(或REs),信号功率为

年代 1 N FFT n 1 N FFT | x n | 2 1 N FFT 2 k 1 K 年代 | X k | 2 K 年代 N FFT 2 X RMS 2

K 年代 为每个OFDM符号的非零功率REs数。

每RE的信号功率为

年代 再保险 年代 K 年代

每RE的噪声功率为

N 再保险 N N FFT

由于噪声是在时域内添加的,所以噪声占据了所有的bin,而不仅仅是分配的res。因此,噪声功率, N ,除以 N FFT 而不是 K 年代

考虑到这些定义,信噪比变成

信噪比 年代 再保险 N 再保险 K 年代 K 年代 N FFT 2 X RMS 2 N N FFT X RMS 2 N FFT N

5G工具箱链接示例是这样假设的 X RMS 2 1 N 处方 ,在那里 N 处方 接收天线数。这一假设意味着所有天线的总接收功率为1。

信噪比 1 N 处方 N FFT N 1 N 处方 N FFT N

OFDM解调器的输入噪声功率为

N 1 N 处方 N FFT 信噪比

用动力产生噪音 N ,将复随机样本按 N 0

N 0 N 2 1 2 N 处方 N FFT 信噪比

这个方程中的因子2说明了噪声样本的复杂性。

大多数5G Toolbox示例都使用这个比例因子来建模链路。这个比例因子假设信号RE值的均方根为 X RMS 2 1 / N 处方 .在使用传播通道时,此假设并不总是适用。

传播通道引入了许多效应,如相关、天线极化和天线单元增益。这些信道效应会影响接收机的信号功率。这些影响使得估计接收机的信噪比和建立一个模拟来模拟特定的信噪比变得困难。为了克服这一困难,链接示例中的信噪比定义不考虑任何通道效应。信噪比定义与无衰落信道时测量的信噪比相匹配 X RMS 2 1 / N 处方

当您使用传播通道(nrTDLChannelnrCDLChannel对象),考虑这些因素。

  • 设置NormalizeChannelOutputs属性的通道对象真正的通过接收天线的数量规范化信道输出,使得 X RMS 2 1 / N 处方 ,如推导中所假设的。

  • 设置NormalizePathGains属性的通道对象真正的将平均路径增益的总功率设置为0 dB。

  • 信噪比定义不考虑任何通道效应。

信噪比验证

本节验证在前一节中导出的方程。由于引入的信噪比定义没有考虑任何信道效应,因此该验证不包括传播信道。

这张图显示了测量每个天线每RE的信噪比的设置。

SNRExampleNoiseVerificationSetup.png

这个设置实现了这些步骤。

  • 用物理下行共享通道(PDSCH)符号生成资源网格。

  • OFDM-modulate网格。

  • 生成情况。

  • ofdm -分别对接收到的信号和噪声进行解调。

  • 测量信号的功率和每RE每天线的噪声。

  • 计算并显示信噪比。

以dB为单位指定所需的信噪比。

SNRdB = 0;rng (“默认”为可重复性设置默认随机数生成器

设置发送和接收天线个数。由于不存在信道,假设发射天线和接收天线数量相同。

nTxAnts = 2;nRxAnts = nTxAnts;

配置运营商参数。

载体= nrCarrierConfig;母舰。N年代izeGrid = 52;%资源块中的网格大小母舰。年代ubcarrierSpacing = 15;%副载波间距waveformInfo = nrOFDMInfo(载体);%波形信息pdsch = nrPDSCHConfig;pdsch。调制=“16 qam”;pdsch。PRBSet = 0: (carrier.NSizeGrid-1);% PDSCH分配

创建一个按层数归一化的范数- 1预编码向量。

w =(1 /√(pdsch.NumLayers)) * 1 (pdsch.NumLayers nTxAnts);

为了达到预期的信噪比,计算噪声比例因子: N 0 1 2 N 处方 N FFT 信噪比

信噪比= 10 ^ (SNRdB / 10);N0 = 1 /√(2.0 * nRxAnts *双(waveformInfo.Nfft) *信噪比);

生成预编码的PDSCH符号。

[pdschIndices, pdschInfo] = nrPDSCHIndices(载体,pdsch);pdschBits = randi([0 1],pdschInfo.G,1);pdschSymbols = nrPDSCH(载体,pdsch pdschBits);pdschSymbolsPrecoded = pdschSymbols * w;

创建一个资源网格,并将预编码的PDSCH符号映射到资源网格。

pdschGrid = nrResourceGrid(载体、nTxAnts);[~, pdschAntIndices] = nrExtractResources (pdschIndices pdschGrid);pdschGrid (pdschAntIndices) = pdschSymbolsPrecoded;

OFDM-modulate。

txWaveform = nrOFDMModulate(载体、pdschGrid);

假设不存在通道。因为信噪比定义假设 X RMS 2 1 / N 处方 ,通过接收天线的数量归一化接收信号。

rxWaveform = txWaveform /√(nRxAnts);

生成情况。

rxNoise = N0 *复杂(randn(大小(rxWaveform)), randn(大小(rxWaveform)));

ofdm对接收到的信号进行解调(无噪声),从接收到的网格中提取PDSCH符号进行计算 年代 再保险

% OFDM解调rxSignalGrid = nrOFDMDemodulate(载体、rxWaveform);% PDSCH符号提取rxPDSCHSymbols = rxSignalGrid (pdschAntIndices);

测量每RE接收的信号功率, 年代 再保险 ,每RE的噪声功率, N 再保险

年代 再保险 年代 K 年代 K 年代 K 年代 N FFT 2 X RMS 2 1 N FFT 2 X RMS 2

N 再保险 N N FFT

验证测量的信噪比值是否接近指定的信噪比参数。

行为= (1 / waveformInfo.Nfft。^ 2)* rms (rxPDSCHSymbols)。^ 2;负阻元件= (1 / waveformInfo.Nfft) * rms (rxNoise)。^ 2;n = 1: nRxAnts disp (“每天线接收的信号功率”字符串(n) + +“=”+字符串(pow2db(都是(n)) + 30) +“dBm”);disp (每个正则天线的接收噪声功率字符串(n) + +“=”+字符串(pow2db胚根端胚乳(n) () + 30) +“dBm”);disp (“信噪比(天线”字符串(n) + +”)= "+字符串(pow2db胚根端胚乳(n)(都是(n) /)) +“数据库”);结束
每RE天线1接收的信号功率= -33.186 dBm
每个RE天线的接收噪声功率1 = -33.2432 dBm
信噪比(天线1)= 0.057195 dB
每RE天线2接收的信号功率= -33.186 dBm
每RE天线2接收的噪声功率= -33.2371 dBm
信噪比(天线2)= 0.051146 dB

相关的话题

Baidu
map