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

کلید واژه- فیبر نوري، تشخیص و تصحیح خطا، کد بلوکی خطی، کد کانولوشن.

-۱ مقدمه

فیبر نوري از تارهاي سیلیکونی تشکیل شده که این تارها موظف به انتقال دادهها هستند. نور به وسیله سطوح آبکاري شده که در هسته قرار دارد، بازتاب شده و بدین ترتیب میتواند در مسافتهاي طولانی حرکت کند. مزایاي بسیار زیادي همچون پهناي باند بالا، تضعیف ناچیز، سبک بودن، سرعت و … همگی از عواملی هستند که امروزه باعث شدهاند تا استفاده از فیبر نوري رو به گسترش باشد. فیبر نوري از چند لایه ساخته شده است.

درونیترین لایه را هسته مینامیم. هسته معمولاً از جنس شیشه ساخته میشود. البته گاهی اوقات براي کاهش هزینهها از پلاستیک نیز براي ساخت هسته استفاده میکنند که البته بیشتر براي انتقال داده در فواصل کوتاه مورد استفاده قرار میگیرد و مثل شیشه براي فواصل طولانی مناسب نیست.

به طور کلی تشخیص خطا به دو صورت عمده صـورت مـی-

گیرد. روش اول این است که گیرنده به محـض تشـخیص خطـا، فرستنده را از وجود خطا در اطلاعات ارسالی با خبر میسـازد. در

نتیجه فرستنده مجدداً اطلاعات ارسال شده را ارسال میکند. این روشAutomatic Repeat Request نام دارد. امّا روش دوم کمـی متفاوت با روش اول است. در روش دوم گیرنده سعی میکند تا با استفاده از مکانیزمهاي از پیش تعیـین شـده، خطـاي تشـخیص داده شده را تصحیح کند. در ایـن صـورت بـدون اینکـه نیـاز بـه ارسال مجدد اطلاعات از سوي فرسـتنده باشـد، گیرنـده خـودش میتواند تا حدي اطلاعات را تصحیح کند. روش دوم را Forward

مینامیم.

به طور کلی کدهاي تصحیح خطا به دو دسته تقسیم می-

شوند. این دوسته عبارت اند از: کدهاي بلوکی خطی و کدهاي کانولوشن. در ادامه معرفی این دو دسته کدهاي تصحیح خطا میپردازیم .[۱]

-۱-۱ کدهاي بلوکی خطی

این کدها را خطی مینامند به این دلیل که ترکیبات خطی کلمه کدها، خود کلمه کدي متعلق به کد بلوکی خطی است. در کدهاي بلوکی خطی، براي حافظت داده در برابر خطا، دادههاي

۱

کدهاي کانولوشن

منبع اطلاعاتی به بلوكهایی با طول k سمبل تقسیم میشود. اگر فرض کنیم که U  (u1 , u2 , …,uk ) یکی از این بلوكها باشد، در این صورت کلمه کد متناظر با آن به صورت V  (v1 , v2 , …,vn ) است که n  k خواهد بود. به طوریکه که k

سمبل اولیه کلمه کد V همان بلوك داده است یعنی:
(۱) v1 u1,v2  u2 , …., vk  uk

همچنین n-k سمبل باقیمانده، سمبلهـاي تـوازن ایـن کـد
هستند. به گونهاي که کلمـه کـد V در رابطـه H.V  O صـدق میکند. در این رابطه، H مـاتریس تـوازن ایـن کـد نامیـده و بـه صورت H  [ A | In k ] تعریف میشود. A مـاتریس (n  k)  k

بعدي است که همـواره ثابـت اسـت و In k مـاتریس همـانی از مرتبه (n-k) میباشد .[۲,۱]

-۲-۱

در کدهاي کانولوشن، رشته داده اولیه U و رشته کلمـه کـد تولیدي V نامیده میشود. به ازاي هر k سمبل از U، n سـمبل از
V تولید میشود. در کدهاي کانولوشن، U و V بیـانگر رشـتهاي از بلوكهاي اطلاعاتی هستند در حالیکه در کدهاي بلـوکی خطـی،

U و V بیــانگر بلــوکی از اطلاعــات بودنــد. یعنــی در کــدهاي کانولوشن، U و V به ترتیـب از رشـته بلـوكهـاي k سـمبلی و n

سمبلی ساخته شدهاند. نکته مهـم ایـن اسـت کـه هـر بلـوك n
سمبلی از V علاوه بر اینکه به k سمبل دادههاي اولیـه در همـان زمان بستگی دارد، بلکه به m بلوك قبلـی از دادههـاي اولیـه نیـز وابسته است. کدهاي کانولوشن به صورت (n,k,m) نمـایش مـی-

شوند. از معروفترین الگوریتمهاي دیکدینگ کدهاي کانولوشـن، می توان به Viterbi، Fano و ZJ اشاره کرد .[