Matlab Toolbox - 5G/NR
Downlink Frame Structure
NOTE : It is required to have Matlab 5G Toolbox to run this script. Matlab Version that I used for this page is 2019a v9.6, 5G Toolbox v1.1
I created the tutorial code on this page with the help of Matlab 5G Toolbox tutorial here.
Followings are the list of configurations that I tried on this page. I tried to make it as practical as possible based on 3GPP higher layer specification.
|
parameter \ slot number(n) |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
coreset(n).Duration |
1 |
2 |
3 |
1 |
2 |
3 |
1 |
2 |
3 |
2 |
|
coreset(n).AllocatedPRB |
(A) |
(B) |
(C) |
(D) |
(E) |
(F) |
(G) |
(H) |
(I) |
(J) |
|
pdcch(n).AllocatedSearchSpaces |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdcch(n).NumCCE |
16 |
16 |
16 |
8 |
8 |
8 |
8 |
8 |
8 |
8 |
|
pdcch(n).StartCCE |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| SLIV |
87 |
87 |
87 |
87 |
87 |
87 |
87 |
87 |
87 |
87 |
|
pdsch(n).PDSCHMappingType |
A |
A |
A |
A |
A |
A |
A |
A |
A |
A |
|
pdsch(n).DMRSTypeAPosition |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
|
pdsch(n).DMRSLength |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
pdsch(n).DMRSAdditionalPosition |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdsch(n).DMRSConfigurationType |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
pdsch(n).PortSet |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdsch(n).AllocatedSymbols |
3:9 |
3:9 |
3:9 |
3:9 |
3:9 |
3:9 |
3:9 |
3:9 |
3:9 |
3:9 |
|
pdsch(n).AllocatedPRB |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
|
(A) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (B) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (C) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (D) = 6*[1,2,3,4,5,6,7,8,9,10,11,12,13]; (E) = 6*[1,2,3,4,5,6,7,8,9,10,11,12,13]; (F) = 6*[1,2,3,4,5,6,7,8,9,10,11,12,13]; (G) = 6*[0,2,4,6,8,10,12,14,16]; (H) = 6*[0,2,4,6,8,10,12,14,16]; (I) = 6*[0,2,4,6,8,10,12,14,16]; ; (J) = 6*[0,1,3,4,6,7,9,10,12,13]; |
||||||||||
|
|
||||||||||
|
parameter \ slot number(n) |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
coreset(n).Duration |
1 |
2 |
3 |
1 |
2 |
3 |
1 |
2 |
3 |
2 |
|
coreset(n).AllocatedPRB |
(A) |
(B) |
(C) |
(D) |
(E) |
(F) |
(G) |
(H) |
(I) |
(J) |
|
pdcch(n).AllocatedSearchSpaces |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdcch(n).NumCCE |
16 |
16 |
16 |
16 |
16 |
16 |
16 |
16 |
16 |
16 |
|
pdcch(n).StartCCE |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| SLIV |
67 |
67 |
67 |
67 |
67 |
67 |
67 |
67 |
67 |
67 |
|
pdsch(n).PDSCHMappingType |
A |
A |
A |
A |
A |
A |
A |
A |
A |
A |
|
pdsch(n).DMRSTypeAPosition |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
|
pdsch(n).DMRSLength |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
pdsch(n).DMRSAdditionalPosition |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdsch(n).DMRSConfigurationType |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
pdsch(n).PortSet |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
7 |
7 |
|
pdsch(n).AllocatedSymbols |
2:12 |
2:12 |
2:12 |
2:12 |
2:12 |
2:12 |
2:12 |
2:12 |
2:12 |
2:12 |
|
pdsch(n).AllocatedPRB |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
|
(A) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (B) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (C) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (D) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (E) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (F) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (G) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (H) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (I) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (J) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; |
||||||||||
|
|
||||||||||
|
parameter \ slot number(n) |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
coreset(n).Duration |
1 |
2 |
3 |
1 |
2 |
3 |
1 |
2 |
3 |
2 |
|
coreset(n).AllocatedPRB |
(A) |
(B) |
(C) |
(D) |
(E) |
(F) |
(G) |
(H) |
(I) |
(J) |
|
pdcch(n).AllocatedSearchSpaces |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdcch(n).NumCCE |
16 |
16 |
16 |
16 |
16 |
16 |
16 |
16 |
16 |
16 |
|
pdcch(n).StartCCE |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| SLIV |
67 |
67 |
67 |
67 |
67 |
67 |
67 |
67 |
67 |
67 |
|
pdsch(n).PDSCHMappingType |
A |
A |
A |
A |
A |
A |
A |
A |
A |
A |
|
pdsch(n).DMRSTypeAPosition |
2 |
3 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
3 |
|
pdsch(n).DMRSLength |
1 |
1 |
1 |
2 |
1 |
1 |
2 |
2 |
2 |
2 |
|
pdsch(n).DMRSAdditionalPosition |
0 |
0 |
0 |
0 |
1 |
2 |
0 |
0 |
1 |
1 |
|
pdsch(n).DMRSConfigurationType |
1 |
1 |
2 |
1 |
1 |
1 |
1 |
2 |
2 |
2 |
|
pdsch(n).PortSet |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdsch(n).AllocatedSymbols |
2:12 |
2:12 |
2:12 |
2:12 |
2:12 |
2:12 |
2:12 |
2:12 |
2:12 |
2:12 |
|
pdsch(n).AllocatedPRB |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
|
(A) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (B) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (C) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (D) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (E) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (F) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (G) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (H) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (I) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (J) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; |
||||||||||
|
|
||||||||||
|
parameter \ slot number(n) |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
coreset(n).Duration |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
coreset(n).AllocatedPRB |
(A) |
(B) |
(C) |
(D) |
(E) |
(F) |
(G) |
(H) |
(I) |
(J) |
|
pdcch(n).AllocatedSearchSpaces |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdcch(n).NumCCE |
4 |
16 |
16 |
16 |
16 |
16 |
16 |
16 |
16 |
16 |
|
pdcch(n).StartCCE |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| SLIV |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
|
pdsch(n).PDSCHMappingType |
B |
B |
B |
B |
B |
B |
B |
B |
B |
B |
|
pdsch(n).DMRSTypeAPosition |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
|
pdsch(n).DMRSLength |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
pdsch(n).DMRSAdditionalPosition |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdsch(n).DMRSConfigurationType |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
pdsch(n).PortSet |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdsch(n).AllocatedSymbols |
0:1 |
1:2 |
2:3 |
3:4 |
4:5 |
5:6 |
6:7 |
7:8 |
8:9 |
9:10 |
|
pdsch(n).AllocatedPRB |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
|
(A) = 6*[13,14,15,16]; (B) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (C) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (D) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (E) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (F) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (G) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (H) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (I) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; (J) = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]; |
||||||||||
|
|
||||||||||
|
parameter \ slot number(n) |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
coreset(n).Duration |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
coreset(n).AllocatedPRB |
(A) |
(B) |
(C) |
(D) |
(E) |
(F) |
(G) |
(H) |
(I) |
(J) |
|
pdcch(n).AllocatedSearchSpaces |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdcch(n).NumCCE |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
|
pdcch(n).StartCCE |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| SLIV |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
40 |
41 |
|
pdsch(n).PDSCHMappingType |
B |
B |
B |
A |
A |
A |
A |
A |
A |
A |
|
pdsch(n).DMRSTypeAPosition |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
3 |
2 |
2 |
|
pdsch(n).DMRSLength |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
pdsch(n).DMRSAdditionalPosition |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdsch(n).DMRSConfigurationType |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
pdsch(n).PortSet |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdsch(n).AllocatedSymbols |
10:11 |
11:12 |
12:13 |
0:13 |
0:2 |
1:3 |
2:4 |
3:5 |
1:13 |
0:12 |
|
pdsch(n).AllocatedPRB |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
|
(A) = 6*[0,1,2,3]; (B) = 6*[0,1,2,3]; (C) = 6*[0,1,2,3]; (D) = 6*[10,11,12,13]; (E) = 6*[10,11,12,13]; (F) = 6*[0,1,2,3]; (G) = 6*[0,1,2,3]; (H) = 6*[0,1,2,3]; (I) = 6*[0,1,2,3]; (J) = 6*[10,11,12,13]; |
||||||||||
|
|
||||||||||
|
parameter \ slot number(n) |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
coreset(n).Duration |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
coreset(n).AllocatedPRB |
(A) |
(B) |
(C) |
(D) |
(E) |
(F) |
(G) |
(H) |
(I) |
(J) |
|
pdcch(n).AllocatedSearchSpaces |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdcch(n).NumCCE |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
|
pdcch(n).StartCCE |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| SLIV |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
|
pdsch(n).PDSCHMappingType |
B |
B |
B |
B |
B |
B |
B |
B |
B |
B |
|
pdsch(n).DMRSTypeAPosition |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
|
pdsch(n).DMRSLength |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
pdsch(n).DMRSAdditionalPosition |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdsch(n).DMRSConfigurationType |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
pdsch(n).PortSet |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdsch(n).AllocatedSymbols |
0:3 |
1:4 |
2:5 |
3:6 |
4:7 |
5:8 |
6:9 |
7:10 |
8:11 |
9:12 |
|
pdsch(n).AllocatedPRB |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
|
(A) = 6*[10,11,12,13]; (B) = 6*[0,1,2,3]; (C) = 6*[0,1,2,3]; (D) = 6*[0,1,2,3]; (E) = 6*[0,1,2,3]; (F) = 6*[0,1,2,3]; (G) = 6*[0,1,2,3]; (H) = 6*[0,1,2,3]; (I) = 6*[0,1,2,3]; (J) = 6*[0,1,2,3]; |
||||||||||
|
|
||||||||||
|
parameter \ slot number(n) |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
coreset(n).Duration |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
coreset(n).AllocatedPRB |
(A) |
(B) |
(C) |
(D) |
(E) |
(F) |
(G) |
(H) |
(I) |
(J) |
|
pdcch(n).AllocatedSearchSpaces |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdcch(n).NumCCE |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
|
pdcch(n).StartCCE |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| SLIV |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
66 |
67 |
|
pdsch(n).PDSCHMappingType |
B |
A |
A |
A |
A |
A |
A |
A |
A |
A |
|
pdsch(n).DMRSTypeAPosition |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
|
pdsch(n).DMRSLength |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
pdsch(n).DMRSAdditionalPosition |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdsch(n).DMRSConfigurationType |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
pdsch(n).PortSet |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdsch(n).AllocatedSymbols |
10:13 |
2:13 |
1:12 |
0:11 |
0:4 |
1:5 |
2:6 |
3:7 |
3:13 |
2:12 |
|
pdsch(n).AllocatedPRB |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
|
(A) = 6*[0,1,2,3]; (B) = 6*[0,1,2,3]; (C) = 6*[0,1,2,3]; (D) = 6*[10,11,12,13]; (E) = 6*[10,11,12,13]; (F) = 6*[0,1,2,3]; (G) = 6*[0,1,2,3]; (H) = 6*[0,1,2,3]; (I) = 6*[0,1,2,3]; (J) = 6*[0,1,2,3]; |
||||||||||
|
|
||||||||||
|
parameter \ slot number(n) |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
coreset(n).Duration |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
coreset(n).AllocatedPRB |
(A) |
(B) |
(C) |
(D) |
(E) |
(F) |
(G) |
(H) |
(I) |
(J) |
|
pdcch(n).AllocatedSearchSpaces |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdcch(n).NumCCE |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
|
pdcch(n).StartCCE |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| SLIV |
68 |
69 |
70 |
71 |
72 |
73 |
80 |
81 |
82 |
83 |
|
pdsch(n).PDSCHMappingType |
A |
A |
A |
A |
A |
A |
A |
A |
A |
A |
|
pdsch(n).DMRSTypeAPosition |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
|
pdsch(n).DMRSLength |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
pdsch(n).DMRSAdditionalPosition |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdsch(n).DMRSConfigurationType |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
pdsch(n).PortSet |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdsch(n).AllocatedSymbols |
1:11 |
0:10 |
0:5 |
1:6 |
2:7 |
3:8 |
3:12 |
2:11 |
1:10 |
0:9 |
|
pdsch(n).AllocatedPRB |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
|
(A) = 6*[0,1,2,3]; (B) = 6*[10,11,12,13]; (C) = 6*[10,11,12,13; (D) = 6*[0,1,2,3]; (E) = 6*[0,1,2,3]; (F) = 6*[0,1,2,3]; (G) = 6*[0,1,2,3]; (H) = 6*[0,1,2,3]; (I) = 6*[0,1,2,3]; (J) = 6*[10,11,12,13]; |
||||||||||
|
|
||||||||||
|
parameter \ slot number(n) |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
coreset(n).Duration |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
coreset(n).AllocatedPRB |
(A) |
(B) |
(C) |
(D) |
(E) |
(F) |
(G) |
(H) |
(I) |
(J) |
|
pdcch(n).AllocatedSearchSpaces |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdcch(n).NumCCE |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
|
pdcch(n).StartCCE |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| SLIV |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
94 |
95 |
|
pdsch(n).PDSCHMappingType |
A |
A |
A |
A |
B |
B |
B |
B |
A |
A |
|
pdsch(n).DMRSTypeAPosition |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
3 |
|
pdsch(n).DMRSLength |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
pdsch(n).DMRSAdditionalPosition |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdsch(n).DMRSConfigurationType |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
|
pdsch(n).PortSet |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
pdsch(n).AllocatedSymbols |
0:6 |
1:7 |
2:8 |
3:9 |
4:10 |
5:11 |
6:12 |
7:13 |
3:11 |
2:10 |
|
pdsch(n).AllocatedPRB |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
|
(A) = 6*[10,11,12,13]; (B) = 6*[0,1,2,3]]; (C) = 6*[0,1,2,3]; (D) = 6*[0,1,2,3]; (E) = 6*[0,1,2,3]; (F) = 6*[0,1,2,3]; (G) = 6*[0,1,2,3]; (H) = 6*[0,1,2,3]; (I) = 6*[0,1,2,3]; (J) = 6*[0,1,2,3]]; |
||||||||||
|
|
||||||||||
|
parameter \ slot number(n) |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
coreset(n).Duration |
1 |
1 |
1 |
1 |
1 |
1 |
||||
|
coreset(n).AllocatedPRB |
(A) |
(B) |
(C) |
(D) |
(E) |
(F) |
||||
|
pdcch(n).AllocatedSearchSpaces |
0 |
0 |
0 |
0 |
0 |
0 |
||||
|
pdcch(n).NumCCE |
4 |
4 |
4 |
4 |
4 |
4 |
||||
|
pdcch(n).StartCCE |
0 |
0 |
0 |
0 |
0 |
0 |
||||
| SLIV |
96 |
97 |
98 |
99 |
100 |
101 |
||||
|
pdsch(n).PDSCHMappingType |
A |
A |
A |
A |
A |
A |
||||
|
pdsch(n).DMRSTypeAPosition |
3 |
3 |
3 |
3 |
3 |
3 |
||||
|
pdsch(n).DMRSLength |
1 |
1 |
1 |
1 |
1 |
1 |
||||
|
pdsch(n).DMRSAdditionalPosition |
0 |
0 |
0 |
0 |
0 |
0 |
||||
|
pdsch(n).DMRSConfigurationType |
1 |
1 |
1 |
1 |
1 |
1 |
||||
|
pdsch(n).PortSet |
0 |
0 |
0 |
0 |
0 |
0 |
||||
|
pdsch(n).AllocatedSymbols |
0:8 |
0:7 |
1:8 |
2:9 |
3:10 |
4:11 |
||||
|
pdsch(n).AllocatedPRB |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
0:60 |
||||
|
(A) = 6*[0,1,2,3]; (B) = 6*[10,11,12,13]]; (C) = 6*[10,11,12,13]; (D) = 6*[0,1,2,3]; (E) = 6*[0,1,2,3]; (F) = 6*[0,1,2,3]; |
||||||||||
|
|
||||||||||
| 5G_FrameStructure_DL.m |
|
waveconfig = []; waveconfig.NCellID = 0; % Cell identity waveconfig.ChannelBandwidth = 40; % Channel bandwidth (MHz) waveconfig.FrequencyRange = 'FR1'; waveconfig.NumSubframes = 5; waveconfig.DisplayGrids = 1;
carriers(1).SubcarrierSpacing = 30; carriers(1).NRB = 106; carriers(1).RBStart = 0;
% SS burst configuration ssburst = []; ssburst.Enable = 1; ssburst.BlockPattern = 'Case B'; ssburst.SSBTransmitted = [1 1 1 1 1 1 1 1]; ssburst.SSBPeriodicity = 20; ssburst.FrequencySSB = 0*5000; ssburst.Power = 0;
% Bandwidth parts configurations bwp = [];
bwp(1).SubcarrierSpacing = 30; bwp(1).CyclicPrefix = 'Normal'; bwp(1).NRB = 106; bwp(1).RBOffset = 0;
% CORESET/search configurations coreset = []; coreset(1).AllocatedSymbols = [0]; coreset(1).AllocatedSlots = [0]; coreset(1).AllocatedPeriod = 10; coreset(1).Duration = 1; coreset(1).AllocatedPRB = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16];
coreset(2).AllocatedSymbols = [0]; coreset(2).AllocatedSlots = [1]; coreset(2).AllocatedPeriod = 10; coreset(2).Duration = 2; coreset(2).AllocatedPRB = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16];
coreset(3).AllocatedSymbols = [0]; coreset(3).AllocatedSlots = [2]; coreset(3).AllocatedPeriod = 10; coreset(3).Duration = 3; coreset(3).AllocatedPRB = 6*[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16];
coreset(4).AllocatedSymbols = [0]; coreset(4).AllocatedSlots = [3]; coreset(4).AllocatedPeriod = 10; coreset(4).Duration = 1; coreset(4).AllocatedPRB = 6*[1,2,3,4,5,6,7,8,9,10,11,12,13];
coreset(5).AllocatedSymbols = [0]; coreset(5).AllocatedSlots = [4]; coreset(5).AllocatedPeriod = 10; coreset(5).Duration = 2; coreset(5).AllocatedPRB = 6*[1,2,3,4,5,6,7,8,9,10,11,12,13];
coreset(6).AllocatedSymbols = [0]; coreset(6).AllocatedSlots = [5]; coreset(6).AllocatedPeriod = 10; coreset(6).Duration = 3; coreset(6).AllocatedPRB = 6*[1,2,3,4,5,6,7,8,9,10,11,12,13];
coreset(7).AllocatedSymbols = [0]; coreset(7).AllocatedSlots = [6]; coreset(7).AllocatedPeriod = 10; coreset(7).Duration = 1; coreset(7).AllocatedPRB = 6*[0,2,4,6,8,10,12,14,16];
coreset(8).AllocatedSymbols = [0]; coreset(8).AllocatedSlots = [7]; coreset(8).AllocatedPeriod = 10; coreset(8).Duration = 2; coreset(8).AllocatedPRB = 6*[0,2,4,6,8,10,12,14,16];
coreset(9).AllocatedSymbols = [0]; coreset(9).AllocatedSlots = [8]; coreset(9).AllocatedPeriod = 10; coreset(9).Duration = 3; coreset(9).AllocatedPRB = 6*[0,2,4,6,8,10,12,14,16];
coreset(10).AllocatedSymbols = [0]; coreset(10).AllocatedSlots = [9]; coreset(10).AllocatedPeriod = 10; coreset(10).Duration = 2; coreset(10).AllocatedPRB = 6*[0,1,3,4,6,7,9,10,12,13];
pdcch = []; pdcch(1).Enable = 1; pdcch(1).BWP = 1; pdcch(1).Power = 1*1.1; pdcch(1).EnableCoding = 1; pdcch(1).AllocatedSearchSpaces = [0]; pdcch(1).CORESET = 1; pdcch(1).AllocatedPeriod = 1; pdcch(1).NumCCE = 16; pdcch(1).StartCCE = 0; pdcch(1).RNTI = 0; pdcch(1).NID = 1; pdcch(1).PowerDMRS = 0; pdcch(1).DataBlkSize = 20; pdcch(1).DataSource = 'PN9';
pdcch(2).Enable = 1; pdcch(2).BWP = 1; pdcch(2).Power = 1*1.1; pdcch(2).EnableCoding = 1; pdcch(2).AllocatedSearchSpaces = [0]; pdcch(2).CORESET = 2; pdcch(2).AllocatedPeriod = 1; pdcch(2).NumCCE = 16; pdcch(2).StartCCE = 0; pdcch(2).RNTI = 0; pdcch(2).NID = 1; pdcch(2).PowerDMRS = 0; pdcch(2).DataBlkSize = 20; pdcch(2).DataSource = 'PN9';
pdcch(3).Enable = 1; pdcch(3).BWP = 1; pdcch(3).Power = 1*1.1; pdcch(3).EnableCoding = 1; pdcch(3).AllocatedSearchSpaces = [0]; pdcch(3).CORESET = 3; pdcch(3).AllocatedPeriod = 1; pdcch(3).NumCCE = 16; pdcch(3).StartCCE = 0; pdcch(3).RNTI = 0; pdcch(3).NID = 1; pdcch(3).PowerDMRS = 0; pdcch(3).DataBlkSize = 20; pdcch(3).DataSource = 'PN9';
pdcch(4).Enable = 1; pdcch(4).BWP = 1; pdcch(4).Power = 1*1.1; pdcch(4).EnableCoding = 1; pdcch(4).AllocatedSearchSpaces = [0]; pdcch(4).CORESET = 4; pdcch(4).AllocatedPeriod = 1; pdcch(4).NumCCE = 8; pdcch(4).StartCCE = 0; pdcch(4).RNTI = 0; pdcch(4).NID = 1; pdcch(4).PowerDMRS = 0; pdcch(4).DataBlkSize = 20; pdcch(4).DataSource = 'PN9';
pdcch(5).Enable = 1; pdcch(5).BWP = 1; pdcch(5).Power = 1*1.1; pdcch(5).EnableCoding = 1; pdcch(5).AllocatedSearchSpaces = [0]; pdcch(5).CORESET = 5; pdcch(5).AllocatedPeriod = 1; pdcch(5).NumCCE = 8; pdcch(5).StartCCE = 0; pdcch(5).RNTI = 0; pdcch(5).NID = 1; pdcch(5).PowerDMRS = 0; pdcch(5).DataBlkSize = 20; pdcch(5).DataSource = 'PN9';
pdcch(6).Enable = 1; pdcch(6).BWP = 1; pdcch(6).Power = 1*1.1; pdcch(6).EnableCoding = 1; pdcch(6).AllocatedSearchSpaces = [0]; pdcch(6).CORESET = 6; pdcch(6).AllocatedPeriod = 1; pdcch(6).NumCCE = 8; pdcch(6).StartCCE = 0; pdcch(6).RNTI = 0; pdcch(6).NID = 1; pdcch(6).PowerDMRS = 0; pdcch(6).DataBlkSize = 20; pdcch(6).DataSource = 'PN9';
pdcch(7).Enable = 1; pdcch(7).BWP = 1; pdcch(7).Power = 1*1.1; pdcch(7).EnableCoding = 1; pdcch(7).AllocatedSearchSpaces = [0]; pdcch(7).CORESET = 7; pdcch(7).AllocatedPeriod = 1; pdcch(7).NumCCE = 8; pdcch(7).StartCCE = 0; pdcch(7).RNTI = 0; pdcch(7).NID = 1; pdcch(7).PowerDMRS = 0; pdcch(7).DataBlkSize = 20; pdcch(7).DataSource = 'PN9';
pdcch(8).Enable = 1; pdcch(8).BWP = 1; pdcch(8).Power = 1*1.1; pdcch(8).EnableCoding = 1; pdcch(8).AllocatedSearchSpaces = [0]; pdcch(8).CORESET = 8; pdcch(8).AllocatedPeriod = 1; pdcch(8).NumCCE = 8; pdcch(8).StartCCE = 0; pdcch(8).RNTI = 0; pdcch(8).NID = 1; pdcch(8).PowerDMRS = 0; pdcch(8).DataBlkSize = 20; pdcch(8).DataSource = 'PN9';
pdcch(9).Enable = 1; pdcch(9).BWP = 1; pdcch(9).Power = 1*1.1; pdcch(9).EnableCoding = 1; pdcch(9).AllocatedSearchSpaces = [0]; pdcch(9).CORESET = 9; pdcch(9).AllocatedPeriod = 1; pdcch(9).NumCCE = 8; pdcch(9).StartCCE = 0; pdcch(9).RNTI = 0; pdcch(9).NID = 1; pdcch(9).PowerDMRS = 0; pdcch(9).DataBlkSize = 20; pdcch(9).DataSource = 'PN9';
pdcch(10).Enable = 1; pdcch(10).BWP = 1; pdcch(10).Power = 1*1.1; pdcch(10).EnableCoding = 1; pdcch(10).AllocatedSearchSpaces = [0]; pdcch(10).CORESET = 10; pdcch(10).AllocatedPeriod = 1; pdcch(10).NumCCE = 8; pdcch(10).StartCCE = 0; pdcch(10).RNTI = 0; pdcch(10).NID = 1; pdcch(10).PowerDMRS = 0; pdcch(10).DataBlkSize = 20; pdcch(10).DataSource = 'PN9';
pdsch = []; pdsch(1).Enable = 1; pdsch(1).BWP = 1; pdsch(1).Power = 0.0; pdsch(1).EnableCoding = 1; pdsch(1).DataSource = 'PN9'; pdsch(1).TargetCodeRate = 0.4785; pdsch(1).Xoh_PDSCH = 0; pdsch(1).Modulation = 'QPSK'; pdsch(1).NLayers = 1; pdsch(1).RVSequence = [0,2,3,1];
pdsch(1).AllocatedSymbols = 3:9; pdsch(1).AllocatedSlots = [0]; pdsch(1).AllocatedPeriod = 10; pdsch(1).AllocatedPRB = [0:60]; pdsch(1).RNTI = 0; pdsch(1).NID = 1;
pdsch(1).RateMatch(1).CORESET = [1]; pdsch(1).RateMatch(1).Pattern.AllocatedPRB = []; pdsch(1).RateMatch(1).Pattern.AllocatedSymbols = []; pdsch(1).RateMatch(1).Pattern.AllocatedSlots = []; pdsch(1).RateMatch(1).Pattern.AllocatedPeriod = [];
pdsch(1).PortSet = 0:pdsch(1).NLayers-1; pdsch(1).PDSCHMappingType = 'A'; pdsch(1).DMRSTypeAPosition = 3; pdsch(1).DMRSLength = 1; pdsch(1).DMRSAdditionalPosition = 0; pdsch(1).DMRSConfigurationType = 1; pdsch(1).NumCDMGroupsWithoutData = 0; pdsch(1).NIDNSCID = 1; pdsch(1).NSCID = 0; pdsch(1).PowerDMRS = 1.0;
pdsch(2).Enable = 1; pdsch(2).BWP = 1; pdsch(2).Power = 0.0; pdsch(2).EnableCoding = 1; pdsch(2).DataSource = 'PN9'; pdsch(2).TargetCodeRate = 0.4785; pdsch(2).Xoh_PDSCH = 0; pdsch(2).Modulation = 'QPSK'; pdsch(2).NLayers = 1; pdsch(2).RVSequence = [0,2,3,1];
pdsch(2).AllocatedSymbols = 3:9; pdsch(2).AllocatedSlots = [1]; pdsch(2).AllocatedPeriod = 10; pdsch(2).AllocatedPRB = [0:60]; pdsch(2).RNTI = 0; pdsch(2).NID = 1;
pdsch(2).RateMatch(1).CORESET = [1]; pdsch(2).RateMatch(1).Pattern.AllocatedPRB = []; pdsch(2).RateMatch(1).Pattern.AllocatedSymbols = []; pdsch(2).RateMatch(1).Pattern.AllocatedSlots = []; pdsch(2).RateMatch(1).Pattern.AllocatedPeriod = [];
pdsch(2).PortSet = [1]; %0:pdsch(1).NLayers-1; pdsch(2).PDSCHMappingType = 'A'; pdsch(2).DMRSTypeAPosition = 3; pdsch(2).DMRSLength = 1; pdsch(2).DMRSAdditionalPosition = 0; pdsch(2).DMRSConfigurationType = 1; pdsch(2).NumCDMGroupsWithoutData = 0; pdsch(2).NIDNSCID = 1; pdsch(2).NSCID = 0; pdsch(2).PowerDMRS = 1.0;
pdsch(3).Enable = 1; pdsch(3).BWP = 1; pdsch(3).Power = 0.0; pdsch(3).EnableCoding = 1; pdsch(3).DataSource = 'PN9'; pdsch(3).TargetCodeRate = 0.4785; pdsch(3).Xoh_PDSCH = 0; pdsch(3).Modulation = 'QPSK'; pdsch(3).NLayers = 1; pdsch(3).RVSequence = [0,2,3,1];
pdsch(3).AllocatedSymbols = 3:9; pdsch(3).AllocatedSlots = [2]; pdsch(3).AllocatedPeriod = 10; pdsch(3).AllocatedPRB = [0:60]; pdsch(3).RNTI = 0; pdsch(3).NID = 1;
pdsch(3).RateMatch(1).CORESET = [1]; pdsch(3).RateMatch(1).Pattern.AllocatedPRB = []; pdsch(3).RateMatch(1).Pattern.AllocatedSymbols = []; pdsch(3).RateMatch(1).Pattern.AllocatedSlots = []; pdsch(3).RateMatch(1).Pattern.AllocatedPeriod = [];
pdsch(3).PortSet = [2]; %0:pdsch(1).NLayers-1; pdsch(3).PDSCHMappingType = 'A'; pdsch(3).DMRSTypeAPosition = 3; pdsch(3).DMRSLength = 1; pdsch(3).DMRSAdditionalPosition = 0; pdsch(3).DMRSConfigurationType = 1; pdsch(3).NumCDMGroupsWithoutData = 0; pdsch(3).NIDNSCID = 1; pdsch(3).NSCID = 0; pdsch(3).PowerDMRS = 1.0;
pdsch(4).Enable = 1; pdsch(4).BWP = 1; pdsch(4).Power = 0.0; pdsch(4).EnableCoding = 1; pdsch(4).DataSource = 'PN9'; pdsch(4).TargetCodeRate = 0.4785; pdsch(4).Xoh_PDSCH = 0; pdsch(4).Modulation = 'QPSK'; pdsch(4).NLayers = 1; pdsch(4).RVSequence = [0,2,3,1];
pdsch(4).AllocatedSymbols = 3:9; pdsch(4).AllocatedSlots = [3]; pdsch(4).AllocatedPeriod = 10; pdsch(4).AllocatedPRB = [0:60]; pdsch(4).RNTI = 0; pdsch(4).NID = 1;
pdsch(4).RateMatch(1).CORESET = [1]; pdsch(4).RateMatch(1).Pattern.AllocatedPRB = []; pdsch(4).RateMatch(1).Pattern.AllocatedSymbols = []; pdsch(4).RateMatch(1).Pattern.AllocatedSlots = []; pdsch(4).RateMatch(1).Pattern.AllocatedPeriod = [];
pdsch(4).PortSet = [3]; %0:pdsch(1).NLayers-1; pdsch(4).PDSCHMappingType = 'A'; pdsch(4).DMRSTypeAPosition = 3; pdsch(4).DMRSLength = 1; pdsch(4).DMRSAdditionalPosition = 0; pdsch(4).DMRSConfigurationType = 1; pdsch(4).NumCDMGroupsWithoutData = 0; pdsch(4).NIDNSCID = 1; pdsch(4).NSCID = 0; pdsch(4).PowerDMRS = 1.0;
pdsch(5).Enable = 1; pdsch(5).BWP = 1; pdsch(5).Power = 0.0; pdsch(5).EnableCoding = 1; pdsch(5).DataSource = 'PN9'; pdsch(5).TargetCodeRate = 0.4785; pdsch(5).Xoh_PDSCH = 0; pdsch(5).Modulation = 'QPSK'; pdsch(5).NLayers = 1; pdsch(5).RVSequence = [0,2,3,1];
pdsch(5).AllocatedSymbols = 3:9; pdsch(5).AllocatedSlots = [4]; pdsch(5).AllocatedPeriod = 10; pdsch(5).AllocatedPRB = [0:60]; pdsch(5).RNTI = 0; pdsch(5).NID = 1;
pdsch(5).RateMatch(1).CORESET = [5]; pdsch(5).RateMatch(1).Pattern.AllocatedPRB = []; pdsch(5).RateMatch(1).Pattern.AllocatedSymbols = []; pdsch(5).RateMatch(1).Pattern.AllocatedSlots = []; pdsch(5).RateMatch(1).Pattern.AllocatedPeriod = [];
pdsch(5).PortSet = [4]; %0:pdsch(1).NLayers-1; pdsch(5).PDSCHMappingType = 'A'; pdsch(5).DMRSTypeAPosition = 3; pdsch(5).DMRSLength = 1; pdsch(5).DMRSAdditionalPosition = 0; pdsch(5).DMRSConfigurationType = 1; pdsch(5).NumCDMGroupsWithoutData = 0; pdsch(5).NIDNSCID = 1; pdsch(5).NSCID = 0; pdsch(5).PowerDMRS = 1.0;
pdsch(6).Enable = 1; pdsch(6).BWP = 1; pdsch(6).Power = 0.0; pdsch(6).EnableCoding = 1; pdsch(6).DataSource = 'PN9'; pdsch(6).TargetCodeRate = 0.4785; pdsch(6).Xoh_PDSCH = 0; pdsch(6).Modulation = 'QPSK'; pdsch(6).NLayers = 1; pdsch(6).RVSequence = [0,2,3,1];
pdsch(6).AllocatedSymbols = 3:9; pdsch(6).AllocatedSlots = [5]; pdsch(6).AllocatedPeriod = 10; pdsch(6).AllocatedPRB = [0:60]; pdsch(6).RNTI = 0; pdsch(6).NID = 1;
pdsch(6).RateMatch(1).CORESET = [6]; pdsch(6).RateMatch(1).Pattern.AllocatedPRB = []; pdsch(6).RateMatch(1).Pattern.AllocatedSymbols = []; pdsch(6).RateMatch(1).Pattern.AllocatedSlots = []; pdsch(6).RateMatch(1).Pattern.AllocatedPeriod = [];
pdsch(6).PortSet = [5]; %0:pdsch(1).NLayers-1; pdsch(6).PDSCHMappingType = 'A'; pdsch(6).DMRSTypeAPosition = 3; pdsch(6).DMRSLength = 1; pdsch(6).DMRSAdditionalPosition = 0; pdsch(6).DMRSConfigurationType = 1; pdsch(6).NumCDMGroupsWithoutData = 0; pdsch(6).NIDNSCID = 1; pdsch(6).NSCID = 0; pdsch(6).PowerDMRS = 1.0;
pdsch(7).Enable = 1; pdsch(7).BWP = 1; pdsch(7).Power = 0.0; pdsch(7).EnableCoding = 1; pdsch(7).DataSource = 'PN9'; pdsch(7).TargetCodeRate = 0.4785; pdsch(7).Xoh_PDSCH = 0; pdsch(7).Modulation = 'QPSK'; pdsch(7).NLayers = 1; pdsch(7).RVSequence = [0,2,3,1];
pdsch(7).AllocatedSymbols = 3:9; pdsch(7).AllocatedSlots = [6]; pdsch(7).AllocatedPeriod = 10; pdsch(7).AllocatedPRB = [0:60]; pdsch(7).RNTI = 0; pdsch(7).NID = 1;
pdsch(7).RateMatch(1).CORESET = [6]; pdsch(7).RateMatch(1).Pattern.AllocatedPRB = []; pdsch(7).RateMatch(1).Pattern.AllocatedSymbols = []; pdsch(7).RateMatch(1).Pattern.AllocatedSlots = []; pdsch(7).RateMatch(1).Pattern.AllocatedPeriod = [];
pdsch(7).PortSet = [6]; %0:pdsch(1).NLayers-1; pdsch(7).PDSCHMappingType = 'A'; pdsch(7).DMRSTypeAPosition = 3; pdsch(7).DMRSLength = 1; pdsch(7).DMRSAdditionalPosition = 0; pdsch(7).DMRSConfigurationType = 1; pdsch(7).NumCDMGroupsWithoutData = 0; pdsch(7).NIDNSCID = 1; pdsch(7).NSCID = 0; pdsch(7).PowerDMRS = 1.0;
pdsch(8).Enable = 1; pdsch(8).BWP = 1; pdsch(8).Power = 0.0; pdsch(8).EnableCoding = 1; pdsch(8).DataSource = 'PN9'; pdsch(8).TargetCodeRate = 0.4785; pdsch(8).Xoh_PDSCH = 0; pdsch(8).Modulation = 'QPSK'; pdsch(8).NLayers = 1; pdsch(8).RVSequence = [0,2,3,1];
pdsch(8).AllocatedSymbols = 3:9; pdsch(8).AllocatedSlots = [7]; pdsch(8).AllocatedPeriod = 10; pdsch(8).AllocatedPRB = [0:60]; pdsch(8).RNTI = 0; pdsch(8).NID = 1;
pdsch(8).RateMatch(1).CORESET = [6]; pdsch(8).RateMatch(1).Pattern.AllocatedPRB = []; pdsch(8).RateMatch(1).Pattern.AllocatedSymbols = []; pdsch(8).RateMatch(1).Pattern.AllocatedSlots = []; pdsch(8).RateMatch(1).Pattern.AllocatedPeriod = [];
pdsch(8).PortSet = [7]; %0:pdsch(1).NLayers-1; pdsch(8).PDSCHMappingType = 'A'; pdsch(8).DMRSTypeAPosition = 3; pdsch(8).DMRSLength = 1; pdsch(8).DMRSAdditionalPosition = 0; pdsch(8).DMRSConfigurationType = 1; pdsch(8).NumCDMGroupsWithoutData = 0; pdsch(8).NIDNSCID = 1; pdsch(8).NSCID = 0; pdsch(8).PowerDMRS = 1.0;
pdsch(9).Enable = 1; pdsch(9).BWP = 1; pdsch(9).Power = 0.0; pdsch(9).EnableCoding = 1; pdsch(9).DataSource = 'PN9'; pdsch(9).TargetCodeRate = 0.4785; pdsch(9).Xoh_PDSCH = 0; pdsch(9).Modulation = 'QPSK'; pdsch(9).NLayers = 1; pdsch(9).RVSequence = [0,2,3,1];
pdsch(9).AllocatedSymbols = 3:9; pdsch(9).AllocatedSlots = [8]; pdsch(9).AllocatedPeriod = 10; pdsch(9).AllocatedPRB = [0:60]; pdsch(9).RNTI = 0; pdsch(9).NID = 1;
pdsch(9).RateMatch(1).CORESET = [9]; pdsch(9).RateMatch(1).Pattern.AllocatedPRB = []; pdsch(9).RateMatch(1).Pattern.AllocatedSymbols = []; pdsch(9).RateMatch(1).Pattern.AllocatedSlots = []; pdsch(9).RateMatch(1).Pattern.AllocatedPeriod = [];
pdsch(9).PortSet = [8]; %0:pdsch(1).NLayers-1; pdsch(9).PDSCHMappingType = 'A'; pdsch(9).DMRSTypeAPosition = 3; pdsch(9).DMRSLength = 1; pdsch(9).DMRSAdditionalPosition = 0; pdsch(9).DMRSConfigurationType = 1; pdsch(9).NumCDMGroupsWithoutData = 0; pdsch(9).NIDNSCID = 1; pdsch(9).NSCID = 0; pdsch(9).PowerDMRS = 1.0;
pdsch(10).Enable = 1; pdsch(10).BWP = 1; pdsch(10).Power = 0.0; pdsch(10).EnableCoding = 1; pdsch(10).DataSource = 'PN9'; pdsch(10).TargetCodeRate = 0.4785; pdsch(10).Xoh_PDSCH = 0; pdsch(10).Modulation = 'QPSK'; pdsch(10).NLayers = 1; pdsch(10).RVSequence = [0,2,3,1];
pdsch(10).AllocatedSymbols = 3:9; pdsch(10).AllocatedSlots = [9]; pdsch(10).AllocatedPeriod = 10; pdsch(10).AllocatedPRB = [0:60]; pdsch(10).RNTI = 0; pdsch(10).NID = 1;
pdsch(10).RateMatch(1).CORESET = [10]; pdsch(10).RateMatch(1).Pattern.AllocatedPRB = []; pdsch(10).RateMatch(1).Pattern.AllocatedSymbols = []; pdsch(10).RateMatch(1).Pattern.AllocatedSlots = []; pdsch(10).RateMatch(1).Pattern.AllocatedPeriod = [];
pdsch(10).PortSet = [8]; %0:pdsch(1).NLayers-1; pdsch(10).PDSCHMappingType = 'A'; pdsch(10).DMRSTypeAPosition = 3; pdsch(10).DMRSLength = 1; pdsch(10).DMRSAdditionalPosition = 0; pdsch(10).DMRSConfigurationType = 1; pdsch(10).NumCDMGroupsWithoutData = 0; pdsch(10).NIDNSCID = 1; pdsch(10).NSCID = 0; pdsch(10).PowerDMRS = 1.0;
waveconfig.SSBurst = ssburst; waveconfig.Carriers = carriers; waveconfig.BWP = bwp; waveconfig.CORESET = coreset; waveconfig.PDCCH = pdcch; waveconfig.PDSCH = pdsch;
[waveform,bwpset] = ShowGridDL(waveconfig,[300 400 800 600]); [waveform,bwpset] = ShowGridDL(waveconfig,[300 80 800 300],[0 140 0 2*12]);
|









