Document

LoRaWAN® Fragmented Data Block Transport Specification v1.0.0

Issue link: https://read.uberflip.com/i/1428356

Contents of this Issue

Navigation

Page 23 of 29

LoRaWAN Fragmented Data Block Transport v1.0.0 Specification ©2018 LoRa Alliance™ Page 24 of 30 The authors reserve the right to change specifications without notice. 10 End-device memory requirement 573 574 This coding scheme has been optimized to allow the transportation of large binary file with 575 minimum memory overhead on the receiving end (performing the defragmentation). 576 The following formula gives the decoding memory requirements for an optimized end-device 577 implementation expressed in Bytes on TOP of the memory required to store the final 578 reconstructed data block. 579 Example: a 50kbytes data block must be received. The end-device 580 requires 50kbytes of available memory + the value given by the 581 following formula 582 583 For a data block fragmented using M fragments, let L be the number of coded fragments 584 lost by the end-device amongst the first M coded fragments. (The fragments P M 1 to P M M ). 585 586 The required defragmentation memory overhead is a function of the maximum L value that 587 the end-device is designed to tolerate. Interestingly, the memory overhead is NOT a function 588 of the total number of fragments used to convey the data block. This is because the 589 defragmentation implementation is optimized to use the fact that the first M fragments 590 actually contain the original uncoded data block (P M i = B M i ≤ ). 591 592 Parity Matrix memory (bytes) = l.(l+1)/2/8 + 2.l , where l is the maximum value of L that the 593 end-device tolerates (if L>l , the defragmentation fails and is aborted) 594 The following table gives a few numerical examples. 595 596 l Parity matrix memory 32 130 40 183 48 243 56 312 64 388 597 598 The total memory requirement is the sum of the full data block size and the parity matrix 599 memory size. 600 Example: a 50kbytes data block must be received, as 1000x50bytes 601 fragments. The end-device is designed to be able to withstand the loss 602 of 64 fragments out of the first 1000 transmitted (l=64). The end-device 603 requires 50kbytes of available memory + 388bytes to store the parity 604 matrix 605 606 607 The data block can be reassembled in the memory directly at its final address (this means 608 directly in the FLASH memory space for most end-devices), so there is no need for an 609 additional "data block" swap memory space. 610 The parity matrix memory space can be erased and reused once the defragmentation is 611 finished. 612 613

Articles in this issue

view archives of Document - LoRaWAN® Fragmented Data Block Transport Specification v1.0.0