Algoritme :: FEC

Fout-foutcorrectie met VANTERMONDE MATRICES
Download nu

Algoritme :: FEC Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Marc Lehmann
  • Uitgever website:
  • http://www.goof.com/pcg/marc/

Algoritme :: FEC Tags


Algoritme :: FEC Beschrijving

Forward-foutcorrectie met VANTERMONDE MATRICES Algoritme :: FEC is een PERL-interface naar de FEC-bibliotheek door Luigi Rizzo et al., Zie het bestand Readme.fec in de distributie voor meer informatie. Deze bibliotheek implementeert een eenvoudige (gecodeerde_blocks, datal_blocks) wiscode op basis van VANDMONDE-matrices. De encoder neemt ELUIT BLOCK_SIZE BLOKS VAN GROTE BOCK_SIZE elk, en is in staat om te produceren tot gecodeerde_blocks verschillende gecodeerde blokken, genummerd van 0 tot codeed_blocks-1, zodanig dat elke subset van datal_blocks-leden reconstructie van de originele gegevens mogelijk maken. Toegestane waarden voor datal_blocks en codeed_blocks moeten de volgende vergelijking gehoorzamen: data_blocks. Mail me als je wilt dat dit gebeurt. Indien gebeld zonder argumenten, wordt de interne opslag die aan de blokken geassocieerd met de blokken opnieuw bevrijd is. $ BLOCK = $ FEC-> CODE ($ BLOCK_IDEX) Maakt een enkel gecodeerd blok van indexblock_index, die tussen 0 en encodeed_blocks-1 (inclusief) moet zijn. De blokken van 0 tot data_blocks-1 zijn gewoon kopieën van de originele datablokken. Het gecodeerde blok wordt geretourneerd als een perl-scalairear (zodat de blokken in het geheugen moeten passen. Als dit een probleem is voor u mij en ik zal het een bestand maken. $ FEC-> SET_DECODE_BLOCKS (, ) Bereidt zich voor op het decoderen van data_blocks blokken (zie SET_ENCODE_BLOCKS voor de parameter Array_Of_Blocks). Omdat deze meestal niet de originele gegevensblokken zijn, moeten een reeks indices (variërend van 0 tot codeed_blocks-1) worden geleverd als de tweede arrayref. Beide arrays mogen hebben Exacte data_blocks-vermeldingen. Deze methode reist ook de blokken en indexarray op zijn plaats (indien nodig) om de bestelling weer te geven De blokken zullen in het gedecodeerde resultaat hebben. De indexarray vertegenwoordigt de gedecodeerde bestellingen, in dat de N-TH-vermelding in de indices Array komt overeen met het N-TH-gegevensblok van het gedecodeerde resultaat. De waarde die is opgeslagen in de N-TH-plaats in de array, bevat de index van het gecodeerde gegevensblok. Invoerblokken met indexen minder dan data_blocks worden verplaatst naar hun uiteindelijke positie (blok k Om K te positioneren), terwijl de openingen tussen hen worden gevuld met chequeblokken. Het decoderingsproces zal de reeds gedecodeerde datablokken niet wijzigen, maar wijzigt de chequeblokken. Dat wil zeggen, als u deze functie belt met indices = , met data_blocks = 3, wordt deze array geretourneerd: . Dit betekent dat invoerblok 0 overeenkomt met het bestandsblok 0, invoerblok 1 naar bestandsblok 2 en invoerblok 2 naar datablok 1. U kunt gewoon over deze array herhalen en het bijbehorende gegevensblok ophalen (hoewel dit inefficiënt is): Mijn $ i (0 .. $ # idx) if ($ idx ! = $ i) # nodig hebben we dit blok verplaatsen? COPY COPODED BLOCK $ IDX TO POSITIE $ I}} De kopieermethode kan hier nuttig zijn. Deze methode vernietigt de blockarray zoals opgezet door Set_encode_Blocks. $ fec-> shuffle (, ) hetzelfde als SET_DECODE_BLOCKS, met de uitzondering dat de blokken niet daadwerkelijk zijn ingesteld voor decodering. Deze methode wordt normaal gesproken niet gebruikt, maar als u blokken wilt verplaatsen na het opnieuw ordenen en vóór het decoderen, en vervolgens shuffle gevolgd door set_decode_blocks loopt het lager overhead dan het bellen van Set_decode_Blocks tweemaal, omdat bestanden niet worden gedecodeerd, enz. ingesteld met een vorige oproep aan SET_DECODE_BLOCKS. Deze methode vernietigt de block-array zoals opgezet door SET_DECODE_BLOCKS. $ FEC-> COPY ($ SRCBLOCK, $ DSTBLOCK) UTILITY-functie die eenvoudig één blok kopieert (gespecificeerd als in SET_ENCODE_BLOCKS) in een andere. Dit, BTW., Vernietigt de blokken die zijn ingesteld door SET _ * _ BLOKS. Synopsis Gebruik algoritme :: FEC; Vereisten: · Perl


Algoritme :: FEC Gerelateerde software