Variation in results

Viewing 14 posts - 1 through 14 (of 14 total)
  • Author
  • #10682

    Each time i simulate a scenario i get different results. I am concerened with the stability of results.



    to get a better insight into your issue, I need some further information.

    Which version of the simulator are you using?
    Which scenario are you simulating, or did you define your own simulation scenario? In the latter case, please let me know more details about your specified scenario.
    How many subframes are you simulating?



    Thanks for the response sir
    1. I am using 5GSimulator_v1.0 and its a self-defined scenario and
    scStr.simulation.nFrames = 1000;
    2. my loop over sweep values goes from 1 to 8 is that bothers me. If so then what should be its value.

    • This reply was modified 4 years ago by BP.

    now i changed the frame size to 2000 the results are totally changed from the one obtained from 1000 iterations



    I highly encourage you to switch to the new release 1.1

    If you are still facing issues with the new version while using a self defined scenario, I kindly ask you to describe your simulation setup in more detail.



    I changed the frame size to that ok to get stable results
    If i shift to new version then how much frame size i should kept for stable results


    I changed the frame size to that ok to get stable results
    If i shift to new version then how much frame size i should kept for stable results



    as I already explained, to answer this question, more information about your scenario is necessary. Also, I am not quite sure, what you mean by “unstable” results?



    Thanks for the help
    I want to simulate fofdm with transmitter and receiver filter length each of 512. How i can proceed to there any more parameters to be changed. Kindly help


    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

    % 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’
    % 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 = ‘Jakes’; % implementation of a Doppler spectrum:
    % ‘Jakes’
    % ‘Uniform’
    % ‘Discrete-Jakes’
    % ‘Discrete-Uniform’ = 50; % number of propagation paths for the Doppler model = ‘TDL-C_1000ns’; % power delay profile model, possible choices are:
    % ‘AWGN’
    % ‘Flat’
    % ‘PedestrianA’
    % ‘PedestrianB’
    % ‘VehicularA’
    % ‘VehicularB’
    % ‘ExtendedPedestrianA’
    % ‘ExtendedVehicularA’



    the filter length for F-OFDM is currently set to 1.5 of the CP length. You may change this factor 1.5 in the SimulationParameters.m script at lines 1030 to 1036.



    Are u talking about these lines:

    1.5*obj.modulation.nGuardSymbols(BSiD)/… % Length of the transmit filter (s)
    ((obj.modulation.nSymbolsTotal(BSiD)- …
    1.5*obj.modulation.nGuardSymbols(BSiD)/… % Length of the receive filter (s)

    so what factors we can choose instead 1.5

    • This reply was modified 3 years, 11 months ago by BP.

    i tried many factors increasing from 1.5 but no success. Kindly guide me regarding this issue.



    yes this is the factor. As I said, it means that currently the filter length corresponds to 1.5 times the CP length. However, you may change this number according to your desired filter length. I recommend to choose a value that is a multiple of the sampling rate.


Viewing 14 posts - 1 through 14 (of 14 total)
  • The forum ‘Vienna 5G Link Level Simulator’ is closed to new topics and replies.