• Nenhum resultado encontrado

2.3 Codificação de imagens por DWT

3.1.1 Modelo de erros

Redes de sensores sem fio são compostas por nós com restrições de recursos que são interconectados por enlaces ad hoc para a realização de determinado tipo de monitora- mento. Tais redes podem ser implantadas em regiões com diferentes características geo-

gráficas, onde interferências no sinal de comunicação podem ser constantes. Além disso, a natureza da transmissão de dados em redes sem fio também apresenta o problema de atenuação (channel fading). Essas características da comunicação sem fio podem resul- tar em erros que podem ocorrer em qualquer parte da comunicação e em qualquer nó do sensor fonte ao sink.

Erros de transmissão são comuns em comunicações sem fio quando comparadas com comunicações em redes cabeadas, podendo resultar em perdas de pacotes e consequen- temente em prejuízos à qualidade de monitoramento da rede. Pacotes corrompidos são descartados pela rede ou pelo destino da comunicação, a menos que algum mecanismo de controle de erros seja empregado para recuperar os dados corrompidos. Além dos erros durante a transmissão, pacotes transmitidos em RSVSF podem ser descartados devido a diversas razões, como congestionamento, falhas nos nós intermediários e mecanismos de otimização [Costa & Guedes 2011b]. Múltiplos acessos ao canal de comunicação podem também resultar em colisões e perda de pacotes, requerendo um protocolo MAC para li- dar com o acesso ao meio compartilhado. Nesses casos, muitos trabalhos têm proposto soluções para recuperar dados perdidos ou para minimizar o impacto da perda de pacotes na qualidade final da aplicação [Almalkawi et al. 2010, Wu & Abouzeid 2006, Demirkol et al. 2006].

De maneira geral, esperam-se que perdas de dados devido a erros durante a trans- missão possuam um papel relevante na maneira como as redes de sensores transmitem pacotes, influenciando diretamente no consumo de energia e latência da rede. Entretanto, questões como congestionamento e acesso ao meio irão variar consideravelmente depen- dendo das tecnologias e algoritmos adotados. Por exemplo, no padrão IEEE 802.15.4 a transmissão de pacotes pode ser controlada por um protocolo slotted CSMA/CA (Car- rier Sense Multiple Access/Collision Avoidance) para controlar a colisão de pacotes, mas a maior parte ou todos os dados multimídia podem ser transmitidos durante um CFP, onde sensores adquirem acesso dedicado ao meio de comunicação e pacotes não colidem [Garcia-Sanchez et al. 2011]. Como iremos propor otimizações genéricas, que podem operar sobre qualquer tecnologia de comunicação, estamos especialmente preocupados com erros de transmissão e perda de pacotes resultantes das características das comunica- ções sem fio.

Erros em enlaces sem fio irão ocorrer em rajadas (bursts) [Korhonen & Wang 2005, Han & Lee 2007]. Embora seja mais simples na esfera teórica definir a mesma probabi- lidade de erros para cada bit transmitido, essa definição não é verdadeira para aplicações em redes reais, uma vez que a probabilidade de erros depende do tamanho dos pacotes [Korhonen & Wang 2005]. Consideramos o modelo Gilbert/Elliot como base para nosso

modelo de erro. Nesse modelo é definida uma cadeia de Markov com dois estados possí- veis: "good" (bom) e "bad" (mau) [Han & Lee 2007]. Por simplicidade, podemos definir que todos os bits estão corretos no estado "good", enquanto todos os bits estão corrom- pidos no estado "bad" [Han & Lee 2007]. A Figura 3.1 apresenta esquematicamente a cadeia de Markov do modelo Gilbert/Elliot, onde g é a probabilidade da transmissão estar no estado bom e b é a probabilidade para o estado mal.

Good

Bad

1 - g

1 - b

b

g

Figura 3.1: Modelo de erro Gilbert/Elliot.

Esse modelo refere-se a erros na transmissão de bits em um enlace sem fio conectando dois nós, sendo que os valores para g e b dependem das características físicas do enlace considerado. Embora esse modelo se refira a erros em bits, um erro em único bit irá cor- romper um pacote como um todo. Como queremos estimar o consumo teórico de energia para transmissão de pacotes e possíveis retransmissões, nós queremos saber o PER (Pac- ket Error Rate) médio para pacotes transmitidos do hop h para o hop (h + 1) no caminho p, Pn(p,h), considerando a transmissão de n bits. Para tanto, precisamos calcular a proba-

bilidade no estado estacionário (steady-state probability) para os estados "good" (G(p,h))

e "bad" (B(p,h)) [Han & Lee 2007] no enlace entre o hop h e o hop (h + 1) no caminho p, como apresentado nas equações 3.1 e 3.2.

G(p,h)= 1 − b(p,h) 2 − (g(p,h)+ b(p,h)) (3.1) B(p,h)= 1 − g(p,h) 2 − (g(p,h)+ b(p,h)) (3.2)

Baseando-se nessas probabilidades, podemos calcular o PER médio para um pacote com n bits, Pn(p,h), como expresso na equação 3.3. Essa formulação é obtida considerando os dois casos onde nenhum erro ocorre durante a transmissão de um pacote: 1) o canal está no estado "good" e permanece nesse estado durante toda a transmissão ou 2) o canal está inicialmente no estado "bad", mas o estado muda para "good" imediatamente antes de iniciar a transmissão e permanece lá durante a transmissão de todos os bits [Han & Lee 2007].

Pn(p,h)= 1 − (G(p,h).gn(p,h)+ B(p,h)(1 − b(p,h))gn−1(p,h)) (3.3) Por simplicidade, definimos Pd(p,h) como a taxa média de erro de pacotes de dados (n = k) no enlace entre o hop h e o hop (h + 1) no caminho p. Nós assumimos Pn(p,h)= 0 se n = 0.

Há diferentes mecanismos para recuperação de dados em redes de sensores sem fio [Costa & Guedes 2012c]. Entre as possibilidades, nós consideramos a retransmissão de pacotes como mecanismo padrão para recuperação de dados em RSVSF, onde a retrans- missão pode ser realizada em cada nó do caminho (hop-by-hop) ao invés de apenas no sink (end-to-end). Dessa forma, economiza-se recurso da rede evitando que pacotes re- transmitidos atravessem muitos hops [Liu et al. 2007, Costa & Guedes 2012c, Almalkawi et al. 2010]. De fato, a retransmissão de pacotes perdidos é baseada em reconhecimento na maioria dos casos. A solução mais simples é transmitir uma mensagem ACK (Ackno- wledgment) para confirmar o recebimento correto de cada pacote transmitido a partir do hopanterior. Em tal esquema stop-and-go, o nó transmissor retransmite um pacote caso não receba a mensagem ACK correspondente antes de um tempo pré-definido (window of expectation) [Stann & Heidemann 2003].

Cada mensagem ACK possui tamanho a bits, onde geralmente a < k. Além disso, definimos Pa(p,h) como o PER médio para mensagens ACK (n = a), onde usualmente Pd(p,h)> Pa(p,h)já que esperamos a < k.

Um pacote deve ser retransmitido em alguns casos particulares. O primeiro caso é quando o pacote de dados é corrompido durante a transmissão a partir do hop h no cami- nho p, com probabilidade Pd(p,h), usualmente detectado calculando o código CRC (Cyclic Redundancy Check) do pacote. A outra possibilidade de retransmissão é quando o pacote é recebido com sucesso pelo hop (h + 1), mas o ACK correspondente é perdido com probabilidade ((1 − Pd(p,h)).Pa(p,h)) [Dunkels et al. 2004]. Considerando que o número

máximo de tentativas de retransmissão é r, o número médio de transmissões de pacotes de dados no estado estacionário (transmissão inicial de pacotes + tentativas de retransmissão)

de um único pacote de dados em um hop h é definido na equação 3.4.

Rd(p,h)= 1 + ((1 − Pd(p,h)).Pa(p,h)+ Pd(p,h)) + (3.4)

+((1 − Pd(p,h)).Pa(p,h)+ Pd(p,h))2+ ...

+((1 − Pd(p,h)).Pa(p,h)+ Pd(p,h))r

Se considerarmos um número ilimitado de retransmissões, obtemos uma série geomé- trica que pode ser simplificada para a equação 3.5.

Rd(p,h)= 1

1 − ((1 − Pd(p,h)).Pa(p,h)+ Pd(p,h))

(3.5) A probabilidade de enviar exatamente uma mensagem ACK é (1−Pd(p,h)), referindo- se ao correto recebimento de um pacote de dados. Mais ainda, erros na transmissão de pacotes ou de mensagens ACK, com retransmissões subsequentes, irão também acarretar em novas transmissões de mensagens ACK. Seguindo a mesma abordagem da equação 3.4, podemos calcular o número médio de mensagens ACK para serem transmitidas pelo hop hno caminho p, como definido na equação 3.6.

Ra(p,h)= (1 − Pd(p,h)) + (1 − Pd(p,h)).((1 − Pd(p,h)).Pa(p,h)+ Pd(p,h)) + (3.6)

+(1 − Pd(p,h)).((1 − Pd(p,h)).Pa(p,h)+ Pd(p,h))2+ ...

+(1 − Pd(p,h)).((1 − Pd(p,h)).Pa(p,h)+ Pd(p,h))r

Se considerarmos novamente um número ilimitado de tentativas de retransmissões de pacotes, obtemos uma série geométrica para o número médio de retransmissões de mensagens ACK, como definido na equação 3.7.

Ra(p,h)= 1 − Pd(p,h)

1 − ((1 − Pd(p,h)).Pa(p,h)+ Pd(p,h))

(3.7) Embora um número ilimitado de retransmissões possa não parecer prático em redes de sensores sem fio reais, tal suposição nos permite realizar simplificações matemáticas

no modelo de erro, sem prejudicar significativamente a estimativa do consumo teórico de energia. Além disso, retransmissões sem limite máximo de tentativas podem ser desejadas por alguns tipos de aplicações, pelo menos no âmbito teórico, e existem mecanismos práticos para aumentar esse limite em sensores reais, como apresentado em [Shon & Choi 2008].

Os valores para Rd(p,h)indicam o número médio de transmissões de pacotes de dados e possíveis retransmissões a partir do hop h ao hop (h+1), no caminho p. Por exemplo, se Rd(p,h)= 1,1, o hop h irá transmitir, em media, 1,1 pacotes de dados para o próximo hop no caminho de transmissão até o sink, para cada pacote recebido para encaminhamento. Assim, se o hop h recebeu 10 pacotes do hop anterior, ele irá transmitir, em média, 11 pacotes para o hop (h + 1). Note que os valores para Rd(p,h)e Ra(p,h)serão maiores para enlaces de transmissão com maiores taxas de erros.