خوارزمية :: FEC.

تصحيح الأخطاء الأمامي باستخدام مصفوفات vandermonde
التحميل الان

خوارزمية :: FEC. الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • Perl Artistic License
  • السعر:
  • FREE
  • اسم الناشر:
  • Marc Lehmann
  • موقع ويب الناشر:
  • http://www.goof.com/pcg/marc/

خوارزمية :: FEC. العلامات


خوارزمية :: FEC. وصف

تصحيح الأخطاء الأمامي باستخدام مصفوفات vandermonde الخوارزمية :: FEC هي واجهة بيرل لمكتبة FEC بواسطة Luigi Rizzo et al.، راجع الملف Readme.fec في التوزيع لمزيد من التفاصيل. تنفذ هذه المكتبة رمز محو بسيطة (Encoded_Blocks، data_blocks) بناء على مصفوفات Vandermonde. يأخذ التشفير كتل Data_blocks من حجم Block_Size لكل منهما، وهو قادر على إنتاج كتل المشفرة المختلفة المشفرة، ويتم ترقيمها من 0 إلى Encoded_Blocks-1، بحيث تسمح أي مجموعة فرعية من أعضاء Data_Blocks بإعادة إعمار البيانات الأصلية. يجب أن تطيع القيم المسموح بها ل Data_Blocks و Envoded_Blocks المعادلة التالية: Data_Blocks. البريد لي إذا كنت تريد أن يحدث هذا. إذا تم استدعاؤه بدون حجج، يتم تحرير التخزين الداخلي المرتبط بالكتل مرة أخرى. كتلة $ = $ FEC-> تشفير ($ block_index) ينشئ كتلة واحدة مشفرة من block_index الفهرس، والتي يجب أن تكون بين 0 و encoded_blocks-1 (شاملة). الكتل من 0 إلى data_blocks-1 هي ببساطة نسخ من كتل البيانات الأصلية. يتم إرجاع الكتلة المشفرة كبطاقة perl (لذلك يجب أن تناسب الكتل في الذاكرة. إذا كانت هذه مشكلة بالنسبة لك البريد لي وسأجعلها ملف. $ fec-> set_decode_blocks (، ) يستعد لفك تشكيك Data_Blocks من الكتل (انظر SET_Encode_Blocks لمعلمة Array_Of_Blocks). نظرا لأن هذه عادة ما تكون كتل البيانات الأصلية، يجب توفير مجموعة من المؤشرات (تتراوح من 0 إلى Encoded_Blocks-1) كأربريف الثاني. يجب أن يكون لكل من صفيفات قم بالضبط data_blocks إدخالات. تقدم هذه الطريقة أيضا الكتل ومصفوف الفهرس في مكانها (إذا لزم الأمر) لتعكس الطلب، فستكون الكتل التي ستكون بها الكتل في النتيجة المشفرة. يمثل صفيف الفهرس الطلب فك التشفير، في هذا الدخول n-th في المؤشرات يتوافق مجموعة مع كتلة البيانات N النتيجة المشفرة. ستتضمن القيمة المخزنة في مكان N في الصفيف فهرس كتلة البيانات المشفرة. سيتم نقل كتل الإدخال مع مؤشرات أقل من Data_Blocks إلى موضعها النهائي (كتلة ك لوضع K)، في حين سيتم ملء الثغرات بينهما كتل الشيكات. لن تقوم عملية فك التشفير بتعديل كتل البيانات المشفرة بالفعل، ولكنها ستعدل كتل Check. وهذا هو، إذا استدعيت هذه الوظيفة مع مؤشرات = ، مع data_blocks = 3، فسيتم إرجاع هذه الصفيف: . هذا يعني أن كتلة الإدخال 0 يتوافق مع كتلة الملفات 0، كتلة الإدخال 1 إلى ملف كتلة 2 وإدخال كتلة 2 إلى كتلة البيانات 1. يمكنك فقط التكرار فوق هذه الصفيف وكتابة كتلة البيانات المقابلة (على الرغم من أن هذا غير فعال): بلدي $ I (0 .. $ # IDX) إذا ($ IDX ! = $ i) الحاجة نحن نقل هذه الكتلة؟ نسخ كتلة مشفرة $ IDX لوضع $ i}} يمكن أن تكون طريقة النسخ مفيدة هنا. هذه الطريقة تدمر صفيف الكتلة كما تم إعدادها بواسطة SET_Encode_Blocks. $ fec-> shuffle (، ) نفس نفس set_decode_blocks، باستثناء أن الكتل ليست محددة فعلا ل فكيبها. لا تستخدم هذه الطريقة عادة، ولكن إذا كنت ترغب في نقل كتل حولها بعد إعادة ترتيبها وقبل فك تشفيرها، فإن استدعاء خلط ورق اللعب متبوعا SET_DECODE_BLOKS يتغاضي النفقات النفقية المنخفضة من الاتصال SET_DECODE_BLOCKS مرتين، حيث لا يتم تعيين الملفات إلخ. $ fec-> فك شفرة الكتل تعيين بواسطة مكالمة مسبقة إلى set_decode_blocks. هذه الطريقة تدمر صفيف الكتلة كما تم إعدادها بواسطة set_decode_blocks. $ FEC-> نسخة ($ srcblock، $ dstblock) وظيفة الأداة المساعدة التي تقوم ببساطة نسخ كتلة واحدة (محددة مثل في Set_Encode_Blocks) إلى آخر. هذا، راجع للشغل.، يدمر الكتل المحددة بواسطة مجموعة _ * _ كتل. استخدام ملخص خوارزمية :: FEC؛ متطلبات: perl.


خوارزمية :: FEC. برامج ذات صلة