مسجل إزاحة ذو تغذية راجعة خطية
في مجال الحوسبة ، مسجل الإزاحة ذو التغذية الراجعة الخطية ( LFSR ) هو مسجل إزاحة تكون بتة الإدخال الخاصة به دالة خطية لحالته السابقة.
تُعدّ عملية XOR (العملية الحصرية أو العملية XOR) أكثر العمليات الخطية شيوعًا للتعامل مع البتات المفردة . لذا، فإنّ مسجل الإزاحة ذو التغذية الخطية (LFSR) هو في الغالب مسجل إزاحة يتم فيه التحكم في بت الإدخال من خلال عملية XOR لبعض بتات قيمة مسجل الإزاحة الكلية.
تُسمى القيمة الابتدائية لمسجل الإزاحة ذي التغذية الراجعة الخطية (LFSR) بالبذرة، ولأن عملية المسجل حتمية، فإن سلسلة القيم التي ينتجها المسجل تتحدد كليًا بحالته الحالية (أو السابقة). وبالمثل، ولأن المسجل له عدد محدود من الحالات الممكنة، فلا بد أن يدخل في دورة متكررة في النهاية. مع ذلك، يمكن لمسجل الإزاحة ذي التغذية الراجعة الخطية (LFSR) المزود بوظيفة تغذية راجعة مُختارة بعناية أن ينتج سلسلة من البتات تبدو عشوائية ولها دورة طويلة جدًا .
تشمل تطبيقات مسجلات الإزاحة الخطية ذات التغذية الراجعة (LFSRs) توليد أرقام شبه عشوائية ، ومتواليات ضوضاء شبه عشوائية ، وعدادات رقمية سريعة، ومتواليات تبييض . وتُعدّ تطبيقاتها في كل من الأجهزة والبرامج شائعة.
تتشابه الرياضيات المستخدمة في فحص التكرار الدوري ، والذي يُستخدم للتحقق السريع من أخطاء الإرسال، تشابهًا وثيقًا مع رياضيات مسجل الإزاحة ذي التغذية الخطية الخطية (LFSR). [ 1 ] وبشكل عام، فإن العمليات الحسابية الكامنة وراء مسجلات الإزاحة ذات التغذية الخطية الخطية تجعلها سهلة الدراسة والتطبيق. إذ يُمكن إنشاء دوائر منطقية معقدة نسبيًا باستخدام وحدات بناء بسيطة. ومع ذلك، ينبغي أيضًا النظر في طرق أخرى أقل أناقة ولكنها ذات أداء أفضل.
معدلات الإزاحة الخطية الخطية لفيبوناتشي

تُسمى مواضع البتات التي تؤثر على الحالة التالية بـ " النقاط" . في الرسم التوضيحي، النقاط هي [16، 14، 13، 11]. يُسمى البت الأيمن في مسجل الإزاحة ذي التغذية الراجعة الخطية (LFSR) بت الإخراج، وهو دائمًا نقطة أيضًا. للحصول على الحالة التالية، تُجرى عملية XOR على بتات النقاط بالتسلسل؛ ثم تُزاح جميع البتات خانة واحدة إلى اليمين، مع تجاهل البت الأيمن، وتُعاد نتيجة عملية XOR لبتات النقاط إلى البت الأيسر الفارغ. للحصول على دفق الإخراج شبه العشوائي، تُقرأ البتة اليمنى بعد كل انتقال حالة.
- ينتج مسجل الإزاحة الخطي ذو الطول الأقصى تسلسلًا من النوع m (أي أنه يدور عبر جميع الحالات الممكنة 2 m − 1 داخل مسجل الإزاحة باستثناء الحالة التي تكون فيها جميع البتات أصفارًا)، ما لم يكن يحتوي على جميع الأصفار، وفي هذه الحالة لن يتغير أبدًا.
- كبديل للتغذية الراجعة القائمة على عملية XOR في مسجل الإزاحة ذي التغذية الراجعة الخطية (LFSR)، يمكن استخدام عملية XNOR . [ 2 ] هذه العملية عبارة عن تحويل خطي ، وليست تحويلاً خطيًا بالمعنى الدقيق ، ولكنها تُنتج عدادًا متعدد الحدود مكافئًا تكون حالته مكملة لحالة مسجل الإزاحة ذي التغذية الراجعة الخطية. تُعتبر الحالة التي تحتوي على جميع القيم 1 غير مسموحة عند استخدام التغذية الراجعة XNOR، تمامًا كما تُعتبر الحالة التي تحتوي على جميع القيم 0 غير مسموحة عند استخدام XOR. تُعتبر هذه الحالة غير مسموحة لأن العداد سيظل "معلقًا" فيها. قد تكون هذه الطريقة مفيدة في مسجلات الإزاحة ذات التغذية الراجعة الخطية التي تستخدم قلابات تبدأ من حالة الصفر، لأنها لا تبدأ في حالة تعليق، مما يعني أن المسجل لا يحتاج إلى تهيئة لبدء التشغيل.
يمكن اعتبار سلسلة الأرقام التي يتم إنشاؤها بواسطة LFSR أو نظيره XNOR نظامًا رقميًا ثنائيًا صالحًا تمامًا مثل رمز غراي أو الرمز الثنائي الطبيعي.
يمكن التعبير عن ترتيب نقاط التغذية الراجعة في مسجل الإزاحة ذي التغذية الراجعة الخطية (LFSR) في حساب الحقول المنتهية على شكل متعددة حدود بتردد 2. وهذا يعني أن معاملات متعددة الحدود يجب أن تكون 1 أو 0. تُسمى هذه متعددة حدود التغذية الراجعة أو متعددة الحدود المميزة المقلوبة. على سبيل المثال، إذا كانت نقاط التغذية الراجعة عند البتات 16 و14 و13 و11 (كما هو موضح)، فإن متعددة حدود التغذية الراجعة هي
لا يُمثل الرقم "واحد" في كثير الحدود نقطة توصيل، بل يُمثل مدخل البت الأول (أي x 0 ، وهو ما يُعادل 1). تُمثل قوى الحدود البتات التي تم توصيلها، بدءًا من اليسار. يتم توصيل البت الأول والأخير دائمًا كمدخل ومخرج على التوالي.
تكون مسجلة الإزاحة الخطية ذات التغذية الراجعة (LFSR) ذات طول أقصى إذا وفقط إذا كانت متعددة الحدود المقابلة لها أولية على حقل غالوا GF(2). [ 3 ] [ 4 ] وهذا يعني أن الشروط التالية ضرورية (ولكنها غير كافية):
- عدد النقرات زوجي .
- مجموعة الصنبور هي مجموعة أولية فيما بينها ؛ أي أنه لا يجب أن يكون هناك قاسم مشترك بين جميع الصنبورات بخلاف 1.
ترد أدناه وفي المراجع جداول متعددة الحدود الأولية التي يمكن من خلالها إنشاء مسجلات الإزاحة الخطية ذات الطول الأقصى.
قد يوجد أكثر من تسلسل نقر ذي طول أقصى لطول معين في مسجل الإزاحة ذي التغذية الراجعة الخطية (LFSR). كذلك، بمجرد العثور على تسلسل نقر ذي طول أقصى، يتبعه تسلسل آخر تلقائيًا. إذا كان تسلسل النقر في مسجل إزاحة ذي تغذية راجعة خطية (LFSR) مكون من n بت هو [ n , A , B , C , 0] ، حيث يمثل الصفر الحد x₀ = 1 ، فإن التسلسل "المرآوي" المقابل هو [ n , n - C , n - B , n - A , 0] . لذا، فإن تسلسل النقر [32, 22, 2, 1, 0] له نظير [32, 31, 30, 10, 0] . وكلاهما يمثل تسلسلًا ذا طول أقصى.
فيما يلي مثال مكتوب بلغة C :
#include <stdint.h> unsigned lfsr_fib ( void ) { uint16_t start_state = 0xACE1u ; /* أي قيمة غير صفرية لحالة البداية ستعمل. */ uint16_t lfsr = start_state ; uint16_t bit ; /* يجب أن يكون 16 بت للسماح بـ bit<<15 لاحقًا في الكود */ unsigned period = 0 ;do { /* taps: 16 14 13 11; feedback polynomial: x^16 + x^14 + x^13 + x^11 + 1 */ bit = (( lfsr >> 0 ) ^ ( lfsr >> 2 ) ^ ( lfsr >> 3 ) ^ ( lfsr >> 5 )) & 1u ; lfsr = ( lfsr >> 1 ) | ( bit << 15 ); ++ period ; } while ( lfsr != start_state );إرجاع الفترة ؛ }إذا كانت عملية التكافؤ السريع أو عملية عد البتات متاحة، فيمكن حساب بت التغذية الراجعة بكفاءة أكبر كحاصل ضرب نقطي للمسجل مع متعدد الحدود المميز:
bit=parity(lfsr&0x002Du);أو ما يعادل ذلكbit=popcnt(lfsr&0x002Du)/* & 1u */;. (& 1uيحول هذا دالة popcnt إلى دالة تكافؤ حقيقية، لكن عملية إزاحة البتات اللاحقةbit << 15تجعل البتات الأعلى غير ذات صلة.)
إذا كانت عملية الدوران متاحة، فيمكن حساب الحالة الجديدة على النحو التالي:
lfsr=rotateright((lfsr&~1u)|(bit&1u),1);أو ما يعادل ذلكlfsr=rotateright(((bit^lfsr)&1u)^lfsr,1);
يُعرف هذا التكوين لدائرة تسجيل الإزاحة الخطية ذات التغذية الراجعة (LFSR) أيضًا باسم البوابات القياسية أو بوابات XOR متعددة إلى واحد أو البوابات الخارجية . أما تكوين غالوا البديل، فسيتم شرحه في القسم التالي.
مثال بلغة بايثون
مثال على تطبيق بايثون لخوارزمية مماثلة (بمعدل 16 بت عند [16، 15، 13، 4]) لخوارزمية فيبوناتشي LFSR سيكون كالتالي:
start_state = 1 << 15 | 1 lfsr = start_state period = 0بينما صحيح : عدد النقرات: 16 15 13 4؛ متعددة الحدود للتغذية الراجعة: x^16 + x^15 + x^13 + x^4 + 1 بت = ( lfsr ^ ( lfsr >> 1 ) ^ ( lfsr >> 3 ) ^ ( lfsr >> 12 )) & 1 lfsr = ( lfsr >> 1 ) | ( بت << 15 ) الفترة += 1 إذا كانت lfsr == حالة_البداية : اطبع ( الفترة ) توقفحيث يتم استخدام سجل مكون من 16 بت، ويحدد نقر XOR في البت الرابع والثالث عشر والخامس عشر والسادس عشر الحد الأقصى لطول التسلسل.
غالوا LFSRs

سميت هذه التقنية نسبةً إلى عالم الرياضيات الفرنسي إيفاريست غالوا ، وتُعرف أيضًا باسم مسجل الإزاحة ذي التغذية الخطية الخطية (LFSR) في تكوين غالوا، أو ما يُعرف أيضًا باسم مُعاملات XOR الداخلية أو مسجل الإزاحة ذي التغذية الخطية الخطية من نوع واحد إلى متعدد. وهي بنية بديلة قادرة على توليد نفس تدفق الإخراج الذي يُولّده مسجل الإزاحة ذي التغذية الخطية الخطية التقليدي (ولكن بإزاحة زمنية). [ 5 ] في تكوين غالوا، عند تشغيل النظام، تُزاح البتات غير المُمثلة لنقاط التوصيل خانةً واحدةً إلى اليمين دون تغيير. أما نقاط التوصيل، فتُجرى عليها عملية XOR مع بت الإخراج قبل تخزينها في الخانة التالية. يُصبح بت الإخراج الجديد هو بت الإدخال التالي. ونتيجةً لذلك، عندما يكون بت الإخراج صفرًا، تُزاح جميع البتات في المسجل إلى اليمين دون تغيير، ويُصبح بت الإدخال صفرًا. عندما تكون بتة الإخراج واحدة، تنقلب جميع البتات في مواضع النقر (إذا كانت 0، تصبح 1، وإذا كانت 1، تصبح 0)، ثم يتم إزاحة السجل بأكمله إلى اليمين وتصبح بتة الإدخال 1.
لإنتاج نفس تدفق الإخراج، يكون ترتيب نقاط الإدخال معاكساً ( انظر أعلاه) لترتيبها في مسجل الإزاحة الخطي ذي التغذية الراجعة التقليدي، وإلا فسيكون التدفق معكوساً. لاحظ أن الحالة الداخلية لمسجل الإزاحة الخطي ذي التغذية الراجعة ليست بالضرورة متطابقة. يمتلك مسجل غالوا الموضح نفس تدفق الإخراج لمسجل فيبوناتشي في القسم الأول. يوجد فرق زمني بين التدفقات، لذا يلزم نقطة بداية مختلفة للحصول على نفس الإخراج في كل دورة.
- لا تقوم مسجلات الإزاحة الخطية ذات التغذية الراجعة من نوع Galois بربط كل نقطة لإنتاج المدخل الجديد (يتم إجراء عملية XOR داخل مسجل الإزاحة الخطية ذات التغذية الراجعة، ولا يتم تشغيل بوابات XOR بالتسلسل، وبالتالي يتم تقليل أوقات الانتشار إلى وقت XOR واحد بدلاً من سلسلة كاملة)، وبالتالي من الممكن حساب كل نقطة بالتوازي، مما يزيد من سرعة التنفيذ.
- في تطبيق برمجي لـ LFSR، يكون شكل Galois أكثر كفاءة، حيث يمكن تنفيذ عمليات XOR كلمة تلو الأخرى: يجب فحص بت الإخراج بشكل فردي فقط.
فيما يلي مثال على كود C لمثال Galois LFSR ذي الفترة القصوى 16 بت في الشكل:
#include <stdint.h> unsigned lfsr_galois ( void ) { uint16_t start_state = 0xACE1u ; /* أي قيمة غير صفرية لحالة البداية ستعمل. */ uint16_t lfsr = start_state ; unsigned period = 0 ;do { #ifndef LEFT unsigned lsb = lfsr & 1u ; /* الحصول على البت الأقل أهمية (أي بت الإخراج). */ lfsr >>= 1 ; /* مسجل الإزاحة */ if ( lsb ) /* إذا كان بت الإخراج 1، */ lfsr ^= 0xB400u ; /* تطبيق قناع التبديل. */ #else unsigned msb = ( int16_t ) lfsr < 0 ; /* الحصول على البت الأكثر أهمية (أي بت الإخراج). */ lfsr <<= 1 ; /* مسجل الإزاحة */ if ( msb ) /* إذا كان بت الإخراج 1، */ lfsr ^= 0x002Du ; /* تطبيق قناع التبديل. */ #endif ++ period ; } while ( lfsr != start_state );إرجاع الفترة ؛ }يمكن كتابة الفرع أيضًا على النحو التالي، مما قد ينتج عنه كود أكثر كفاءة على بعض المترجمات. بالإضافة إلى ذلك، قد ينتج عن صيغة الإزاحة إلى اليسار كودًا أفضل، لأن البت الأكثر أهمية هو بت الحمل الناتج عن إضافة إلى نفسه.if(lsb)lfsr^=0xB400u;lfsr^=(-lsb)&0xB400u;lfsr
حساب جالوا LFSR الموازي
يمكن أيضًا دمج البتات الناتجة عن الحالة وحسابها بالتوازي. تحسب الدالة التالية البتات الـ 64 التالية باستخدام متعددة الحدود ذات 63 بت.:
#include <stdint.h>uint64_t prsg63 ( uint64_t lfsr ) { lfsr = lfsr << 32 | ( lfsr << 1 ^ lfsr << 2 ) >> 32 ; lfsr = lfsr << 32 | ( lfsr << 1 ^ lfsr << 2 ) >> 32 ; return lfsr ; }مسجل إزاحة خطي ذو تغذية راجعة غير ثنائي من نوع غالوا
يمكن تعميم مسجلات الإزاحة الخطية الخطية الثنائية من نوع غالوا، كما هو موضح أعلاه، لتشمل أي أبجدية مكونة من q عنصر {0، 1، ...، q − 1} (على سبيل المثال، في النظام الثنائي، q = 2، والأبجدية هي {0، 1}). في هذه الحالة، يُعمم عنصر XOR ليصبح عملية جمع بتردد -q (لاحظ أن XOR هي عملية جمع بتردد 2)، ويُضرب بت التغذية الراجعة (بت الإخراج) (بتردد -q ) بقيمة من q عنصر ، وهي قيمة ثابتة لكل نقطة توصيل محددة. تجدر الإشارة إلى أن هذا يُعد أيضًا تعميمًا للحالة الثنائية، حيث تُضرب التغذية الراجعة إما بـ 0 (لا توجد تغذية راجعة، أي لا يوجد توصيل) أو بـ 1 (توجد تغذية راجعة). مع توفر تكوين مناسب لنقاط التوصيل، يمكن استخدام مسجلات الإزاحة الخطية الخطية هذه لتوليد حقول غالوا لأي قيم أولية لـ q .
مسجلات الإزاحة الخطية ذات التغذية الراجعة (LFSRs)
كما أوضح جورج مارساجليا [ 6 ] وحلله ريتشارد ب. برنت [ 7 ]، يمكن تنفيذ مسجلات الإزاحة ذات التغذية الراجعة الخطية باستخدام عمليات XOR والإزاحة. يتيح هذا النهج تنفيذًا سريعًا في البرمجيات لأن هذه العمليات تُترجم عادةً بكفاءة إلى تعليمات المعالجات الحديثة.
فيما يلي مثال على كود C لـ Xorshift LFSR ذي فترة قصوى 16 بت باستخدام الثلاثية 7،9،13 من جون ميتكالف: [ 8 ]
#include <stdint.h> unsigned lfsr_xorshift ( void ) { uint16_t start_state = 0xACE1u ; /* أي قيمة غير صفرية لحالة البداية ستعمل. */ uint16_t lfsr = start_state ; unsigned period = 0 ;do { // ثلاثية 7، 9، 13 من http://www.retroprogramming.com/2017/07/xorshift-pseudorandom-numbers-in-z80.html lfsr ^= lfsr >> 7 ; lfsr ^= lfsr << 9 ; lfsr ^= lfsr >> 13 ; ++ period ; } while ( lfsr != start_state );إرجاع الفترة ؛ }أشكال المصفوفات
يمكن التعبير عن مسجلات الإزاحة الخطية الخطية الثنائية ذات التكوينات فيبوناتشي وغالوا كدوال خطية باستخدام المصفوفات في(انظر GF(2) ). [ 9 ] باستخدام المصفوفة المصاحبة لكثير الحدود المميز لـ LFSR، وتعيين البذرة كمتجه عمودي، حالة السجل في تكوين فيبوناتشي بعديتم تحديد الخطوات بواسطة
مصفوفة شكل غالوا المقابل هي :
للحصول على تهيئة مناسبة،
المعامل العلوي لمتجه العمود :
يعطي الحد k من المتتالية الأصلية.
تتعمم هذه الأشكال بشكل طبيعي على الحقول العشوائية.
أمثلة على كثيرات الحدود لأقصى مسجلات الإزاحة الخطية ذات التغذية الراجعة
يُبيّن الجدول التالي أمثلةً على كثيرات الحدود ذات التغذية الراجعة ذات الطول الأقصى ( كثيرات الحدود الأولية ) لأطوال مسجلات الإزاحة التي تصل إلى 24. وقد طوّر سولومون دبليو. غولومب الصيغة الرياضية لمسجلات الإزاحة ذات التغذية الراجعة ذات الطول الأقصى في كتابه الصادر عام 1967. [ 10 ] يزداد عدد كثيرات الحدود الأولية المختلفة أُسّيًا مع طول مسجل الإزاحة، ويمكن حسابه بدقة باستخدام دالة أويلر [ 11 ] (المتتالية A011260 في OEIS ) .
| بتات (ن) | متعدد الحدود للتغذية الراجعة | صنابير | صنابير ( سداسي ) | فترة () |
|---|---|---|---|---|
| 2 | 11 | 0x3 | 3 | |
| 3 | 110 | 0x6 | 7 | |
| 4 | 1100 | 0xC | 15 | |
| 5 | 10100 | 0x14 | 31 | |
| 6 | 110000 | 0x30 | 63 | |
| 7 | 1100000 | 0x60 | 127 | |
| 8 | 10111000 | 0xB8 | 255 | |
| 9 | 100010000 | 0x110 | 511 | |
| 10 | 1001000000 | 0x240 | 1023 | |
| 11 | 10100000000 | 0x500 | 2047 | |
| 12 | 111000001000 | 0xE08 | 4095 | |
| 13 | 1110010000000 | 0x1C80 | 8191 | |
| 14 | 11100000000010 | 0x3802 | 16383 | |
| 15 | 110000000000000 | 0x6000 | 32,767 | |
| 16 | 1101000000001000 | 0xD008 | 65,535 | |
| 17 | 10010000000000000 | 0x12000 | 131,071 | |
| 18 | 100000010000000000 | 0x20400 | 262,143 | |
| 19 | 1110010000000000000 | 0x72000 | 524,287 | |
| 20 | 10010000000000000000 | 0x90000 | 1,048,575 | |
| 21 | 101000000000000000000 | 0x140000 | 2,097,151 | |
| 22 | 1100000000000000000000 | 0x300000 | 4,194,303 | |
| 23 | 10000100000000000000000 | 0x420000 | 8,388,607 | |
| 24 | 111000010000000000000000 | 0xE10000 | 16,777,215 |
خصائص تدفق الإخراج
- تظهر الأصفار والآحاد في "سلاسل". على سبيل المثال، يتكون تيار الإخراج 1110010 من أربع سلاسل بأطوال 3، 2، 1، 1، على التوالي. في دورة واحدة من مسجل الإزاحة ذي التغذية الراجعة الخطية القصوى (LFSR)، تحدث 2 ^n - 1 سلسلة (في المثال أعلاه، يحتوي مسجل الإزاحة ذو التغذية الراجعة الخطية ذو 3 بتات على 4 سلاسل). نصف هذه السلاسل بالضبط بطول بت واحد، وربعها بطول بتين، وصولاً إلى سلسلة واحدة من الأصفار بطول n - 1 بت، وسلسلة واحدة من الآحاد بطول n بت. يكاد هذا التوزيع يساوي القيمة المتوقعة إحصائيًا لتسلسل عشوائي حقيقي. مع ذلك، فإن احتمال العثور على هذا التوزيع تحديدًا في عينة من تسلسل عشوائي حقيقي منخفض نسبيًا .
- تتميز تدفقات خرج مسجل الإزاحة ذي التغذية الخطية (LFSR) بأنها حتمية . فإذا عُرفت الحالة الحالية ومواقع بوابات XOR في المسجل، يُمكن التنبؤ بالحالة التالية. [ 12 ] وهذا غير ممكن مع الأحداث العشوائية تمامًا. أما مع مسجلات الإزاحة ذات التغذية الخطية ذات الطول الأقصى، فيسهل حساب الحالة التالية، نظرًا لوجود عدد محدود منها لكل طول.
- إن تدفق الإخراج قابل للعكس؛ فجهاز LFSR ذو نقاط التوصيل المتطابقة سيعمل من خلال تسلسل الإخراج بترتيب عكسي.
- لا يمكن أن تظهر قيمة تتكون من أصفار فقط. وبالتالي، لا يمكن استخدام مسجل إزاحة خطي ذي تغذية راجعة بطول n لتوليد جميع القيم 2^ n .
التطبيقات
يمكن تنفيذ مسجلات الإزاحة الخطية ذات التغذية الراجعة (LFSRs) في الأجهزة، مما يجعلها مفيدة في التطبيقات التي تتطلب توليدًا سريعًا جدًا لتسلسل شبه عشوائي، مثل راديو الطيف المنتشر ذي التسلسل المباشر . كما استُخدمت مسجلات الإزاحة الخطية ذات التغذية الراجعة (LFSRs) لتوليد تقريب للضوضاء البيضاء في العديد من مولدات الصوت القابلة للبرمجة .
يستخدم كعدادات
يُتيح التسلسل المتكرر لحالات مسجل الإزاحة ذي التغذية الراجعة الخطية (LFSR) استخدامه كمقسم تردد أو كعداد عندما يكون التسلسل غير الثنائي مقبولاً، كما هو الحال غالبًا عندما تحتاج مواقع فهرسة أو تأطير الحاسوب إلى أن تكون قابلة للقراءة آليًا. [ 12 ] تتميز عدادات LFSR بمنطق تغذية راجعة أبسط من العدادات الثنائية الطبيعية أو عدادات رمز غراي ، وبالتالي يمكنها العمل بترددات ساعة أعلى. مع ذلك، من الضروري التأكد من عدم دخول LFSR في حالة توقف (جميع الأصفار لـ LFSR القائم على XOR، وجميع الآحاد لـ LFSR القائم على XNOR)، على سبيل المثال عن طريق ضبطه مسبقًا عند بدء التشغيل على أي حالة أخرى في التسلسل. من الممكن العد تصاعديًا وتنازليًا باستخدام LFSR. كما استُخدمت LFSR كعداد للبرامج في وحدات المعالجة المركزية ، وهذا يتطلب "تشويش" البرنامج نفسه، ويتم ذلك لتوفير البوابات المنطقية عندما تكون ذات قيمة عالية (باستخدام عدد أقل من البوابات مقارنةً بالجامع) ولزيادة السرعة (حيث لا يتطلب LFSR سلسلة حمل طويلة).
يوضح جدول كثيرات الحدود الأولية كيفية ترتيب سجلات الإزاحة الخطية ذات التغذية الراجعة (LFSRs) وفقًا لمتتالية فيبوناتشي أو غالوا للحصول على دورات قصوى. ويمكن الحصول على أي دورة أخرى بإضافة منطق إلى سجل إزاحة خطي ذي دورة أطول، مما يؤدي إلى تقصير التسلسل بتجاوز بعض الحالات.
الاستخدامات في علم التشفير
لطالما استُخدمت مسجلات الإزاحة الخطية ذات التغذية الراجعة (LFSRs) كمولدات أرقام شبه عشوائية في تشفيرات التدفق ، نظرًا لسهولة بنائها من دوائر كهروميكانيكية أو إلكترونية بسيطة، وفتراتها الطويلة ، وتوزيع تدفقات خرجها المنتظم للغاية. مع ذلك، يُعدّ LFSR نظامًا خطيًا، مما يُسهّل تحليل التشفير . على سبيل المثال، بمعرفة جزء من النص الأصلي والنص المشفر المقابل ، يستطيع المهاجم اعتراض جزء من تدفق خرج LFSR المستخدم في النظام الموصوف واستعادته، ومن ثمّ بناء LFSR صغير الحجم يُحاكي المُستقبِل المقصود باستخدام خوارزمية بيرلكامب-ماسي . بعد ذلك، يُمكن تغذية LFSR بجزء تدفق الخرج المُعترض لاستعادة النص الأصلي المتبقي.
تُستخدم ثلاث طرق عامة للحد من هذه المشكلة في تشفيرات التدفق القائمة على LFSR:
- توليفة غير خطية لعدة بتات من حالة LFSR ؛
- الجمع غير الخطي لبتات الإخراج لاثنين أو أكثر من مسجلات الإزاحة الخطية ذات التغذية الراجعة (انظر أيضًا: مولد الانكماش )؛ أو استخدام خوارزمية تطورية لإدخال اللاخطية. [ 13 ]
- توقيت غير منتظم لمسجل الإزاحة الخطي ذي التغذية الراجعة، كما هو الحال في مولد الخطوة المتناوبة .
تشمل خوارزميات التشفير المتدفقة المهمة القائمة على مسجل الإزاحة ذي التغذية الخطية (LFSR) خوارزميتي A5/1 و A5/2 ، المستخدمتين في الهواتف المحمولة GSM ، وخوارزمية E0 ، المستخدمة في تقنية البلوتوث ، بالإضافة إلى مولد الانكماش . وقد تم اختراق خوارزمية A5/2، بينما تعاني كل من خوارزميتي A5/1 وE0 من نقاط ضعف خطيرة. [ 14 ] [ 15 ]
يرتبط مسجل الإزاحة ذو التغذية الراجعة الخطية ارتباطًا وثيقًا بالمولدات التوافقية الخطية . [ 16 ]
الاستخدامات في اختبار الدوائر
تُستخدم مسجلات الإزاحة الخطية ذات التغذية الراجعة (LFSRs) في اختبار الدوائر لتوليد أنماط الاختبار (للاختبار الشامل، أو الاختبار العشوائي الزائف، أو الاختبار الشامل الزائف) ولتحليل التوقيع.
توليد أنماط الاختبار
تُستخدم مسجلات الإزاحة الخطية ذات التغذية الراجعة الكاملة (LFSR) بشكل شائع كمولدات أنماط للاختبار الشامل، لأنها تغطي جميع المدخلات الممكنة لدائرة ذات n مدخل. وتُستخدم مسجلات الإزاحة الخطية ذات التغذية الراجعة ذات التغذية الراجعة ذات الطول الأقصى ومسجلات الإزاحة الخطية ذات التغذية الراجعة الموزونة على نطاق واسع كمولدات أنماط اختبار شبه عشوائية لتطبيقات الاختبار شبه العشوائية.
تحليل التوقيع
في تقنيات الاختبار الذاتي المدمج (BIST)، لا يمكن تخزين جميع مخرجات الدائرة على الشريحة، ولكن يمكن ضغط مخرجات الدائرة لتكوين بصمة تُقارن لاحقًا بالبصمة المرجعية (للدائرة السليمة) للكشف عن الأعطال. ولأن هذا الضغط يُسبب فقدانًا للبيانات، فهناك دائمًا احتمال أن يُولّد مخرج معيب نفس البصمة المرجعية، وبالتالي لا يمكن اكتشاف العطل. تُسمى هذه الحالة بإخفاء الخطأ أو التداخل. يُنفذ اختبار BIST باستخدام مسجل توقيع متعدد المدخلات (MISR أو MSR)، وهو نوع من مسجلات الإزاحة الخطية ذات التغذية الراجعة (LFSR). يحتوي مسجل الإزاحة الخطية القياسي على بوابة XOR أو XNOR واحدة، حيث يكون مدخل البوابة متصلًا بعدة "أطراف" ويكون المخرج متصلًا بمدخل أول قلاب. يتمتع مسجل التوقيع متعدد المدخلات (MISR) بنفس البنية، ولكن يتم تغذية مدخل كل قلاب عبر بوابة XOR/XNOR. على سبيل المثال، يحتوي مسجل التوقيع متعدد المدخلات ذو 4 بتات على مخرج متوازي ذي 4 بتات ومدخل متوازي ذي 4 بتات. مدخل القلاب الأول هو XOR/XNORd مع بت الإدخال المتوازي صفر و"الموصلات". مدخل كل قلاب آخر هو XOR/XNORd مع مخرج القلاب السابق وبت الإدخال المتوازي المقابل. بالتالي، تعتمد الحالة التالية لـ MISR على الحالات الأخيرة وليس فقط على الحالة الحالية. لذلك، سيولد MISR دائمًا نفس التوقيع الذهبي طالما أن تسلسل الإدخال هو نفسه في كل مرة. تقترح التطبيقات الحديثة [ 17 ] استخدام قلابات الضبط والإعادة كموصلات لـ LFSR. يسمح هذا لنظام BIST بتحسين التخزين، حيث يمكن لقلابات الضبط والإعادة حفظ البذرة الأولية لتوليد كامل سلسلة البتات من LFSR. مع ذلك، يتطلب هذا تغييرات في بنية BIST، وهو خيار متاح لتطبيقات محددة.
الاستخدامات في البث الرقمي والاتصالات
التدافع
لمنع تكوّن خطوط طيفية من تسلسلات قصيرة متكررة (مثل سلاسل من الأصفار أو الآحاد) قد تُعقّد تتبّع الرموز في جهاز الاستقبال أو تتداخل مع عمليات الإرسال الأخرى، يتم دمج تسلسل بتات البيانات مع خرج مسجل التغذية الراجعة الخطية قبل التضمين والإرسال. يُزال هذا التشويش في جهاز الاستقبال بعد فك التضمين. عندما يعمل مسجل التغذية الراجعة الخطية (LFSR) بنفس معدل بتات دفق الرموز المرسلة، تُسمى هذه التقنية بالتشويش . أما عندما يعمل مسجل التغذية الراجعة الخطية (LFSR) بسرعة أكبر بكثير من دفق الرموز، يُسمى تسلسل البتات الناتج عن مسجل التغذية الراجعة الخطية (LFSR) برمز التقسيم . يُدمج رمز التقسيم مع البيانات باستخدام عملية XOR قبل الإرسال باستخدام مفتاح إزاحة الطور الثنائي أو طريقة تضمين مماثلة. تتميز الإشارة الناتجة بنطاق ترددي أعلى من البيانات، ولذلك تُعد هذه طريقة من طرق الاتصال الطيفي المنتشر . عند استخدام هذه التقنية فقط لخاصية الطيف المنتشر، تُسمى الطيف المنتشر بالتسلسل المباشر . عند استخدامها لتمييز عدة إشارات يتم إرسالها في نفس القناة في نفس الوقت والتردد، يطلق عليها اسم الوصول المتعدد بتقسيم الشفرة .
لا ينبغي الخلط بين أي من هاتين الطريقتين والتشفير أو التشفير ؛ فالتشويش والتوزيع باستخدام مسجلات الإزاحة الخطية ذات التغذية الراجعة لا يحميان المعلومات من التنصت. بل يُستخدمان لإنتاج تدفقات مكافئة تتمتع بخصائص هندسية ملائمة تسمح بالتضمين وفك التضمين بكفاءة عالية.
أنظمة البث الرقمي التي تستخدم مسجلات التغذية الراجعة الخطية:
- معايير ATSC (نظام بث التلفزيون الرقمي - أمريكا الشمالية)
- نظام البث الصوتي الرقمي ( DAB ) - للراديو
- DVB-T (نظام بث التلفزيون الرقمي - أوروبا، أستراليا، أجزاء من آسيا)
- نظام الصوت الرقمي للتلفزيون ( NICAM )
أنظمة اتصالات رقمية أخرى تستخدم مسجلات الإزاحة الخطية ذات التغذية الراجعة (LFSRs):
- خدمة الأعمال من إنتلسات (IBS)
- معدل البيانات المتوسط (IDR)
- HDMI 2.0
- SDI (نقل البيانات عبر واجهة رقمية تسلسلية)
- نقل البيانات عبر شبكة الهاتف العامة (وفقًا لتوصيات سلسلة ITU-T V)
- الاتصالات الهاتفية الخلوية بتقنية الوصول المتعدد بتقسيم الشفرة ( CDMA )
- تقوم تقنية إيثرنت "السريعة" 100BASE-T2 بتشفير البتات باستخدام مسجل إزاحة خطي ذي تغذية راجعة (LFSR).
- يستخدم إيثرنت 1000BASE-T ، وهو الشكل الأكثر شيوعًا من إيثرنت جيجابت، مسجل الإزاحة الخطي ذي التغذية الراجعة (LFSR) لتشفير البتات.
- PCI Express
- SATA [ 18 ]
- واجهة SCSI المتصلة تسلسليًا (SAS/SPL)
- USB 3.0
- يقوم معيار IEEE 802.11a بتشفير البتات باستخدام مسجل الإزاحة الخطي ذي التغذية الراجعة (LFSR).
- تستخدم طبقة ربط بلوتوث منخفضة الطاقة تقنية LFSR (المعروفة باسم التبييض).
- تستخدم أنظمة الملاحة عبر الأقمار الصناعية، مثل نظام تحديد المواقع العالمي (GPS) ونظام غلوناس (GLONASS )، مخرجات مسجل الإزاحة الخطي ذي التغذية الراجعة (LFSR) لتوليد بعض أو كل رموز تحديد المدى (مثل رمز التقطيع في أنظمة CDMA أو DSSS) أو لتعديل الموجة الحاملة دون بيانات (مثل رمز تحديد المدى L2 CL في نظام GPS). كما يستخدم نظام غلوناس تقنية الوصول المتعدد بتقسيم التردد (FDM) مع نظام DSSS.
استخدامات أخرى
تُستخدم مسجلات الإزاحة الخطية ذات التغذية الراجعة أيضًا في أنظمة التشويش اللاسلكي لتوليد ضوضاء شبه عشوائية لرفع مستوى الضوضاء لنظام الاتصالات المستهدف.
تستخدم إشارة التوقيت الألمانية DCF77 ، بالإضافة إلى مفتاح السعة، مفتاح إزاحة الطور الذي يتم تشغيله بواسطة مسجل إزاحة خطي ذي 9 مراحل لزيادة دقة التوقيت المستلم ومتانة تدفق البيانات في وجود الضوضاء. [ 19 ]
انظر أيضاً
مراجع
- ↑ جيريميا، باتريك. "حساب فحص التكرار الدوري: تطبيق باستخدام TMS320C54x" (ملف PDF) . شركة تكساس إنسترومنتس. ص 6. تاريخ الاسترجاع: 16 أكتوبر 2016 .
- ↑ مسجلات الإزاحة ذات التغذية الراجعة الخطية في أجهزة فيرتكس
- ^ جنتل ، جيمس إي. (2003). توليد الأرقام العشوائية وطرق مونت كارلو ( الطبعة الثانية). نيويورك: سبرينغر. ص. 38. ردمك 0-387-00178-6. OCLC 51534945 .
- ↑ تاوسورث، روبرت سي. (أبريل 1965). "الأرقام العشوائية المولدة بواسطة التكرار الخطي بتردد اثنين" (ملف PDF) . رياضيات الحساب . 19 (90): 201-209 . doi : 10.1090/S0025-5718-1965-0184406-1 . S2CID 120804149 .
- ↑ بريس، ويليام؛ تيوكولسكي، شاول؛ فيترلينغ، ويليام؛ فلاني، برايان (2007). وصفات عددية: فن الحوسبة العلمية، الطبعة الثالثة . مطبعة جامعة كامبريدج . ص 386. ISBN 978-0-521-88407-5.
- ↑ مارساجليا، جورج (يوليو 2003). "مولدات الأرقام العشوائية Xorshift" . مجلة البرمجيات الإحصائية . 8 (14). doi : 10.18637/jss.v008.i14 .
- ↑ برنت، ريتشارد ب. (أغسطس 2004). "ملاحظة حول مولدات الأرقام العشوائية Xorshift لمارساجليا" . مجلة البرمجيات الإحصائية . 11 (5). doi : 10.18637/jss.v011.i05 . hdl : 1885/34049 .
- ↑ ميتكالف، جون (22 يوليو 2017). "أرقام عشوائية زائفة ذات 16 بت باستخدام دالة Xorshift في لغة التجميع Z80" . برمجة ريترو . تم الاطلاع عليه في 5 يناير 2022 .
- ↑ كلاين، أ. (2013). "مسجلات الإزاحة ذات التغذية الراجعة الخطية". تشفيرات التدفق . لندن: سبرينغر. ص 17-18 . doi : 10.1007/978-1-4471-5079-4_2 . ISBN 978-1-4471-5079-4.
- ↑ غولومب، سولومون و. (1967). تسلسلات مسجل الإزاحة . لاغونا هيلز، كاليفورنيا: مطبعة إيجن بارك. ISBN 978-0894120480.
- ↑ وايسشتاين، إريك دبليو. "متعدد الحدود الأولي" . mathworld.wolfram.com . تم الاسترجاع في 27 أبريل 2021 .
- 1 2 ألفكي، بيتر (7 يوليو 1996). "مسجلات الإزاحة الفعالة، وعدادات LFSR، ومولدات التسلسل العشوائي الزائف الطويل" (ملف PDF) . ملاحظات تطبيق Xilinx، XAPP 052. بوابة المعلومات التقنية لشركة AMD.
- ↑ أ. بورغناد، أ. صدر، أ. كاشانيبور، "توليد أرقام شبه عشوائية عالية الجودة باستخدام الأساليب التطورية"، مؤتمر IEEE حول الذكاء الحسابي والأمن، المجلد 9، الصفحات 331-335، مايو 2008
- ↑ باركام، إيلاد؛ بيهام، إيلي؛ كيلر، ناثان (2008)، "تحليل فوري لتشفير اتصالات GSM باستخدام النص المشفر فقط" (ملف PDF) ، مجلة علم التشفير ، 21 (3): 392-429 ، doi : 10.1007/s00145-007-9001-y ، S2CID 459117 ، مؤرشف من النسخة الأصلية (PDF) بتاريخ 25 يناير 2020 ، تم الاطلاع عليه بتاريخ 15 سبتمبر 2019
- ↑ لو، يي؛ ويلي ماير؛ سيرج فودناي (2005). "هجوم الارتباط الشرطي: هجوم عملي على تشفير البلوتوث". التطورات في علم التشفير - CRYPTO 2005. سلسلة محاضرات في علوم الحاسوب. المجلد 3621. سانتا باربرا، كاليفورنيا، الولايات المتحدة الأمريكية. الصفحات 97-117 . CiteSeerX 10.1.1.323.9416 . doi : 10.1007/11535218_7 . ISBN 978-3-540-28114-6.
{{cite book}}: CS1 maint: موقع الناشر مفقود ( رابط ) - ↑ RFC 4086 القسم 6.1.3 "التسلسلات العشوائية الزائفة التقليدية"
- ↑ مارتينيز إل إتش، خورشيد إس، ريدي إس إم. توليد مسجل الإزاحة ذي التغذية الراجعة الخطية (LFSR) لتغطية اختبار عالية واستهلاك منخفض للأجهزة. مجلة IET للحاسبات والتقنيات الرقمية. 21 أغسطس 2019. مستودع جامعة لندن
- ↑ القسم 9.5 من مواصفات SATA، الإصدار 2.6
- ↑ هيتزل، ب . (16 مارس 1988). نشر التوقيت عبر جهاز الإرسال منخفض التردد DCF77 باستخدام مفتاح إزاحة طور شبه عشوائي للحامل (ملف PDF) . المنتدى الأوروبي الثاني للتردد والتوقيت. نوشاتيل. ص 351-364 . تاريخ الاسترجاع: 11 أكتوبر 2011 .
للمزيد من القراءة
- https://web.archive.org/web/20161007061934/http://courses.cse.tamu.edu/csce680/walker/lfsr_table.pdf
- https://users.ece.cmu.edu/~koopman/lfsr/index.html — جداول متعددة الحدود ذات الطول الأقصى للتغذية الراجعة لـ 2-64 بت.
- https://github.com/hayguen/mlpolygen — كود لتوليد كثيرات حدود التغذية الراجعة ذات الطول الأقصى
روابط خارجية
- سجلات الإزاحة ذات التغذية الراجعة الخطية في Wayback Machine (تمت أرشفته في 1 أكتوبر 2018) - نظرية وتنفيذ LFSR، وتسلسلات الطول الأقصى، وجداول التغذية الراجعة الشاملة للأطوال من 7 إلى 16,777,215 (من 3 إلى 24 مرحلة)، وجداول جزئية للأطوال حتى 4,294,967,295 (من 25 إلى 32 مرحلة).
- توصية الاتحاد الدولي للاتصالات O.151 (أغسطس 1992)
- جدول LFSR ذو الطول الأقصى بطول يتراوح من 2 إلى 67.
- روتين توليد الأرقام شبه العشوائية للمعالج الدقيق MAX765x
- https://www.ece.ualberta.ca/~elliott/ee552/studentAppNotes/1999f/Drivers_Ed/lfsr.html
- http://www.quadibloc.com/crypto/co040801.htm
- شرح مبسط لمسجلات الإزاحة الخطية الخطية للمهندسين
- شروط التقييم
- نظرية عامة لمسجلات الإزاحة الخطية ذات التغذية الراجعة
- تطبيق LFSR في VHDL.
- كتابة أكواد VHDL بسيطة لـ Galois و Fibonacci LFSR.
- mlpolygen: مولد متعدد الحدود ذو الطول الأقصى. مؤرشف بتاريخ 20 أغسطس 2018 في أرشيف الإنترنت (Wayback Machine).
- الحساب الثنائي
- السجلات الرقمية
- الخوارزميات التشفيرية
- مولدات الأرقام شبه العشوائية
