Hi Pavan,
I can provide you with a generalized approach that assumes the feedback channel estimation can be directly used by the transmitter in the next slot without any transformation. To achieve the feedback of the channel estimation grid from the receiver to the transmitter with minimal latency, you can modify the simulation loop to store the channel estimation of the current slot and use it in the next slot at the transmitter.
- Before entering the main simulation loop, initialize a variable to store the channel estimation for feedback. Place this near the initialization of other simulation parameters.
- After the channel estimation is performed in the receiver, update the “feedbackChannelEst” variable with the current estimation. This should be done within the main processing loop, right after the channel estimation step.
if simLocal.PerfectChannelEstimator
[estChannelGrid, noiseEst] = nrChannelEstimate(carrier, rxGrid, dmrsLayerIndices, dmrsLayerSymbols, 'CDMLengths', pusch.DMRS.CDMLengths);
feedbackChannelEst = estChannelGrid;
- Modify the transmitter part of the code to use the "feedbackChannelEst" for any transmitter-side processing that could benefit from channel state information, such as precoding.
if ~isempty(feedbackChannelEst)
I hope this helps as your starting point.
Thanks,
Karan