توضیحات
پروژه تئوری کدینگ و شبیه سازی Golay codes:
خلاصه محتویات فایل پروژه:
- پروژه به صورت کامل در متلب پیاده سازی شده است
- مراحل انجام کار به صورت گام به گام در فایل راهنما شرح داده شده است
- لینک دانلود فایلهای مربوط به پروژه پس از خرید فایل بلافاصله برای شما ایمیل خواهد شد.
- توضیحات کامل در مورد تئوری کدینگ و Golay codes
- شبیه سازی Golay Codes با نرم افزار متلب
- نتایج و منابع
- کدهای پروژه قابل اجرا در نرم افزار متلب
- مقاله مرتبط جهت فهم بهتر موضوع
خلاصه پروژه:
تئوری کدینگ و متدها و کاربردهای آن
تئوری کدینگ عبارت است از فرايند تغيير شكل اطلاعات الكترونيكي در يك فرم خاص كه تنها توسط يك شخص يا عده اي خاص قابل خواندن و ترجمه شدن باشد. تئوري رمزگذاري يا تئوري رمزنگاري ،(Coding Theory) يك شاخه از علوم كامپيوتر و رياضي است كه با فرايند هاي متمايل به خطا(Error-prone) از طريق انتقال داده ها در کانال های ارتباطي شلوغ كار مي كند . بنابراين، تعداد بسيار زيادي از اشتباهات و خطا هايي كه در كانال هاي ارتباطي ايجاد مي شوند، قا بل تصحيح و درست شدن مي باشند . همچنين اين تئوري با خصوصيات كد ها و رمز ها ارتباط برقرار مي كند و آن ها را براي كاربرد مناسب خود در جاي مناسب راهنمايي و هدايت مي كند . دو طبقه بندي از كد ها و رمز ها وجود دارد:
1 كدگذاري منبع Source Coding ) يا (Entropy Coding
2 كدگذاري كانال Channel Coding)يا (Forward Error Correction
1 . كدگذاري منبع، تلاش مي كند تا داده ها را بصورت فشرده (Compress) از يك منبع در بياورد تا بتواند آن ها را به صورت اثربخش (Efficient) انتقال دهد . ما اين عمل را هر روز در اينترنت، ه نگامي كه داده ها را فشرده مي سازيم و حجم فايل ها را كمتر مي كنيم، مشاهده مي كنيم. با اين كار، بار شبكه يا ترافيك آن (Network Load) را كمتر خواهيم كرد.
2 .كدگذاري كانال، بيت هاي داده اي را كه بيت هاي زائد (Redundant bits) نيز خوانده مي شوند، بر اي انتقال داده ها اضافه مي كند . با اين كار، انتقال داده ها در كانال هاي ارتباطي با مزاحمت كمتري همراه خواهد شد .
، همانطور كه بيان شد، كدگذاري منبع Entropy Coding نيز خوانده مي شود. اما انتروپي چيست؟ انتروپي يك منبع، در واقع انداز ه گيري اطلاعات آن منبع مي باشد . تكنيك هاي مختلفي براي كدگذاري منبع وجود دار ند كه حد انتروپي منبع را تعيين مي كنند. براي مثال، اگر C(X) تعداد بيت ريت ها (Bit rates) بعد از فشرده سازي باشد و H(X) انتروپي منبع باشد، آنگاه : C(X) > H(X)
بنابراين اطلاعات بيشتري بعد از فشرده سازي انتقال داده مي شود. تئوري كدگذاري جبري ،(Algebric Coding Theory) يك زير مجموعه از تئوري كدينگ محسوب مي شود كه خصوصيات ك د ها را ب ه صورت عبارات جبري بيان مي كند . تئوري كدگذاري جبري، خود به دو دسته كد اصلي تقسيم می شود:
1 كد هاي خطي سدكننده (Linear Block Codes)
2 كد هاي حلقه اي (Convolutional Codes)
تئوري كدگذاري جبري، سه خصوصيت هر كد را بررسي و تجزيه مي كند:
(aطول كلمات رمز (bتعداد كلي كلمات رمزي معتبر (cحداقل فاصله بين دو كلمات رمزي معتبر
اكنون مطالبي را در مورد كد هاي خطي سد كننده بيان خواهيم كرد. اين كد ها خاصيت خطي (Linearity) را دارند . به عبارت ديگر ، مجموع هر دو كلمه رمز، يك كلمه رمز جديد مي باشد و آن ها مانند سدي هستند كه جلوي بيت ها را در منبع مي گيرند . البته كد هاي سدكننده اي هستند كه خطي نيستند . اما بسيار سخت است كه بخواهيم اثبات كنيم كه يك كد بدون اين ويژگي (Linearity) يك كد خوب است. هر كد سد كننده خطي با حروف (n,m,d) معرفي مي شود كه البته (d) مينيمم است. nطول كلمات رمزي است كه البته با نشانه هايي(Symbols) همراه است . m تعداد نشانه هاي منبع است كه مي تواند يكباره براي كدگذاري استفاده شود و d مينيمم كمترين فاصله براي كدگذاري بين كلمات رمزي است. كد هاي سد كننده خطي، با مشكل Penny packing گره خورده ا ند كه البته در ساليان اخير توجه بسيار زيادي به اين مشكل شده است . اين مشكل در دو بعد توضيح داده مي شود. براي مثال در نظر بگيريد كه يك مجموعه اي از Pennies را بر روي يك ميز قرار داده ايد و آن ها را به يكديگر نزديك مي كنيد . نتيجه اين كار يك نمونه شش گوشه مي شو د كه همانند يك لانه زنبور است . اما كد هاي خطي ابعاد بسيار ب يشتري را نسبت به اين لانه زنبور ايجاد شده، دارا هستند كه به راحتي قابل ديدن و بررسي كردن نيستند . براي مثال ، Golay Code رمزي است كه در ارتباطات فضايي با عمق و برد زياد با 24 بعد قابل استفاده است و مانند مثال ما دو بعدي نيست.
تئوري رمزگذاري از يك مدل N بعدي استفاده مي كند و كارايي اين مدل را افزايش مي دهد. اما كد هاي حلقه اي چيستند؟ اين كد ها در مودم هاي صوتي ،(Voice band modems) نسخه هاي 17و 32و 34 استفاده می شوند و اين كد ها در شبكه تلفن هاي همراه (GSM) ، ماهواره ها و دستگاه هاي ار تباطي نظامي نيز استفاده مي شود . به طور معمول، كد هاي حلقه اي هيچ نوع محافظتي را در برابر اختلالات در مقايسه با كد هاي خطي سد كننده ارائه نمي كنند. تنها مزيت آن ها، آساني استفاده از آن ها در مقا يسه با كد هاي خطي سد كننده است. در كد هاي حلقه اي، رمز كننده (Encoder) معمولاً داراي يك چرخه بسيار ساده است كه يك حافظه (Memory) و تعدادي حلقه بازخور را داراست . رمز گشا (Decoder) هم مي تواند به حالت نرم افزاري يا سخت افزاري نصب و اجرا شود.
اكنون تعدادي از كاربرد هاي تئو ري رمزگذاري را بيان خواهيم كرد . يكي از كاربرد هاي اين تئوري اين است كه در طراحي كد هايي كه موجب هم زماني (Synchronization) مي شوند، نقش دارد . يك كد مي تواند طوري طراحي شود كه در فاز تغيير خود به آساني شناسايي و در صورت داشتن مشكل تصحيح شود . همچنين اين كد مي تواند سيگنال هاي چندگانه را از روي يك كانال به طور همزمان ارسال كند . يكي ديگر از كاربرد هاي تئوري رمزگذاري در تلفن هاي همراه است. كد هايي به نام ،(CDMA) Code Division Multiple Access در اين تلفن ها وجو د دارند. در واقع هر تلفن يك كلمه رمزي را از يك طبقه خاص (فيلد جبري ) اختيار مي كند . وقتي كه عمل انتقال امواج صورت مي گيرد، اين كد ها امكان اختلال را در تماس كاهش مي دهند و در صورت بروز مشكل، آن را اصلاح مي كنند. دسته معروف ديگري از كد ها وجود دارد كه به (ARQ) Automatic Repeat request معروف مي باشد. اين كد ها، بيت هايي را به پيام فرستاده شده اضافه مي كنند و آن را طولاني تر مي سازند . در واقع، يك سرآيند (Header) را كه داراي يك شماره سريال شنا سايي است به پيام اضافه مي كنند . با اين كار، دستگاه گيرنده (Receiver) آن پيام را شناسايي كرده و در صورت عدم تطابق از فرستنده مي خوا هد تا پيام را دوباره ارسال كند . اكثر شبكه هاي گسترده Wide Area Network)يا (WANو پروتكل ها از روش رمزي ARQ استفاده مي كنند . پروتكل هاي معروف ،(IBM) SDLC ، (Internet) TCP و (International) X.25 از جمله پروتكل هايي هستند كه از اين روش استفاده مي كنند .
در ادامه بحث، هرگاه یک کانال ارتباطی برای انتقال اطلاعات داشته باشیم در حین انتقال به دلیل وجود نویز اطلاعات دچار تغییر می شوند. باید روشی برای مشخص کردن این تغییرات داشته باشیم و بهتر است به روشی دست یابیم که میتواند این تغییرات ناخواسته یا خطا ها را اصلاح نماید.
مفاهیم کدینگ (Coding Concepts) برای آنکه بتوانیم یک کلمه (Word) از داده ها را بگونه ای کد گذاری کنیم که قابلیت تشخیص و تصحیح خطا را داشته باشد، باید تعداد بیت هاى آن را افزایش دهیم. اگر طول یک Data Word به اندازه D بیت باشد، پس از کد گذاری یک کلمه کد شده (Codeword) به اندازه C بیت خواهد بود. بگونه ای که C>D میباشد. پس حالا ما بجای D2 حالت ممکن،C 2 حالت ممکن داریم. ولی تمام این حالت ها درست نیستند، و این همان چیزی است که باعث می شود سیستم بتواند وجود خطا را تشخیص دهد. یعنی اگر یک عدد در یکی از این حالات غیرمجاز باشد، سیستم می فهمد که خطایی روى داده است. در بعضی از روش ها، سیستم در یک سری از حالات می تواند خطای بوجود آمده را نیز اصلاح کند. روش ارائه شده باید این قابلیت را داشته باشد که از بین C بیت موجود D بیت اصلی را خارج کند. به این عمل اصطلاحا Decoding می گویند. یکی از مشکلات استفاده از کدینگ این است که سیستم مجبور است تا یک مدت زمانى را صرف عملیات Encoding و Decoding کند که باعث ایجاد سربار (Overhead) در سیستم می شود.
نکات قابل ذکر:
- پروژه تئوری کدینگ و شبیه سازی Golay codes با متلب توسط کارشناسان گروه ۱.۲.۳ پروژه پیاده سازی گردیده و به تعداد محدودی قابل فروش می باشد.
- فایل های پروژه به صورت کامل به همراه فایل راهنما پس از خرید فایل در اختیار شما قرار خواهد گرفت، و شما به راحتی قادر به استفاده از پروژه خواهید بود.
نقد و بررسیها
هنوز بررسیای ثبت نشده است.