مقدمه:
میدانیم که برای دستیابی به مخابرات امن و اینکه اطلاعات دیجیتال بدون خطا و همچنین بدون کم و زیاد شدن بیتها انتقال یابند احتیاج به استفاده از یک سری تکنیکهایی میباشد. یکی از این تکنیکها به کار بردن کد های کنترل خطا که به نام کدینگ کانال[1] نیز معروف است می باشد.
بطور خیلی مختصر کد کردن به منظور کنترل خطا به کار بردن حساب شده رقمهای افزون می باشد. قالبهای تابعی که عمل کدینگ کنترل خطا را انجام می دهند کد کننده کانال و آشکار ساز کانال میباشند. کد کننده کانال به روش سیستماتیک رقمهائی را به رقمهای پیام ارسال اضافه می کند. این رقمهای اضافی، در حالی که خود حامل هیچگونه اطلاعاتی نیستند، تشخیص و تصحیح خطا در رقمهای حاصل اطلاعات را برای آشکار سازی کانال ممکن می سازند، تشخیص و تصحیح خطا، احتمال خطای کل سیستم را پائین می آورد.
در این بحث ابتدا به بررسی انواع خطاها و کدینگهای مورد استفاده جهت از بین بردن آنها میپردازیم که از این بین فقط در مورد دو نوع از این کدها ) BCH ,کانوولوشن( توضیح بیشتری داده شده است چرا که این دو نوع کدینگ در بحث EP از اهمیت بالایی برخودار میباشند.
شکل 1 تقسیم بندی کلی محافظت الکترونیک در شاخه کخابرات و زیر شاخه مربوط به کدینگ را نشان میدهد همان طور که مشاهده می شود انواع کدینگ به دو دسته اصلی کدهای بلوکی و کانولوشن تقسیم بندی می شوند.
(تصاویر و نمودار در فایل اصلی موجود است )
در ادامه به بررسی انواع خطاها و کدینگهای مورد استفاده جهت مقابله با آنها به منظور ایجاد محافظت الکترونیکی در شاخه سیستمهای مخابراتی میپردازیم.
انواع خطاها:
خطاهای موجود در یک کانال مخابراتی به دو دسته :
الف) اغتشاش گوسی
ب) اغتشاش ضربه ای
تقسیم بندی میشوند.
اغتشاش گوسی در طراحی و ارزیابی مدولاتورها و دمدولاتورها برای انتقال مورد توجه اصلی میباشند.
منابع اغتشاشی گوسی شامل اغتشاش حرارتی و ساجمه ای در تجهیزات فرستنده و گیرنده، اغتشاش حرارتی در کانال و تشعشع دریافتی توسط آنتن گیرنده هستند. اغلب چگالی طیف توان اغتشاش گوسی در ورودی گیرنده سفید است. خطاهای انتقال ناشی از اغتشاش سفید گوسی طوری هستند که وقوع خطا در یک فاصله خاص ارسال سیگنال، اثری روی کارآئی سیستم در فواصل ارسال سیگنال بعدی ندارد.
کانال گسسته را در این حالت می توان با یک کانال باینری متقارن مورد بحث قرار داده و مدلسازی کرد. خطاهای انتقال ناشی از اغتشاش سفید گوسی را خطاهای تصادفی مینامند.
نوع دوم اغتشاش که غالباً در یک کانال مخابراتی با آن روبرو هستیم اغتشاش ضربهای است که توسط فواصل آرامش طولانی و به دنبال آن قطارهای اغتشاش[2] با دامنه بالا مشخص می شود.
این نوع اغتشاش ناشی از بسیاری از عوامل طبیعی و ساخت بشر مانند آذرخش[3] و حالت گذاری کلیدهای قطع و وصل می باشد. هنگامیکه یک قطار اغتشاش اتفاق می افتد، بر بیش از یک بیت یا سمبول اثر می گذارد و معمولاً در سمبولهای انتقال بعدی نوعی تابعیت خطا وجود خواهد داشت. بنابراین خطاها به صورت قطاری اتفاق میافتند شماهای کنترل خطا که با خطاهای تصادفی سر و کار دارند به کدهای تصحیح تصادفی و شماهای کد کردن که برای تصحیح قطار خطاها طراحی می شوند به کدهای تصحیح قطار خطا موسومند.
انواع کدها:
کدهای کنترل خطا غالباً به دو دسته تقسیم می شوند: کدهای قالبی، کدهای کانولوشن
کدهای قالبی و کدهای کانولوشن نیز به نوبه خود به چند قسمت تقسیم بندی می شوند که در اینجا اجمالاً به توضیح هر کدام از انواع کدها می پردازیم. در کدهای قالبی یک قالب مرکب از K بیت اطلاعات توسط یک گروه مرکب از r بیت چک که از روی قالب بیتهای اطلاعات به دست می آیند دنبال می شود. در گیرنده، بیتهای چک برای بررسی بیتهای اطلاعات در قالب مقدم بر بیت های چک به کار برده می شوند.
در کدهای کانولوشن، بیتهای چک به طور پیوسته لابلای بیتهای اطلاعات قرار میگیرند. بیتهای چک نه فقط برای بررسی بیتهای اطلاعات در قالب مقدم بر بیتهای چک، بلکه برای بررسی سایر قالبها نیز به کار برده می شوند.
در حالی که امکان بررسی ریاضی کدهای قالبی و کانولوشن به صورت متحد الشکل میسر است اما چنین تشریحی اغلب خیلی پیچیده خواهد بود. از این رو این دو نوع کد را به صورت جدا تشریح می نمائیم.
کدهای قالبی خطی[4]:
در این قسمت به بررسی کدهای قالبی که در آنها قالبهای پیام k بیتی به قالبهای n>k بیتی با افزایش n-k بیت چک به دست آمده از روی k بیت پیام، کد می شوند می پردازیم. در ابتدا بایستی برای دانستن قدرت تصحیح و تشخیص خطا در کدهای قالبی برخی از اصطلاحات اساسی ککه در تعریف آنها به کار میشوند را معرفی نمایم.
1- اولاً وزن همینگ[5] یک بردار کد C به صورت تعداد مولفه های غیر صفرC تعریف می شود.
2- فاصله همینگ بین دو بردار و به صورت تعداد مولفه های غیر مساوی آنها تعریف میشود. بالاخره فاصله حداقل یک کد قالبی کوچکترین فاصله بین هر جفت کلمات کد می باشد.
در اینجا برای فاصله یک کد قالبی قضیه ای آورده شده است.
فاصله حداقل یک کد قالبی خطی برابر است با وزن حداقل کلمات غیر صفر موجود در کد.
یک کد قالبی خطی با فاصله حداقل میتواند تا خطا را تصحیح کند و تا
( 1 -) خطا را تشخیص دهد. بیانگر بزرگترین عدد صحیح کوچکتر یا مساوی می باشد.
کدهای گردشی باینری:
کدهای گردشی باینری زیر گروهی از کدهای قالبی خطی بیان شده در بخش قبل را تشکیل می دهند. کدهای گردشی به دو دلیل جالب توجه اند.
اولاً: کد کردن و محاسبات علامت مشخصه با استفاده از شیفت رجیسترهای ساده همراه با فیدبک به سادگی انجام پذیر است.
ثانیاً: این کدها ساختمان ریاضی نسبتاً ساده ای دارند بطوری که امکان طراحی کد با خواص تصحیح خطای مفید را می دهند می دانیم که کدهای قالبی خطی را می توان با استفاده از نمایش ماتریس بیان نمود. در اینجا نیز میتوان کدهای گردشی را به صورت چند جلمه ای نمایش داد و برای بیان روش کد کردن و محاسبات مربوط به علامت مشخصه به کار برد. کدهای گردشی انواع مختلفی دارند که در ادامه به معرفی آنها میپردازیم.
کدهای BCH:
دسته مخصوصی از کدهای گردشی کدهای BCH میباشد. طراحی بهینه کدهای تصحیح مرکب از طرح یک کد با اندازه قالب حدا n ، برای یک اندازه قالب پیام (k) داده شده و برای یک فاصله حداقل مورد نظر می باشد.