riebl / artery

OMNeT++ V2X simulation framework for ETSI ITS-G5
GNU General Public License v2.0
203 stars 131 forks source link

PER recording #197

Closed SamirRachedi closed 1 year ago

SamirRachedi commented 3 years ago

hello @riebl,

How to record only Packet Error rate for a scenario (disable all other recordings)? I tried adding this on my omnetpp.ini to disable all stats : .node[].wlan[*].**.statistic-recording = false

Then, I added these lines to record PER:

.node[].**.packetErrorRate.statistic-recording = true .node[].**.packetErrorRate.result-recording-modes = all

But it's not working?

Thanks in advance.

MadeInPierre commented 3 years ago

Hi @SamirRachedi,

I remember reading in OMNeT++'s documentation that the first line match in omnetpp.ini that corresponds to each NED parameter is selected, the other matches are ignored.

In this case, your two last lines are probably ignored. Maybe there is another way of disabling other statistics?

Best Regards

SamirRachedi commented 3 years ago

Hi @MadeInPierre,

I thought of that too at first. So I tried adding the following lines to test: .node[].middleware.CA.transmission.result-recording-modes = all .node[].middleware.CA.reception.result-recording-modes = all

And these lines worked just fine (recording stats for CA transmissions and receptions). But not the PER stats. This is where I was lost, I don't know exactly what went wrong.

Thanks anyway.

MadeInPierre commented 3 years ago

If i'm not mistaken, the first of these two lines does not match the second since wlan[*] != middleware: .node[].wlan[*].**.statistic-recording = false .node[].middleware.CA.transmission.result-recording-modes = all

So the parameter .node[].middleware.CA.transmission.result-recording-modes only finds the second line and not the first. I hope I'm correct, if not please ignore my message :smile:

SamirRachedi commented 3 years ago

No problem at all @MadeInPierre , it's always nice to exchange with others. In the beginning, without all these lines, I noticed that Artery is recording lots of stats (I got a 60GB file !!!!). So I used: .node[].wlan[*].**.statistic-recording = false to disable all stats and it worked. Than I added : .node[].**.packetErrorRate.statistic-recording = true .node[].**.packetErrorRate.result-recording-modes = all to recorded PER. When I saw it's not woking I tried to add: .node[].middleware.CA.transmission.result-recording-modes = all .node[].middleware.CA.reception.result-recording-modes = all Just to test (to be sure that moment is not ignoring other lines as you mentioned in your first reply) and it worked fine.

I guess you get my point. Thanks anyway.

riebl commented 3 years ago

I guess you have managed to record PERs, do you @SamirRachedi? Do you think we should add some information about result recording to our documentation, i.e. beyond the information provided by OMNeT++ itself?

SamirRachedi commented 3 years ago

Hello @riebl,

I managed to understand what I did wrong and I'm getting the PER now. Just Don't know how to get curves of PER vs Distance like in the figure below:

image

Appreciate any help. thanks a lot.

riebl commented 1 year ago

I have added a task regarding "X-distance-plots" to #215 and thus close this issue now.