12.07.2015 Views

Wireless Ad Hoc and Sensor Networks

Wireless Ad Hoc and Sensor Networks

Wireless Ad Hoc and Sensor Networks

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Distributed Power Control <strong>and</strong> Rate <strong>Ad</strong>aptation 289Time...…….GetRSSI_BufferRSSI_bufferFinish receiving packetWriteRSSI_bufferStore noisestrengthReceiveIdleStore signalstrengthPreamble detectionFinish transmittingpacketOutgoing packetreadyTransmitFIGURE 6.30Baseb<strong>and</strong> flowchart.at the reception of every byte. When the radio is in the idle mode, anyincoming data is discarded; however, the RSSI value is still recorded every8 bits. To separate preamble from noise, a small “RSSI_buffer” stores thepast N values of RSSI, where N equals to the length of preamble bytes.Any reading beyond N is averaged as the “noise_power.” After the radioenters the receive mode, RSSI is recorded <strong>and</strong> averaged along with thevalues in the RSSI_buffer to provide “signal_power.” A flowchart diagramof the mode switching <strong>and</strong> RSSI reading is shown in Figure 6.30.6.11.2.5 DAPC MAC controllerFigure 6.31 illustrates the block diagram representation of the proposedDAPC control loop inside a transmitter <strong>and</strong> receiver.At the receiver side, signal strength P i , noise level I i <strong>and</strong>, therefore, theSNR R i are measured at the reception. Ouput power at the transmitter P tis known from the previous calculation. Given P t <strong>and</strong> P i , the channelattenuation g ii for the previous transmission can be calculated. Now,update θ i <strong>and</strong> P t using Table 5.3. P t is then embedded into the MAC headerof the next outgoing packet to the corresponding transmitter. At the receptionof the next packet, the cycle begins again.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!