Omnet ++ Castalia Энергопотребление - PullRequest
0 голосов
/ 24 апреля 2018

Я сделал этот файл .ini, чтобы попытаться смоделировать количество энергии, потребляемой в линейном WSN, размещенном на железной дороге, но потребление энергии не соответствует ожиданиям, и я не понимаю, кто-то знает, что происходит?

Я хочу, чтобы узел 0 был следующим, а узел 9 - узлом, способным воспринимать и пересылать данные узлу 0

, код:

[General]

include ../Parameters/Castalia.ini

repeat = 2

sim-time-limit = 7000s

SN.numNodes = 10


SN.node[1].xCoor = 10
SN.node[2].xCoor = 20
SN.node[3].xCoor = 30
SN.node[4].xCoor = 40
SN.node[5].xCoor = 50
SN.node[6].xCoor = 60
SN.node[7].xCoor = 70
SN.node[8].xCoor = 80
SN.node[9].xCoor = 90



SN.node[0..9].ResourceManager.initialEnergy = 1000
SN.node[*].Communication.Radio.RadioParametersFile = "../Parameters/Radio/CC2420.txt"

SN.node[*].Communication.Radio.collectTraceInfo = false
SN.node[*].Communication.Radio.TxOutputPower = "-5dBm"
SN.node[*].Communication.MAC.collectTraceInfo = false
SN.node[*].Communication.Routing.collectTraceInfo = true
SN.node[*].Application.collectTraceInfo = false

SN.wirelessChannel.onlyStaticNodes = true
SN.wirelessChannel.sigma = 0
SN.wirelessChannel.bidirectionalSigma = 0


#amount of packets sent
SN.node[*].ApplicationName = "ThroughputTest"
SN.node[9].Application.packet_rate = 300

# Here i define the static routing

SN.node[9].Application.nextRecipient = "8"
SN.node[8].Application.nextRecipient = "7"
SN.node[7].Application.nextRecipient = "6"
SN.node[6].Application.nextRecipient = "5"
SN.node[5].Application.nextRecipient = "4"
SN.node[4].Application.nextRecipient = "3"
SN.node[3].Application.nextRecipient = "2"
SN.node[2].Application.nextRecipient = "1"
SN.node[1].Application.nextRecipient = "0"



SN.node[*].Communication.Radio.collisionModel = 2

SN.node[*].Communication.MACProtocolName = "Basic802154"
SN.node[0].Communication.MAC.isFFD = true
SN.node[0].Communication.MAC.isPANCoordinator = true
SN.node[*].Communication.MAC.phyDataRate = 30
SN.node[*].Communication.MAC.phyBitsPerSymbol = 4

Вот результаты: ./../../bin/CastaliaResults -i 180424-155036.txt -s потреблено -n

ResourceManager: потребляемая энергия + --------- + --------- + -------- + --------- + --------- + -------- + --------- + --------- + --------- + --------- + |узел = 0 |узел = 1 |узел = 2 |узел = 3 |узел = 4 |узел = 5 |узел = 6 |узел = 7 |узел = 8 |узел = 9 |+ --------- + --------- + -------- + --------- + --------- +-------- + --------- + --------- + --------- + --------- + |475,988 |158,176 |162,13 |475,997 |475,999 |476 |475,998 |475,998 |475,997 |475,999 |+ --------- + --------- + -------- + --------- + --------- +-------- + --------- + --------- + --------- + --------- +

Эти результаты не верны, потому что Узел 0 должен быть тем, у которого потребление энергии намного выше, потому что он должен кординировать сеть, и должно быть постепенное увеличение энергопотребления с 9 до 1, когда 9 узел сменьше энергопотребления.

Для того, что я вижу в результатах, которые я получил от Castalia, кажется, что статическая маршрутизация не работает, так как узлы 1 и 2 потребляют меньше энергии, потому что находятся в диапазоне, чтобы соединиться с узлом 0а другие узлы потребляют максимальное количество энергии, определенное из-за расстояния до координатора.

1 Ответ

0 голосов
/ 26 апреля 2018

Полученные вами результаты точны, они просто не соответствуют вашим ожиданиям.

Самое первое, что я заметил в вашем ini-файле, это то, что вы используете статическую маршрутизацию на уровне приложения вместе с 802.15.4 MAC.Эти двое не будут работать вместе.Реализация 802.15.4 MAC Castalia разрешает трафик только между координатором (узел 0 в вашем случае) и подчиненными узлами.Подчиненные узлы не могут напрямую общаться друг с другом.Таким образом, вы не можете направить пакеты от узла 9 к узлу 8, например.В руководстве пользователя Castalia четко говорится об этом в разделе 4.3.3

Более того, кажется, что ваша сеть даже сформирована не так, как вы планировали (узел 0 является координатором, а узел 1-9рабы).Ваша мощность передачи слишком мала, и поэтому маяки из узла 0 не могут достичь очень далеко.Судя по выходной энергии, я думаю, можно с уверенностью предположить, что маяк не достигает дальше, чем узел 2. Только координаторы 1 и 2 связаны с координатором.После подключения узлы входят в рабочий цикл (переводит радио в спящий режим и выключается).Вот почему вы видите, что они потребляют меньше энергии.Остальные узлы, вероятно, имеют свои радиостанции при попытке прослушивания маяка.Вот почему вы видите, что они потребляют гораздо больше энергии.

Изучите протоколы, которые вы хотите использовать, чтобы глубже понять их.Прочитайте руководство Castalia, чтобы понять особенности того, как Castalia реализует эти протоколы.Включите информацию трассировки различных модулей (например, MAC, App), чтобы лучше понять, что они делают в вашем конкретном сценарии.

...