BLER Error in Uplink Link Level Simulator using multisim

Tagged: 

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #5600
    Yeon Tan
    Participant

    Hi everyone,

    I have customized the code under example/doc_mimo which is used to simulate the performance of Uplink by varying the UE speed and MIMO respectively. For the UE speed case, the code is as followed:

    simulation.DEBUG_LEVEL = 1;
    simulation.cqi_i = 15; % irrelevant if scheduler.assignment = ‘dynamic’
    simulation.SNR_vec = linspace(0,30,2); % SNR points
    simulation.N_subframes = 100;
    simulation.show_plot = true;

    s1 = multisim.Config(‘0 km/h’);
    s1.add(‘UE_config.user_speed’, 0/3.6);
    simulation.add(s1);

    s2 = multisim.Config(‘5.4 km/h Man Walking’);
    s2.add(‘UE_config.user_speed’, 1.5);
    simulation.add(s2);

    s3 = multisim.Config(’40 km/h Bicycle’);
    s3.add(‘UE_config.user_speed’, 11.2);
    simulation.add(s3);

    s4 = multisim.Config(‘110 km/h Car’);
    s4.add(‘UE_config.user_speed’, 30.5);
    simulation.add(s4);

    s5 = multisim.Config(‘160 km/h LRT’);
    s5.add(‘UE_config.user_speed’, 44);
    simulation.add(s5);

    Whereas for the MIMO coding:

    s1 = multisim.Config(‘SISO’);
    s1.add(‘UE_config.nTX’, 1);
    s1.add(‘BS_config.nRX’, 1);
    s1.add(‘UE_config.mode’, 1);
    simulation.add(s1);

    s3 = multisim.Config(‘CLSM 2×2’);
    s3.add(‘UE_config.nTX’, 2);
    s3.add(‘BS_config.nRX’, 2);
    s3.add(‘UE_config.mode’, 4);
    simulation.add(s3);

    s4 = multisim.Config(‘CLSM 4×4’);
    s4.add(‘UE_config.nTX’, 4);
    s4.add(‘BS_config.nRX’, 4);
    s4.add(‘UE_config.mode’, 4);
    simulation.add(s4);

    The throughput graph seems fine but BLER graph seems incorrect since it didn’t even show curve lines on the graph.

    LTE_params.ChanMod_config.filtering = ‘FastFading’;
    LTE_params.ChanMod_config.time_correlation = ‘correlated’;

    These parameters had been modified and bandwidth used is 20 MHz.

    By the way, how to separate coded line and uncoded line on the graph ?

    The MIMO case can’t even finish simulating.

    I have searched through the other posts in which it advised to execute simulation_results.plot_BLER_throughput after simulation. However, after i typed in command windows, it showed error like:

    >> simulation_results.plot_BLER_throughput
    Undefined variable “simulation_results” or function “simulation_results.plot_BLER_throughput”.

    It seems like Uplink Version doesn’t have this file, do it ? What can i do ?

    Any help would be appreciated. Thanks in advance for the help.

    • This topic was modified 4 years, 10 months ago by Yeon Tan.
    #5731
    Yeon Tan
    Participant

    Can anyone help ??? I wonder if Uplink version cannot plot BLER graph ?

    #5732
    Yeon Tan
    Participant

    Can anyone help me ? I wonder if uplink version cannot generate BLER curve ? All results i got are only 2 values in matrix.

    #5788

    Hi,

    sorry it took so long to answer. Unfortunately I could not completely reconstruct your error. When using the same simulation parameters as you do, simulation results actually show some BLER. However, I have a few hints and questions for you.

    Plase note, that when using multisim, parameters are taken from the parameter file specified in the corresponding multisim config file. In your case, if you are using the doc_mimo.m multisim script, this is the load_params_doc_antenna.m in the examples folder. This means that you have to configure all simulation parameters here rather than in LTE_UL_load_parameters. Further, I highly recommend to change some of your simulation parameters. First, it seems you simulate only 2 points of SNR which will not give you nice curves as result. I recommend to simulate 8 points of SNR spaced from 0 to 30dB. Second, if you are interested in BLER, you should increase the number of subframes simulated. In your current setting, you only use 100 subframes, meaning the lowest BLER you are able to simulate is 1/100. Also, I advise to reduce the simulation bandwidth to reduce the simulation time. Since the number of transmitted symbols grows with the bandwidth, also the simulation time increases super linear with the bandwidth. To obtain initial results I advise you to choose the lowest bandwidth of 1.4MHz. Especially when simulating MIMO, a high bandwidth will lead to extremely long simulation times (maybe in the order of many days) which is probably the reason why your MIMO simulation is not finishing.

    Which version of the simulator are you using? Is there any reason to use 20MHz bandwidth?

    greetings
    Stefan

    #5792
    Yeon Tan
    Participant

    Hi Stefan,

    I am glad you finally replied my questions. You mentioned about all simulation parameters, are you referring to load_params_doc.m, load_params_doc_antenna.m and load_params_doc_mimo.m and quicktest_load_params.m under Example folder ? I thought simulation.parameter_scripts = {‘examples/load_params_doc_antenna’}; means it only runs load_params_doc_antenna.m script ?

    Besides, i am now using multisim_doc_example.m to run simulation instead. Yeah, i do use simulation.SNR_vec = linspace(-10,30,30); during the period you didn’t reply my questions which it takes 30 points and runs quite a while to get results. The results appears to be better and show curve line instead of straight line. And i use simulation.N_subframes = 1000; Now i have questions to ask: Why sometimes my BLER plot will show vertical straight line and sometimes show zero value ? Is it possible to get vertical straight line ? I guess zero value is acceptable.

    By the way, i discovered that when i set LTE_params.UE_config.CQI_fb to false and use simulation.cqi_i = 7; my BLER curve appears to be Inverted J Curve. Unlike the previous simulation which BLER curve appears to be fluctuate ( up and down ) from 0 dB to 30 dB, using CQI feedback set to false the BLER curve appears to be Inverted J Curve. Can i explain it by saying using CQI Feedback set to false means CQI value is fix , so is the modulation order and thus the error keeps reducing while SNR increases ?

    I also want to ask about the LTE_params.ChanMod_config.type like PedA, PedB , VehA, TU and so on. However, i cannot find any information about them with the documentation file as well as online resource. Is that any way i can approach ?

    Last but not least, the uplink version i used is the latest version which is v1.5. I use 20 MHz bandwidth because it is a standard bandwidth used in the operator company here.

    Thanks in advance for your kindly reply.

    #5802

    Hi,

    I thought simulation.parameter_scripts = {‘examples/load_params_doc_antenna’}; means it only runs load_params_doc_antenna.m script ?

    Yes, when you are using this line, only the specified parameter script is used where you have to adjust all parameters accordingly.

    Why sometimes my BLER plot will show vertical straight line and sometimes show zero value ? Is it possible to get vertical straight line ? I guess zero value is acceptable.

    I think the vertical straight lines you are referring to are the 95% bootstrap confidence intervals, indicating the simulated value’s confidence. In case this vertical line is very big, only a insufficient number or errors was found and the corresponding BLER cannot be calculated with high confidence. This usually happens when simulating to high SNR with a small number of subframes. For example, when you expect a BLER of 0.01 and you simulate 1000 subframes, there are only 10 frame errors found from which the BLER is calculated.

    Can i explain it by saying using CQI Feedback set to false means CQI value is fix , so is the modulation order and thus the error keeps reducing while SNR increases ?

    Yes, exactly. The feedback mechanism tries to maximize the throughput while maintaining a BLER of approximately 0.1 by selecting a proper CQI value. When disabling the feedback and simulating with a fixed CQI, the BLER will be very high at low SNR but decreases rapidly with SNR.

    I also want to ask about the LTE_params.ChanMod_config.type like PedA, PedB , VehA, TU and so on. However, i cannot find any information about them with the documentation file as well as online resource. Is that any way i can approach ?

    You can find two references for channel models in the simulator documentation. Specifications of channel models can be found in http://www.etsi.org/deliver/etsi_tr/125900_125999/125943/07.00.00_60/tr_125943v070000p.pdf and https://www.itu.int/dms_pubrec/itu-r/rec/m/R-REC-M.1225-0-199702-I!!PDF-E.pdf .

    Last but not least, the uplink version i used is the latest version which is v1.5. I use 20 MHz bandwidth because it is a standard bandwidth used in the operator company here.

    I understand, however, since almost all results scale with the employed bandwidth, I recommend to use the lowest bandwidth for simulations in order to save time.

    greetings
    Stefan

    #5819
    Yeon Tan
    Participant

    Hi,

    I really appreciate your answers. However, i still have some questions to ask if you don’t mind.

    Firstly, is the error occurred in transport block same all the time so that number of subframes is the major contribution to the curve of BLER ?

    Secondly, is that any code file that deals with CQI mapping with Modulation Order ? I would like to modify the Modulation Order that matches with certain CQI value so that fix Modulation order will be used in certain SNR, , is it possible ?

    Thirdly, what is the main difference between coded and uncoded output results in Throughput and BER plot ? How do both coded and uncoded operate to generate the output ? How come BLER plot do not have uncoded curve ?

    Last but not least, how can i verify whether my throughput, BLER and BER plot curve are correct ?

    Thanks in advance for your answers.

    #5820

    Hi,

    Firstly, is the error occurred in transport block same all the time so that number of subframes is the major contribution to the curve of BLER ?

    Of course, bit errors occur randomly in the simulation. However, you have to make sure that the number of simulated subframes is sufficiently high, such that the BLER results are meaningful. For example, when simulating only 100 subframes, the lowest BLER that can be obtained is 1/99, meaning only one out of 100 transmitted blocks was in error. This result is statistically not reliable at all.

    Secondly, is that any code file that deals with CQI mapping with Modulation Order ? I would like to modify the Modulation Order that matches with certain CQI value so that fix Modulation order will be used in certain SNR, , is it possible ?

    The Modulation and Coding Schemes (MCS) associated with a certain CQI value is standardized by 3GPP. It is possible to modify the MCS for each CQI, you can find the implementation of CQI values in LTE_UL_load_parameters_dependent. Please note that link adaptation is performed when LTE_params.UE_config.CQI_fb = true, when an effective CQI mapping is performed as described in http://publik.tuwien.ac.at/files/PubDat_175708.pdf and http://publik.tuwien.ac.at/files/PubDat_186497.pdf . This means that just changing the MCS of certain CQIs will probably not lead to expected results.

    Thirdly, what is the main difference between coded and uncoded output results in Throughput and BER plot ? How do both coded and uncoded operate to generate the output ? How come BLER plot do not have uncoded curve ?

    Uncoded bit errors are considered for the calculation of the uncoded Bit Error Ratio (BER), meaning without turbo coding, while bit errors of coded data bits are considered for the calculation of the coded BER, meaning with turbo coding applied. If a codeblock still has errors after the decoding, it is counted as block error (or frame error) and is considered for the calculation of the Block Error Ratio (BLER) (or Frame Error Ratio (FER)). As these blocks are code blocks, there is no uncoded BLER.

    Last but not least, how can i verify whether my throughput, BLER and BER plot curve are correct ?

    For a quick check you can use the example results provided in the documentation in order to check if the simulator is working as expected. Beyond that, verifying numerical simulation results is a non trivial task. Whether results you produce with you own simulation are meaningful or show the expected or intended behavior is not straight forward to evaluate.

    greetings
    Stefan

    #5874
    Yeon Tan
    Participant

    Hi,

    I really appreciate all your kindly answers !!! Thanks very much !!!

    Best regards,
    Yeon

Viewing 9 posts - 1 through 9 (of 9 total)
  • You must be logged in to reply to this topic.