Merge remote-tracking branch 'origin/srs-delay-comp' into integration_2026_w12 (!3859)
Delay compensation in SRS
Implementation of delay compensation in channel estimation based on SRS.
Testing, for example, with
sudo ./nr_ulsim -n1 -s50 -S50 -R51 -E 1 -W2 -y2 -z2 -d 10
we obtain the following logs.
LOGs with develop branch:
[NR_PHY] __lsRe__________lsIm__|____intRe_______intIm__|____noiRe_______noiIm__
[NR_PHY] ( 0) 687 -198 | 688 -198 | -1 -3
[NR_PHY] ( 1) 0 0 | 688 -196 | -1 -3
[NR_PHY] ( 2) 687 -198 | 644 -272 | -1 -1
[NR_PHY] ( 3) 0 0 | 600 -346 | -1 -1
[NR_PHY] ( 4) 513 -498 | 556 -422 | -1 -1
[NR_PHY] ( 5) 0 0 | 512 -496 | -1 -1
[NR_PHY] ( 6) 513 -498 | 440 -542 | -1 0
[NR_PHY] ( 7) 0 0 | 370 -588 | -1 0
[NR_PHY] ( 8) 226 -682 | 298 -634 | -1 -3
[NR_PHY] ( 9) 0 0 | 228 -680 | -1 -3
[NR_PHY] ( 10) 226 -682 | 140 -686 | -1 -1
[NR_PHY] ( 11) 0 0 | 52 -690 | -1 -1
intRe and intIm are the real and imaginary part of the interpolated
channel, respectively. These are the columns that matter. As we can see,
for example, in subcarrier 0 we have (688, -198), then in subcarrier 1
we have (688, -196), which is almost the same, and then in subcarrier 3
we have a jump (644, -272). This MR improves channel estimation by
taking delay into account. If we look at the following logs, we see that
the values vary more consistently from subcarrier to subcarrier.
LOGs with this MR:
[NR_PHY] __lsRe__________lsIm__|____intRe_______intIm__|____noiRe_______noiIm__
[NR_PHY] ( 0) 487 -139 | 490 -111 | -1 0
[NR_PHY] ( 1) 487 -139 | 483 -138 | -1 0
[NR_PHY] ( 2) 487 -139 | 465 -197 | 0 0
[NR_PHY] ( 3) 487 -139 | 436 -254 | 0 0
[NR_PHY] ( 4) 364 -353 | 402 -305 | -1 -1
[NR_PHY] ( 5) 364 -353 | 361 -352 | -1 -1
[NR_PHY] ( 6) 364 -353 | 317 -392 | -1 -1
[NR_PHY] ( 7) 364 -353 | 269 -426 | -1 -1
[NR_PHY] ( 8) 160 -481 | 214 -455 | 0 -1
[NR_PHY] ( 9) 160 -481 | 159 -478 | 0 -1
[NR_PHY] ( 10) 160 -481 | 98 -495 | -1 0
[NR_PHY] ( 11) 160 -481 | 39 -502 | -1 0
Showing
This diff is collapsed.
Please register or sign in to comment