Channel Estimation Grid Feed back path

1 view (last 30 days)
PAVAN KUMAR
PAVAN KUMAR on 8 Mar 2024
Answered: Karan Singh on 18 Jun 2024
Hi, Please consider the following example of NR PUSCH Throughput. https://in.mathworks.com/help/5g/ug/nr-pusch-throughput.html?searchHighlight=pusch%20throughput&s_tid=srchtitle_support_results_1_pusch%20throughput#NewRadioPUSCHThroughputExample-12 In the above example, I want to use the channel estimation grid found out at the receiver to be fed back to the transmitter. I want to use the previous slot channel grid information in the next slot at the transmitter. How do I achieve this in the code ? Also my feedback path should have very less latency compared to transmit data latency.

Answers (1)

Karan Singh
Karan Singh on 18 Jun 2024
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.
% Initialize feedback channel estimation storage
feedbackChannelEst = [];
  • 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.
% Practical channel estimation code snippet modification
if simLocal.PerfectChannelEstimator
% Perfect channel estimation code remains unchanged
else
% Practical channel estimation
[estChannelGrid, noiseEst] = nrChannelEstimate(carrier, rxGrid, dmrsLayerIndices, dmrsLayerSymbols, 'CDMLengths', pusch.DMRS.CDMLengths);
% Store the estimated channel grid for feedback
feedbackChannelEst = estChannelGrid;
end
  • 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.
% Example use of feedback channel estimation
if ~isempty(feedbackChannelEst)
% Use feedbackChannelEst for transmitter processing, e.g., precoding
% This is a placeholder to show where you might use the feedback
% Actual implementation depends on the simulation requirements
end
I hope this helps as your starting point.
Thanks,
Karan

Categories

Find more on Communications Toolbox in Help Center and File Exchange

Products


Release

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!