Matlab Toolbox - 5G/NR
PDSCH/DMRS
NOTE : It is required to have Matlab 5G Toolbox option to run this script
Following code is based on '3GPP 5G NR PDSCH Throughput Simulation' in Matlab 5G Library help document. I've revised the code just a little bit for my own purpose.
| PDSCH_DMRS.m |
|
gNB.NDLRB = 20; gNB.SubcarrierSpacing = 30; % 15, 30, 60, 120, 240, 480 (kHz) gNB.WaveformType = 'CP-OFDM'; % 'CP-OFDM', 'W-OFDM' or 'F-OFDM' gNB.CyclicPrefix = 'Normal'; % 'Normal' or 'Extended' gNB.UseDCSubcarrier = 'On'; % 'On' or 'Off' gNB.NCellID = 1; % Cell identity
% DL-SCH/PDSCH parameters ---------------------------------------- gNB.PDSCH.TargetCodeRate = 0.5; % Code rate used to calculate transport block sizes gNB.PDSCH.CodingType = 'LDPC'; % Set to 'LDPC' for 5G DL-SCH or 'Turbo' for LTE DL-SCH gNB.PDSCH.PRBSet = 0:0; % PDSCH PRB allocation gNB.PDSCH.SymbolSet = 0:13; % PDSCH symbol allocation in slot gNB.PDSCH.Modulation = '16QAM'; % 'QPSK', '16QAM', '64QAM', '256QAM' gNB.PDSCH.NLayers = 2; % Number of PDSCH layers gNB.PDSCH.NTxAnts = 8; % Number of PDSCH transmission antennas gNB.PDSCH.EnableHARQ = true; % Enable/disable HARQ, if disabled, single transmission with % RV=0, i.e. no retransmissions
% DM-RS configuration (TS 38.211 section 7.4.1.1) --------------------- gNB.PDSCH.PortSet = [0,2]; % DM-RS ports to use for the layers gNB.PDSCH.PDSCHMappingType = 'A'; % PDSCH mapping type ('A'(slot-wise),'B'(non slot-wise)) gNB.PDSCH.DL_DMRS_typeA_pos = 2; % Mapping type A only. First DM-RS symbol position (2,3) gNB.PDSCH.DL_DMRS_max_len = 1; % Number of front-loaded DM-RS symbols % (1(single symbol),2(double symbol)) gNB.PDSCH.DL_DMRS_add_pos = 0; % Additional DM-RS symbol positions (max range 0...3) gNB.PDSCH.DL_DMRS_config_type = 2; % DM-RS configuration type (1,2) gNB.PDSCH.NIDNSCID = 1; % Scrambling identity (0...65535) gNB.PDSCH.NSCID = 0; % Scrambling initialization (0,1)
% SS burst configuration ------------------------------------------- gNB.SSBurst.BurstType = 'CaseB'; % 30kHz subcarrier spacing gNB.SSBurst.SSBTransmitted = [0 0 0 0 0 0 0 0]; % Bitmap indicating blocks transmitted % in the burst. I disabled all SSB transmission % just to simplify the PDSCH/DMRS resource mapping gNB.SSBurst.SSBPeriodicity = 10; % SS burst set periodicity in ms (5, 10, 20, 40, 80, 160) gNB.SSBurst.SubcarrierOffset = 0; % SSB location in frequency domain
pdsch = gNB.PDSCH;
% Create SS burst waveform and information structure and display a plot ------------------- ssburst = gNB.SSBurst; ssburst.DisplayBurst = false; [ssbWaveform,~,ssbInfo] = h5gSSBurst(gNB,ssburst);
% Demodulate SS burst waveform using data numerology - note that depending % on subcarrier spacings, the SS burst content may not be orthogonal with % the data subcarriers ssbGrid = h5gOFDMDemodulate(gNB,ssbWaveform);
waveformInfo = h5gOFDMInfo(gNB); grid = zeros(waveformInfo.NSubcarriers,waveformInfo.SymbolsPerSlot,pdsch.NLayers);
% Create PDSCH and PDSCH DM-RS indices [pdschIndices,pdschDmrsIndices,dmrsSymbols] = h5gPDSCHResources(gNB,pdsch);
% this is just to print out dmrs symbol and dmrs location (RE index) pdschDmrsIndices dmrsSymbols
% Mark PDSCH and PDSCH DM-RS positions in the grid grid(pdschIndices) = 2; grid(pdschDmrsIndices) = 3;
% Mark SS burst positions in the grid grid(abs(ssbGrid)>=0.5) = grid(abs(ssbGrid)>=0.5) + 1; grid(abs(ssbGrid)<0.5 & abs(ssbGrid)>=0.1) = grid(abs(ssbGrid)<0.5 & abs(ssbGrid)>=0.1) + 0.3; grid(abs(ssbGrid)<0.1 & abs(ssbGrid)>0.03) = grid(abs(ssbGrid)<0.1 & abs(ssbGrid)>0.03) + 0.1;
% Plot DMRS in the full grid and magnified (PDSCH/DMRS only) grid subplot(2,2,1); imagesc(abs(grid(:,:,1))); axis xy; set(gca,'xticklabel',{'1','3','5','7','9','11','13'});
% Create a legend for the different channels / signals, this is % achieved by drawing off-plot patches with the appropriate colors % then adding a legend hold on; patch([-2 -3 -3 -2],[-2 -2 -3 -3],1); patch([-2 -3 -3 -2],[-2 -2 -3 -3],2); patch([-2 -3 -3 -2],[-2 -2 -3 -3],3); legend('SS burst','PDSCH','PDSCH DM-RS');
% Add axis labels and title ylabel('Subcarriers'); xlabel('OFDM symbols'); title(sprintf('Resource Grid Layer 0 \n SCS=%dkHz, NDLRB=%d, Port=%d',... gNB.SubcarrierSpacing,gNB.NDLRB,1000 + pdsch.PortSet(1)));
subplot(2,2,2); imagesc(abs(grid(:,:,1))); axis xy; ylim([pdsch.PRBSet(1) pdsch.PRBSet(end)+1]*12); set(gca,'xtick',1:14); set(gca,'xticklabel',{'0','1','2','3','4','5','6','7','8','9','10','11','12','13'}); title('PDSCH/DMRS Only');
subplot(2,2,3); imagesc(abs(grid(:,:,2))); axis xy; set(gca,'xticklabel',{'1','3','5','7','9','11','13'});
% Create a legend for the different channels / signals, this is % achieved by drawing off-plot patches with the appropriate colors % then adding a legend hold on; patch([-2 -3 -3 -2],[-2 -2 -3 -3],1); patch([-2 -3 -3 -2],[-2 -2 -3 -3],2); patch([-2 -3 -3 -2],[-2 -2 -3 -3],3); legend('SS burst','PDSCH','PDSCH DM-RS');
% Add axis labels and title ylabel('Subcarriers'); xlabel('OFDM symbols'); title(sprintf('Resource Grid Layer 1 \n SCS=%dkHz, NDLRB=%d, Port=%d',... gNB.SubcarrierSpacing,gNB.NDLRB,1000 + pdsch.PortSet(1)));
subplot(2,2,4); imagesc(abs(grid(:,:,2))); axis xy; ylim([pdsch.PRBSet(1) pdsch.PRBSet(end)+1]*12); set(gca,'xtick',1:14); set(gca,'xticklabel',{'0','1','2','3','4','5','6','7','8','9','10','11','12','13'}); title('PDSCH/DMRS Only');
drawnow;
set(gcf, 'Position', [200, 200, 700, 700])
|
< Case 1 > gNB.PDSCH.NLayers = 1; gNB.PDSCH.PortSet = [0];
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [0]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 0; gNB.PDSCH.DL_DMRS_config_type = 2; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
481 482 487 488
dmrsSymbols =
0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i |
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [0]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 3; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 0; gNB.PDSCH.DL_DMRS_config_type = 2; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
721 722 727 728
dmrsSymbols =
-0.7071 - 0.7071i 0.7071 - 0.7071i -0.7071 + 0.7071i -0.7071 - 0.7071i |
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [0]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 2; gNB.PDSCH.DL_DMRS_add_pos = 0; gNB.PDSCH.DL_DMRS_config_type = 2; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
481 482 487 488 721 722 727 728
dmrsSymbols =
0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i -0.7071 - 0.7071i 0.7071 - 0.7071i -0.7071 + 0.7071i -0.7071 - 0.7071i |
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [0]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 1; gNB.PDSCH.DL_DMRS_config_type = 2; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
481 482 487 488 2641 2642 2647 2648
dmrsSymbols =
0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 - 0.7071i |
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [0]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 2; gNB.PDSCH.DL_DMRS_config_type = 2; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
481 482 487 488 1681 1682 1687 1688 2641 2642 2647 2648
dmrsSymbols =
0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 - 0.7071i |
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [0]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 3; gNB.PDSCH.DL_DMRS_config_type = 2; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
481 482 487 488 1201 1202 1207 1208 1921 1922 1927 1928 2641 2642 2647 2648
dmrsSymbols =
0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i -0.7071 - 0.7071i 0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 - 0.7071i |
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [0]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 0; gNB.PDSCH.DL_DMRS_config_type = 1; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
481 483 485 487 489 491
dmrsSymbols =
0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i |
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [0]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 2; gNB.PDSCH.DL_DMRS_add_pos = 0; gNB.PDSCH.DL_DMRS_config_type = 1; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
481 483 485 487 489 491 721 723 725 727 729 731
dmrsSymbols =
0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i 0.7071 - 0.7071i -0.7071 + 0.7071i -0.7071 - 0.7071i 0.7071 - 0.7071i 0.7071 - 0.7071i |
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [0]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 3; gNB.PDSCH.DL_DMRS_config_type = 1; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
481 483 485 487 489 491 1201 1203 1205 1207 1209 1211 1921 1923 1925 1927 1929 1931 2641 2643 2645 2647 2649 2651
dmrsSymbols =
0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i 0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 - 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 - 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i |
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [1]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 0; gNB.PDSCH.DL_DMRS_config_type = 1; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
481 482 487 488
dmrsSymbols =
0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i 0.7071 - 0.7071i |
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [2]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 0; gNB.PDSCH.DL_DMRS_config_type = 1; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
483 484 489 490
dmrsSymbols =
0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i |
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [3]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 0; gNB.PDSCH.DL_DMRS_config_type = 1; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
483 484 489 490
dmrsSymbols =
0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i 0.7071 - 0.7071i |
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [4]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 0; gNB.PDSCH.DL_DMRS_config_type = 1; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
485 486 491 492
dmrsSymbols =
0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i |
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [5]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 0; gNB.PDSCH.DL_DMRS_config_type = 1; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
485 486 491 492
dmrsSymbols =
0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i 0.7071 - 0.7071i |
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [6]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 0; gNB.PDSCH.DL_DMRS_config_type = 1; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
481 482 487 488
dmrsSymbols =
0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i |
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [7]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 0; gNB.PDSCH.DL_DMRS_config_type = 1; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
481 482 487 488
dmrsSymbols =
0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i 0.7071 - 0.7071i
|
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [8]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 0; gNB.PDSCH.DL_DMRS_config_type = 1; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
483 484 489 490
dmrsSymbols =
0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i
|
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [9]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 0; gNB.PDSCH.DL_DMRS_config_type = 1; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
483 484 489 490
dmrsSymbols =
0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i 0.7071 - 0.7071i
|
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [10]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 0; gNB.PDSCH.DL_DMRS_config_type = 1; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
485 486 491 492
dmrsSymbols =
0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i |
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [11]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 0; gNB.PDSCH.DL_DMRS_config_type = 1; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
485 486 491 492
dmrsSymbols =
0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i 0.7071 - 0.7071i |
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [0]; gNB.PDSCH.PDSCHMappingType = 'B'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 0; % this is used only when Duration of PDSCH transmission = 7 % when MappingType = B gNB.PDSCH.DL_DMRS_config_type = 2; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
1 2 7 8
dmrsSymbols =
-0.7071 - 0.7071i -0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 + 0.7071i |
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [0]; gNB.PDSCH.PDSCHMappingType = 'B'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; % This parameter has no impact on when MappingType = B gNB.PDSCH.DL_DMRS_max_len = 2; gNB.PDSCH.DL_DMRS_add_pos = 0; % this is used only when Duration of PDSCH transmission = 7 % when MappingType = B gNB.PDSCH.DL_DMRS_config_type = 2; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
1 2 7 8 241 242 247 248
dmrsSymbols =
-0.7071 - 0.7071i -0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i 0.7071 + 0.7071i 0.7071 - 0.7071i |
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [0]; gNB.PDSCH.PDSCHMappingType = 'B'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; % This parameter has no impact on when MappingType = B gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 0; % this is used only when Duration of PDSCH transmission = 7 % when MappingType = B gNB.PDSCH.DL_DMRS_config_type = 1; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
1 3 5 7 9 11
dmrsSymbols =
-0.7071 - 0.7071i -0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i |
|
gNB.PDSCH.NLayers = 1 gNB.PDSCH.PortSet = [0]; gNB.PDSCH.PDSCHMappingType = 'B'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; % This parameter has no impact on when MappingType = B gNB.PDSCH.DL_DMRS_max_len = 2; gNB.PDSCH.DL_DMRS_add_pos = 0; % this is used only when Duration of PDSCH transmission = 7 % when MappingType = B gNB.PDSCH.DL_DMRS_config_type = 1; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
1 3 5 7 9 11 241 243 245 247 249 251
dmrsSymbols =
-0.7071 - 0.7071i -0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i 0.7071 + 0.7071i 0.7071 - 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i |
< Case 2 > gNB.PDSCH.NLayers = 2; gNB.PDSCH.PortSet = [0,2];
NOTE : In this example, I added some additional explains and guiding lines on the plot to help you interpret the meaning of the plot. But these additional comments will not be added in other examples.
|
gNB.PDSCH.NLayers = 2 gNB.PDSCH.PortSet = [0,2]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 0; gNB.PDSCH.DL_DMRS_config_type = 2; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
481 3843 482 3844 487 3849 488 3850
dmrsSymbols =
0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i |
|
gNB.PDSCH.NLayers = 2 gNB.PDSCH.PortSet = [0,2]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 3; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 0; gNB.PDSCH.DL_DMRS_config_type = 2; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
721 4083 722 4084 727 4089 728 4090
dmrsSymbols =
-0.7071 - 0.7071i -0.7071 - 0.7071i 0.7071 - 0.7071i 0.7071 - 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i |
|
gNB.PDSCH.PortSet = [0,2]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 2; gNB.PDSCH.DL_DMRS_add_pos = 0; gNB.PDSCH.DL_DMRS_config_type = 2; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
481 3843 482 3844 487 3849 488 3850 721 4083 722 4084 727 4089 728 4090
dmrsSymbols =
0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i 0.7071 - 0.7071i 0.7071 - 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i |
|
gNB.PDSCH.NLayers = 2 gNB.PDSCH.PortSet = [0,2]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 1; gNB.PDSCH.DL_DMRS_config_type = 2; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
481 3843 482 3844 487 3849 488 3850 2641 6003 2642 6004 2647 6009 2648 6010
dmrsSymbols =
0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 - 0.7071i |
|
gNB.PDSCH.NLayers = 2 gNB.PDSCH.PortSet = [0,2]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 2; gNB.PDSCH.DL_DMRS_config_type = 2; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
481 3843 482 3844 487 3849 488 3850 1681 5043 1682 5044 1687 5049 1688 5050 2641 6003 2642 6004 2647 6009 2648 6010
dmrsSymbols =
0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 - 0.7071i |
|
gNB.PDSCH.NLayers = 2 gNB.PDSCH.PortSet = [0,2]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 3; gNB.PDSCH.DL_DMRS_config_type = 2; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
481 3843 482 3844 487 3849 488 3850 1201 4563 1202 4564 1207 4569 1208 4570 1921 5283 1922 5284 1927 5289 1928 5290 2641 6003 2642 6004 2647 6009 2648 6010
dmrsSymbols =
0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 - 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 - 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 - 0.7071i |
|
gNB.PDSCH.NLayers = 2 gNB.PDSCH.PortSet = [0,2]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 0; gNB.PDSCH.DL_DMRS_config_type = 1; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
481 3842 483 3844 485 3846 487 3848 489 3850 491 3852
dmrsSymbols =
0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i |
|
gNB.PDSCH.NLayers = 2 gNB.PDSCH.PortSet = [0,2]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 2; gNB.PDSCH.DL_DMRS_add_pos = 0; gNB.PDSCH.DL_DMRS_config_type = 1; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
481 3842 483 3844 485 3846 487 3848 489 3850 491 3852 721 4082 723 4084 725 4086 727 4088 729 4090 731 4092
dmrsSymbols =
0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i 0.7071 - 0.7071i 0.7071 - 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i 0.7071 - 0.7071i 0.7071 - 0.7071i 0.7071 - 0.7071i 0.7071 - 0.7071i |
|
gNB.PDSCH.NLayers = 2 gNB.PDSCH.PortSet = [0,2]; gNB.PDSCH.PDSCHMappingType = 'A'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 3; gNB.PDSCH.DL_DMRS_config_type = 1; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
481 3842 483 3844 485 3846 487 3848 489 3850 491 3852 1201 4562 1203 4564 1205 4566 1207 4568 1209 4570 1211 4572 1921 5282 1923 5284 1925 5286 1927 5288 1929 5290 1931 5292 2641 6002 2643 6004 2645 6006 2647 6008 2649 6010 2651 6012
dmrsSymbols =
0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 - 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 - 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 - 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 - 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i |
|
gNB.PDSCH.NLayers = 2 gNB.PDSCH.PortSet = [0,2]; gNB.PDSCH.PDSCHMappingType = 'B'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 0; % this is used only when Duration of PDSCH transmission = 7 % when MappingType = B gNB.PDSCH.DL_DMRS_config_type = 2; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
1 3363 2 3364 7 3369 8 3370
dmrsSymbols =
-0.7071 - 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 - 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i |
|
gNB.PDSCH.NLayers = 2 gNB.PDSCH.PortSet = [0,2]; gNB.PDSCH.PDSCHMappingType = 'B'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; % This parameter has no impact on when MappingType = B gNB.PDSCH.DL_DMRS_max_len = 2; gNB.PDSCH.DL_DMRS_add_pos = 0; % this is used only when Duration of PDSCH transmission = 7 % when MappingType = B gNB.PDSCH.DL_DMRS_config_type = 2; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
1 3363 2 3364 7 3369 8 3370 241 3603 242 3604 247 3609 248 3610
dmrsSymbols =
-0.7071 - 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 - 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 - 0.7071i |
|
gNB.PDSCH.NLayers = 2 gNB.PDSCH.PortSet = [0,2]; gNB.PDSCH.PDSCHMappingType = 'B'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; % This parameter has no impact on when MappingType = B gNB.PDSCH.DL_DMRS_max_len = 1; gNB.PDSCH.DL_DMRS_add_pos = 0; % this is used only when Duration of PDSCH transmission = 7 % when MappingType = B gNB.PDSCH.DL_DMRS_config_type = 1; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
1 3362 3 3364 5 3366 7 3368 9 3370 11 3372
dmrsSymbols =
-0.7071 - 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 - 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i |
|
gNB.PDSCH.NLayers = 2 gNB.PDSCH.PortSet = [0,2]; gNB.PDSCH.PDSCHMappingType = 'B'; gNB.PDSCH.DL_DMRS_typeA_pos = 2; % This parameter has no impact on when MappingType = B gNB.PDSCH.DL_DMRS_max_len = 2; gNB.PDSCH.DL_DMRS_add_pos = 0; % this is used only when Duration of PDSCH transmission = 7 % when MappingType = B gNB.PDSCH.DL_DMRS_config_type = 1; gNB.PDSCH.NIDNSCID = 1; gNB.PDSCH.NSCID = 0; |
|
|
|
pdschDmrsIndices =
1 3362 3 3364 5 3366 7 3368 9 3370 11 3372 241 3602 243 3604 245 3606 247 3608 249 3610 251 3612
dmrsSymbols =
-0.7071 - 0.7071i -0.7071 - 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 - 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i -0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i 0.7071 + 0.7071i 0.7071 + 0.7071i 0.7071 - 0.7071i 0.7071 - 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i -0.7071 - 0.7071i |


































