از ویکیپدیا، دانشنامه آزاد
در نظریه کدگذاری ، یک کد خطی یک IS کد تصحیح خطا که هر ترکیب خطی از کلمه های کد همچنین یک کلمه کد. کدهای خطی به طور سنتی به کدهای بلوک و کدهای کانولوشن تقسیم می شوند ، اگرچه کدهای توربو را می توان ترکیبی از این دو نوع دانست. [1] کدهای خطی امکان الگوریتم های رمزگذاری و رمزگشایی کارآمدتر از سایر کدها را دارند (رجوع کنید به رمزگشایی سندرم ). [ نیاز به منبع ]
کدهای خطی در تصحیح خطای رو به جلو استفاده می شوند و در روش های انتقال نمادها (به عنوان مثال ، بیت ها ) در یک کانال ارتباطی اعمال می شوند تا در صورت بروز خطا در ارتباط ، برخی از خطاها توسط گیرنده بلوک پیام اصلاح یا شناسایی شوند. کلمات رمز در یک کد بلوک خطی بلوک هایی از نمادها هستند که با استفاده از نمادهای بیشتر از مقدار اصلی ارسال شده کدگذاری می شوند. [2] یک کد خطی با طول n بلوک های حاوی n نماد را انتقال می دهد . به عنوان مثال ، کد [7،4،3] Hamming یک کد باینری خطی استکه نمایانگر پیامهای 4 بیتی با استفاده از کلمات رمز 7 بیتی است. دو کلمه کد مشخص حداقل در سه بیت متفاوت است. به عنوان یک نتیجه ، حداکثر دو خطا در هر رمز ورود قابل شناسایی است در حالی که یک خطای تنها قابل اصلاح است. [3] این کد شامل 2 کلمه رمز 4 = 16 است.
فهرست
- 1تعریف و پارامترها
- 2ماتریس های تولید کننده و بررسی کنید
- 3مثال: کدهای همینگ
- 4مثال: کدهای هادامارد
- 5الگوریتم نزدیکترین همسایه
- 6علامت گذاری رایج
- 7سینگلتون مقید
- 8قضیه بونیسولی
- 9مثال ها
- 10تعمیم
- 11همچنین ببینید
- 12منابع
- 13لینک های خارجی
تعریف و پارامترها [ ویرایش ]
یک کد خطی با طول n و رتبه k یک زیر فضای فضایی خطی C با بعد k از فضای بردار است جایی که
است زمینه محدود با Q عناصر. به چنین کدی کد q -ary گفته می شود. اگر q = 2 یا q = 3 باشد ، کد به ترتیب یک کد باینری یا یک کد سه گانه توصیف می شود. بردارهای موجود در C را رمزعبور می نامند . اندازه از یک کد تعداد کلمه های کد است و معادل Q K .
وزن یک کلمه کد تعداد عناصر غیر صفر آن که هستند و است فاصله بین دو کلمه های کد است فاصله همینگ بین آنها، این است که، تعدادی از عناصر که در آن متفاوت است. فاصله d کد خطی حداقل وزن کلمات رمز غیر صفر آن است ، یا معادل آن ، حداقل فاصله بین کدهای رمزگذاری مجزا است. یک کد خطی به طول N ، بعد ک ، و فاصله د یک [به نام N ، K ، D ] کد.
ما می خواهیم بدهیم مبنای استاندارد زیرا هر مختصات نشان دهنده "بیتی" است که از طریق "کانال پر سر و صدا" با احتمال کمی خطای انتقال ( کانال متقارن باینری ) منتقل می شود. اگر از مبنای دیگری استفاده شود ، این مدل قابل استفاده نیست و معیار Hamming همانطور که می خواهیم تعداد خطاهای انتقال را اندازه گیری نمی کند.
ماتریس های تولید کننده و بررسی [ ویرایش ]
به عنوان یک فضای فرعی خطی از، کل کد C (که ممکن است بسیار بزرگ باشد) ممکن است به عنوان دهانه یک مجموعه نشان داده شود
کلمات رمز (که در جبر خطی به عنوان مبنایی شناخته می شود ). این کلمات رمز اساسی اغلب در ردیف های ماتریس G جمع می شوند که به عنوان ماتریس تولید کننده کد C شناخته می شوند . وقتی G فرم ماتریس بلوک را دارد
، جایی که
را نشان می دهد
ماتریس هویت و P برخی است
ماتریس ، سپس می گوییم G به شکل استاندارد است .
ماتریس H نشان دهنده یک تابع خطی استکه هسته است C است که به نام ماتریس چک از C (یا گاهی اوقات یک ماتریس بررسی همزادی). معادل آن ، H ماتریسی است که فضای نول آن C است . اگر C یک کد با ماتریس تولید کننده G به شکل استاندارد است ،
، سپس
یک ماتریس بررسی برای C. کد تولید شده توسط H کد دوگانه C نامیده می شود. می توان تأیید کرد که G یک است
ماتریس ، در حالی که H یک است
ماتریس
خطی بودن تضمین می کند که حداقل فاصله Hamming d بین یک رمز رمز c 0 و هر یک از دیگر رمزهای رمز c ≠ c 0 مستقل از c 0 است . این از ویژگی بدست می آید که تفاوت c - c 0 از دو کلید رمز در C نیز یک رمز کد است (به عنوان مثال ، عنصری از فضای فضایی C ) ، و ویژگی که d ( c ، c 0 ) = d ( c - c 0 است) ، 0). این ویژگی ها حاکی از آن است
به عبارت دیگر ، برای یافتن حداقل فاصله بین کلمات رمز یک کد خطی ، فقط باید به کلیدواژه های غیر صفر نگاه کرد. حداقل کد رمز غیر صفر با کمترین وزن حداقل فاصله را با رمز رمز صفر دارد و از این رو حداقل فاصله کد را تعیین می کند.
فاصله د از یک کد خطی C نیز برابر با حداقل تعداد ستون خطی وابسته از ماتریس چک H .
اثبات: چون ، که معادل آن است
، جایی که
هست
ستون از
. آن موارد را با حذف کنید{\ displaystyle c_ {i} = 0}
، آنهایی که
با
وابسته خطی هستند. از این رو،
حداقل حداقل ستون های وابسته خطی است. از طرف دیگر ، حداقل ستون های وابسته خطی را در نظر بگیرید
جایی که
مجموعه شاخص ستون است.
. اکنون بردار را در نظر بگیرید
به طوری که
اگر
. توجه داشته باشید
زیرا
. بنابراین ، ما داریم
، که حداقل تعداد ستون های وابسته خطی در است
. بنابراین ملک مورد ادعا اثبات شده است.
مثال: کدهای همینگ [ ویرایش ]
مقاله اصلی: کد همینگ
به عنوان اولین کلاس کدهای خطی که برای تصحیح خطا تولید شده اند ، کدهای Hamming به طور گسترده ای در سیستم های ارتباطی دیجیتال استفاده شده اند. برای هر عدد صحیح مثبت، وجود دارد
کد همینگ از آنجا که
، این کد Hamming می تواند خطای 1 بیتی را اصلاح کند.
مثال: کد بلوک خطی با ماتریس مولد زیر و ماتریس بررسی برابری یک است کد همینگ
مثال: کدهای هادامارد [ ویرایش ]
مقاله اصلی: کد هادامرد
کد هادامارد یک استکد خطی و قادر به اصلاح بسیاری از خطاها است. کد هادامارد را می توان ستون به ستون ساخت:
ستون بیت های نمایش دودویی عدد صحیح است
، همانطور که در مثال زیر نشان داده شده است. کد هادامارد حداقل فاصله دارد
و بنابراین می تواند اصلاح کند
خطاها
مثال: کد بلوک خطی با ماتریس ژنراتور زیر یک است کد هادامارد:
.
کد Hadamard یک مورد خاص از کد Reed – Muller است . اگر ستون اول (ستون تمام صفر) را از خارج کنیم، ما گرفتیم
کد simplex ، که کد دوگانه کد Hamming است.
الگوریتم نزدیکترین همسایه [ ویرایش ]
پارامتر d با توانایی تصحیح خطا کد ارتباط نزدیک دارد. ساختار / الگوریتم زیر این را نشان می دهد (الگوریتم رمزگشایی نزدیکترین همسایه):
ورودی: بردار دریافت شده v در .
خروجی: یک رمز رمز که در
نزدیکترین به
در صورت وجود
- شروع با
، دو مرحله زیر را تکرار کنید.
- عناصر توپ شعاع (Hamming) را برشمارید
در اطراف کلمه دریافت شده
، مشخص شده
.
- برای هر
که در
، بررسی کن اگر
که در
. اگر چنین است ، برگردید
به عنوان راه حل
- برای هر
- افزایش
. فقط وقتی شکست بخورید
بنابراین شمارش کامل است و هیچ راه حلی پیدا نشده است.
ما می گوییم که یک خطی است است
تصحیح خطا اگر حداکثر یک کلمه رمز در آن وجود داشته باشد
، برای هر
که در
.
علامت گذاری رایج [ ویرایش ]
مقاله اصلی: کد بلوک § علامت گذاری معروف
کدها به طور کلی اغلب با حرف C نشان داده می شوند ، و یک کد از طول n و از درجه k (به عنوان مثال ، داشتن کلمات کد k در اساس آن و k ردیف در ماتریس تولید آن ) به طور کلی به عنوان ( n ، k ) شناخته می شود کد کدهای بلوک خطی غالباً به عنوان کدهای [ n ، k ، d ] نشان داده می شوند ، جایی که d به حداقل فاصله هامینگ کد بین هر دو کلمه کد اشاره دارد.
( علامت [ n ، k ، d ] را نباید با علامت ( n ، M ، d ) که برای نشان دادن کد غیر خطی طول n ، اندازه M (یعنی داشتن کلمات کد M ) و حداقل Hamming اشتباه گرفته می شود فاصله د .)
سینگلتون مقید [ ویرایش ]
Lemma ( Singleton binded ): هر کد خطی [n ، k ، d] C را برآورده می کند.
کد C که پارامترهای آن k + d = n + 1 را برآورده می کند ، حداکثر فاصله قابل تفکیک یا MDS نامیده می شود . چنین کدهایی ، هنگامی که وجود داشته باشند ، به تعبیری بهترین حالت ممکن را دارند.
اگر C 1 و C 2 دو کد طول n باشند و اگر در گروه متقارن S n جایگزینی p وجود داشته باشد (c 1 ، ...، c n ) در C 1 اگر و فقط اگر (c p (1 ) ، ...، ج ص (N) ) در C 2 ، پس ما می گویند C 1 و C 2 هستند معادل جایگشت . به طور کلی ، اگر وجود دارد ماتریس تک صدایی
که C 1 را به صورت غیر شکل به C 2 می فرستد ، سپس می گوییم C 1 و C 2 معادل هستند .
Lemma : هر کد خطی جایگزین معادل کدی است که به صورت استاندارد است.
قضیه بونیسولی [ ویرایش ]
یک کد برای فاصله برابر تعریف می شود در صورتی که فقط یک ثابت d وجود داشته باشد به طوری که فاصله بین هر دو کد رمز متمایز کد برابر با d باشد. [4] در سال 1984 ، آریگو بونیسولی ساختار کدهای یک وزن خطی را بر روی زمینه های محدود تعیین کرد و ثابت کرد که هر کد خطی مساوی فاصله ای دنباله ای از کدهای دوگانه همینگ است . [5]
مثالها [ ویرایش ]
برخی از نمونه های کد خطی عبارتند از:
- کدهای تکراری
- کدهای برابری
- کدهای حلقوی
- کدهای همینگ
- کد Golay ، هم نسخه باینری و هم نسخه سه تایی
- کدهای چند جمله ای که کد BCH نمونه ای از آنهاست
- کدهای Reed – Solomon
- کدهای Reed – Muller
- کدهای Goppa
- کدهای بررسی برابری با تراکم کم
- کدهای گسترش دهنده
- کدهای بررسی برابری چند بعدی
- کدهای Toric
- کدهای توربو
تعمیم [ ویرایش ]
فضاهای هم زدن بیش از حروف غیر میدان نیز در نظر گرفته شده است ، به ویژه بیش از حلقه های محدود (به ویژه بیش از Z 4 ) که باعث ایجاد ماژول ها به جای فضاهای برداری و کدهای حلقه ای خطی (مشخص شده با زیر مدول ها ) به جای کدهای خطی می شوند. معیار متداول مورد استفاده در این مورد فاصله لی . یک فاصله سنجی خاکستری وجود دارد(یعنی GF (2 متر )) با فاصله Hamming و
(همچنین با GR (4 ، متر) نشان داده می شود) با فاصله لی. جذابیت اصلی آن این است که بین برخی از کدهای "خوب" که خطی نیستند ، مکاتبه ای برقرار می کند
به عنوان تصاویر کدهای حلقه ای خطی از
. [6] [7] [8]
اخیراً ، [ چه زمانی؟ ] برخی از نویسندگان چنین کدهایی را بیش از حلقه ها به عنوان کدهای خطی نیز ذکر کرده اند. [9]
همچنین به [ ویرایش ] مراجعه کنید
https://en.wikipedia.org/wiki/Linear_code
در این وبلاگ به ریاضیات و کاربردهای آن و تحقیقات در آنها پرداخته می شود. مطالب در این وبلاگ ترجمه سطحی و اولیه است و کامل نیست.در صورتی سوال یا نظری در زمینه ریاضیات دارید مطرح نمایید .در صورت امکان به آن می پردازم. من دوست دارم برای یافتن پاسخ به سوالات و حل پروژه های علمی با دیگران همکاری نمایم.در صورتی که شما هم بامن هم عقیده هستید با من تماس بگیرید.