Reply To: 3 cell simulation

#10301
chai
Participant

Dear Dr. Stefan,

Below are exactly all the data that i used:
“% numerology scenario
%
% simulation setup to show simulation with different subcarrier
% spacings for different users with UFMC modulation

%% Simulation Parameters
% set link types to simulate
scStr.simulation.simulateDownlink = true; % downlink
scStr.simulation.simulateUplink = false; % uplink
scStr.simulation.simulateD2D = false; % device to device links

% plot options
scStr.simulation.plotOverSNR = true; % select to plot resulty over SNR instead of pathloss

% define a sweep parameter
scStr.simulation.sweepParam = {‘simulation.pathloss’}; % sweep ove pathloss to obtain results over SNR
scStr.simulation.sweepValue = linspace(140,110,8); % Define parameter values to sweep over, in dB. A good starting point for the pathloss is 150 to 110

scStr.simulation.nFrames = 1000; % number of frames to simulate per sweep value

scStr.simulation.txPowerUser = [30, 30, 30];
scStr.simulation.txPowerBaseStation = [30, 30, 30]; % 10dB more transmit power for UE1

scStr.simulation.pathloss = 80;

scStr.simulation.nAntennasUser = [1, 1, 1]; % single antenna setup for all nodes
scStr.simulation.nAntennasBaseStation = [1, 1, 1];

scStr.simulation.centerFrequency = 2.5e9;
scStr.simulation.channelEstimationMethod = ‘PilotAided’;
scStr.simulation.pilotPattern = ‘Diamond’;
scStr.simulation.equalizerType = ‘One-Tap’;
scStr.simulation.receiverTypeMIMO = ‘ZF’;

%% Topology
% Specifiy all the nodes in ascending order with starting
% index of 1 (BS0 or UE0 is not allowed).
scStr.topology.nodes = [‘BS1,BS2,BS3,UE1,UE2,UE3’]; % 2 cells with one user each

% Primary (desired) links
scStr.topology.primaryLinks = [ ‘BS1:UE1,’… % downlink links only
‘BS2:UE2,’…
‘BS3:UE3’ ];

% Interference Links
scStr.topology.interferenceGeneration = ‘Automatic’; % automatic generation of interference links
scStr.topology.attenuation = 0; % set attenuation to zero to virtually have two users in one cell

scStr.topology.interferingLinks = [ ‘BS1:UE1*0,’… % unused
‘BS2:UE2*0,’…
‘BS3:UE3*0’];

%% Modulation Parameters
% waveform
scStr.modulation.waveform = { ‘f-OFDM’, … % waveform for each BS:
‘WOLA’, …
‘OFDM’ }; % ‘OFDM’ – Orthogonal Frequency Division Multiplexing
% ‘FBMC’ – Filer Bank MultiCarrier
% ‘UFMC’ – Universal Filtered MultiCarrier
% ‘f-OFDM’ – filtered OFDM
% ‘WOLA’ – Weighted OverLap and Add

% parameters for FBMC
scStr.modulation.prototypeFilter = ‘PHYDYAS-OQAM’; % prototype filter for FBMC:
% ‘Hermite-OQAM’
% ‘Hermite-QAM’
% ‘Rectangle-QAM’
% ‘RRC-OQAM’
% ‘RRC-QAM’
% ‘PHYDYAS-OQAM’
% ‘PHYDYAS-QAM’

% parameters for UFMC
scStr.modulation.nSubcarriersPerSubband = [12, 12, 12]; % number of subcarriers per subband
scStr.modulation.FilterLength = [112, 28]; % filter length

% SISO transmission
scStr.modulation.transmissionMode = ‘spatial multiplexing’; % SM with single antenna equals a SISO transmission
scStr.modulation.precodingCodebook = ‘custom’;
scStr.modulation.mcs = [15, 15];
scStr.modulation.nStreams = [1, 1];
scStr.modulation.precodingMatrix{1} = 1;
scStr.modulation.precodingMatrix{2} = 1;

% time and bandwidth setup
scStr.modulation.subcarrierSpacing = [15e3, 30e3, 15e3]; % select a four times bigger subcarrier spacing in the second cell
scStr.modulation.numerOfSubcarriers = [72, 36, 72]; % to have the same bandwidth, the total number of subcarriers must be one fourth on the second cell
scStr.modulation.nSymbolsTotal = [15, 30, 15]; % to have the same frame duration, the total number of symbols must be four times higher in the second cell
scStr.modulation.nGuardSymbols = [1, 2, 1]; % the total guard time has to be four times larger in the second cell to make frame durations match
scStr.modulation.samplingRate = ‘Automatic’; % sampling rate has to be the same for all nodes (across all base stations):
% either numeric value for manual setting or ‘Automatic’
scStr.modulation.oversamplingFactor = 2; % oversampling factor for sampling rate calculation, should be at least two

%% Channel Coding Parameters
scStr.coding.code = {‘Turbo’, ‘Turbo’, ‘Turbo’};
scStr.coding.decoding = { ‘MAX-Log-MAP’,…
‘MAX-Log-MAP’,…
‘MAX-Log-MAP’};
scStr.coding.decodingIterations = [10, 10, 10];

%% Schedule
% both users are scheduled the same total bandwidth
scStr.schedule.fixedSchedule{1} = [ ‘UE1:36,none:36’ ]; % first user gets the upper half of the first cells’s schedule
scStr.schedule.fixedSchedule{2} = [ ‘none:18,UE2:18’ ]; % second user gets the lower half of the second cells’s schedule
scStr.schedule.fixedSchedule{3} = [ ‘none:36,UE3:36’ ];

%% Channel Parameters
scStr.simulation.userVelocity = [0, 0, 0];
scStr.channel.dopplerModel = ‘Discrete-Jakes’;
scStr.channel.nPaths = 50;
scStr.channel.powerDelayProfile = ‘PedestrianA’;

Please guide me on what should i do.

Chai