نظریه کدگذاری

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

مقدمه[ویرایش]

نظریه کدگذاری یا نظریهٔ رمزنگاری به بررسی روش‌های کدگذاری اطلاعات می‌پردازد و یکی از راه‌های حل مساله در بخش‌های مختلف علوم (مثل نظریه اطلاعات، مهندسی برق، ریاضیات و علوم رایانه، انتقال داده) است; به این ترتیب که می توان با استفاده از آن روش‌های مطمئن برای انتقال داده‌ها طراحی کرد به طوری تکرارهای بی مورد کم و خطاها کاهش یابد.

نظریه کدگذاری در سال ۱۹۴۸ توسط ریچارد همینگ پایه‌ریزی شد. وی پی برده بود هنگامی که رایانه از یک عمل رایج نسخه‌برداری می‌کند و با عمل دیگری شروع به کار می‌کند، هرگز نمی‌تواند به حالت اولیه باز گردد. نظریه کدگذاری مثال قابل توجهی از ریاضی محض در حل مسائل علمی است. اگر چه برخی از رمزهای ساده دارای ساختاری هستند که نیاز زیادی به ریاضیات ندارند، با این حال ویژگی رمزها از کشفیات ریاضیات است. مانند هستة ارسال خطی که اثبات فعالیتهای واقعی را ممکن می‌سازد و بدون این‌گونه برهان‌ها، رمزها در حقیقت بدون استفاده می‌باشند. علاوه بر این، ریاضیات موجب ایجاد رمزها در ابعاد دیگر می‌شود و با افزایش قابلیت تصحیح خطا، اثبات‌هایی را برای موجودیت یا عدم موجودیت رمزها ارایه داده‌است.

دسته بندی[ویرایش]

سه دسته کد وجود دارد :

۱: رمز گذاری منبع (فشرده‌سازی داده‌ها )

۲: رمز گذاری مسیر انتقال (تصحیح خطای انتقال )

۳: منبع اشتراکی و رمز گذاری مسیر انتقال

مورد اول، رمز نگاری منبع، تلاش دارد برای موثر تر انتقال دادن داده‌ها، آنها را فشرده کند .مثال عملی آن هر روز در اینترنت، وقتی از پسوند zip برای انتقال فایل‌های مختلف استفاده می کنیم قابل مشاهده است .چرا که حجم مورد انتقال را کم کرده و ترافیک شبکه را کاهش می دهد. مورد دوم، رمز گذاری مسیر انتقال، بیت هایی را به داده ای مورد انتقال اضافه می‌کند تا آنها را در اختلالات موجود در مسیر انتقال سالم به مقصد برساند .کار بر عادی ممکن است از کاربردهای معمول این نوع از رمز نگاری بی خبر باشد . برای نمونه یک CD معمولی از روش کد گذاری Reed-Solomon برای تصحیح خطای ناشی از خراش و غبار استفاده می‌کند .در این مثال مسیر انتقال داده خود CD خواهد بود! گوشی‌های همراه نیز از نوعی کد گذاری برای تصحیح خطای ناشی از محو شدگی سیگنال و مخابرهٔ رادیویی با فرکانس بالا، بهره می برد .

رمز گذاری منبع[ویرایش]

به طور ساده هدف این کار این است که داده‌های منبع را گرفته و آنرا کوچکتر کند.

اصل[ویرایش]

انتروپی منبع میزان اطلاعات است . اساسا روش‌های کد گذاری منبع تکرار بی مورد را کم می کنند تا با بیت‌های کمتر اطلاعات بیشتری را منتقل کنند. فشرده سازی داده‌ها همان گونه که از نامش پیداست تلاش دارد که متوسط طول پیام‌های ارسالی را بر اساس یک مدل احتمالاتی فرضی و ویژه به نام entropy encodingکاهش دهد . تکنیک‌های متعددی که برنامه‌های فشرده ساز استفاده مکنند در تلاشند که به حد انتروپی منبع یعنی(C(x) ≥ H(x برسند .که در ان(H(x انتروپی منبع و(C(x انتروپی فایل پس از پردازش است .در موارد خاص هیچ روش کد گذاری برای منبع، بهتر از خود کد منبع نیست !

رمز گذاری مسیر انتقال[ویرایش]

رمز گذاری مسیر انتقال: هدف این رمز گذاری یافتن کد هایی است که سریع تر منتقل می شوند، شامل تعداد زیادی کد واژهٔ صحیح هستند و می توانند خطاها را تصحیح کنند یا اینکه حد اقل تعداد زیادی از خطاها را تشخیص دهند .کارایی برنامه‌ها در این زمینه نوعی سبک و سنگین کردن نیاز دارد .به همین دلیل برنامه‌ها هر کدام کدهای متناسب خود را دارند .ویژگی‌های مورد نیاز برای هر کد بستگی به این دارد که در انتقال مربوط به آن کد احتمال وقوع چه خطاهایی وجود دارد، برای نمونه درمورد CDهای معمولی خطاهای رایج خراش‌ها و گرد و غبار هستند . پس داده‌ها روی سطح دیسک توزیع می شوند . به عنوان یک مثال نه چندان خوب از کد گذاری، کد گذاری تکراری ساده، مورد قابل فهمی از این روش است . در این روش یک بخش از بیت‌های منبع را گرفته و آن را سه بار می فرستیم .درمقصد، دریافت کننده این سه قسمت را گرفته و آنها را بیت به بیت چک می‌کند، و آن مقداری را که برای هر بیت فراوانی بیشتری دارد به عنوان مقدار صحیح بر می گزیند .راه پیچیده تر آن است که بیت‌ها را کاملا پشت سر هم نفرستییم .بلکه آن هارا برگ برگ کنیم .داده‌ها ابتدا به چهار دسته تقسیم می شوند، سپس در یک حلقه یک بیت از اولی، یک بیت از دومی و ...را می فرستیم . این کار سه بار تکرار می‌شود تا جایی که داده‌ها روی سطح دیسک توضیع شوند .در مورد روش کد گذاری تکراری ساده شاید این روش موثر نباشد .اما کدهای شناخته شدی قدرتمندی وجود دارند که وقتی از روش برگ برگ کردن استفاده می شود، در تصحیح از هم پاشیدگی حاصل از خراش و غبار بسیار موثرند . کدهای دیگر برای کاربردهای دیگر مفیدند .

کد گذاری کانال[ویرایش]

عبارت نظریهٔ کد گذاری جبری زیر مجموعه ای از نظریهٔ کد گذاری را بیان می‌کند که در آن ویژگی‌های کدها با عبارات جبری بیان می‌شود .نظریهٔ کد گذاری جبری اساسا به دو دسته تقسیم می‌شود :

۱. کد هایی با بلوک‌های خطی.

۲.کدهای پیچشی (کانولوشن).

این نظریه سه ویژگی زیر از کدها را بررسی می‌کند :

۱. طول کد واژه ها

۲.تعداد کل کد واژه‌های قابل قبول

۳.حد اقل فاصلهٔ میان دو کد واژهٔ قابل قبول، بیشتر با استفاده از روش فاصلهٔ همینگ و در بعضی از موارد با استفاده از روش فاصلهٔ لی.

افزایش حداقل فاصله میان دو کلمه کد، قابلیت تشخیص و تصحیح خطا را افزایش می دهد.

کد گذاری آنالوگ[ویرایش]

اطلاعات به طور آنالوگ در شبکهٔ عصبی مغز، در پردازش سیگنال‌های آنالوگ و الکترونیک آنالوگ، کد گذاری می شوند .نمودهای کد گذاری آنالوگ در تصحیح خطای آنالوگ، فشرده سازی داده‌های آنالوگ و پنهان سازی آنالوگ قابل مشاهده است .

کار بردهای دیگری از نظریهٔ رمز نگاری[ویرایش]

غیر از آنچه که در بالا به آن اشاره شد، طراحی کد برای همگام سازی، از دیگر موارد مد نظر نظریهٔ کد گذاری است .یک کد می تواند طوری طراحی شود که به راحتی جابجایی فاز (موج) را تشخیص دهد و تصحیح کند و اینکه از یک مسیر چند سیگنال را بفرستد .

دیگر کاربرد کدها که در برخی از گوشی‌های همراه استفاده می‌شود، دسترسی چندگانه تقسیم کدی می‌باشد .

منابع[ویرایش]