الأربعاء، 24 فبراير 2010

part 12

تابع ال Predictive Coder


ال Bad Frame Replacement
فى حالة حدوث خطأ فى اى Frame مرسل يقوم Bad Frame Replacement
بتغيير هذا ال Frame بواحد اخر متناسب معه .
والذى يقوم بأخباره ان هذا ال Frame به خطأ هو ال Bad Frame Indicator BFI

تعالوا بقى لتانى حاجة بعد ال Speech Coder

ال Channel Coding


طبعا احنا عارفين ان احنا بنقوم بالارسال فى وسط مليان Noise و Interference
واحنا اصلا بنبعت ال Data بتاعتنا مضغوطة زى مشفنا . فلو حصل اى Error فى الاشارة هتبقى مشكلة كبيرة لان بيانات كتير هتضيع . علشان كدة يبقى لازم يكون موجود عندنا حاجة بتعمل Error Detection and Correction
ال Channel Coding بيضيف ال Redundancy Bits علشان نعمل ال Error Detection and Correction
زى ما هنشوف دلوقتى ان شاء الله

الحاجات الى بتعمل Error Detection and Correction كتير اوى احنا بنستخدم اتنين منهم فى ال GSM هما :

1 - Block Coder

بيقوم بعمل Error Detection عن طريق اضافة 3 Bits بسميهم Parity Check Bits

Convolutional Coder - 2

يقوم بعمل Error Correction

تعالوا بس الاول نشوف ال Data بتاعتنا بنقسمها الى اية الاول من حيث الاهمية


الداتا بتتقسم الى ثلاث اقسام
الاول وهو ال Very Important Data
وده اهم جزء عندنا لانه هو القسم الاكبر فى ال Power وده بيبقى حوالى 50 bits

الثانى وهو ال Important Data
وده عبارة عن جزء ال Power بتاعته اقل شوية من الاول ولكن عدد ال bits فية اكبر شوية وهو 132 bits

الثالث وهو ال Non Important Data
وده عبارة عن جزء ال Power بتاعته قليلة جدا وبيبقى عدد ال bits فيه 78 bits

طيب وهو احنا بنقسم ال Data بتاعتنا كدة لية اصلا
احنا هنشوف دلوقتى انا علشان نعمل Error Correction بنضاعف ال Data وطبعا مش هنضاعف ال Data كلها على الفاضى يبقى احنا كدة زودنا الB.W على الفاضى علشان كدة احنا بنختار احسن جزء فى ال Data واعلاه فى ال Power علشان نضاعفه وهو ال Very Important الى بيبقوا 50 bits
صح احنا مقولناش ايه هما ال 50 وال 78 وال 132 .. طيب جمعهم كدة .... تمام هيبقوا 260 الى هما عدد ال Bits الى موجودين فى ال Frame بعد ماضغطناه الى هى ال Data بتاعتنا المبعوته فى المرة الواحدة.

تعالوا بقى نشوف ال Convolutional Coder ده بيشتغل ازاى


احنا قولنا ان فى 50 bits هما اهم ما فى الاشارة علشان كدة هنعاملهم معاملة خاصة
هندخلهم الاول على ال Block Coder علشان يضيف ال Parity Check Bits الى عددهم 3 bits
والى هيعمل بيهم Error Detection .. يبقى هيخرجوا من ال Block Coder
53 bits
بعد كدة هندخلهم على ال Convolutional Coder هما وال 132 bits الى قولنا عليه Important Data
وكان هندخل معاهم 4 tail bits عبارة عن 0000 ودول هما الى بيرجعوا ال Convolutional Coder الى ال Initial State بتاعته
المهم ان ال Convolutional Coder ده هيجمعهم كلهم ويضاعفهم . كدة هيبقى خرج ال Convolutional Coderعبارة عن 378 bits
ال 378 bits دول هيخرجوا يتجمعوا على ال 78 bits الى قولنا عليهم Non Important Data
وبكدة هيكون خرج ال Convolutional Coder عبارة عن 456 bits
يعنى هيبقى عدد ال bits فى ال 20 msec يساوى 456 bits يعنى هيبقى عدد ال bits فى الثانية 22.8
kb/sec
يعنى بكدة فى زيادة بمقدار 9.8 kb/sec عن ال 13 kb/sec الى هما ال Redundancy Bits الى احنا اتكلمنا عليهم فى انواع ال
Traffic Channels فى الشبتر الى فات .
وترسل ال 456 bits الى ال Interleaver

Interleaver - 3

هو لو حصل مشكلة اثناء نقل الاشارة من المرسل الى المستقبل هتحصل فى مجموعة متتابعة من ال Bits
معنى كدة انا هنفقد جزء متتابع من الكلام الى احنا بعتناه وبكدة الجودة هتقل جدا
وظيفة ال Interleaver هى عمل تفريق لل Data بالكامل وبالتالى تفريق لل Error
يعنى لو حصل مشكلة فى الاشارة بعد عملية ال Interleaving هلاحظ اننا بعد عمل عملية
ال Deinterleaving فى المستقبل هنلاحظ ان ال Error بقت عبارة عن مجموعة من ال Bits متفرقة بيهم مسافات كبيرة وبكدة هنلاقى اننا مش هنتأثر بال Error اوى .
تعالوا بقى نشوف ال Interleaver ده بيشتغل ازاى


يتكون ال Interleaver من

1- Block Interleaver


وده بيتكون من 8 بلوكات بنرتب ال Data فيهم افقيا يعنى زى محنا شايفين فى الصورة هنلاقى ان اول بلوك بيحتوى على ال Bits ارقام 1, 9 , 17 , 25 , .......... , 449
ولما نيجى نبعت الاشارة هنبعت 2 بلوك فى ال Burst وبكدة لو فرضنا انه حصل مشكلة فى البلوك رقم واحد يعنى ال Bits من 1 الى 449 حصل فيهمError عند الاستقبال ولما نعيد ترتيب المعلومة تانى هنلاقى ان ال Errors اتفرقت فى وسط المعلومة وبقت مش ظاهرة غير لو حصل مشكلة فى مجموعة مجتمعة من المعلومة .
لو لاحظنا يا جماعة هلاقى ان طول كل بلوك 57 bits الى هى ال Burst/2 ... عرفتوا لية بقى خلينا ال Burst عبارة عن57*2 bits

Burst Interleaver - 2


هو احنا لو بعتنا 2 بلوك متتابعين فى Burst واحدة وال Burst دى ضاعت مش احنا كدة بقى فقدنا 25 % من المعلومة لان زى كحنا عارفين ان ال 20 msec بيتكونوا من 8 بلوكات .. ودى مشكلة .
علشان كدة احنا هناخد او بلوك من اول 20 msec ونخليه فى ال Burst الاولى وناخد اول بلوك من تانى 20 msecونخليه فى ال Burst التانية ...وناخد تانى بلوك من اول 20 msec نخليه فى ال Burst الثانية وناخد اول بلوك من تانى20 msec ونخلية فى ال Burst التانية .. حد فهم حاجة

يعنى لو اعتبرنا ان فى Burst كاملة ضاعت يبقى كدة هيضيع 12.5% بس من ال 20 msec

ولكن وفى هذه الحالة هيضطر الموبيل انه ينتظر ال 20 msec التاليين علشان يقدر يرتب المعلومة بالشكل الصحيح
والتأخير ده مش هيبقى ملحوظ علشان أذن الاسان لا تاحظ التأخير الا اذا تجاوز ال 100 msec

Ciphering - 4


تعالوا بقى نتكلم عن ال Security فى ال GSM

هو بيقول ان اى تعرض لهاك هو عبارة عن وعين اما Passive وهنا يعنى بيقوم المهاجم بأخذ كوبى من المعلومة
او Active يعنى يقوم المهاجم بتغيير المعلومة بالكامل



لو اعتبرنا ان C ده عبارة عن المهاجم فى او حالة هنلاقى ان C بياخد المعلومات وفى نفس الوقت المعلومة بتوصل من A الىB

وفى الحالة التانية هلاقى ان C انتحل شخصية B واصبح هو الى بيستقبل المعلومة من A

وفى الحالة التالتة هنلاقى ان C اتحل شخصية A واصبح هو الى بيرسل المعلومة الى B

وفى الحالة الرابعة هلاقى ان C عمل عملية Block للمعلومة ومنع وصولها الى B
وده على سبيل المثال زى عملية ال GSM Gaming الى بتوضع فى الاماكن الممنوع استخدام الموبيلات فيها

تعالوا بقى نشوف الطرق الى بيستخدمها ال GSM للحفاظ على الامن والامان داخل الشبكة








اولا عندما يتم تشغيل الموبيل هيرسل ال IMSI بتاعه للشبكة فتقوم الشبكة بأنتاج ال Triplet فى ال AUC
زى ماقولنا قبل كدة
فاذا نجحت عملية التوثيق فى ال AUC نتقل الى عملية ال IMEI Check


ودى برده اتكلمنا عنها قبل كدة ودى الى بنتأكد منها ان الموبيل ده مش متبلغ عن سرقته
ولو العملية دى تمام نروح لعملية ال Ciphering


وهنا بقى هستخدم ال Kc فاكرينه . الى كان بيتج من ضرب ال Ki فى ال Rand
عن طريق ال A8


تعالوا كدة يا جماعة شوف بقى عملية ال Ciphering دى خطوة خطوة

* تم توليد ال Kc فى ال MS وال AUC فى الشبكة

* يقوم ال AUC بارسال ال Kc الى ال VLR

* يقوم ال VLR بتوليد ال Cipher Mode Command CMC

* يقوم ال VLR بارسال ال Kc وال CMC الى ال BTS

* تقوم ال BTS ببالاحتفاظ بال Kc وتقوم بارسال ال CMC الى ال MS

* يقوم ال MS بضرب ال CMC وال Kc وال FN عن طريق ال A5
ال FN هو عبارة عن ال Frame No ودى طبعا قيمة متغيرة
ال A5 هى لوغاريتم موجود فى الموبيل زى ال A8 وال A3

* يقوم ال MS بارسال التيجة الى ال BTS الى عندها مسبقا ال Kc وال FN

* تقوم ال BTS بعكس العملية . والمفروض ينتج لها ال CMC

* لو نتج لها ال CMC مطابق لل CMC المخزن فى ال VLR اذن قد تمت عملية ال Ciphering بنجاح




وفى عملية التشفير يتم ضرب ال c وال FN عن طريق ال A5 ويتم ضربها فى المعلومة المرسلة.
فينتج معلومة مشفرة يتم ارسالها بأمان

وفى عملية فك التشفير يكون ال Kc وال FN معروفين مسبقا وال A5 ثابتة وبذلك يتم اتاج المعلومة مرة اخرى ..


5 - Burst Assembly and Multiplexing

وهنا تيم اضافة ال Training Seq وال Flags وال T.B وال H.B

Modulation - 6



وهنا يتم تحميل الاشارة على الموجة الحاملة ويستخدم ال Gaussion Minimum Shift Keying

ليست هناك تعليقات:

إرسال تعليق