How to modify the sleep state

52 views
Skip to first unread message

11187162

unread,
Jan 16, 2022, 6:51:59 AM1/16/22
to OMNeT++ Users

Hello,
In my knowledge, a B-MAC/X-MAC node in the sleep state turns off its radio. So, in the sleep state a node cannot sense any incomping packet from its neighbour node.

Is it possible to modify the sleep radio state so as in the sleep state a node won't turn off its radio, rather it will stay in soft sleep mode with lower power consumption while ensuring it will be able to receive any packet in the medium if there is any?

Would anyone please suggest me any code for that? Thank you.

Regards,

Alfonso Ariza Quintana

unread,
Jan 17, 2022, 12:24:25 PM1/17/22
to omn...@googlegroups.com
There is a proposal that is Wake on Radio, but this only works in short distances in real transceivers, if the distance is too big, it is necessary to adjust the sensitivity to lower values and in this case, the noise will awake the radio continuously.


De: omn...@googlegroups.com <omn...@googlegroups.com> en nombre de 11187162 <11187...@gmail.com>
Enviado: domingo, 16 de enero de 2022 12:51
Para: OMNeT++ Users <omn...@googlegroups.com>
Asunto: [Omnetpp-l] How to modify the sleep state
 
--
You received this message because you are subscribed to the Google Groups "OMNeT++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to omnetpp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/omnetpp/d33f8338-9c75-49b1-a54f-d0f46b256401n%40googlegroups.com.

11187162

unread,
Jan 17, 2022, 7:09:57 PM1/17/22
to OMNeT++ Users
Hello Alfonso, is the code available in INET for Wake on Radio? Would you kindly suggest me the code to implement the Wake on Radio?  Many thanks.

Alfonso Ariza Quintana

unread,
Jan 20, 2022, 3:52:49 AM1/20/22
to omn...@googlegroups.com
No, the code is not present, but the implementation is quite simple. The radio module will go to sleep every time that it doesn't have any to do, and every time that it receives something (upper or physical layer) it will awake, it will be a time awakening time, and the transmitter will need to send a bigger preamble to compensate the awakening time.
CC1101 is a low-cost sub-1 GHz transceiver designed for very low-power wireless applications. The circuit is mainly intended for the ISM (Industrial, Scientific and Medical) and SRD (Short Range Device) frequency bands at 315, 433, 868, and 915 MHz, but can easily be programmed for operation at other frequencies in the 300-348 MHz, 387-464 MHz and 779-928 MHz bands.

This module support Wake on Radio


Enviado: martes, 18 de enero de 2022 1:09
Para: OMNeT++ Users <omn...@googlegroups.com>
Asunto: Re: [Omnetpp-l] How to modify the sleep state
 

11187162

unread,
Jan 25, 2022, 4:11:20 AM1/25/22
to OMNeT++ Users
Hello Alfonso, with the wake-on radio concept, there will be two radios: one main radio that stays sleeping and the other secondary radio that stays on all the time to sense the medium. When the secondary radio receives something, it turns on the main radio for data communication.

How can I extend the radio module so that there will be two radios: one main radio and one secondary radio?
Would you please suggest me the code for that? I am using ApskScalarRadio. Hope you will help.

Many thanks.

Alfonso Ariza Quintana

unread,
Jan 26, 2022, 11:52:16 AM1/26/22
to omn...@googlegroups.com
If you want to have two interfaces, one low consumption sub GHz and the other high throughput, and you want to use the low consumption to send signaling information, you, in reality, don't need Wake on radio.

Enviado: martes, 25 de enero de 2022 10:11

11187162

unread,
Jan 27, 2022, 2:16:13 AM1/27/22
to OMNeT++ Users
Hello Alfonso,  as you mentioned with the wake on radio, "the radio module will go to sleep every time that it doesn't have any to do, and every time that it receives something (upper or physical layer) it will awake"

To receive something, a node needs to be in receiving state, is not it? How to code so that a node can receive something while it is sleeping? My code (with one radio) is not working that way. I found in sleep state, a node cannot sense anything, so it cannot wake up.

Please correct me if I got it wrong. Thank you.

Alfonso Ariza Quintana

unread,
Jan 27, 2022, 7:43:27 AM1/27/22
to omn...@googlegroups.com
In wake on radio, the radio can enter a low consumption state and can listen if the channel is busy, if they detect that the channel is busy, the transceiver immediately change to the reception state. Due to the time necessary to change the state, the sender needs to send a preamble that could be detected by the receivers before to start the transmission, in this case, all the nodes in the coverage ares will awake. The problem, today, at least in the cities, the electromagnetic noise makes that the nodes are all the time awakening, at lest this is the problem that we have suffered with the CC1100.

Another alternative, that is that I have commented in the previous email, because I have no underhanded your question, and you can also find in the literature, is to use two radios, one sub GHz low throughput, low consumption to send signaling, and other interface, high throughput high consumption, that you can switch off/on when you need to transmit high volume of data.

Enviado: jueves, 27 de enero de 2022 8:16

11187162

unread,
Feb 6, 2022, 10:10:28 PM2/6/22
to OMNeT++ Users
Thank you Alfonso. As you said " In wake on radio, the radio can enter a low consumption state and can listen if the channel is busy, if they detect that the channel is busy, the transceiver immediately change to the reception state. " - is this low consumption state is the same as CCA state in X-MAC?
Would you please suggest me a reference paper or the FSM of wake on radio?

Many thanks for your answers.

Alfonso Ariza Quintana

unread,
Feb 7, 2022, 3:36:35 AM2/7/22
to omn...@googlegroups.com
No, in the CCA state the radio is in the RX state, it can receive incoming transmissions, in the sleep state of wake on the radio the consumption is smaller than RX and can only listen to incoming transmission bigger than a threshold, also, there is a small interval of time that the radio needs to change from sleep to RX state, during this interval, any incoming data will be lost, this is the reason of transmitting a preamble, to awake the other node and to provide enough time to change the state from sleep to awake

Enviado: lunes, 7 de febrero de 2022 4:10

11187162

unread,
Feb 7, 2022, 5:02:39 AM2/7/22
to OMNeT++ Users
Hello Alfonso, how can I modify ApskScalarRadio to add this soft-sleep state? Would you please provide the code hints? Many thanks for answering my questions.

Alfonso Ariza Quintana

unread,
Feb 7, 2022, 6:41:02 AM2/7/22
to omn...@googlegroups.com
You will need to modify the Radio.cc model,
You will need to include an additional state, soft sleep, where it is possible to detect energy in the Radio module

Enviado: lunes, 7 de febrero de 2022 11:02
Reply all
Reply to author
Forward
0 new messages