Low Power Error Control for Wireless Links - CiteSeerX

4 downloads 140 Views 2MB Size Report
error control scheme to use in a wireless link - FEC! or ARQ or some combination of the two ... that the packet will go through, and if it does not, then one pays the.
Low Power Error Control for Wireless Links Paul Lettieri, Christina Fragouli, and Mani B. Srivastava {lettieri, christin, mbs)@janet.uclu.edu Electrical Engineering Department University of California, Los Angeles

Abstract - Energy efficiency, which directly affects battery life and portability, is perhaps the single most important design metric in hand-held computing devices capable of mobile networking over wireless radio links. By virtue of their being relatively thin clients, a high fraction of the power consumption in portable wireless computing devices is accounted for by the transport of packet data over the wireless link [Stemm96]. In particular, the error con-. trol strategy (e.g. convolutional and block channel coding for forward error correction (FBC), ARQ protocols, hybrids) used for wireless link data transport has a direct impact on battery power consumption. Error control has traditionally been studied by channel coding researchers from the perspective of selecting an error control scheme to achieve a desired level of radio channel performance. We instead study the problem of error control from a perspective more relevant to battery operated devices: the amount of battery energy consumed to transmit bits across a wireless link. This includes both the physical transmission of useful and redundancy data, as well as the computation of the error control redundancy. We first describe a novel error control where the most battery energy efficient hybrid combination of an appropriate FBC code and ABQ protocol is chosen, and adapted over time, for each stream (ATM virtual circuit or IP/RSVP flow). Next, we present analysis and simulation results to guide the selection and adaptation of the most energy efficient error control scheme as a function of quality of service, packet size, and channel state. I. INTRODUCTION

In this paper we describe how to architect one crucial function of wireless link interfaces, namely error control, with the goal of minimizing the amount of battery energy taken to transport bits across the link. A. Power consumption in wireks link At a broad level, the job of the wireless link interface is to transport packets (e.g. IP or ATM AAL packets) received from the network layer protocol entities on the transmit side over the air to the receive side while participating in a suitable medium access control (MAC) protocol and doing processing such as encryption/ decryption, error control, mapping network layer packets to frames going over the air, radio transmission and reception of frame etc. From the perspective of battery power consumption due to the wireless link interface, the MAC function has been the subject of recent attention, with various low power scheduled access MAC protocols being proposed by various researchers IJvfangioneSmith96, Sivalingam97]. Another wireless link interface function that has a direct and substantial effect on battery power consumption is the error control strategy. Error control refers to schemes used to increase the reliability of a communication link, and is typically done using forward-error correction @EC, where error-correcting codes are used) and automatic repeat request (ARQ, where error-detecting codes are used in conjunction with positive or negative ACK packets from receiver to elicit data packet retransmission). Clearly, the basic unreliability of wireless links means that it would be a bad idea to provide a totally reliable wireless link because that would require too much complexity and delay. Total reliability is an endto-end issue, and is best left to transport protocols such as TCT? Instead, the goal of error control in wireless link is to merely provide sufficient reliability for end-to-end transport layer quality of service (QoS) requirements to be met. For example, link layer error control in the form of FBC or ARQ with a bounded number of retransmissions can be used to mitigate the adverse effect of wireless link noise and fading on performance of transport protocols ~alakrishnan95, Caceres941 such as TCP. However, the right error control scheme to use in a wireless link - FEC! or ARQ or some combination of the two - depends on the requirements of the service being transported (e.g. TCP vs. voice) as well as the time varying radio channel characteristic (e.g. pica cells with small round trip delays vs. macrocells with huge round trip delays).

wireless nodes, such as portable computers equipped with PCMCIA wireless network interfaces, are increasingly being used for mobile tetherless access to the Internet and other packet data networks. Due to the continuing slow progress in battery energy densities, low power has emerged as the most important design metric for these wireless nodes. Indeed, much work has been devoted on power management of conventional components such as the CPU weiser94, Srivastava96J and the disk [Douglis94]. However, research has shown that a very significant fraction of the wireless node power is consumed by the wireless network interface cards that are responsible for transporting the data packets. This has been found to be true for both commercial wireless LAN products such Lucent’s WaveLAN card or Metricom’s Metricom modem using ethernet-like frames to carry IP traffic [Stemm96] and research prototypes such as Bell Labs’ FAWN wireless ATM card [Agrawal961. The fraction of power consumed by the wireless network interfaces is only likely to increase as these nodes evolve towards a thin client network computer like mode with no disks Permission to make digitahrd

and minimal or no CPUs, such as advocated by Bell Lab’s PSA [AsthanagS], Berkeley’s Infopad lNarayanaswamy96], Xerox PARC’s Tab pNeiser931, Zenith’s Cruisepad product etc. In addition, one must also account for the cost of error control computation in the node’s power budget. Increasingly, therefore, designing low power wireless computing nodes will be less of a disk or CPU power management problem and more of a wireless link interface power management problem.

copies of all or part of this material for

personalor classroomuse is grantedwithoutfre provided that the copies are not made or distributed for profit or commercial advantage, the copyright notice, the title ofthe publication and its date appear. and notice is given that copyright is by permission ofthe ACM, Inc. To copy ohwise, to republish, to post on servers or to redistribute to lists, requires specific permission a&or fee

Brror control has traditionally been studied either by channel coding researchers from the perspective of selecting FEC codes to

MOBICOM 97 Budapest Hungary Copyn’ght 1997 ACM O-89791-988-2i97i9..S3.50

139 - _---_

^ -_

-,

---

.

these results, are presented in the second part of the paper, We conchrde the paper by a discussion of our results, and our prescription as to which error control strategy is best

achieve a desired level of radio channel performance, or by protocol researchers to select ARQ protocols with desired throughput characteristics. Although channel coding research literature does characterize FEC codes by their coding gains and equivalent reduction in transmitted radio signal power (as opposed to battery power consumed, of which transmitted RF power is only a component), there is no prior work on what we consider to be the right metric of interest: the amount of battery energy consumed to transmit bits acrOSSa wireless link while meeting QoS constraints. Further, the relative trade-off between FEC and ARQ from the battery power consumption perspective under different QoS requirements, channel conditions, packet sizes etc. is totalIy unaddressed.

II. RELATED WORK

Error contro1 itself is cIearIy an oId area with literature dating back to Shannon and Hamming in the context of FEC, and to early work on packet networks in case of ARQ. Books on error control, such as [Lin83], cover the basic FEC and ARQ schemes well. More recently, much work as focussed on error control in wireless channels. For example, flajnik95J studied the delay and throughput performance of various FEC and ARQ schemes over ATM wireless links, while [Ayanoglu95b, Zhao96] describe hybrid FE!C/ ARQ scheme for wireless networks.

B. FJX vs. ARQ error control from battery perspective Intuitively, with FBC, one pays an a priori battery power consumption overhead and packet delay in computing the FEC code and in transmitting the extra code bits, but in return one gets a reduced probability of packet loss under certain types of radio channel impairments. On the other hand, with ARQ one gambles that the packet will go through, and if it does not, then one pays the battery energy and delay for the ACK packet, and for the entire packet to be retransmitted. One would therefore expect that as the packet loss probability goes up, which may happen because of increasing bit error rate or because of larger packet sizes, an FEC code will do increasingly better while an ARQ scheme will do worse from the battery power consumption perspective.

Most relevant is the recent analytic work by Zorzi & Rao [Zorzi97] on an energy efficient probing ARQ protocol that slows down retransmissions during fades. Also relevant is the work on AlRMAlL wireless link-layer protocol [Ayanoglu95a]. While not quantifying the impact of various error control options on battery power consumption, the hybrid ARQ/FEC design of AIRMAIL strived to put the bulk of the complexity at the basestation via an asymmetric ARQ protocol instead of equally dividing the complexity between the mobile and the basestation. [Ayanoglu95a] measured the relative complexity of implementation in terms of code size and processing time. In our work, we have directly addressed the impact of error control on battery life instead of indirect measures such as number of lines of code which measure complexity as opposed to battery life. Second, we show that the choice of energy efficient error control strategy is a strong function of QoS parameters, channel quahty, and packet size. This motivates our error control architecture where individual packet streams may use error control schemes that are both adaptive and customized.

However, whether FEC or ARQ or a hybrid is most energy efficient is a function of traffic type and delay/throughputfloss requirements (speech, TCP), packet sizes (IP, Am), channel conditions (raw bit error rate, burstiness, mobile speed), the FEC code being used, and the relative energy cost of computing FEC versus transmitting more bits. For example, link layer ARQ retransmissions may have adverse interaction with TCP, while FEC coding of individual packets is ineffective if the packet corruption is not due to white gaussian thermal noise but is due to long enough deep fades in a Rayleigh fading channel or a frequency cohisions in a slow frequency hopping spread spectrum channel.

Also of considerable interest and relevance is the work going on power management in medium access control protocols [Mangione-Smith96, Sivalingam971. We believe that in the case of multiple packet streams with potentially different QoS requirements sharing a time varying wireless link, error control really ought to be treated in close conjunction with medium access control (for example, [Gang95]), and packet multiplexing/scheduling, with a joint design from a low power perspective.

Unfortunately, existing wireless link interfaces either use no link layer error control (e.g. typical wireless LAN cards) or use a fixed error control scheme. In the first case, the end-to-end transport layer retransmissions are solely responsible for error control as well. This not only leads to transport layer performance problems, but also is in general bad for wireless network interface power consumption. For example, with link level retransmission, the energy spent in shipping the packet from the CPU to the network interface, and in re-encoding the packet (in case of hybrid FEC-ARQ schemes) can be eliminated. In the second case, the fixed error control scheme is unlikely to be optimal across all channel conditions and for all packet streams.

III. ERROR CONTROL MODEL

In the previous section we rationalized on an intuitive basis the battery power consumption trade-off that can be made via an appropriate selection of error control scheme. While we present our analysis and simulation data Iater in the paper, it is clear that there is not a one-size-fits-all error control scheme that would be energy efficient for all traffic and channel conditions. For maximum energy efficiency, the error control scheme has to be customized to packet size and QoS requirements, and has to be adapted to changing channel conditions.

C. This paper Based on our observation that the most energy efficient error control scheme depends both on traflic type (QoS requirements and packet size), and on channel conditions, we first describe an error control architecture where every packet stream (RSVPIIP packet flow or ATM virtual circuit) has its own time-adaptive customized error control scheme selected on the basis of set-up parameters (packet size, QoS) and a run-time estimated channel model. This error control strategy is designed for our wireless multimedia nodes being built under DARPA’s GloMo program. To drive the selection and adaptation of error control in our architecture, we have conducted analysis and simulation to study battery energy consumed per bit for different error control schemes under different system scenarios. These results, and the conclusions from

We therefore use a wireless link interface model, as shown in Fig. 1, where packets arrive from the network layer in multiple streams corresponding either to individual IP flows (ATM virtual circuits), or to larger groupings. Associated with each stream arc service quality parameters which not only drive the medium ncccss control and packet scheduling protocol, but are also used to select an appropriately customized combination of a ARQ scheme nnd a FEC scheme. Thus, for example, stream A may have no error control, stream B may use only an ARQ protocol, while stream C may use only an FEC code. Further, the error control scheme associated

140 i .,

_

-

-7

‘.

_ .’-yY.y--p--T-.,-.

_

‘ii

.:

:*:.z::;

‘T.,-

,-y-r;-,-=-

..,-.-; ’

*

-:

..’

. y----*-y-, 3;: ’ .‘,

-,,-;. . . ..‘, ,, ,(

--.--‘----

- .t ,* ,r,

cards that have user programmable processors, such as the ARM601 processor in Bell Labs’ FAWN [Agrawal96] or the StrongARM processor in our design. While software implementation of FRC cannot keep up with high data rates such as WaveLAN’s 2 Mbps, it can certainly be used effectively for a select few packet streams.

with a stream may be adapted over time as channel conditions change to keep the system operate in an energy efficient fashion. The analysis and simulation data in the later sections identify the mles according to which an appropriate error control scheme may be chosen. From NetworkLayer

NigherLayer SW

Figure 3. Sojbvare implementation of adaptive error control

ACKs

To MAClayer

In the remainder of this section, we present a general overview of the specific ARQ, FEC, and error detection schemes we have used, any of which could be implemented in Pig. 1. For a more complete treatment of these schemes, see lJ&lrand91]. This is followed by our assumptions regarding the channel model, and a treatment of the computational costs of FEC. While the information here is either true in general, or at least is common to both the analysis and simulation performed, implementational choices made for either analysis or simulation are presented in the relevant sections.

Figure I. Model for adaptive error control

While ARQ only requires memory buffers, FEC can be quite a compute intensive function depending on the code being used. Modem CPUs can handle various common error codes at low to moderate data rates, but hardware support is needed at high data rates. In our model, however, the error control scheme is selectable and adaptable. As shown in Fig. 2, this could be accommodated by using reconfigurable hardware, such as field-programmable gate arrays (FPGAs), in the wireless network interface card.

A. ARQ Schemes Many different ARQ schemes for packet retransmission exist in literature. Simplest is Wait-a&Go (also called Stop-and-Wait) whereby the sender sends a packet and waits for its acknowledgment (ACK) before proceeding with the transmission of the next packet. A packet is retransmitted if its ACK is not received within a certain time-out interval that corresponds to the Round Trip Time (RTT). More sophisticated is the Go-Buck-N scheme where ACKs for multiple packets may be outstanding at any instant. The number of packets that are thus in the transmission pipeline is related to the round trip delay. If the ACK for a packet does not arrive within a specific time-out interval, that packet and all succeeding packets are retransmitted so that receiver does not need to do any buffering. Further, in a wireless link, advantage can be taken of the insequence delivery and retransmission begun as soon as a gap in the sequence of ACK packets is noticed. Cumulative Ackrtowledgment (CACK) and Selective Acknowledgment (SACK) are two more complex variants of Go-Back-N. In CACK-based ARQ, multiple packets may be unacknowledged but ACKs designate the highest numbered packet such that all prior packets have been received in order. Retransmissions are triggered by time-outs and by duplicate CACKs. CACKs help with lost ACKs on the reverse channel. However, as is well known, the best option is to use SACK-based ARQ where ACKs, in addition to CACK functionality, also identify a certain number of recently arrived non-consecutive packets

configurableon a s by streambasis

Radio Modem I

Figure 2. Hardware implementation of adaptive error control

As shown in Pig. 3, an alternative is to use software. Spccifitally, this involves implementing the required FEC coding and decoding functions either in driver software for non-programmable interface cards such as WaveLAN, or as embedded software in

141

I

thereby allowing the sender to localize packet losses and selectively retransmit only those packets. Unlike transport layer packet retransmission, the goal of link level retransmission schemes should be not to achieve perfect reliability, but rather to improve the link performance while keeping the delay within allowable limits. This is achieved in all the above ARQ schemes by aborting the retransmission efforts (and dropping the packet) after a certain time or a certain number of retransmission attempts. Lii level transmissions that compete with transport layer end-to-end retransmissions of the same packet are not only redundant but can hurt performance [DeSimone93]. Therefore it is crucial that link level retransmission of a packet be aborted before the transport layer retransmission kicks in.

tion that the channel condition will not change during the reception time of a bit. We note that unlike packet level Markov models of fading channels such as in [Zorzi95], our bit level channel model allows channel conditions to vary within a packet duration so that channel model parameters are independent of packet length. Each state of the DTMC is associated with a binary symmetdc channel. The BER associated with each state is a functionfof the Signal to Noise Ratio (SNR), wherefis imposed by the modulntion scheme used. We represent the channel in this case as a two state DTMC with state space (Good, Bad) following the Rayleigh model, with transition probabilities between states as shown in Fig. 4.

B. Error Detection and FEC Checksums & CRC In order to carry out the ARQ policies described above, it is necessary to determine if the received packet is in error. A simple method for doing this is a checksum whereby each sixteen bit word in the relevant packet is XORed together, with a resulting sixteen bit checksum which is transmitted with the packet. The calculation is performed again at the receiving and, and the calculated checksum is compared against the transmitted one. A match indicates an error free transmission. The above checksum however is quite weak, and can fail with as few as two bad bits. A more robust checksum is that used in the Internet (RFC1071) where the checksum is the one’s complement of the one’s complement sum of the sixteen bit words. Even stronger are the cyclic redundancy codes (CRC) that are implemented using linear feedback shift registers.

Figure 4. lbo StateDiscrete lFme Markov Chain The Rayleigh fading channel is commonly used to evaluate the performance of coding schemes. The Rayleigh distribution describes the fluctuation of the received envelope of a flat fading signal with no direct line of sight component as is typical of urban environments. What follows is a development of the transition probabilities which are applied to the DTMC and is largely based on [Rappaport96]. If

Block Code With the addition of more computational complexity, in general increasing the battery energy consumed per bit, error correction capability can be added to the system. Block codes, usually referred to in the form (n.k), add n-lr parity symbols to k symbols for a total of n symbols. We use a Reed-Solomon code whose symbol size and block length n vary depending on the packet size. Reed-Solomon algorithm will detect as many as n-k symbol errors even though it can only correct half that. Convolutional Code An alternative to block codes which work with finite blocks of data is the convolutional code whereby data is coded in a continuous stream. For example, in a rate 112 convolutional code is used, such that for each useful dam symbol, another is generated. The decoding at the receiver end is typically done using the Viterbi algorithm, which performs Maximum Likelihood Sequence Estimation (MLSE) of the transmitted sequence, given the received sequence of symbols. This code does not provide an indication of a failed decode - only the maximum likelihood output is generated together with perhaps an indication of its probability. Therefore, an error detecting checksum as described above is produced prior to encoding, and is checked after decoding, to ensure detection of failed decode. C. The Channel Model In mobile radio channels, fading causes periods of significant degradation of the received signal, and as a result, increases the associated Bit Error Rate (BER). The statistical time varying nature of the channel can reliably be represented by a Discrete ‘Ilme Markov Chain (DTMC), as is discussed in lW%ng95, Swarts941. Under this model, the channel is considered to have a number of different states, each representing a different level of fading. The state of the channel is only allowed to change on bit boundaries, such that the model includes the underlying assump-

fm= ;

(1)

is the maximum Doppler frequency and

lJ=-RR

(2)

rms

the Rayleigh fading envelope, normalized to the local rms level, then the average number of level crosses in a positive-going direction per second is given by

and the average time T for which the received signal is continuously below a specified level R, is given by

T=

et-1 p*fm’fi

Using the above formulae and assuming steady state conditions, the probabilities that when we look at the channel we will find it in the Good or Bad condition, are given by

Further, we can calculate the mean BER from BER = P(Good)

- BER, + P(Bad) * BER,

(6)

In addition to these overheads, one must also consider another factor when performing FEC. In general, FEC may be computationally intensive, and the power required to calculate redundancy bits cannot be ignored. Note that an error detection checksum calculation is simple by comparison to a (255,239) Reed-Solomon calculation, and may therefore be ignored, but when calculating total energy draw on a portable device’s battery, once cannot ignore FEC computation cost.

In particular, for vehicle speeds of 50 km/h, modulation frequencyfi900 MHz, and Rayleigh fading envelope p=-10 dl3, we find

Further, if we assume for example bit error rates of 10e5and 10-t for the Good and Badstates respectively, we find BER=8.88~10-~. At pedestrian speeds of 2 km/h with the same modulation frequency and now p=-20 dB, the probabilities become

There are several possibilities for performing this calculation as was alluded to in Section III. Dedicated hardware may be used, though in a system which requires the flexibility to alter error control schemes on a stream by stream basis, a software solution may be preferable. Consider running the Reed-Solomon code on an ARM core. The StrongARM is a low power embedded microprocessor, for example, achieving 185 MIPS at 450 mW. Retargeting the Reed-Solomon source used in the simulation to the ARM using an ARM C compiler, and running the result with a debugging tool, it was possible to measure the total number of instructions executed in encoding and decoding an entire packet for both the (255,239) and (2047,1713) codes. These are 145,000 instructions and 12,800,OOOinstructions respectively for the combined encode and decode of a single block. Further, using

and the mean BER is 9.95x10d. The transition probabilities can be approximated as in lWang95] by the formulae: N to.1 =

p

N $0 = -p t

and

I

(9)

where E t,comp =

RW t = RrX&

where I is millions of instructions executed, P is the power in Watts consumed at the given MIPSrating, and b is the total number of useful bits to which redundancy has been added, we can calculate Etcomp as the energy consumed per bit in Joules for the computatron. The values for P, MIPSand I are given above, while the values for b are 48x8=384 for ATM packets and 1,460x8=11,700 for IF style packets. The resulting energies are therefore 09pJ/bit and 2.67pJXt respectively. These numbers must therefore be included in any energy calculations performed. Further, they will only be applied once per packet during encode, since when a retransmission occurs, it will be assumed that the error protected data had been buffered as shown in Fig. 1.

for k=O,I. Note the lack of dependence on the Good and BadBER values. Rtin symbols per second is the transmission rate of the considered communication system, which for our case is taken as 625 kbps. The resulting transition probabilities are given in Table I and are consistent with steady state probabilities in (7). ,

1

PedeStliZUl speeds

Transition

I

‘0.1

n---jI

carspeeds

l-b.1

b.o I

l-b.1

1.67~10-~ 1 535x10" 1 1.66~10-~ 1 4.96x10'1

I

t1.1

l-b.0

I

N.0

Iv. THEORETICAL

I

ANAXYSIS

In this section, the error control schemes are compared in terms of the mean power consumed versus the bit and packet error rates they achieve, and the delay that they incur. This is done through the use of analytic calculations, given the channel model presented earlier. The analysis is done for ARQ using selective acknowledgments assuming perfect error detection, for error correction using the Reed-Solomon coding, and finally for a combined scheme. Results and conclusions appear after a discussion of the simulation environment constructed to evoke the same information. Though this analysis does not cover the entire spectrum of ARQ and FEC schemes, we hope that it will offer the reader an insight into and a justification of the simulation results.

Table I. Transition probabilities for the DTMC D. Computational

(11)

b

Costs

When calculating the energy cost of sending a single bit of useful data across a wireless link, one must consider more than just the energy expended in the RF hardware required to send a single bit. Any overhead bits associated with that one useful bit, such as for headers or redundancy information must also be accounted for. In the case of ARQ schemes, a fixed overhead includes a small amount of redundancy included in the packet for error detection, and a small ACK sent to confirm each packet. A potentially large amount of redundancy information may also be included when a packet is lost. An entire packet may be retransmitted for a single lost bit, but this penalty will only be paid for packets with error.

The performance of the system is evaluated in terms of several variables. First, packet throughput, Sp, represents the number of packets that arrive error free at the receiver on average, as a percentage of the total number of packets that were transmitted. Retransmissions are not included in the total number of packets transmitted. Note that we assume that each packet that is not received error free gets dropped by the receiver since the receiver would have no way of knowing in this case if the packet was destined for it.

In contrast, pure FEC includes more redundancy in each packet than is needed for simple error detection. However, retransmissions never occur, so the cost of retransmitting entire packets is never incurred. A hybrid scheme will suffer the relatively large fixed overhead of the FEC scheme, but as a result will potentially be required to retransmit less often.

143

Energy consumed per useful bit of information transmitted successfully is another useN metric and is represented as E, And finally, the mean delay that a packet suffers is represented as D,,

E, = ; Finally, the mean delay of a packet is

These metrics and other symbols used throughout the calculations to follow are summarized below: l Pep: l

P:

l

c:

Ri’T: * RTO: l

OL: o %ow: o Et,,:

0 Et:

RTT D, = 2+c

Probability of error in a packet Transmitter power Bit rate of the channel Round Trip lime Retransmission Time Out Packet length Energy associated with FEC computation, as from Section IILD Energy associated with bit transmission

=

%mp

+ Et,tx

L

B. Error Detection and Retransmission

If we allow infinite potential number of retransmission% we find that the probability of a damaged packet Pepis zero since, cventually, even if it takes infinite retransmissions, the packet will make it through. Consequently, packet throughput is

(12)

SP

= loo

(1%

There is a trade-off to allowing infinite retransmissions, however, and that is that the delay may be allowed to grow infinitely as well. We may calculate the mean number of retransmissions MNoR required for success as

In order to try to preserve the effects of this burstiness, the probability of a whole packet being damaged with a specific bit error rate is calculated, and then the mean value is taken:

(l-P,)*

iiPip

= *

i=l

(13)

DP

RTO = 8.:

= 1-(l-BE&$

(14)

(MNoR + 1) *;

(15)

= lOO*(l -Pep)

(22)

(23)

We observe that a packet is considered to be received correctly when both the actual (possibly retransmitted) packet and the respective acknowledgment are received correctly. For example, if we assume that the retransmission time-out is set to RTO, then in Eq. 14 and Eq. 15, L+J& should be used in place of Z,,where Lnpk is the acknowledgment packet length. In reality the above RTO time is not used, since we can take advantage of the rcpctitive nature of the SACKS. Depending on the particular implementation,

and so, we can calculate the mean probability of error Pep in a packet from Eq. 13. Further, we find the packet throughput to be SP

(21)

This specific value, plays no role in the qualitative comparison, since it is adds proportionally to all the relevant terms, and provides consistency, in terms of an upper limit, with the simulation results. Mean energy is found as

Given the above symbols and definitions, we find the packet error probabilities to be

P,pB

= h4NoR .(i+~To)+y+g

In the theoretical analysis results we use for RTO the maximum value that might occur in the specific simulation implementation, specifically

A. Error Detection Alone

= l-(l-BE&

(20) ep

and the mean delay per packet as

where Pe is the probability of a damaged packet in the Bad state md pep ct is the probability of a damaged packet when the channel is in the Good state. Here we examine only the first bit (symbol) of a packet and declare the packet to be good or bad on the basis of this bit. The above decision will be wrong for at most one packet between two successive fades, and can be ignored if the time duration of a packet is much smaller than the interval between two successive entries into fade. In this way, the burstiness is smoothed out at the packet level. This approach converges more accurately towards the real behavior of the channel.

PepG

with SACK

Using selective acknowledgments, ideally only the packets that actually get damaged need to be retransmitted, in contrast with cumulative acknowledgments where a successful packet may be dropped if a previous one was damaged. In practice, buffers arc finite and a successful transmission may fail for lack of buffer space. This effect too is ignored in these calculations.

The two state Markov model implies that when the channel is in the Bad state, the packets that are transmitted get damaged with a very high BER, and when the channel is in the Good state the packets get through relatively intact, with a result of burstiness in the bit error distribution. This effect is not however taken into account if we use the mean bit error rate as in Eq. 6 which smooths out the bursty behavior by distributing the errors throughout the transmission.

P eP = P(Good) . P,G + P(Bad) . P,B

(18)

It is assumed for this calculation that all packet errors nrc detected at the receiver. In practice, this may not be the case, particularly with only’a checksum. With a more robust error detector, such as a CRC-32, fewer errors would get through. Nevertheless, there is always a finite possibility of incorrect error detection, In any case, that is ignored here.

Total battery energy consumed by one usefully transmitted bit, including both FEC computation and, bit and amortized overhead bit transmission, as in Et

(17)

(16)

and the mean transmitted energy per “successful” information bit as

144

each packet may be acknowledged several times. As a result, the assumption that the number of “unsuccessfully received” packets due to a damaged ACK is so small that it will not affect the performance estimation, is reasonable.

Pr(t errors)

Pep = P(t+l

Max delay allowed Length of packet

- SER’

(34)

. (,+FR)LJ*k-r-l. SER’+l (35) This approximation was used in the analytical calculations. Again, in order to take into account the bursty nature of the channel, we first calculate P, , using the respective SERB, then PepG, using the respective SEff G, and then Pep by Eq. 13.

l.P,-(l-p,,)+2.P~~.(l-P,,)+... . ..) =

k - (1 -SER)L’+k-t >

errors)

(24)

Let the maximum delay allowed be defined as 50 msec. Then the mean number of retransmissions MNoR becomes

+ R(l -P,)(Pfp+Pfp++‘+

L; (

and symbol error rate SER = symbsize x BER is the probability of error in a received signal, or we can assume that the probability of more than t+l errors is negligible, and use the approximation:

Of course, since infinite delay is not acceptable, the number of retransmissions is bounded to a finite number R, which can be defined by the maximum delay allowed as R=

=

(25)

For this case, packet throughput is as in Eq. 16, while the mean energy per successfully transferred information bit is

Pep * ( 1 - Pep) + . ..+(R-1) *Pfp- ’ - (1 -Pep) R

+ R(1 -Pep)&

-

(L + k. symbsize) . Gc

(26) ep

=

and the mean delay per packet Dp is RTT ~ (k * sybsize + L) 2 c

R-l

(l-P,,)*

ci-Pip+R-$p

(27)

l=l

P

Employing a block-code in conjunction with selective acknowledgments, the probability of a packet getting damaged when it is traverses the channel once is given again by Eq. 35 while the probability of an errored packet after the use of up to R retransmissions is given by substituting this value of Pep into Bq. 27. Next, we find packet throughput to be

Ril

ep

L

(28)

while the packet throughput is sp = I-Pfp

sp = (l-ep).

(2%

(38)

loo

and mean energy as

and the mean energy is (MNoR + 1) - ;

(MNoR + 1) . (L + K . symbsize) - .&

(30)

Dp = ($+RTO).MNoR+y+;

RTT Dp=2+

(31)

Let L, be the length of the packet in symbols, with symbsize as the number of bits in a symbol, and SER as the symbol error rate. If, for a packet of length L bits, we translate it into a packet of Ls symbols, and use an (N,K) block code that adds to it k=N-K parity symbols, then we can correct up to t symbol errors where 2 * t I k . In this case, the probability of error in a packet is the probability that more than t symbol errors will occur during the transmission, and thus the packet cannot be corrected.

In order to cover a broader range of ARQ and FEC combinations, and to model some of the characteristics of the system which are difficult or impossible to model in analysis, simulations were performed using the Maisie simulation language. Maisie is a Cbased discrete-event simulation language developed in the Computer Science Department at UCLA under the direction of Professor Rajive Bagrodia and is freely available to the academic community on the web at http:/!inay.cs.ucla.edu/projectuknaisi~. This simulation environment as, described in [Bagrodia94, Short!35], allows for the creation of entities which operate in parallel and communicate via message passing. In addition, a common system clock is available to all of the entities.

(32)

where errors)

= ( 1 - SER)L*+k

(33)

145 --_ -.‘

),

(40)

v. SIMULATION

Therefore, we can calculate the Pep by the formula: errors) - . . . - Pr(t errors)

(k . sybsize + L) C

+ L + k. vmbsize+ RTO . MNoR C > (

C. Error Correction with Reed-Solomon Coding

P =P = 1 - Pr(zer0

+ E, camp (39)

and finally, mean delay as

and finally, the mean delay is

..--,.

(37)

D. A Combined Scheme

The bit error rate per information bit, after potentially up to R retransmissions will be

Pr(zero

+ Et, camp

I-,

This section contains an explanation of the model used to produce the data. In particular, the specifics of the implementations of the various error control schemes will be presented here.

Parameter

Possible Vnluw

ARQ type

/

none

A. TheModel ae

The simulation contains four entities as shown in Fig. 5: a source, a sender, a channel, and a receiver. The simulation is driven by the first of these whose job it is to pull data from a specified file, feeding it to the sender either on demand as would be the case in a file transfer, or at regular intervals, as if a source of real time multimedia data. The sender must then segment the data and add error control coding as the data arrives. How the data is to be segmented into packets and what kind of error control coding to perform, if any, is specified at the beginning of the simulation. The sender passes the resulting packets to the channel where bit errors are injected according to the channel model.

!

/

I (1 I

Wait and Go Go Bnck N Cumulntive ACK I SelectiveACK

Round Trip ‘Bme

ris an integerrepresentingthe number of time

units to allow a packetto be outstanding ErrorControlCoding

After a suitable delay corresponding to the delay incurred in the radio hardware, each packet is then passed to the receiver where it is decoded and written out to a file. The receiver may also generate acknowledgments which pass in the reverse direction through the channel back to the sender, depending on whether ARQ was called for at the beginning of the session. Once the entire file has been sent, the simulation terminates and a variety of statistics are reported to the user, including energy consumed by both sender and receiver, effective user throughput, maximum and average delay seen by the packets, amount of data dropped, if any, due to excessive delay, residual BER in the output data, etc. The following subsections consider in more detail the behavior of the entities, as well as the parameters which the user may specify at run time.

Packettype

none Checksum eE Reed-Solomon Convolutional Code i ATM

PE I IP Max alloweddelay

source Type

Channel Model

Bit ErrorRates

.I I

d is aa integer which representsa number of simulation clock ticks a packetis allowedto remain buffered;0 indicates no bound SE Speech I Data c E PedestrianSpeeds I Cnr Speeds g aad bare hvo floatingpoint numbers reprcsenting the BER in the Goodend Bad slates

TableIl. User §pecifiedParameters

!

data and places it in the channel as quickly as it can, constrained only by the data rate of the channel and/or of the source, until it has no more data to send. The receiver accepts the data at this rate and stores it to file, possibly after decoding for error correction, but without regard to possible failure of the correcting algorithm resulting from excessive errors. Alternatively, the raw data may be stored to file if no error correction coding was requested. In nny case, the sender has no knowledge of the outcome of the transmlssion.

I I

I

All of the ARQ types behave essentially as was presented in Section III, the key difference being the fact that in actual implcmentation, buffer space is limited, such that these schemes will not behave ideally. In particular, the simulation limits the send buffer to eight packets, and in the case of SACK, the receive buffer to the same amount. The former could become an issue if in some isolated cases, a series of packets are lost while the source continues to produce data, such that the sender cannot find room for the new data. The latter might be an issue if a certain packet is lost in tmnsmission multiple times in a row while those following it tend to build up at the receiver but cannot be delivered to the output file until the missing packet is received. In any case, eight buffers was picked as both reasonable to implement and sufficient to all but remove the likelihood of either of the above two scenarios.

i i ,/

Figure 5. Dataflow through the entities B. User Specified Parameters

_ ,’ / 1

I i

The simulation may be run in a variety of modes, selected at run time via command line parameters. Table II lists all of the user selectable parameters and their possible values. In this way, statistics are collected for different error control schemes, including different FEC and ARQ types as well as all the possible hybrids, under the conditions of either ATM style or Ip style packets. Additionally, a number of other parameters may be specified.

The acknowledgment packet consists in all cases of four bytes. The first two bytes are the packet number that the ACK is for (each packet is labeled consecutively with a sixteen bit number), while the last byte is a checksum, like the one used for the data packet in the case of checksum error detection. The third byte is used only for the SACK scheme, where it is necessary to provide the sender

ARQ’bw The first user specified parameter, the ARQ type, may be set to one of five values as shown. If no acknowledgments are used, data llow is unidirectional through the channel. The sender generates

146

plus 5 bytes of header. The header, as mentioned earlier is two bytes of packet number, one byte of checksum, and two dummy not used in this simulation, but which are part of the standard ATM header. The IP packets contain 1460 bytes of useful payload and 40 bytes of header, again with a packet sequence number and checksum, and the remaining bytes not used, though transmitted. While a true IP packet may vary in size from tens to tens of thousands of bytes, this number was selected as it represents the maximum transmission unit (MTU) often used at the link layer, for example in ethernet, or for many of the wireless LAN products, such as WaveLAN and Proxim’s RangeLAN.

with information about any packets which have arrived early. Each bit of this byte corresponds to one of these packets, referenced starting with the last one received. For example, if the receiver has packets k, k+2, k+3, and k+5, but not k+I, k+4, k+6, or anything higher, the ACK packet would indicate k in the first two bytes. This tells the sender without even looking at the bitmap that k has arrived and k+Z is missing. The first, second, and fourth bits of the extra byte would then be set to indicate the successful arrival of bytes k+2, k-+3, and k+5 respectively, while all other bits would be zero indicating that no other packets have arrived to date. Round ‘SkipTime

Any error control parity bits are merely appended to the end of the packet, and the size of this field is dependent on the scheme.

The retransmission policy in all cases is to send the oldest packet not yet acknowledged or known to be in transit. When a packet is sent, it is marked in transit until it is either acknowledged, at which time it is replaced in the buffer by new data, or until it times out, as per the Round Trip Time (RTT). Each packet is effectively checked continuously for the expiration of its RTIY,after which time it is marked for retransmission.

Maximum Allowed Delay For many real time applications, a packet which has exceeded a certain specified age limit is no longer useful to the application. Therefore the user may specify that packets which have aged beyond a certain point, as per the maximum allowed delay, be dropped at the sender. Specifying zero for this parameter leaves the delay unbounded which may be useful to for example a file transfer operation, where delay is not critical.

Error Control Coding Another degree of freedom in the simulation is the choice of Error Control Coding @CC). As is shown in Table I, there are four options. If no coding is used, the data is simply delivered to file without regard to bit errors. If ARQ is being employed, an ACK is generated for each packet by default. This scenario might be useful if the upper layer applications prefer erroneous data to no data, such as image and speech codecs which are tolerant of bit errors.

Source Tjpe In order to model different kinds of sources, the user is given the option to choose either a speech type source, where new data is produced at a fixed rate and doled out to the sender at fixed intervals, or a data type source, where the sender may act in a greedy fashion, requesting data at its leisure.

On the other hand, we may employ a simple error detection scheme. Each packet may be guarded by a two byte checksum, as noted in Section III. In this case we may detect errors with some probability of failure.

Channel Model and BER Finally, the user may specify between two different sets of transition probabilities. In particular, the user may specify one of either of the channels in presented in Section III: that seen from a moving car, or that seen at pedestrian speeds. In addition, the user may also specify the bit error rates seen in the Good and Bud states, within the granularity provided by IEEE floating point numbers.

Taking a step further, we may use an error correcting code. In this simulation, we have chosen to include both a block code and a convolutional code. For the block code, we use a Reed-Solomon code whose symbol size and block length vary depending on the packet size. The packet types will be described shortly, but suffice to say that there is a long (IP MTU sized) and a short (ATM style) packet type. For the shorter packets, we use a (255,239) code which is zero packed at the front to accommodate the 53 ATM bytes (header plus data), Note that these extra zeros need not be transmitted but rather can be assumed at the other end of the transmission. For the longer packets, we use a (2047,1713) code which we again zero stuff. The IP style packet would not entirely fit in anything shorter.

C. The Entities and Their Interaction The four entities which make up the simulation interact through message passing. Data is passed from one entity to the next in this way, as is control information. The interface between the source and sender varies depending on the source type. When a speech source, data is generated and sent at approximately 32 kbps whether the sender is ready or not. When a data source, the sender uses a request data message to initiate the transfer of data from source to sender.

The convolutional code is decoded with a rate l/2 hard decision Viterbi decoder and the outcome of this “maximum likelihood” decision is verified with a checksum. This particular code is independent of the packet type since it codes a continuous stream of data. The C source for both of these error correcting codes was derived from code written by and available from Phil Karn for noncommercial use via the web at http:~people.qualconuncom/kad

The remaining interfaces are fixed. Data is sent from source to channel in the same way ACKs are sent from receiver to channel. Either entity must request the channel’s attention with a request to send message, and wait for the clear to send response. Since the channel encompasses the MAC layer, the radio hardware, and the air link, requesting the channel in this way can be interpreted as a layer between the network and MAC layers waiting on its scheduled access to the channel via the MAC layer.

ham.httnl,

In all cases, the packet’s header contains an additional checksum whose failure results in a lost packet irrespective of the outcome of the other codes. It is assumed that if a packet’s header is not reliable, nothing can be done with the data. At the very least, the packet number contained in the header is unreliable, and most of the ARQ schemes rely on this information to effect their algorithms.

Once in the channel, bit errors are applied to the data. A decision is made for each bit in the data on a one by one basis. Further, at each bit interval, a decision is made whether to change state based on the transition probabilities. Further, before passing the corrupted data to its destination (either the receiver if a packet or the sender if an ACK), a channel delay is applied. That is, the destination is made to not see the incoming data until after a channel delay consistent with that which would be seen in the radio hardware. For simplicity, this delay is maintained as a constant 0.5 ms.

Packet -es As mentioned above, both ATM and IP style packets are simulated. The first contains 48 bytes of useful payload from the source

147

Car

Speeds, ATM, Data Transmission

Car Speeds, IP, Data Transmission

12 IE-3

2, _

p

IE-3

%

SACK alone

8’ 7-

-t

SACK + FEC

//

6-

lE-8 1E-S

54.5

5

9

9.5

Ped Ped Speeds, Speeds, ATM, Data Transmission

Ped Speeds, IP, Data Transmission

SO&6 3 3170P ," f4 8

0 S&S-

lE-3

>150
, Berkeley, CA, November 1995. [Sivalingam97] K. M. Sivalingam, M. B. Srivastave, and P, Agrawal, “Low power link and access protocols for wireless multimedia networks,” In Proceedings of IEEE Vehiculnr Technology Conference, Phoenix, AZ, May 1997. [Srivastava96] M. B. Srivastava, A. P. Chandrakasan, and R. W. Brodersen, “Predictive system shutdown and other architectural techniques for energy efficient programmable computntion,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems, ~01.4,no.1, pp. 42-55, March 1996. [Stemm96] M. Stemm, P. Gauthier, D. Harada, and R. Katz, “Reducing power consumption of network interfaces in handheld devices,” In Proceedings 3rd International Workshop on Mobile Multimedia Communications (MoMuC-3), Sep. 1996. [Swarts94] E Swarts, H. C. Ferreira, ‘Markov Characterization of Digital Fading Mobile VHF Channels,” IEEE Trans. on Vchicular Technology, ~01.43, no.4, pp.977-985, November 1994, [walrandgl] J. Walrand, “Communication Networks: A First Course,” Aksen Associates Incorporated Publishers, 1991. Wang951 H. S. Wang, N. Moayeri, “Finite-State Markov ChannclA Useful Model for Radio Communication Channels,” IEEE Trans. on Vehicular Technology, ~01.44. no.1, pp.l63-171, February 1995. [Weiser93] M. Weiser, “Some computer science issues in ubiqultous computing,” Communications of the ACM, vol. 36, no, 7, pp. 74-84, July 1993. [weise#4] M. Weiser, B. Welch, A. Demers, and S. Shenkcr, “Scheduling for reduced CPU energy,” In Proceedings of the First USENIX Symposium on Operating Systems Design and Implementation (OSDI), pp. 13-23, Monterey, CA, Nov. 1994. majnik95] S. Yajnik, J. Sienicki, and F?Agrawal, “Adaptive coding for packetized data in wireless networks,” In Proceedings of Sixth IEEE International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC’95), pp, 338-342, Toronto, Ont., Canada, 27-29 Sept. 1995. [Zhao96] H, Zhao, and S. Uebayashi, “A hybrid ARQ scheme for DS-CDMA mobiIe data communications,” In Proceedings of 1996 5th IEEE International Conference on Universal Personal Communications (ICUPC), pp 71-75, Sept. 29 - Oct. 2,1996. [Zorzi95] M. Zorzi and R. R. Rao, “On the accuracy of a first-order Markov model for data transmission on fading channels,” In Proceedings of 4th IEEE Intl. Conf. on Universal Pcrsonnl Communications, pp. 21 l-215, Tokyo, Japan, Nov. 1995. [Zo=i97] M. Zorzi and R. R. Rao, “Error control and energy consumption in communications for nomadic computing,” IEEE Trans. on Computers, ~01.46, no.3,279-89, March 1997.

Suggest Documents