مربوط به این کلمه، از یک متغیر رسمی ایکس. مشاهده می شود که این مطابقت فقط یک به یک نیست، بلکه هم شکل است. از آنجایی که "کلمات" از حروف فیلد تشکیل شده است، می توان آنها را اضافه و ضرب کرد (عنصر به عنصر) و نتیجه در همان فیلد خواهد بود. چند جمله ای مربوط به ترکیب خطی جفت کلمات و برابر است با ترکیب خطی چند جمله ای های این کلمات

این به ما امکان می دهد مجموعه کلماتی با طول n را در یک میدان محدود به عنوان فضای خطی چند جمله ای با درجه حداکثر n-1 در میدان در نظر بگیریم.

شرح جبری

اگر کلمه رمز با یک جابجایی چرخه ای یک بیت به سمت راست از کلمه به دست می آید، چند جمله ای مربوط به آن است. ج 1 (ایکس) با ضرب x از قبلی بدست می آید:

با بهره گیری از این واقعیت که

به ترتیب به راست و چپ شیفت کنید jترشحات:

اگر یک متر(ایکس) یک چند جمله ای دلخواه بر روی میدان است جیاف(q) و ج(ایکس) - کلمه رمز چرخه ای ( n,ک) کد، سپس متر(ایکس)ج(ایکس)مترoد(ایکس n − 1) همچنین کلمه رمز این کد.

ایجاد چند جمله ای

تعریفچند جمله ای مولد حلقوی ( n,ک) کد سیچنین چند جمله ای غیر صفر نامیده می شود از جانب سیکه درجه آن کوچکترین و ضریب در بالاترین درجه است g r = 1 .

قضیه 1

اگر یک سی- چرخه ای ( n,ک) کد و g(ایکس) چند جمله ای مولد آن و سپس درجه است g(ایکس) برابر است با r = nک و هر کد رمز را می توان به صورت منحصر به فرد نشان داد

ج(ایکس) = متر(ایکس)g(ایکس) ,

جایی که مدرک متر(ایکس) کمتر یا مساوی با ک − 1 .

قضیه 2

g(ایکس) چند جمله ای مولد چرخه ( n,ک) از کد یک مقسوم علیه دو جمله ای است ایکس n − 1

عواقب:بنابراین، به عنوان یک چند جمله ای مولد، می توانید هر چند جمله ای، مقسوم علیه را انتخاب کنید ایکس n- 1. درجه چند جمله ای انتخاب شده تعداد نمادهای چک را تعیین می کند r، عدد نمادهای اطلاعاتی ک = nr .

ماتریس مولد

در غیر این صورت چند جمله ای ها به صورت خطی مستقل هستند متر(ایکس)g(ایکس) = 0 برای غیر صفر متر(ایکس) که غیر ممکن است.

این بدان معنی است که کلمات کد را می توان مانند کدهای خطی به صورت زیر نوشت:

، جایی که جیاست ماتریس تولید, متر(ایکس) - اطلاعاتیچند جمله ای

ماتریس جیرا می توان به صورت نمادین نوشت:

بررسی ماتریس

برای هر کلمه رمز یک کد چرخه ای، . از همین رو بررسی ماتریسرا می توان به صورت زیر نوشت:

کد نویسی

غیر سیستماتیک

با کدگذاری غیر سیستماتیک، کلمه کد به عنوان حاصل ضرب یک چند جمله ای اطلاعاتی توسط یک چند جمله ای تولید کننده به دست می آید.

ج(ایکس) = متر(ایکس)g(ایکس) .

می توان آن را با استفاده از ضرب چند جمله ای پیاده سازی کرد.

نظام

با کدگذاری سیستماتیک، کلمه رمز به صورت یک بلوک فرعی اطلاعاتی و یک چک تشکیل می شود

اجازه دهید کلمه اطلاعات بالاترین قدرت کلمه رمز را تشکیل دهد

ج(ایکس) = ایکس r متر(ایکس) + س(ایکس),r = nک

سپس از شرط، نتیجه می شود

این معادله قانون کدگذاری سیستماتیک را تعریف می کند. می توان آن را با استفاده از فیلترهای خطی چند چرخه (MLF) پیاده سازی کرد.

مثال ها

کد باینری (7،4،3).

به عنوان یک تقسیم کننده ایکس 7 − 1 چند جمله ای مولد درجه سوم را انتخاب می کنیم g(ایکس) = ایکس 3 + ایکس + 1 ، سپس کد به دست آمده دارای طول خواهد بود n= 7، تعداد نمادهای چک (درجه چند جمله ای تولید کننده) r= 3، تعداد نمادهای اطلاعاتی ک= 4، حداقل فاصله د = 3 .

ماتریس مولدکد:

,

که در آن خط اول یک ورودی چند جمله ای است g(ایکس) ضرایب به ترتیب صعودی. خطوط باقی مانده، جابجایی های چرخه ای خط اول هستند.

بررسی ماتریس:

,

که در آن ستون i، که از 0 شروع می شود، باقیمانده تقسیم است ایکس منروی یک چند جمله ای g(ایکس) ، به ترتیب صعودی توان ها، از بالا شروع می شود.

بنابراین، برای مثال، ستون 3، یا در نماد برداری است.

تأیید آن آسان است جیاچ تی = 0 .

کد باینری (15،7،5) BCH

به عنوان یک چند جمله ای مولد g(ایکس) می توانید حاصل ضرب دو مقسوم علیه را انتخاب کنید ایکس 15 − 1 ^

g(ایکس) = g 1 (ایکس)g 2 (ایکس) = (ایکس 4 + ایکس + 1)(ایکس 4 + ایکس 3 + ایکس 2 + ایکس + 1) = ایکس 8 + ایکس 7 + ایکس 6 + ایکس 4 + 1 .

سپس هر کلمه رمز را می توان با استفاده از حاصل ضرب چند جمله ای اطلاعات به دست آورد متر(ایکس) با مدرک ک− 1 بدین ترتیب:

ج(ایکس) = متر(ایکس)g(ایکس) .

به عنوان مثال، کلمه اطلاعات مربوط به چند جمله ای است متر(ایکس) = ایکس 6 + ایکس 5 + ایکس 4 + 1 ، سپس کلمه رمز ج(ایکس) = (ایکس 6 + ایکس 5 + ایکس 4 + 1)(ایکس 8 + ایکس 7 + ایکس 6 + ایکس 4 + 1) = ایکس 14 + ایکس 12 + ایکس 9 + ایکس 7 + ایکس 5 + 1 ، یا به صورت برداری

همچنین ببینید

پیوندها

بنیاد ویکی مدیا 2010 .

ببینید «کدهای چرخه‌ای» در فرهنگ‌های دیگر چیست:

    کدهای چرخه ای کوتاه شده- - [L.G. Sumenko. فرهنگ لغت انگلیسی روسی فناوری اطلاعات. M.: GP TsNIIS، 2003.] موضوعات فناوری اطلاعاتبه طور کلی کدهای چرخه ای کوتاه شده EN ...

    کدهای چرخه ای غیر باینری که به شما امکان تصحیح خطاها در بلوک های داده را می دهند. عناصر بردار کد بیت نیستند، بلکه گروه هایی از بیت ها (بلوک ها) هستند. کدهای Reed Solomon که با بایت ها (اکتت ها) کار می کنند بسیار رایج هستند. کد رید سولومون ... ویکی پدیا

    کدهای گلای- خانواده ای از کدهای بلوک خطی کامل با تصحیح خطا. مفیدترین کد باینری Golay است. کد سه تایی Golay نیز شناخته شده است. کدهای Golay را می توان به عنوان کدهای چرخه ای در نظر گرفت. …… کتابچه راهنمای مترجم فنی

    تشخیص خطا در فناوری ارتباطات اقدامی است با هدف نظارت بر یکپارچگی داده ها در هنگام ضبط / پخش اطلاعات یا در حین انتقال آن از طریق خطوط ارتباطی. روش تصحیح خطا (اصلاح خطا) برای بازیابی اطلاعات پس از ... ... ویکی پدیا

    تشخیص خطا در فناوری ارتباطات اقدامی است با هدف نظارت بر یکپارچگی داده ها در هنگام ضبط / پخش اطلاعات یا در حین انتقال آن از طریق خطوط ارتباطی. روش تصحیح خطا (اصلاح خطا) برای بازیابی اطلاعات پس از ... ... ویکی پدیا

این یک زیر کلاس از کدهای خطی است که دارای خاصیت گوهری است که یک جایگشت چرخه ای نمادها در یک بلوک رمزگذاری شده، بلوک رمزگذاری شده ممکن دیگری از همان کد را ایجاد می کند. کدهای چرخه ای مبتنی بر کاربرد ایده های نظریه میدان جبری گالوا است.

بسیاری از مهمترین کدهای سیستم های ارتباطی در برابر نویز، -

به ویژه چرخه ای، بر اساس ساختارهای محاسباتی محدود هستند

مزارع گالوا رشتهبه مجموعه عناصری گفته می شود که یک میدان محدود هستند

رتبه های عملیاتی در گیومه هستند زیرا همیشه به طور کلی پذیرفته نمی شوند. عملیات حسابی. فیلد همیشه یک عنصر صفر (0) یا صفر و یک عنصر واحد (1) یا یک دارد. اگر شماره qعناصر فیلد محدود می شود، سپس فیلد فراخوانی می شود زمینه نهایی، یا میدان گالوا محدود، و نشان داده می شود GF(q) yجایی که q-سفارش میدانی کوچکترین میدان گالوا میدان دو عنصری است GF( 2)، متشکل از تنها دو عنصر 1 و 0. به منظور

1 Evariste Galois (1811 - 1832) - ریاضیدان فرانسوی، پایه های جبر مدرن را بنا نهاد.

انجام عملیات بر روی عناصر GF( 2) منجر به فراتر رفتن از این زمینه نشده است، آنها مدول 2 انجام می شوند (به طور کلی، این با دستور فیلد تعیین می شود مزارع ساده گالوا).

این فیلد دارای تعدادی ویژگی خاص ریاضی است. برای عناصر میدان، عملیات جمع و ضرب تعریف شده است و نتایج این عملیات باید متعلق به یک مجموعه باشد.

برای عملیات جمع و ضرب، از قوانین ریاضی معمول انجمن پیروی می شود - آ + + ج) = (الف + ب)+ ج، جابجایی - a + b = b + aو آ b = b آو توزیع - آ + ج) = آ ب + آ با.

برای هر عنصر فیلد آباید یک عنصر معکوس با جمع وجود داشته باشد (-آ)و اگر آبرابر صفر نیست، عنصر معکوس با ضرب (th').

فیلد باید حاوی واحد افزودنی -عنصر 0، به طوری که آ + 0 = آبرای هر عنصر فیلد آ.

فیلد باید حاوی واحد ضرب -عنصر 1، به طوری که aL = aبرای هر عنصر فیلد آ.

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

در واقع، تمام مجموعه‌هایی که از جابجایی چرخه‌ای یک کلمه رمز تشکیل می‌شوند نیز رمز هستند. بنابراین، به عنوان مثال، جایگشت های چرخه ای ترکیب 1000101 نیز ترکیب های کد 0001011، 0010110، 0101100 و غیره خواهند بود. این ویژگی باعث می شود تا رمزگذار و رمزگشا بسیار ساده شود، به ویژه در تشخیص خطا و تصحیح خطا. توجه به کدهای چرخه ای به این دلیل است که خواص اصلاحی بالای آنها بر اساس روش های جبری نسبتا ساده پیاده سازی می شود. در همان زمان، برای رمزگشایی یک کد بلوک خطی دلخواه، روش های جدولنیاز به مقدار زیادی حافظه رمزگشا دارد.

کد چرخه ای بلوک خطی نامیده می شود (n، k)-کدی که با خاصیت چرخه ای مشخص می شود، یعنی. یک جابه‌جایی به چپ با یک پله از هر کلمه رمز مجاز نیز یک کلمه رمز مجاز متعلق به همان کد را به دست می‌دهد و برای آن مجموعه کلمات رمز با مجموعه‌ای از چندجمله‌ای درجه نمایش داده می‌شود. - 1) یا کمتر به چند جمله ای مولد تقسیم می شود g(x)درجه r=n-kyکه عاملی از دوجمله ای است ایکس n+

در یک کد چرخه ای، کلمات رمز با چند جمله ای (چند جمله ای) نشان داده می شوند.

جایی که پ -طول کد؛ من -ضرایب میدان گالوا (مقادیر ترکیب کد).

به عنوان مثال، برای ترکیب کد 101101، ورودی چند جمله ای شکل دارد

نمونه‌هایی از کدهای چرخه‌ای عبارتند از کدهای چک زوج، کدهای تکرار، کدهای همینگ، کدهای رایانه شخصی و کدهای توربو.

کد همینگ. قابلیت های تصحیح خطا در کد هامینگ به حداقل فاصله کد مربوط می شود d0.تمام خطاهای تعدد تصحیح می شود q= cnt (d 0- l)/2 (در اینجا cnt به معنای "قسمت صحیح" است) و خطاهای چندگانه شناسایی می شوند d 0 - 1. بنابراین، با برابری فرد d Q = 2 و خطاهای منفرد شناسایی می شوند. در کد هامینگ d 0 = 3. علاوه بر ارقام اطلاعاتی، L= log 2 Q بیت های کنترل زائد، که در آن س-تعداد بیت های اطلاعاتی پارامتر Lبه عدد صحیح بالاتر بعدی گرد می شود. کد کنترل L-bit نتیجه معکوس جمع بیتی (جمع مدول 2) تعداد بیت های اطلاعاتی است که مقادیر آنها برابر با یک است.

مثال 7.7

بیایید کد اصلی 100110 را داشته باشیم، یعنی. Q= 6. بیایید یک کد اضافی تعریف کنیم.

راه حل

ما آن را پیدا می کنیم L= 3 و کد متمم است

که در آن P نماد عملیات جمع بیتی است و پس از وارونگی، 000 داریم. اکنون اضافی با کد اصلی ارسال می شود. در گیرنده، کد اضافی دوباره محاسبه و با کد ارسال شده مقایسه می شود. کد مقایسه ثابت است و اگر با صفر متفاوت باشد، مقدار آن عدد رقم دریافتی اشتباه کد اصلی است. بنابراین، اگر کد 100010 دریافت شود، کد اضافی محاسبه شده برابر است با معکوس 010Ш10 = 100، یعنی. 011 که به معنای خطا در رقم 3 است.

تعمیم کدهای Hamming، کدهای BCH چرخه ای هستند که به شما امکان می دهند چندین خطا را در کلمه رمز دریافتی تصحیح کنید.

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

کدهای توربوهنگامی که مجموعه کاراکترهای یک کد اضافی به عنوان نمادهای اطلاعات اولیه کد اضافی دیگر در نظر گرفته می شوند، می توان از کدهای اضافی هم به صورت مستقل و هم در قالب ترکیبی از چندین کد استفاده کرد. این انجمن به نام معروف شد آبشاریکد مزیت بزرگ کدهای الحاقی این است که استفاده از آنها باعث می شود رمزگذار و به ویژه رمزگشا در مقایسه با دستگاه های مشابه کدهای غیر آبشاری با طول و افزونگی یکسان ساده شود. کدگذاری آبشاری منجر به ایجاد کدهای توربو شد. توربو کدساختار سیگنال موازی متشکل از دو یا چند کد سیستماتیک نامیده می شود. اصل اساسی ساخت آنها استفاده از چندین رمزگذار مؤلفه موازی است. هر دو کد بلوکی و کانولوشن، کدهای همینگ، کد PC، BCH و غیره می توانند به عنوان کدهای مؤلفه مورد استفاده قرار گیرند. کانال ارتباطی اصل تشکیل کد توربو به شرح زیر است: سیگنال ورودی ایکس،شامل بهبیت، به موازات تغذیه می شود ن interleavers. هر یک از این دومی ها دستگاهی هستند که عناصر را در یک بلوک جابجا می کند بهبیت ها به ترتیب شبه تصادفی سیگنال خروجی از interleaver ها - نمادهای مرتب شده مجدد - به رمزگذارهای ابتدایی مربوطه تغذیه می شود. دنباله های باینری x p i= 1،2،...، JV، در خروجی رمزگذار علامت های چک وجود دارد که همراه با بیت های اطلاعات، یک کلمه رمز را تشکیل می دهند. استفاده از interleaver این امکان را فراهم می کند که از وقوع توالی خطاهای مرتبط هنگام رمزگشایی کدهای توربو جلوگیری شود که هنگام استفاده از روش رمزگشایی مکرر سنتی در پردازش مهم است. بسته به انتخاب کد جزء، کدهای توربو به کدهای توربو کانولوشن و کدهای محصول بلوک تقسیم می شوند.

مربوط به این کلمه، از یک متغیر رسمی ایکس. مشاهده می شود که این مطابقت فقط یک به یک نیست، بلکه هم شکل است. از آنجایی که "کلمات" از حروف فیلد تشکیل شده است، می توان آنها را اضافه و ضرب کرد (عنصر به عنصر) و نتیجه در همان فیلد خواهد بود. چند جمله ای مربوط به ترکیب خطی جفت کلمات و برابر است با ترکیب خطی چند جمله ای های این کلمات

این به ما امکان می دهد مجموعه کلماتی با طول n را در یک میدان محدود به عنوان فضای خطی چند جمله ای با درجه حداکثر n-1 در میدان در نظر بگیریم.

شرح جبری

اگر کلمه رمز با یک جابجایی چرخه ای یک بیت به سمت راست از کلمه به دست می آید، چند جمله ای مربوط به آن است. ج 1 (ایکس) با ضرب x از قبلی بدست می آید:

با بهره گیری از این واقعیت که

به ترتیب به راست و چپ شیفت کنید jترشحات:

اگر یک متر(ایکس) یک چند جمله ای دلخواه بر روی میدان است جیاف(q) و ج(ایکس) - کلمه رمز چرخه ای ( n,ک) کد، سپس متر(ایکس)ج(ایکس)مترoد(ایکس n − 1) همچنین کلمه رمز این کد.

ایجاد چند جمله ای

تعریفچند جمله ای مولد حلقوی ( n,ک) کد سیچنین چند جمله ای غیر صفر نامیده می شود از جانب سیکه درجه آن کوچکترین و ضریب در بالاترین درجه است g r = 1 .

قضیه 1

اگر یک سی- چرخه ای ( n,ک) کد و g(ایکس) چند جمله ای مولد آن و سپس درجه است g(ایکس) برابر است با r = nک و هر کد رمز را می توان به صورت منحصر به فرد نشان داد

ج(ایکس) = متر(ایکس)g(ایکس) ,

جایی که مدرک متر(ایکس) کمتر یا مساوی با ک − 1 .

قضیه 2

g(ایکس) چند جمله ای مولد چرخه ( n,ک) از کد یک مقسوم علیه دو جمله ای است ایکس n − 1

عواقب:بنابراین، به عنوان یک چند جمله ای مولد، می توانید هر چند جمله ای، مقسوم علیه را انتخاب کنید ایکس n- 1. درجه چند جمله ای انتخاب شده تعداد نمادهای چک را تعیین می کند r، تعداد نمادهای اطلاعاتی ک = nr .

ماتریس مولد

در غیر این صورت چند جمله ای ها به صورت خطی مستقل هستند متر(ایکس)g(ایکس) = 0 برای غیر صفر متر(ایکس) که غیر ممکن است.

این بدان معنی است که کلمات کد را می توان مانند کدهای خطی به صورت زیر نوشت:

، جایی که جیاست ماتریس تولید, متر(ایکس) - اطلاعاتیچند جمله ای

ماتریس جیرا می توان به صورت نمادین نوشت:

بررسی ماتریس

برای هر کلمه رمز یک کد چرخه ای، . از همین رو بررسی ماتریسرا می توان به صورت زیر نوشت:

کد نویسی

غیر سیستماتیک

با کدگذاری غیر سیستماتیک، کلمه کد به عنوان حاصل ضرب یک چند جمله ای اطلاعاتی توسط یک چند جمله ای تولید کننده به دست می آید.

ج(ایکس) = متر(ایکس)g(ایکس) .

می توان آن را با استفاده از ضرب چند جمله ای پیاده سازی کرد.

نظام

با کدگذاری سیستماتیک، کلمه رمز به صورت یک بلوک فرعی اطلاعاتی و یک چک تشکیل می شود

اجازه دهید کلمه اطلاعات بالاترین قدرت کلمه رمز را تشکیل دهد

ج(ایکس) = ایکس r متر(ایکس) + س(ایکس),r = nک

سپس از شرط، نتیجه می شود

این معادله قانون کدگذاری سیستماتیک را تعریف می کند. می توان آن را با استفاده از فیلترهای خطی چند چرخه (MLF) پیاده سازی کرد.

مثال ها

کد باینری (7،4،3).

به عنوان یک تقسیم کننده ایکس 7 − 1 چند جمله ای مولد درجه سوم را انتخاب می کنیم g(ایکس) = ایکس 3 + ایکس + 1 ، سپس کد به دست آمده دارای طول خواهد بود n= 7، تعداد نمادهای چک (درجه چند جمله ای تولید کننده) r= 3، تعداد نمادهای اطلاعاتی ک= 4، حداقل فاصله د = 3 .

ماتریس مولدکد:

,

که در آن خط اول یک ورودی چند جمله ای است g(ایکس) ضرایب به ترتیب صعودی. خطوط باقی مانده، جابجایی های چرخه ای خط اول هستند.

بررسی ماتریس:

,

که در آن ستون i، که از 0 شروع می شود، باقیمانده تقسیم است ایکس منروی یک چند جمله ای g(ایکس) ، به ترتیب صعودی توان ها، از بالا شروع می شود.

بنابراین، برای مثال، ستون 3، یا در نماد برداری است.

تأیید آن آسان است جیاچ تی = 0 .

کد باینری (15،7،5) BCH

به عنوان یک چند جمله ای مولد g(ایکس) می توانید حاصل ضرب دو مقسوم علیه را انتخاب کنید ایکس 15 − 1 ^

g(ایکس) = g 1 (ایکس)g 2 (ایکس) = (ایکس 4 + ایکس + 1)(ایکس 4 + ایکس 3 + ایکس 2 + ایکس + 1) = ایکس 8 + ایکس 7 + ایکس 6 + ایکس 4 + 1 .

سپس هر کلمه رمز را می توان با استفاده از حاصل ضرب چند جمله ای اطلاعات به دست آورد متر(ایکس) با مدرک ک− 1 بدین ترتیب:

ج(ایکس) = متر(ایکس)g(ایکس) .

به عنوان مثال، کلمه اطلاعات مربوط به چند جمله ای است متر(ایکس) = ایکس 6 + ایکس 5 + ایکس 4 + 1 ، سپس کلمه رمز ج(ایکس) = (ایکس 6 + ایکس 5 + ایکس 4 + 1)(ایکس 8 + ایکس 7 + ایکس 6 + ایکس 4 + 1) = ایکس 14 + ایکس 12 + ایکس 9 + ایکس 7 + ایکس 5 + 1 ، یا به صورت برداری

همچنین ببینید

پیوندها

بنیاد ویکی مدیا 2010 .

  • فرم های چرخه ای در موسیقی
  • شرایط مرزی چرخه ای

ببینید «کدهای چرخه‌ای» در فرهنگ‌های دیگر چیست:

    کدهای چرخه ای کوتاه شده- - [L.G. Sumenko. فرهنگ لغت انگلیسی روسی فناوری اطلاعات. M.: GP TsNIIS، 2003.] موضوعات فناوری اطلاعات به طور کلی کدهای چرخه ای کوتاه شده EN ...

    کدهای رید-سلیمان- کدهای چرخه ای غیر باینری که به شما امکان می دهند خطاهای موجود در بلوک های داده را تصحیح کنید. عناصر بردار کد بیت نیستند، بلکه گروه هایی از بیت ها (بلوک ها) هستند. کدهای Reed Solomon که با بایت ها (اکتت ها) کار می کنند بسیار رایج هستند. کد رید سولومون ... ویکی پدیا

    کدهای گلای- خانواده ای از کدهای بلوک خطی کامل با تصحیح خطا. مفیدترین کد باینری Golay است. کد سه تایی Golay نیز شناخته شده است. کدهای Golay را می توان به عنوان کدهای چرخه ای در نظر گرفت. …… کتابچه راهنمای مترجم فنی

    کدهای تصحیح خطا

    کدهای تصحیح خطا- تشخیص خطا در فناوری ارتباطات اقدامی است با هدف نظارت بر یکپارچگی داده ها در هنگام ضبط / پخش اطلاعات یا در حین انتقال آن از طریق خطوط ارتباطی. روش تصحیح خطا (اصلاح خطا) برای بازیابی اطلاعات پس از ... ... ویکی پدیا

    کدهای تصحیح خطا- تشخیص خطا در فناوری ارتباطات اقدامی است با هدف نظارت بر یکپارچگی داده ها در هنگام ضبط / پخش اطلاعات یا در حین انتقال آن از طریق خطوط ارتباطی. روش تصحیح خطا (اصلاح خطا) برای بازیابی اطلاعات پس از ... ... ویکی پدیا

خصوصیات اصلی و نام خود کدهای چرخه ای به این واقعیت مربوط می شود که تمام ترکیبات مجاز نمادهای باینری در پیام ارسالی را می توان با عمل یک جابجایی چرخه ای از یک کلمه مبدا به دست آورد: معمولاً ترکیب کدهای یک کد چرخه ای هستند. نه به عنوان دنباله ای از صفرها و یک ها، بلکه به عنوان چند جمله ای با درجه ای در نظر گرفته می شود. هر عدد در هر سیستم اعداد موقعیتی را می توان به صورت کلی به صورت زیر نشان داد: که در آن x پایه سیستم اعداد است. الف - ارقام این سیستم اعداد؛ p-1، p-2، ... - نشانگر درجه ای که پایه بالا می رود، و در همان زمان اعداد دنباله ای، که رتبه ها را اشغال می کنند. برای سیستم باینری، x=2، و a "0" یا "1" است. به عنوان مثال، ترکیب باینری 01001 را می توان به صورت چند جمله ای در آرگومان x نوشت: هنگام نوشتن یک ترکیب کد به صورت چند جمله ای، واحد در رقم اول به عنوان عضو x نوشته می شود و صفر اصلاً نوشته نمی شود. ترکیب کد به شکل چندجمله ای به شما امکان می دهد یک مطابقت یک به یک بین آنها برقرار کنید و اقدامات روی ترکیب ها را به عمل روی چند جمله ای ها کاهش دهید. به عنوان مثال، ضرب طبق قانون معمول ضرب توابع توان انجام می شود، اما ضرایب حاصل در یک درجه معین به مدول 2 اضافه می شود. به عنوان مثال، تقسیم به عنوان یک تقسیم عادی چند جمله ای ها نیز انجام می شود. در این حالت عمل تفریق با عمل مدول جمع 2 جایگزین می شود: همانطور که در بالا ذکر شد، کدها چرخه ای نامیده می شوند زیرا شیفت چرخه ای a n ^ a l L،...، a 2، a 1، a d1 a n1 ترکیب مجاز a n (، a n _ 2،...، a 1، و 0 نیز یک ترکیب مجاز است. چنین جایگشت چرخه ای هنگام استفاده از نمایش هایی به شکل چند جمله ای در نتیجه ضرب این چند جمله ای در x ایجاد می شود. ( x + a 0 , سپس Y (x) x \u003d a n] x n + a n 2 x n " 1 + ... + a x x 2 + a ^ x. برای اینکه درجه چند جمله ای از n-1 تجاوز نکند، عبارت x" با یک جایگزین می شود، بنابراین: به عنوان مثال، ما کد را داریم. ترکیب 1101110-> x در + x 5 + x 3 + x g -1-x. بیایید آن را با یک رقم جابجا کنیم، به دست می‌آید: که برابر است با ضرب چند جمله‌ای اصلی در x: نظریه ساخت کدهای حلقوی مبتنی است در بخش‌هایی از جبر بالاتر که ویژگی‌های چندجمله‌ای دوتایی را مطالعه می‌کند. نقش ویژه‌ای در این نظریه توسط چندجمله‌ای‌های تقلیل‌ناپذیر، یعنی چندجمله‌ای که نمی‌توان آنها را به‌عنوان حاصل ضرب چندجمله‌های درجات پایین‌تر نشان داد، بازی می‌کند. جمله هفتم فقط بر خودش و بر یک بخش پذیر است. از جبر بالاتر شناخته شده است که دوجمله ای x "+1 بر یک چند جمله ای تقلیل ناپذیر بدون باقیمانده قابل تقسیم است. در تئوری کدگذاری، چند جمله ای های تقلیل ناپذیر چند جمله ای های مولد نامیده می شوند، زیرا ترکیب های کد مجاز را تشکیل می دهند (چند جمله ای های تقلیل ناپذیر جدول بندی شده اند، جدول 8.4 را ببینید. ) (9) ایده ساخت یک کد چرخه ای این است که چند جمله ای نشان می دهد بخش اطلاعاتترکیب کد، شما باید به یک چند جمله ای با درجه ای بیشتر از n-1 تبدیل کنید، که بدون باقیمانده بر چند جمله ای تولید کننده P (x) قابل تقسیم است. ضروری است که درجه دومی با تعداد ارقام قسمت چک ترکیب کد مطابقت داشته باشد. در کدهای چرخه‌ای، همه ترکیب‌های مجاز، که به صورت چندجمله‌ای نشان داده می‌شوند، یک ویژگی دارند: بخش‌پذیری بدون باقیمانده توسط چند جمله‌ای P(x). ساخت یک ترکیب کد مجاز به موارد زیر کاهش می یابد: 1. بخش اطلاعاتی ترکیب کد به طول k را به صورت چند جمله ای O(x) نشان می دهیم. 2. O(x) را در تک جمله Y ضرب می کنیم و 0(x)x r می گیریم، یعنی ترکیب کد ¿ بیت را با بیت r جابجا می کنیم. 3. چند جمله ای O(x)x" را بر چند جمله ای مولد P(x) تقسیم کنید که درجه آن برابر با r است. در نتیجه ضرب O(x) در x r، درجه هر تک جمله ای در O( x) با r افزایش می یابد. هنگام تقسیم حاصل ضرب x r O[x) و ژنراتیکس یک چند جمله ای درجه r یک ضریب C(x) برابر با 0 (x) به دست می دهد. نتایج این عملیات را می توان نشان داد. مانند: (8.28) که در آن Wx) باقیمانده تقسیم 0(x)x r بر P(x) است. از آنجایی که درجه C(x) برابر با 0(x) است، پس C(x) ترکیب کدی از همان کد ¿ رقمی است. درجه باقیمانده بدیهی است که نمی تواند بیشتر از درجه چند جمله ای مولد، یعنی آن باشد. بالاترین درجهبرابر با r-1 است. در نتیجه، بیشترین تعدادارقام باقیمانده از r تجاوز نمی کند. ضرب دو طرف (8.28) در P(x)، خزیدن: (8.29) (علامت تفریق با علامت مدول جمع 2 جایگزین می شود). بدیهی است که F(x) بدون باقیمانده بر P(x) بخش پذیر است. چند جمله ای F(x) ترکیب کد مجاز کد حلقوی است. از (8.29) نتیجه می شود که ترکیب کد مجاز یک کد چرخه ای را می توان به دو روش به دست آورد: با ضرب ترکیب کد کد ساده C(x) با ایجاد چند جمله ای P(x) یا با ضرب ترکیب کد 0(x) کد ساده در تک جمله x r و افزودن به این حاصلضرب باقیمانده P(x) که از تقسیم حاصلضرب بر چند جمله ای ایجاد می شود. P(x). با روش کدگذاری اول، بیت های اطلاعات و چک از یکدیگر جدا نمی شوند (کد غیرقابل تفکیک است). این امر اجرای عملی فرآیند رمزگشایی را پیچیده می کند. در روش دوم، یک کد قابل تفکیک به دست می آید: ارقام اطلاعاتی موقعیت های ارشد را اشغال می کنند، ارقام n-k باقیمانده، ارقام آزمایشی هستند. این روش کدگذاری در عمل بسیار مورد استفاده قرار می گیرد. مثال 3. ترکیب کد 0111 داده شده است. بیایید یک کد چرخه ای با d o = 3 بسازیم. در مرحله اول بر اساس d o = 3 مورد نیاز، طول کد l و تعداد عناصر چک k را تعیین می کنیم برای این کار از جدول 8.6.1 استفاده می کنیم. برای یک کلمه رمز چهار بیتی داده شده N-16. سپس برای d \u003d 3 از رابطه 16 (جدول 8.3) به ترتیب n - 7 را پیدا می کنیم، k \u003d n - m - \u003d 7 - 4 \u003d 3. بنابراین کد (7.4) مورد نیاز است. با توجه به جدول مولد چندجمله ای ها (جدول 8.4)، برای k = 3، P (x) = x 3 + x 2 + 1 را تعیین می کنیم. علاوه بر این: 1) برای پیام 0111 ما O (x) = x 2 + داریم. x + 1; 2) 0 (x) را در x 3 ضرب کنید (از r \u003d 3): O (x) x 3 \u003d (x 2 -I- x + 1) x 3 \u003d x 5 + x 4 + x 3. 3) تقسیم (E (x) x 3 بر P (x): 4) دریافت می کنیم: ^ (x) \u003d O (x) x 3 0 I (x) \u003d x 5 + x 4 + x 3 + 1. این چند جمله ای با ترکیب کد مطابقت دارد: همه این عملیات را می توان بر روی اعداد باینری: جدول 8.4
4) F(0,1) = O(0,l)x 3 (0,l)©R(0 1 l) = 011100000001= 0111 001. حال بیایید یک کلمه رمز مجاز به روش اول بسازیم: F(x) =C(x)P(x). بیایید ضرب را انجام دهیم و چند جمله ای ها را به صورت اعداد باینری نشان دهیم: مشاهده می شود که اطلاعات و بیت های چک را نمی توان در ترکیب کد حاصل از هم تشخیص داد. تشخیص خطا در کدگذاری چرخه‌ای به تقسیم کلمه رمز دریافتی به همان چند جمله‌ای مولد که در کدگذاری استفاده می‌شود، خلاصه می‌شود (شکل آن باید در هنگام دریافت مشخص باشد). اگر در ترکیب کد دریافتی خطایی وجود نداشته باشد (یا به گونه ای باشد که ترکیب کد ارسالی داده شده به یک کد مجاز دیگر تبدیل شود)، تقسیم توسط چند جمله ای تولید کننده بدون باقیمانده انجام می شود. اگر تقسیم یک باقیمانده تولید کند، این نشان دهنده یک خطا است. مثال 4. به عنوان یک ترکیب کد مجاز، ترکیب کد به دست آمده در مثال قبلی را در نظر می گیریم: P (x) \u003d x 5 + x 4 + x 3 + 1، و P (x) \u003d x 3 + x 2 + 1 یا به صورت باینری به شکل E(0.1) = 0111001; P(0.1) = 1101. فرض می کنیم که خطایی در مهم ترین رقم (هفتم) در قسمت اطلاعات رخ داده است (ارقام از راست به چپ شمارش می شوند). ترکیب کد دریافتی شبیه 1111001 است. بیایید عملیات تشخیص خطا را انجام دهیم: وجود باقیمانده 110 نشان دهنده خطا است. کدهای چرخه ای به طور گسترده در سیستم های انتقال اطلاعات استفاده می شوند. به عنوان مثال، در پروتکل پرکاربرد مودم \7.42، برای رمزگذاری گروه های کد، از یک چند جمله ای ژنراتور d(X) \u003d X 16 + X "-2 + X 5 + 1 استفاده می شود که معادل کد 1 0001 0000 است. 0010 0001، و همچنین یک چند جمله ای مولد با مرتبه بالاتر d(X) = X 32 + X 26 + X 23 + X 22 + X 16 + X 12 + X 11 + X 10 + X 8 + X 1 + X 5 + X 4 + X 2 + 1. 8.6.

کدهای کارآمدی که خطاهای منفرد، چندگانه و انبوه خطاها را شناسایی می‌کنند، عبارتند از کدهای چرخه ای(CRC - Cyclic Redundance Code). آنها بسیار قابل اعتماد هستند و می توانند برای همگام سازی بلوک استفاده شوند، که در آن انتخاب، برای مثال، یک بیت عجیب و غریب دشوار است.

یکی از انواع کدگذاری چرخه ای ضرب کردن است کد منبعتوسط چند جمله ای ژنراتور g(x)، و رمزگشایی - در تقسیم بر g(x). اگر باقیمانده تقسیم صفر نباشد، خطا رخ داده است. یک سیگنال خطا به فرستنده ارسال می شود که باعث ارسال مجدد می شود.

چند جمله ای مولد است نمایش باینرییکی از فاکتورهای ساده ای که عدد X n -1 به آن تجزیه می شود، که در آن X n واحدی در بیت n ام را نشان می دهد، n برابر با تعداد بیت های گروه کد است. بنابراین، اگر n \u003d 10 و X \u003d 2، پس X n -1 \u003d 1023 \u003d 11 * 93 و اگر g (X) \u003d 11 یا در کد باینری 1011، سپس نمونه‌هایی از کدهای چرخه‌ای A i *g(X) از اعداد A i در گروه کد با این چند جمله‌ای مولد را می‌توان در جدول زیر مشاهده کرد. 3.1.

گزینه اصلیکد چرخه‌ای که به طور گسترده در عمل استفاده می‌شود، با کد قبلی متفاوت است، زیرا عملیات تقسیم توسط چند جمله‌ای مولد با الگوریتم زیر جایگزین می‌شود: 1) صفرهای K به عدد کدگذاری شده اصلی A اختصاص می‌یابد که در آن K تعداد بیت‌ها است. در چند جمله ای مولد، یک کاهش می یابد. 2) عملیات O بر روی عدد دریافتی A * (2 K) انجام می شود، که با تقسیم تفاوت دارد زیرا در هر مرحله از عملیات، به جای تفریق، عملیات "انحصاری OR" به صورت بیتی انجام می شود: 3) باقیمانده B حاصل CRC است - کد K-bit زائد، که جایگزین صفرهای اختصاص داده شده به سمت راست عدد رمزگذاری شده C می شود، یعنی.

C \u003d A * (2 K) + B.

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

مثال فرض کنید A = 1001 1101 چند جمله ای 11001 را تشکیل می دهد.

از آنجایی که K \u003d 4، سپس A * (2 K) \u003d 100111010000. اجرای عملیات O برای محاسبه کد چرخه ای در شکل نشان داده شده است. 3.2.

جدول 3.1

عدد کد چرخه ای عدد کد چرخه ای
0 0000000000. 13 0010001111
1 0000001011 14 0010011010
2 0000010110 15 0010100101
3 0000100001 16 0011000110
5 0000110111 18 0011000110
6 0001000010 19 0011010001
..... ........ ....... .......

خواص مثبت کدهای چرخه ای احتمال کم تشخیص خطا و تعداد نسبتا کمی بیت های اضافی است.

برنج. 3.2. نمونه ای از به دست آوردن کد چرخه ای