matlab 瑞利 mmse,Minimum mean-squared error (MMSE) equalization

Perform MMSE equalization on extracted resource elements of the physical broadcast channel (PBCH).

Create symbols and indices for a PBCH transmission.

ncellid = 146;

v = 0;

E = 864;

cw = randi([0 1],E,1);

pbchTxSym = nrPBCH(cw,ncellid,v);

pbchInd = nrPBCHIndices(ncellid);

Generate an empty resource array for one transmitting antenna. Populate the array with the PBCH symbols by using the generated PBCH indices.

carrier = nrCarrierConfig('NSizeGrid',20);

P = 1;

txGrid = nrResourceGrid(carrier,P);

txGrid(pbchInd) = pbchTxSym;

Perform OFDM modulation.

txWaveform = nrOFDMModulate(carrier,txGrid);

Create channel matrix and apply channel to transmitted waveform.

R = 4;

H = dftmtx(max([P R]));

H = H(1:P,1:R);

H = H / norm(H);

rxWaveform = txWaveform * H;

Create channel estimate.

hEstGrid = repmat(permute(H.',[3 4 1 2]),[240 4]);

nEst = 0.1;

Perform OFDM demodulation.

rxGrid = nrOFDMDemodulate(carrier,rxWaveform);

To prepare for PBCH decoding, use nrExtractResources to extract symbols from received and channel estimate grids. Plot the received PBCH constellation.

[pbchRxSym,pbchHestSym] = nrExtractResources(pbchInd,rxGrid,hEstGrid);

figure;

plot(pbchRxSym,'o:');

title('Received PBCH Constellation');

a55761bcbba88db980c4cf7c2c20c8fb.png

Decode the PBCH with the extracted resource elements. Plot the equalized PBCH constellation.

[pbchEqSym,csi] = nrEqualizeMMSE(pbchRxSym,pbchHestSym,nEst);

pbchBits = nrPBCHDecode(pbchEqSym,ncellid,v);

figure;

plot(pbchEqSym,'o:');

title('Equalized PBCH Constellation');

1be9d6f416d11240ca4ccee672bedafe.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值