Hello,
I am currently focusing on the feedback of system simulation. It seems there is a mistake in the function " [pmi, SINRchosen] = calculatePMIlayer(obj, codeBook, iRBFreq) " of +feedback/ClsmFeedback.m. Therefore, I checked the paper cited by this function, " Calculation of the spatial preprocessing and link adaption feedback for 3GPP UMTS/LTE ".
I list three lines of cods of the function below that I think exit mistakes along with the corresponding equations in the cited paper.
The first line of code " I = reshape(sum(log2(1+SINR), 1), nPrecoder, nRBFreq) " corresponds to equation 4 in the paper. Before the second line of code " [~, pmi] = max(I, , 1) “, it seems lacking a line of code eg.” I = sum(I,2) " which adds mutual information over RBs to find the optimum precoder, corresponding to the right part of the equation 3 in the paper. Finally, I think the third line of code " SINRchosen = SINR(:,pmi)’ " should be replaced by " SINRchosen = SINR(pmi,:)’ " because pmi represents the best precoder index and it is in the first dimension of SINR.