Reply To: Variation in results

#10719
BP
Participant

Sir
I actually simulated fofdm and ofdm in scenario mentioned below in which ofdm performed well which is weird. kindly help

%% 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 optionsfra
scStr.simulation.plotOverSNR = true; % select to plot resulty over SNR instead of pathloss

% define a sweep parameter
scStr.simulation.sweepParam = {‘simulation.pathloss’}; % Define the parameter to sweep over. This can be almost any simulation parameter.
% Most likely it will be the pathloss to obtain results over SNR.
scStr.simulation.sweepValue = linspace(160,120,8); % Define parameter values to sweep over, in dB. A good starting point for the pathloss is 150 to 110

scStr.simulation.nFrames = 3000; % number of frames to simulate per sweep value, adjust to obtain sufficiently small confidence intervalls

scStr.simulation.txPowerUser = [30, 30]; % per UE; user total transmit power in dBm
scStr.simulation.txPowerBaseStation = [30, 30]; % per BS; base station total transmit power in dBm

scStr.simulation.pathloss = 80; % channel pathloss in dB, this is most likely swept over

scStr.simulation.nAntennasUser = [1, 1]; % per UE; number of antennas at the user
scStr.simulation.nAntennasBaseStation = [1, 1]; % per BS; number of antennas at the base station

scStr.simulation.centerFrequency = 2.5e9; % center frequency
scStr.simulation.channelEstimationMethod = ‘PilotAided’; % channel estimation method:
% ‘Approximate-Perfect’
% ‘PilotAided’

scStr.simulation.pilotPattern = ‘LTE Downlink’; % pilot symbol allocation pattern
% ‘Rectangular’
% ‘Diamond’
% ‘LTE Downlink’

scStr.simulation.equalizerType = ‘One-Tap’; % Multicarrier equalizer: ‘One-Tap’
scStr.simulation.receiverTypeMIMO = ‘ZF’; % Multicarrier equalizer: ‘ZF’,’MMSE’,’Sphere’,’ML’

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

% Primary (desired) links
scStr.topology.primaryLinks = [ ‘BS1:UE1,’… % links to be considered as disired links
‘BS2:UE2,’];

% Links for Joint Tranmission and Detection (future work)
scStr.topology.jointTxRxLinks = [”];

% Interference Links
scStr.topology.interferenceGeneration = ‘Automatic’; % generation of interference links
% ‘Automatic’ automatically generates all possible interference links
% ‘Manual’ manually choose interference links and their attenuation

scStr.topology.attenuation = 30; % in dB, for all links under ‘Automatic’ generation

scStr.topology.interferingLinks = [ ‘BS1:UE2*0,’… % For ‘Manual’ generation, specifiy the interference links
‘BS2:UE1*0’]; % Value after the * symbol denotes the attenuation in dB.
% BS1:UE3*20 means that the link from BS1 to UE3 is an
% interference link with attenuation equal to 20 dB;

%% Modulation Parameters
% waveform
scStr.modulation.waveform = { ‘OFDM’, … % waveform for each BS:
‘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]; % number of subcarriers per subband
scStr.modulation.FilterLength = [10, 5]; % filter length in samples

% MIMO mode
scStr.modulation.transmissionMode = ‘spatial multiplexing’; % currently only spatial multiplexing is supported.
% this automatically results in receive diverstiy
% in case there are more receive than transmit antennas

scStr.modulation.precodingCodebook = ‘custom’; % type of codebook from which precoding matrix is chosen
% custom: the precoding matrix has to be specified via modulation.precodingMatrix{iBS}

% fixed link adaptation parameters
scStr.modulation.mcs = [8,8]; % per BS; MCS schemes
scStr.modulation.nStreams = [1,1]; % per BS; number of active spatial streams
scStr.modulation.precodingMatrix{1} = 1; % BS1; employed precoding matrix
scStr.modulation.precodingMatrix{2} = 1; % BS2; employed precoding matrix

% time and bandwidth setup (number of subcarriers, frame duration, CP
% length, sampling rate)
scStr.modulation.numerOfSubcarriers = [72, 36]; % per BS; number of used subcarriers
scStr.modulation.subcarrierSpacing = [15e3, 30e3]; % per BS; per base station in Hz
scStr.modulation.nSymbolsTotal = [15, 30]; % per BS; total number of time-symbols per frame, the frame duration will be nSymbolsTotal/subcarrierSpacing
scStr.modulation.nGuardSymbols = [1, 2]; % per BS; select how many of the total time-symbols will be used as guard symbols (cyclic prefix in OFDM)
scStr.modulation.samplingRate = 15e3*72*2; % 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’}; % per BS; channel code:
% ‘Turbo’
% ‘LDPC’
% ‘TB-Convolutional’
% ‘Polar’

scStr.coding.decoding = { ‘MAX-Log-MAP’,…
‘MAX-Log-MAP’}; % per BS; decoding algorithm:
% ‘MAX-Log-MAP’List-SC

scStr.coding.decodingIterations = [8,8]; % per BS; number of decoding iterations

%% Schedule
% static schedule per base station
scStr.schedule.fixedSchedule{1} = [ ‘UE1:60,none:12’ ]; % schedule for BS1
scStr.schedule.fixedSchedule{2} = [ ‘none:24,UE2:12’ ]; % schedule for BS2

%% Channel Parameters
scStr.simulation.userVelocity = [4,8]; % per UE; velocity in m/s
scStr.channel.dopplerModel = ‘Jakes’; % implementation of a Doppler spectrum:
% ‘Jakes’
% ‘Uniform’
% ‘Discrete-Jakes’
% ‘Discrete-Uniform’

scStr.channel.nPaths = 50; % number of propagation paths for the Doppler model

scStr.channel.powerDelayProfile = ‘TDL-C_1000ns’; % power delay profile model, possible choices are:
% ‘AWGN’
% ‘Flat’
% ‘PedestrianA’
% ‘PedestrianB’
% ‘VehicularA’
% ‘VehicularB’
% ‘ExtendedPedestrianA’
% ‘ExtendedVehicularA’