I would like to perform tests for each channel at L1 under various SNR conditions and channel situations.
Therefore, I referred to the documentation and used the commands below to generate test vectors for each channel in MATLAB:
However, it seems that I cannot change the channel parameters, such as SNR values, for each channel.
For example, I changed the SNR, Dopper shift, and channel model values in ‘performance-avg.xlsm’ file and generated the test vectors, but those values were not reflected.
Please let me know if there’s another method to generate diverse test vectors while modifying these parameter values.
You should use the scripts testPerformance_** for this purpose.
You can set the SNR to different values by defining SNR_offset value(s). SNR offset is the difference of SNR from the starting SNR value.
In the following example, the default starting SNR value for the test case 7001 is -2.8 dB. The following command will run the simulation for the SNR values -2.8, -0.8, 1.2 and 3.2 dB. Note that you need to run sufficient number of frames (unlike on the following simple example) to be able to see a meaningful BLER values.
I would like to verify the operation of cuPHY on a GPU.
Therefore, my goal is to create a test vector that will be used when running the cuPHY example.
For example, I want to generate a test vector in HDF5 file format as the output.
I am wondering if the above guide is the correct method for generating test vectors.
Additionally, according to the documentation, the 5G Toolbox is not required for TV generation.
▶ 5G Toolbox (optional)
▶ Not required for TV generation
▶ Required for waveform compliance test and performance simulation
Is there a way to disable the 5G Toolbox in MATLAB while generating a test vector?
Is there any possible way to generate test vectors based on Matlab without using the 5G toolbox?
And I have one more question regarding mcore.
When using MATLAB, it seems possible to modify various configuration values directly in the code.
How can I modify configuration values when using mcore?
For example, if I modify the channel code, is there a way to use Mcore to generate a test vector with the modified code?
5G Toolbox is used by multiple components in 5G Model. In general, it may not be straightforward to bypass the 5G Toolbox.
If you are mainly interesting in changing the channel model, you can do this by setting Chan.model_source = 'custom';
in 5G_Model/nr_matlab/config/cfgChan.m .
You should rebuild the mcore again since the code is modified.
Thank you for the explanation.
I was wondering how to rebuild mcore.
According to the documentation, it seems that aerial_mcore is already installed in the cuBB container.
Is there a way to rebuild and apply the modified code?
If so, I would like to know which command can be used to build the mcore
Rebuilding the aerial mcore requires Matlab runtime and 5G toolbox license. We are providing aerial_mcore so that you do not need a license while generating the TVs. Unless you are making changes to the Matlab source files, you do not need to regenerate the aerial_mcore. There are many different L1 configurations supported by our 5G Model, which you can use for your testing.
Sample example scripts provided here can be modified to call Matlab runtime depending on your need.
Please see example_runSim.py script, which calls the Matlab function runSim(cfgFileName, tvFileName, rxFileName, nargout=4). This function can generate testvectors as defined in the cfgFileName. You can modify this script to call testPerformance_pusch(7001, [0, 2, 4, 6]) as well.
As long as the given L1 configuration is supported by 5G Model and Aerial cuPHY, the TV will be generated.
You can then use these TVs for testing with cuPHY or cuBB.
I received a message from you (via email) regarding randomization of the PDU payload, but the message is not shown here. I am not sure if you resolved it already.
Thank you for your response.
I found that the random seed value is initially set to 0 in the ‘SimCtrl.seed’.
After changing it to the current time, I confirmed that a different test vector is generated each time.
If there is anything wrong with this solution, please let me know.
Once again, thank you for your response.