提取PBCH符号和解码的信道估计
从接收的网格和相关的信道估计中提取物理广播信道(PBCH)符号,为解码波束形成的PBCH做准备。
PBCH编码和波束形成
创建一个与BCH码字对应的二进制值的随机序列。码字的长度是864,在TS 38.212节7.1.5中指定。使用码字,创建PBCH传输的符号和索引。指定物理层单元格标识号。
E = 864;cw = randi([0 1],E,1);Ncellid = 17;V = 0;pbchTxSym = nrPBCH(cw,ncellid,v);pbchInd = nrPBCHIndices(ncellid);
使用nrExtractResources
为波束形成的PBCH的两个发射天线创建指标。使用这些指标将波束形成的PBCH映射到发射机资源阵列。
carrier = nrCarrierConfig(“NSizeGrid”, 20);P = 2;txGrid = nrResourceGrid(carrier,P);F = [1 1i];[~,bfInd] = nrExtractResources(pbchInd,txGrid);txGrid(bfInd) = pbchTxSym*F;
OFDM调制的PBCH符号映射到发射机资源阵列。
tx波形= nrofdm调制(载波,txGrid);
PBCH传输和解码
创建并应用波形的通道矩阵。接收发射的波形。
R = 3;H = dftmtx(max([P R]));H = H(1: p,1: r);H = H/范数(H);rx波形= tx波形*H;
创建信道估计,包括波束形成。
hEstGrid = repmat(permute(H.'*F。',[3 4 1 2]),[240 4]);nEst = 0;
使用正交频分复用(OFDM)解调接收到的波形。
rxGrid = nrOFDMDemodulate(载波,rx波形);
在为PBCH解码做准备时,从接收网格和信道估计网格中提取符号。
[pbchRxSym,pbchHestSym] = nrExtractResources(pbchInd,rxGrid,hEstGrid);图;情节(pbchRxSym”啊,“);标题(“收到PBCH星座”);
通过对提取的资源执行MMSE均衡来均衡符号。画出结果。
pbchEqSym = nrEqualizeMMSE(pbchRxSym,pbchHestSym,nEst);图;情节(pbchEqSym”啊,“);标题(“均衡PBCH星座”);
通过对均衡符号执行PBCH解码来检索软位。
pbchBits = nrPBCHDecode(pbchEqSym,ncellid,v)
pbchBits =864×11010× -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000