17.06.2015 Views

Monografia - UFF

Monografia - UFF

Monografia - UFF

SHOW MORE
SHOW LESS

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

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

3.6 Otimizações 46<br />

1: function updateCostMARAP(from) {<br />

2:<br />

3: usedStatistics = probeRateChoice(from);<br />

4: sourceRate = probeRates[usedStatistics];<br />

5: P ab = nLq[from, usedStatistics];<br />

6: P ba = Lq[from, usedStatistics];<br />

7:<br />

8: for (c in sizeClasses) {<br />

9:<br />

10: bestCost = infinity;<br />

11:<br />

12: for (i in availableRates) {<br />

13:<br />

14: newETX = computeETXAtRateMARAP(P ab , P ba , sourceRate, i, c);<br />

15: newCost = (newETX * c) / i;<br />

16:<br />

17: if (newCost < bestCost) {<br />

18:<br />

19: bestCost = newCost;<br />

20: bestRate = i;<br />

21: }<br />

22: }<br />

23:<br />

24: if (bestCost != infinity) {<br />

25:<br />

26: rateForLink[from, c] = bestRate;<br />

27: }<br />

28: }<br />

29: costForLink[from] = bestCost;<br />

30: }<br />

31: function computeETXAtRateMARAP(P ab , P ba , sourceRate, targetRate, targetSize) {<br />

32:<br />

33: SNR ab = findSNRInTable(1 − P ab , sourceRate, probeSize);<br />

34: SNR ba = findSNRInTable(1 − P ba , sourceRate, probeSize);<br />

35: NewP ab = 1 - findPERInTable(SNR ab , targetRate, targetSize);<br />

36: NewP ba = 1 - findPERInTable(SNR ba , targetRate, targetSize);<br />

37: NewET X = 1/(NewP ab * NewP ba );<br />

38:<br />

39: return(NewET X);<br />

40: }<br />

Figura 3.9: Pseudocódigo das funções modificadas no MARA-P.<br />

na estimativa dos valores NewP ab e NewP ba . O tamanho de quadro também é utilizado<br />

agora no cálculo da variável NewCost, substituindo a constante probeSize (linha 15).<br />

A última modificação fica por conta da variável rateF orLink. Enquanto na função

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

Saved successfully!

Ooh no, something went wrong!