Monday, February 6, 2017

المكالمه اللي بتتكلمها في الموبايل

صباح الخير :D عمرك فكرت في المكالمه اللي بتتكلمها دي بتتم اذاي
علم شبكات المحمول من اصعب العلوم اللي ممكن تتعلمها لانه معتمد علي التخيل بنسبه كبيره
signal generation , modulation, encoding , interleaving , multiplexing , filteration , power amplification ,...
هكلمكم بسرعه عن ابسط حاجه وهي المكالمه اللي بتتكلمها في الموبايل :D
انت حاسس الموضوع بسيط لكن في الحقيقه هو معقد فوق ما تتخيل :p
تعالوا ناخد سيناريو انك هتكلم 1 صاحبك .. هتبدا تطلب الرقم و تدوس DIAL .. طبعا بيحصل processes كتيره جدا بس دي مش موضوعنا دلوقتي
بعدها بتبدا تقول كلمه الو مثلا يعني .. في البدايه المخ هيبعت اشاره كهربيه قيمتها بالميكرو امبير هتتحرك من خلال الدم لحد الخلايا العصبيه و توصل للاحبال الصوتيه vocal cords و تبدا تتحرك بشكل معينه و تخرج اشاره ميكانيكيه عباره عن تضاغط و تخلخل في الهواء بيعبر عن كلمه الو :D
بعدها الاشاره دي هتوصل للموبايل و هتبدا تدخل علي ال MIC microphone وده المسؤل عن تحويلها من mechanical wave الي electrical signal عن طريق magnetic و diphram و voice coil باستخدام theory اسمها ال mutual induction
بعدها بتبدا تدخل ال signal دي علي band bass filter بيعدي ال signals في باند ال speech فقط و اللي بيكون من 300 هرتز لحد 3400 هرتز و الفلتر بيكون من 0 لحد 4000 هرتز
بعدها باخد ال signal احولها من analog الي digital علشان ادخلها علي ال processor و يقدر ي perform عليها ال DSPs ,و ده بيتم عن طريق 3 مراحل ..
اولهم اسمها ال sampling و فيها بيام تحويل ال signal من continous time الي discrete time عن طريق اني بضربها في series of impulses بشرط يكون ال samplig frequency اكبر من ضعف اعلي FRequency في ال signal الاصليه يعني ال FS sampling frequency بيكون 8K HZ لان اعلي تردد في ال speech signal 4K HZ
المرحله التانيه بسميها ال quantization و فيها بحول ال signal من continous amplitude الي discrete عن طريق اني بدخلها علي comparator متقسم 8192 level كل ليفل منهم بيعبر عن قيمه فولت معين علي ال amplitude axis و يقابله code مكون من 13 bit .. و طبعا في العمليه دي بيتضاف error اسمه ال QE ,لان غالبا قيمه ال volt بتتقرب للقيمه اللي تقابلها في ال quantization levels و ال quantizer هتلاقي منه نوعين unifrom و اللي بيكون متقيم level متساويه .. و التاني اسمه non uniform , و بيكون افضل بالنسبه لل speech signal لانه متقسم levels كتير في منطقه معينه علي حسب طبيعه ال speech signal
المرحله التالته بعمل عمليه ال encoding و اضيف ال clock مع ال data
وبكده يكون ال data rate 13 bit / sample * 8000 sample / sec = 104 kbps
:D بعدها ببدا اخد ال signal دي و اعملها channel coding علشان اقدر ابعت 8 signals من 8 users علي 200 khz channel ,و الداتا ريت يكون مظبوط :D فببدا اخد 260 بت كل 20 ميللي ثانيه و بالتالي ال speech rate بيكون 13 kbps
بعدها ببدا اعمل ال channel coding و دي process بعملها عند ال transmitter علشان ال receiver لما يستقبل ال signal يقدر يعملها error detection and correction نتيجه ال error اللي حصلها في ال TX medium .. العمليه دي بتتم عن طريق اني بقسم ال bits حسب ال importnce الي
very important bits #50
important bits #132
not so important bits #78
باخد ال 50 ادخلهم علي block coder يضيف عليهم 3 bits
يبقوا 53 بت اخدهم مع ال 132 و اضيف معاهم 4 بت trailer و ادخل الكلام ده كله علي convolutional coder يضاعفهم و يبقه الناتج 378 بت ادخلهم مع ال 78 اللي في الاخر يبقه الناتج 456 بت و كل ده في خلال 20 ميللي ثانيه فيبقه ال data rate 22.8 kbps
بعدها بعمل عمليه اسمها ال interleaving و دي بتفيدني في اني بقلل تاثير ال error علي ال data عن طريق اني بوزع التاثير ده علي range من المعلومات .. العمليه دي بتتم علي مرحلتين اولها اني باخد الداتا احطها في matrix حجمها 8 في 57
يعني بقسم ال data اللي طلعت من المرحله اللي فاتت 456 بلوكات .. كل بلوك فيه 8 مجموعات .. كل مجموعه فيها 57 بت
بعد كده ببدا ابني 4 بلوكات اشتغل عليهم مع بعض كل مره .. و ابدا ابعت اول جروب من البلوك الاول مع خامس جروب من البلوك الرابع .. بعده تاني جروب من البلوك الاول مع سادس جروب من البلوك الرابع و هكذا :D
موضوع ممل انا عارف -_-
بعدها بعمل عمليه اسمها ال ciphering او ال encryption و فيها بعنل تشفير لل data عن طريق algorithm موجود علي ال SIM card اسمه A5
و العمليه دي مش بتغير في ال data rate
بعد كده بعمل حاجه اسمها ال burst formatting و فيها بظبط شكل ال data و بقسمها bursts و اضيفلها حاجه اسمها ال training sequence و بيكون 26 بت هدفهم ال synchronization , error prediction و غالبا بيكونوا 1111.. او 000... كمان بضيف 6 بت متوزعين 3 في اول ال burst و 3 في اخره علشان يشتغلوا ك tail bits كمان بضيف 2 بت مابين الداتا و ال traing sequence بسميهم stealing flags علشان افضل بين ال data ,و ال tra
و بضيف طبعا ال data واللي بتكون 114 بت متوزعين 57 و 57 و اخيرا بسيب time يكافي 8.28 bit ك guard period علشان اقلل حدوث cross talk
بعده ببدا اعمل modulation او بمعني اصح ارفع ال signal علي carrier و احولها من digital الي analog و بيكون نوعه GMSK guassian minimum shift keying و اللي معتمد بشكل كبير علي ال FSK ,وطبعا بيكون علي باند من ال 900 - 1800 MHZ
بعدده ادخل ال signal علي power amplifier علشان تتكبر بقيمه gain معينه و تقدر تمشي ال distance لحد ال BTS
بعدها ادخلها علي duplexer علشان يفصل ال transmit عن ال receive في نفس ال antenna
, و اخيرا ادخل ال signal علي ال antenna ,و بيكون سرعتها 270.8 kbps
و بكده تكون جزء من كلمه alo خرجت الحمد لله من موبايلك و في طريقها للمحطه و لسه قدامه مشوار طويل لحد ماتوصل لصاحبك :D :D
شوفت قد ايه الموضوع مش سهل ابدا .. من دلوقتي هتبدا تفكر قبل ماتعمل مكالمه :D :P

No comments:

Post a Comment