5G Lab Manual
5G Lab Manual
Theory
The upgrade in the worldwide network requires immediate transformations in the devices to be
compatible with the new network. The entire communication system has to be reconfigured
without which the new network becomes redundant. However, the expeditious evolution would
bring changes in the antennas. Thus, the necessity of designing an antenna working in 5G
communication range has to be appreciated
Microstrip patch antennas are one of the most sought antennas in this regard. Due to their small
size and ease of fabrication, microstrip antennas are preferred across most of the communication
industries wherever low profile can be adapted. By most found adaptations in smartphones, their
ability of miniaturization of the entire circuit is a major advantage.
Micro strip antenna consists of a very thin metallic strip placed on a ground plane with a
di-electric material in-between. The radiating element and feed lines are placed by the process of
photo-etching on the di-electric material. Usually, the patch or micro-strip is chosen to be square,
circular or rectangular in shape for the ease of analysis and fabrication.
Feedline Width Wf
Specifications of Antenna:
Design Structure
Result: We have successfully designed and simulated 5G Microstrip patch antenna for 28 GHz
Frequency, The output obtained at 28 GHZ is minimum reflection coefficient (-15.6 dB).
Experiment-2
Theory
We can use ray tracing to analyze communication links and coverage areas in an urban
environment. It includes
● Define a transmitter site and ray tracing propagation model corresponding to a 5G urban
scenario
● Visualize coverage using the shooting and bouncing rays (SBR) ray tracing method with
different numbers of reflections, diffractions, and launched rays
Define a transmitter site to model a small cell scenario in a dense urban environment. The
transmitter site represents a base station that is placed on a pole servicing the surrounding area
which includes a neighboring park. The transmitter uses the default isotropic antenna, and
operates at a carrier frequency of 28 GHz with a power level of 5 W.
Create a ray tracing propagation model using the shooting and bouncing rays (SBR) method. The
SBR propagation model uses ray tracing analysis to compute propagation paths and their
corresponding path losses. Path loss is calculated from free-space loss, reflection and diffraction
loss due to interactions with materials, and antenna polarization loss.
Define a receiver site to model a mobile receiver in an obstructed location. Plot the line-of-sight
path to show the obstructed path from the transmitter to the receive
Matlab code
viewer = siteviewer("Buildings","[Link]","Basemap","topographic");
tx = txsite("Name", "Small cell transmitter", "Latitude", 51.5054581, "Longitude", -0.0200490,
"AntennaHeight", 10, "TransmitterPower", 20, "TransmitterFrequency",28e9);
show(tx)
rtpm = propagationModel("raytracing", "Method", "sbr", "MaxNumReflections", 0,
"BuildingsMaterial", "perfect-reflector", "TerrainMaterial", "perfect-reflector");
coverage(tx, rtpm, "SignalStrengths", -120:-5, "MaxRange", 250, "Resolution", 3,
"Transparency", 0.6)
rx = rxsite("Name", "Small cell receiver", "Latitude", 51.5044579, "Longitude", -0.0171370,
"AntennaHeight", 1);
los(tx,rx)
[Link] = 1;
clearMap(viewer)
raytrace(tx,rx,rtpm)
%Compute the received power.%
ss = sigstrength(rx,tx,rtpm);
disp("Received power using perfect reflection: " + ss + " dBm")
%Update the model to use concrete for the buildings and terrain materials%
[Link] = "concrete";
[Link] = "concrete";
raytrace(tx,rx,rtpm)
ss = sigstrength(rx,tx,rtpm);
disp("Received power using concrete materials: " + ss + " dBm")
Output:
Result: We have successfully performed the analysis of 5G communication link using ray
tracing
Experiment-3
Theory:
Create a default downlink waveform configuration object. The waveconfig object contains the
full waveform specification and is fully configurable.
MATLAB code:
waveconfig = nrDLCarrierConfig
[waveform,waveformInfo] = nrWaveformGenerator(waveconfig);
%Plot spectrogram of waveform for first antenna port
samplerate = [Link](1).[Link];
nfft = [Link](1).[Link];
figure;
spectrogram(waveform(:,1),ones(nfft,1),0,nfft,'centered',samplerate,'yaxis','MinThreshold',-130);
title('Spectrogram of 5G Downlink Baseband Waveform');
[Link]{1}.PRBSet = 0:10;
[waveform,waveformInfo] = nrWaveformGenerator(waveconfig);
% Plot spectrogram of waveform for first antenna port
samplerate = [Link](1).[Link];
nfft = [Link](1).[Link];
figure;
spectrogram(waveform(:,1),ones(nfft,1),0,nfft,'centered',samplerate,'yaxis','MinThreshold',-130);
title('Spectrogram of 5G Downlink Baseband Waveform');
Output:
Theory:
Modern wireless communication systems use spatial multiplexing to improve the data
throughput within the system in a scatterer-rich environment. In order to send multiple data
streams through the channel, a set of precoding and combining weights are derived from the
channel matrix. Then each data stream can be independently recovered. Those weights contain
both magnitude and phase terms and are normally applied in the digital domain.
Compared to current wireless systems, the wavelength in the mmWave band is much smaller.
Although this allows an array to contain more elements with the same physical dimension, it
becomes much more expensive to provide one TR module for each antenna element. Hence, as a
compromise, a TR switch is often used to supply multiple antenna elements. This is the same
concept as the subarray configuration used in the radar community.
The figure above shows that on the transmit side, the number of TR switches, NTRF, is smaller
than the number of antenna elements, NT. To provide more flexibility, each antenna element can
be connected to one or more TR modules. In addition, analog phase shifters can be inserted
between each TR module and antenna to provide some limited steering capability.
MATLAB Code
This section simulates a 64 x 16 MIMO hybrid beamforming system, with a 64-element square
array with 4 RF chains on the transmitter side and a 16-element square array with 4 RF chains on
the receiver side.
Nt = 64;
NtRF = 4;
Nr = 16;
NrRF = 4;
rng(4096);
c = 3e8;
fc = 28e9;
lambda = c/fc;
txarray = [Link](...
'Array',[Link]([sqrt(Nt) sqrt(Nt)],lambda/2),...
'SubarraySelection',ones(NtRF,Nt),'SubarraySteering','Custom');
rxarray = [Link](...
'Array',[Link]([sqrt(Nr) sqrt(Nr)],lambda/2),...
'SubarraySelection',ones(NrRF,Nr),'SubarraySteering','Custom');
rng(4096);
c = 3e8;
fc = 28e9;
lambda = c/fc;
txarray = [Link](...
'Array',[Link]([sqrt(Nt) sqrt(Nt)],lambda/2),...
'SubarraySelection',ones(NtRF,Nt),'SubarraySteering','Custom');
rxarray = [Link](...
'Array',[Link]([sqrt(Nr) sqrt(Nr)],lambda/2),...
'SubarraySelection',ones(NrRF,Nr),'SubarraySteering','Custom');
Ncl = 6;
Nray = 8;
Nscatter = Nray*Ncl;
angspread = 5;
% compute randomly placed scatterer clusters
txclang = [rand(1,Ncl)*120-60;rand(1,Ncl)*60-30];
rxclang = [rand(1,Ncl)*120-60;rand(1,Ncl)*60-30];
txang = zeros(2,Nscatter);
rxang = zeros(2,Nscatter);
% compute the rays within each cluster
for m = 1:Ncl
txang(:,(m-1)*Nray+(1:Nray)) = randn(2,Nray)*sqrt(angspread)+txclang(:,m);
rxang(:,(m-1)*Nray+(1:Nray)) = randn(2,Nray)*sqrt(angspread)+rxclang(:,m);
end
g = (randn(1,Nscatter)+1i*randn(1,Nscatter))/sqrt(Nscatter);
txpos = getElementPosition(txarray)/lambda;
rxpos = getElementPosition(rxarray)/lambda;
H = scatteringchanmtx(txpos,rxpos,txang,rxang,g);
F = diagbfweights(H);
F = F(1:NtRF,:);
pattern(txarray,fc,-90:90,-90:90,'Type','efield',...
'ElementWeights',F','PropagationSpeed',c);
Result: We have studied the basic concept of hybrid beamforming and shown how to split the
precoding and combining weights using an orthogonal matching pursuit algorithm.
Experiment-5
Theory:
We are now going to parameterize and generate a 5G New Radio (NR) physical random access
channel (PRACH) waveform, as defined in TS 38.211. We demonstrate the parameterization and
generation of one PRACH configuration in a single carrier, and display the positions of the
PRACH preambles in the resource grid. We can define the length of the waveform, in terms of
subframes, and set the pattern of the active PRACH preambles in the generated waveform.
Configure one carrier and set the length of the generated waveform in terms of 1 ms subframes.
Visualize the generated resource grid by setting the DisplayGrids field to 1.
Use the waveconfig structure to store configuration parameters needed for the PRACH
waveform generation. The waveconfig structure contains these fields:
MATLAB Code:
waveconfig = [];
[Link] = 10; % Number of 1 ms subframes in generated waveform
[Link] = 1; % Display the resource grid
[Link] = []; % Use the default windowing
% Store the PRACH configuration and additional parameters in the waveconfig structure
[Link] = prach;
[Link] = 'all'; % Index of the allocated PRACH preambles
[Link] = 0; % PRACH power scaling in dB
[waveform,gridset,winfo] = hNRPRACHWaveformGenerator(waveconfig);
Result: We have shown how to generate a time-domain waveform for a single PRACH
configuration on a single carrier by studying the frame structure of 5G technology.
Experiment-6
Theory:
The baseband component carrier waveform is characterized by multiple subcarrier spacing (SCS)
carriers and bandwidth parts (BWP), and multiple sequences of PUSCH and SRS transmission
instances over the different BWPs.
BWPs
A BWP is formed by a set of contiguous resources sharing a numerology on a given SCS carrier.
We can define multiple BWPs using a cell array. Each element in the cell array of
nrWavegenBWPConfig objects defines a BWP. For each BWP, we can specify the SCS, the
cyclic prefix (CP) length, and the bandwidth. The SubcarrierSpacing property links the BWP to
one of the SCS specific carriers defined earlier. The NStartBWP property controls the location of
the BWP in the carrier, relative to point A. NStartBWP is expressed in common resource blocks
(CRB) in terms of the BWP numerology. Different BWPs can overlap with each other.
MATLAB code
[Link] = 'UL carrier 1'; % Label for this uplink waveform configuration
scscarriers = {nrSCSCarrierConfig,nrSCSCarrierConfig};
scscarriers{1}.SubcarrierSpacing = 15;
scscarriers{1}.NSizeGrid = 216;
scscarriers{1}.NStartGrid = 0;
scscarriers{2}.SubcarrierSpacing = 30;
scscarriers{2}.NSizeGrid = 106;
scscarriers{2}.NStartGrid = 1;
% BWP configurations
bwp = {nrWavegenBWPConfig,nrWavegenBWPConfig};
bwp{1}.BandwidthPartID = 1; % BWP ID
bwp{2}.BandwidthPartID = 2; % BWP ID
Theory:
The ever-growing demand for high data rate and more user capacity increases the need to use the
available spectrum more efficiently. Multi-user MIMO (MU-MIMO) improves the spectrum
efficiency by allowing a base station (BS) transmitter to communicate simultaneously with
multiple mobile stations (MS) receivers using the same time-frequency resources. Massive
MIMO allows the number of BS antenna elements to be on the order of tens or hundreds, thereby
also increasing the number of data streams in a cell to a large value.
5G wireless systems use millimeter wave (mmWave) bands to take advantage of their wider
bandwidth. The 5G systems also deploy large scale antenna arrays to mitigate severe propagation
loss in the mmWave band.
Hybrid Beamforming
Hybrid beamforming (also known as hybrid precoding) is a method that enables the use of
massive MIMO antenna arrays in a lower power and cost-efficient manner. In a traditional
antenna array, each antenna requires a dedicated RF chain to transmit and receive each data
stream; with hybrid precoding, each stream requires a dedicated RF chain. This greatly reduces
the number of RF chains, thus reducing cost and power. The analog outputs of each chain are
combined into a network of analog RF gains and phase shifters (the analog RF beamformer,
denoted Frf) that are connected to a large antenna array, where the number of antennas >>
number of streams. These analog units cannot change weights quickly; however the computed
RF weights change slowly over time since they are primarily determined by spatial positions of
receivers. The digital baseband precoding weights (denoted Fbb) may change from symbol to
symbol due to smaller-scale multipath effects, and may also be different from subcarrier to
subcarrier to account for frequency-selective fading.
Virtual Sectorization Using Joint Spatial Division Multiplexing
JSDM takes advantage of spatial clustering of users within the cell and groups these clusters to
create virtual sectors via RF analog beamforming to these groups. The spatial covariance
matrices of the groups are related to the spatial direction of the groups with respect to the base
station antenna array. These matrices are computed using the channel estimates produced from
the sounding signals, and the analog RF beams are derived from these matrices. These beams
focus transmitted energy to the respective groups and minimize intergroup interference.
MATLAB Code
s = rng(67); % Set RNG state for repeatability
% order. The default setting matches the group diagram above; there are two
% groups of users with the first three users assigned to group one and the
numGroups = [Link];
if strcmp([Link],'Scattering')
for g = 1:numGroups
[Link]([Link]+g) = g;
[Link]([Link]+g) = 2;
end
end
(120-(120/(numGroups+1)))/(numGroups-1) * (0:numGroups-1);
if [Link] == 1
rand(1,[Link])*180-90];
else
% For multiple users, randomly place the users within their assigned
% group locations
[Link] = zeros([Link],1);
[Link] = zeros(2,[Link]);
g = [Link](uIdx);
[Link](uIdx) = groupRanges(g) + 30*rand(1);
[Link](:,uIdx) = ...
[groupAzimuth(g)+3*rand(1); groupElevations(g)+3*rand(1)];
end
end
Result: We have studied Spatial Multiplexing and Hybrid Beamforming for 5G Wireless
Communications
Experiment-8
Aim: Massive MIMO System Implementation with CSI
Theory:
MIMO
The key aspects of MIMO include spatial multiplexing, precoding, channel measurement and
reporting.
Spatial multiplexing
It consists of DL channel measurement and reporting by the UEs and UL channel measurement
by gNB.
MATLAB Code:
wirelessnetworkSupportPackageCheck
networkSimulator = [Link];
Create a gNB. Specify the carrier frequency, number of transmit antennas, number of receive
antennas, and receive gain of the node.
gNB = nrGNB(CarrierFrequency=2.6e9,ChannelBandwidth=5e6,SubcarrierSpacing=15e3,...
NumTransmitAntennas=16,NumReceiveAntennas=8,ReceiveGain=11);
Create 4 UEs. Specify the name, position, number of transmit antennas, number of receive
antennas, and receive gain of each UE.
uePositions = [300 0 0; 700 0 0; 1200 0 0; 3000 0 0];
UEs =
nrUE(Name=ueNames,Position=uePositions,NumTransmitAntennas=4,NumReceiveAntennas=2
,ReceiveGain=11);
rlcBearerConfig = nrRLCBearerConfig(SNFieldLength=6,BucketSizeDuration=10);
connectUE(gNB,UEs,RLCBearerConfig=rlcBearerConfig)
dlApp =
networkTrafficOnOff(GeneratePacket=true,OnTime=numFrameSimulation*10e-3,...
OffTime=0,DataRate=appDataRate);
addTrafficSource(gNB,dlApp,DestinationNode=UEs(ueIdx))
ulApp =
networkTrafficOnOff(GeneratePacket=true,OnTime=numFrameSimulation*10e-3,...
OffTime=0,DataRate=appDataRate);
addTrafficSource(UEs(ueIdx),ulApp)
end
addNodes(networkSimulator,gNB)
addNodes(networkSimulator,UEs)
channelConfig = struct("DelayProfile","CDL-C","DelaySpread",300e-9);
channels = createCDLChannels(channelConfig,gNB,UEs);
customChannelModel = hNRCustomChannelModel(channels);
addChannelModel(networkSimulator,@[Link])
enableTraces = true;
simSchedulingLogger = helperNRSchedulingLogger(numFrameSimulation,gNB,UEs);
simPhyLogger = helperNRPhyLogger(numFrameSimulation,gNB,UEs);
end
numMetricsSteps = 10;
PlotSchedulerMetrics=true,PlotPhyMetrics=true);
simulationLogFile = "simulationLogs";
run(networkSimulator,simulationTime);
Result: Massive MIMO System is implemented with CSI
Experiment-9
Theory:
MIMO-OFDM systems are the norm in current wireless systems (e.g. 5G NR, LTE, WLAN) due
to their robustness to frequency-selective channels and high data rates enabled. With
ever-increasing demands on data rates supported, these systems are getting more complex and
larger in configurations with increasing number of antenna elements, and resources (subcarriers)
allocated.
With antenna arrays and spatial multiplexing, efficient techniques to realize the transmissions are
necessary [ 6 ]. Beamforming is one such technique, that is employed to improve the signal to
noise ratio (SNR) which ultimately improves the system performance, as measured here in terms
of bit error rate (BER) [ 1 ].
This experiment illustrates an asymmetric MIMO-OFDM single-user system where the
maximum number of antenna elements on transmit and receive ends can be 1024 and 32
respectively, with up to 16 independent data streams. It models a spatial channel where the array
locations and antenna patterns are incorporated into the overall system design. For simplicity, a
single point-to-point link (one base station communicating with one mobile user) is modeled.
The link uses channel sounding to provide the transmitter with the channel information it needs
for beamforming.
The example offers the choice of a few spatially defined channel models, specifically a
WINNER II Channel model and a scattering-based model, both of which account for the
transmit/receive spatial locations and antenna patterns.
Channel Sounding
For a spatially multiplexed system, availability of channel information at the transmitter allows
for precoding to be applied to maximize the signal energy in the direction and channel of interest.
Under the assumption of a slowly varying channel, this is facilitated by sounding the channel
first, wherein for a reference transmission, the receiver estimates the channel and feeds this
information back to the transmitter.
For the chosen system, a preamble signal is sent over all transmitting antenna elements, and
processed at the receiver accounting for the channel. The receiver components perform
pre-amplification, OFDM demodulation, frequency domain channel estimation, and calculation
of the feedback weights based on channel diagonalization using singular value decomposition
(SVD) per data subcarrier.
MATLAB code
s = rng(61); % Set RNG state for repeatability
% 'ScatteringFcn', 'StaticFlat'
Parameters to define the OFDM modulation employed for the system are specified below.
[Link] = 256;
[Link] = 64;
[Link] = 234;
[Link] = [7 6];
([Link](2)+1:[Link])'; ...
[Link].';];
[Link] = setdiff((1:[Link])',sort(nonDataIdx));
numTx = [Link];
numRx = [Link];
numSTS = [Link];
[Link] = 3*([Link]+[Link]);
[Link] = numSTS;
[isTxURA,expFactorTx,isRxURA,expFactorRx] = helperArrayInfo(prm,true);
Channel Sounding
% Generate the preamble signal
preambleSigSTS = helperGenPreamble(prm);
preambleSig = zeros(size(preambleSigSTS,1),numTx);
for i = 1:numSTS
preambleSig(:,(i-1)*expFactorTx+(1:expFactorTx)) = ...
repmat(preambleSigSTS(:,i),1,expFactorTx);
end
[rxPreSig,chanDelay] = helperApplyChannel(preambleSig,prm,spLoss);
'NoiseFigure',[Link], ...
'ReferenceTemperature',290, ...
'SampleRate',[Link]);
rxPreSigAmp = rxPreAmp(rxPreSig);
(sqrt([Link]-sum([Link])-1)/([Link]));
% OFDM Demodulation
'FFTLength',[Link], ...
'NumGuardBandCarriers',[Link].', ...
'RemoveDCCarrier',true, ...
'PilotOutputPort',true, ...
'PilotCarrierIndices',[Link].', ...
'CyclicPrefixLength',[Link], ...
'NumReceiveAntennas',numRx);
rxPreSigAmp(chanDelay+1:end-([Link]-chanDelay),:));
hD = helperMIMOChannelEstimate(rxOFDM(:,1:numSTS,:),prm);
v = diagbfweights(hD);
For conciseness in presentation, front-end synchronization including carrier and timing recovery
are assumed. The weights computed using diagbfweights are hence fed back to the transmitter,
for subsequent application for the actual data transmission.
amplifier = [Link]('PeakPower',1/numTx,'Gain',0);
for n = 1:numTx
txSig(:,n) = amplifier(txSig(:,n));
end
if isTxURA
'Element',[Link]('BackBaffled',true));
else
'ElementSpacing',0.5*[Link], ...
'Element',[Link]('BackBaffled',true));
end
'PropagationSpeed',[Link]);
wT = SteerVecTx([Link],[Link]);
'WeightsInputPort',true, ...
'PropagationSpeed',[Link], ...
'OperatingFrequency',[Link], ...
'CombineRadiatedSignals',false);
if [Link]
conj(wT));
else
txSteerSig = txSig;
end
h = figure('Position',figposition([10 55 22 35]),'MenuBar','none');
viewArray(arrayTx);
h = figure('Position',figposition([32 55 22 30]),'MenuBar','none');
pattern(arrayTx,[Link],'PropagationSpeed',[Link],'Weights',wT);
h = figure('Position',figposition([54 55 22 35]),'MenuBar','none');
patternAzimuth(arrayTx,[Link],'PropagationSpeed',[Link],'Weights',wT);
if isTxURA
h = figure('Position',figposition([76 55 22 35]),'MenuBar','none');
'Weights',wT);
end
Result: We have Implemented WINNER II 5G Channel Model and 3GPP
Experiment-10
Theory:
MIMO
The key aspects of multiple-input multiple-output (MIMO) include precoding, beamforming,
channel measurement and reporting.
Layer mapping
The layer mapping process maps the modulated symbols of the codeword onto different layers.
Precoding
Precoding, which follows the layer mapping, maps the transmission layers to antenna ports.
Precoding applies a precoding matrix to the transmission layers and outputs data streams to the
antenna ports.
Beamforming
Beamforming involves the use of multiple radiating elements transmitting the same signal to
produce a longer and narrower beam in a particular direction. The higher the number of
antennas, the narrower the beamwidth.
DL Channel Measurement and Reporting
MATLAB code
wirelessnetworkSupportPackageCheck
enableBeamforming = true;
% Specify the azimuth sweep angles and direction of SSBs.
% Azimuth angle is the angle measured in the horizontal plane ranging from [-180, 180] and
% Elevation angle is the angle measured in the vertical plane ranging from [-90, 90] between
horizontal plane and line of sight (LOS) point in the Spherical coordinate system.
if enableBeamforming
% Number of SSBs
numSSBs = 4;
% Total azimuthal range for all SSBs corresponding to a 120 degrees sectorized cell
ssbSweepRange = diff(azSweepRange)/numSSBs;
end
[Link] = 3;
% relative to gNB. Here 'r' is the distance, 'azimuth' is the angle in the
% horizontal plane and elevation is the angle in the vertical plane. When
% beamforming is enabled, all the UE positions must lie with in the azimuth
if enableBeamforming
validateattributes(ueRelPosition(:,2),{'numeric'},{'nonempty','real','vector',
'>=',azSweepRange(1),'<=',azSweepRange(2),'finite'}, ...
'ueRelPosition(:,2)','azimuth angles');
validateattributes(ueRelPosition(:,3),{'numeric'},{'nonempty','real','vector',
'>=',elSweepRange(1),'<=',elSweepRange(2),'finite'}, ...
'ueRelPosition(:,3)','elevation angles');
end
validateattributes([Link], {'numeric'},{'nonempty','real',
'nrows',[Link],'ncols',3,'finite'}, '[Link]','UEPosition');
% Set the channel bandwidth to 5 MHz and the subcarrier spacing (SCS) to 15 kHz as defined in
3GPP TS 38.104 Section 5.3.2.
[Link] = 25;
[Link] = 5e6; % Hz
[Link] = 5e6; % Hz
[Link] = 2.646e9; % Hz
[Link] = 2.535e9; % Hz
gNBTxArraySize = [2 4 2];
lambda = physconst('LightSpeed')/[Link];
[Link] = [Link]('ElementSet',
repmat({[Link]},1,gNBTxArraySize(3)), 'Size',[gNBTxArraySize(1:2) 1
1],'Spacing', [0.5*lambda 0.5*lambda 1 1]);
% Specify the CSI-RS configuration for RI, PMI and CQI measurements.
csirs = cell(1,[Link]);
csirsOffset = [5 6 10 11];
csirs{csirsIdx} = nrCSIRSConfig('NID',1,'NumRB',[Link],
'RowNumber',11,'SubcarrierLocations',[1 3 5 7], 'SymbolLocations',0,'CSIRSPeriod',[20
csirsOffset(csirsIdx)]);
end
[Link] = csirs;
if enableBeamforming
[Link] = 4;
csirsConfigRSRP = cell(1,numSSBs);
csirsConfig = nrCSIRSConfig;
[Link] = 1;
[Link] = repmat({'nzp'},1,[Link]);
[Link] = repmat({'one'},1,[Link]);
[Link] = repmat(2,1,[Link]);
[Link] = {1,5,6,7};
[Link] = [Link];
csirsConfigRSRP{ssbIdx} = csirsConfig;
end
[Link] = csirsConfigRSRP;
end
Result: We have Evaluated the Performance of 5G Modulation and Access Schemes