1.语法
out = nrSymbolDemodulate(in,mod)
out = nrSymbolDemodulate(in,mod,nVar)
out = nrSymbolDemodulate(in,mod,‘DecisionType’,decision)
(1)out = nrSymbolDemodulate(in,mod)使用调制方案mod将码字in中的复杂符号解调为软比特。该函数实现了TS 38.211 5.1节[1]的反函数。
(2)out = nrSymbolDemodulate(in,mod,nVar)指定软位的噪声方差缩放因子。
(3)out = nrSymbolDemodulate(in,mod,‘DecisionType’,decision)使用名称/值对参数指定解调决策模式。
例:(1)具有软判决模式的QPSK解调
生成长度为40的二进制值的随机序列
data = randi([0 1],40,1);
使用QPSK调制生成调制符号
modsymb = nrSymbolModulate(data,‘QPSK’);
以0.1的噪声方差在软判决模式下执行QPSK解调
nVar = 0.1;
recsymb = awgn(modsymb,1/nVar,1,‘linear’);
out = nrSymbolDemodulate(recsymb,‘QPSK’,0.1);
(2)具有硬决策模式的16-QAM解调
生成长度为100的二进制值的随机序列
data = randi([0 1],100,1,‘int8’);
使用16-QAM调制生成调制符号
modsymb = nrSymbolModulate(data,‘16QAM’);
将噪声添加到对应于15 dB SNR的已调制符号
recsymb = awgn(modsymb,15);
在硬决策模式下执行16-QAM解调
demodbits = nrSymbolDemodulate(recsymb,‘16QAM’,‘DecisionType’,‘Hard’);
检查是否误码
numErr = biterr(data,demodbits)
numErr = 1
2.输入参数
(1)in —要解调的代码字
要解调的码字,指定为复杂的列向量
数据类型:单/双精度
是否复数支持:是
(2)mod —调制方案
调制方案,指定为“ pi / 2-BPSK”,“ BPSK”,“ QPSK”,“ 16QAM”,“ 64QAM”或“ 256QAM”。该调制方案确定要在输入码字上执行的调制类型以及每个调制符号使用的位数。
数据类型:字符/字符串
(3)nVar —噪声方差
噪声方差,指定为非负数字标量。使用加性高斯白噪声(AWGN)的方差来缩放软比特。假设单位信号功率,默认值对应于100 dB的SNR。该参数仅适用于软决策模式。
注意:默认值假定调制器和解调器背对背连接,且噪声方差为零。为了避免输出中出现+/- Inf值,该函数使用1e-10作为噪声方差的默认值。为了在通过有噪声信道传输信号时获得适当的结果,请相应地调整噪声方差。
数据类型:双精度
(4)decision—决策模式
决策模式,指定为“soft”或“hard”。判定模式控制对接收到的符号执行的解调类型。
- “soft” —软判决模式产生一个数字输出,其中包含已解调比特的对数似然比的逐位近似。输出输出从输入输入继承其数据类型。
- “hard” —硬决策模式导致二进制输出,该二进制输出包含与输入输入最近的星座点相对应的位组。输出输出类型转换为int8。
数据类型:字符 /字符串
3.输出参数
(1)out —解调后的输出位
解调后的输出位,以数字列向量或二进制列向量的形式返回。假设在TS 38.211第5.1节[1]中定义的输入星座图功率归一化,执行解调。
调制方案’ | 星座功率归一化因子 |
---|---|
‘pi/2-BPSK’ | 1/sqrt(2) |
‘BPSK’ | 1/sqrt(2) |
‘QPSK’ | 1/sqrt(2) |
‘16QAM’ | 1/sqrt(10) |
‘64QAM’ | 1/sqrt(42) |
‘256QAM’ | 1/sqrt(170) |
在调制方案mod中,每个解调的符号被映射到与每个符号的位数相对应的一组比特。第一位表示最高有效位,最后一位表示最低有效位。 out的长度是输入的长度乘以每个符号的位数。决策模式控制解调输出位的内容和数据类型。
4.参考文献
[1] 3GPP TS 38.211. “NR; Physical channels and modulation.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.