How to get accurate channel in NTN - TDL model?

조회 수: 30 (최근 30일)
Thien Hieu
Thien Hieu 2025년 10월 2일 21:41
댓글: Thien Hieu 2025년 10월 6일 14:07
Hi,
I'm reading the TDL channel model in the example NR NTN PDSCH Throughput and I have some questions about it, can you explain for me please:
  • (not my main question, but I am wondering) In the step "Obtain a precoding matrix (wtx) to use in the transmission of the first transport block"
[estChannelGrid,sampleTimes] = HelperNRNTNThroughput.getInitialChannelEstimate(...
carrier,simLocal.NumTransmitAntennas,channel,simLocal.DataType);
in that HelperNRNTNThroughput.getInitialChannelEstimate function, I saw the nrPerfectChannelEstimate function - this is what I am wondering, because I think we just can only estimate the channel, and this step is the estimation for the precoding, how can we do perfect channel estimation? - as I understand, nrPerfectChannelEstimate is the function that we can convert the channel in expression (carrier,pathGains,pathFilters) to the ChannelGrid expression, there is no estimation here.
I checked here and saw that the values of estChannelGrid are in range [0.5, 0.7].
  • In the step "Perform least squares channel estimation between the received grid and each transmission layer"
[estChannelGrid,noiseEst] = nrChannelEstimate(rxCarrier,rxGrid,...
refDMRSIndices,refDMRSSymbols,'CDMLengths',pdsch.DMRS.CDMLengths);
I checked the values of estChannelGrid here and saw the values are in range 10^-6 x [3, 7.5].
I saw a line "Apply path loss to the signal" in the second step:
txWaveform = txWaveform*db2mag(-pl_dB(carrier.NSlot+1));
Plathloss here db2mag(-pl_dB(carrier.NSlot+1)) is 1.5678e-08
I want to generate the acurate (perfect) channel in this case, so I tried to multiply the estChannelGrid from nrPerfectChannelEstimate with db2mag(-pl_dB(carrier.NSlot+1)) but the results are in range 10^-9, not 10^-6 (to be near to the estimated channel). - So I am thinking this is not a correct approach to generate the accurate channel.
So my question is, how can I generate the perfect (accurate) channel, so I can compare the estimated channel and the accurate one?
Thank you so much

채택된 답변

Umar
Umar 2025년 10월 3일 13:26

Hi @Thien Hieu,

I read your post about the NR NTN PDSCH Throughput example and wanted to clarify. The function `nrPerfectChannelEstimate` is not a receiver-side estimate but simply a way to obtain the ground-truth channel grid from the channel model. That’s why its values look much larger than those from `nrChannelEstimate`, which operates on the received signal after normalization, path loss, and noise.

To compare the two, the perfect channel needs to be scaled consistently with the transmit waveform and DM-RS power. Applying only the path loss factor is not enough, since additional normalization (waveform and FFT) also affects the estimated channel. Aligning these scalings allows you to compute a fair comparison, such as MSE, between perfect and estimated channels.

  댓글 수: 7
Umar
Umar 2025년 10월 4일 4:27

Hi @Thien Hieu,

Yes, your understanding is exactly correct.

The initial use of nrPerfectChannelEstimate serves solely to compute an optimal precoding matrix for the first transmission slot. This is documented in the NR NTN PDSCH Throughput example, which states: " Obtain a precoding matrix (wtx) to use in the transmission of the first transport block."

Without perfect channel knowledge at startup, you would need to either:

1. Transmit the first slot without precoding (open-loop transmission),

or

2. Use suboptimal precoding based on statistical channel models

The example uses perfect knowledge initially to demonstrate best-case performance from the start. After the first slot, it switches to practical channel estimation (nrChannelEstimate) based on DM-RS for all subsequent precoding updates, making the remainder of the simulation realistic.

In SVD-based precoding, the precoding matrix is computed from the channel's singular vectors, which align the transmitted signals with the channel's spatial eigenmodes. This maximizes received signal power and is particularly important in MIMO systems.

Thien Hieu
Thien Hieu 2025년 10월 6일 14:07
Thank you so much for your answers.
I understand much better now.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Get Started with 5G Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by