Document

TS004-2.0.0 Fragmented Data Block Transport

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

Contents of this Issue

Navigation

Page 22 of 31

LoRaWAN ® Fragmented Data Block Transport Specification TS004-2.0.0 ©2022 LoRa Alliance ® Page 23 of 32 The authors reserve the right to change specifications without notice. APPENDIX: DATA BLOCK FRAGMENTATION 589 FORWARD ERROR CORRECTION CODE 590 591 This appendix proposes a simple Forward Error Correction (FEC) code to be used for 592 fragmented transport of large binary files over LoRaWAN. As with all radio links, a 593 LoRaWAN link will exhibit a certain ratio of lost frames. Adding FEC in the file fragmented 594 data block transport allows an end-device to autonomously recover the full file even in the 595 presence of lost frames, without having to systematically request the missing fragments. 596 597 The transmitter of the fragmented binary file can select to add arbitrary redundancy to the 598 transmission content through this FEC. For example, 10% redundancy added by the 599 fragmentation transmitter allows the receiver performing the defragmentation to lose roughly 600 10% of the incoming frames and still be able to reconstruct the binary file. 601 602 The coding scheme proposed here is directly derived from the 1963 thesis of Robert 603 Gallager describing parity-check codes. This thesis can be accessed at: 604 http://www.inference.phy.cam.ac.uk/mackay/gallager/papers/ldpc.pdf. 605 A.1 Fragment Error Coding 606 607 The initial data block that needs to be transported must first be fragmented into M data 608 fragments of arbitrary but equal length. The length of those fragments has to be chosen to 609 be compatible with the maximum applicative payload size available. 610 611 The actual applicative payload length will be: 612 fragLen + 2 octets 613 614 Where fragLen is the octet length of each fragment plus 2 octets of fragmentation header 615 (containing Index&N, refer to section 3.6). 616 617 Those original data fragments are called uncoded fragments and are noted Bn. 618 619 The full data block to be transported consists of the concatenation of the Bn uncoded 620 fragments (including padding), [B1 : B2 :… :Bm]. 621 622 The coded fragments are noted P M N and are derived from the uncoded fragments. P M N is the 623 Nth coded fragment from a fragmentation session containing M (B1 to Bm) uncoded 624 fragments. The coded fragments P M N all have exactly the same octet length as the uncoded 625 Bn fragments. 626 627 To allow the original uncoded fragments to be reconstructed on the receiving end of the link, 628 even in presence of arbitrary packet loss, the transmitter (performing the fragmentation) 629 adds redundancy. Therefore, N might be greater than M, meaning that the sender may send 630 more coded fragments than the total number of uncoded fragments to enable the 631 reconstruction on the receiving end when there is packet loss. The ratio between M and the 632 number of actually sent coded fragments is called the coding ratio (or redundancy factor) 633 and noted CR. 634 635

Articles in this issue

Links on this page

view archives of Document - TS004-2.0.0 Fragmented Data Block Transport