
در تئوری کدگذاری ، کد تکرار یکی از اساسی ترین کدهای تصحیح خطا است . به منظور انتقال پیام از طریق کانال پر سر و صدا که ممکن است انتقال را در چند مکان خراب کند ، ایده کد تکرار این است که فقط پیام را چندین بار تکرار کنید. امید این است که کانال فقط اقلیت این تکرارها را خراب کند. به این ترتیب گیرنده متوجه می شود که خطایی در انتقال رخ داده است زیرا جریان داده دریافتی تکرار یک پیام نیست ، و علاوه بر این ، گیرنده می تواند با مشاهده پیام دریافتی در جریان داده که معمولاً رخ می دهد ، پیام اصلی را بازیابی کند.
به دلیل عملکرد اشتباه در تصحیح خطا و نسبت کم بین نمادهای اطلاعاتی و نمادهای منتقل شده در واقع ، سایر کدهای تصحیح خطا در بیشتر موارد ترجیح داده می شوند. جذابیت اصلی کد تکرار ، سهولت اجرا است.
فهرست
پارامترهای کد [ ویرایش ]
در مورد کد تکرار باینری ، دو کلمه کد وجود دارد - همه یک و همه صفر - که طول آنها . بنابراین ، حداقل فاصله Hamming کد برابر با طول آن است
. این به کد تکرار ظرفیت اصلاح خطا را می دهد
(یعنی اصلاح خواهد شد تا
خطا در هر کلمه کد).
اگر طول یک کد تکرار باینری عجیب باشد ، یک کد کامل است . [1] کد تکرار باینری طول n معادل ( n ، 1) - کد Hamming است .
مثال [ ویرایش ]
یک کد تکرار باینری با طول 3 را در نظر بگیرید. کاربر می خواهد بیت های اطلاعات را منتقل کند 101. سپس رمزگذاری ، هر بیت را به کل کلمه یا همه کد صفر ترسیم می کند ، بنابراین ، کد 111 000 111انتقال داده می شود.
بیایید بگوییم سه خطا بیت های منتقل شده را خراب می کند و توالی دریافت شده است 111 010 100. رمزگشایی معمولاً با تصمیم اکثریت ساده برای هر کلمه کد انجام می شود. این ما را 100به سمت بیت اطلاعات رمزگشایی سوق می دهد ، زیرا در کلمه کد اول و دوم کمتر از دو خطا رخ داده است ، بنابراین اکثر بیت ها درست هستند. اما در کلمه کد سوم دو بیت خراب است ، که منجر به یک بیت اطلاعات اشتباه می شود ، زیرا دو خط بالاتر از ظرفیت تصحیح خطا است.
برنامه ها [ ویرایش ]
علیرغم عملکرد ضعیف آنها به عنوان کدهای مستقل ، استفاده از کد های توربو مانند طرح های رمزگذاری متصل بهم پیوسته و رمزگشایی شده ، مانند کدهای تکرار-انباشت (RA) و تجمع-تکرار-تجمع-تجمع (ARA) ، به طور شگفت آور عملکرد تصحیح خطا را امکان پذیر می کند.
کدهای تکرار یکی از معدود کدهای شناخته شده ای است که با ارسال اطلاعات برابری کم و بیش در صورت لزوم برای غلبه بر نویز کانال ، می توان نرخ کد خود را به طور خودکار متناسب با ظرفیت کانال تنظیم کرد ، و این تنها کدی است که برای کانال های پاک نشدنی شناخته شده است . کدهای تطبیقی عملی کانالهای پاک کننده اخیراً اختراع شده اند و به عنوان کدهای فواره شناخته می شوند .
برخی از UART ها ، مانند موارد استفاده شده در پروتکل FlexRay ، از فیلتر اکثریت برای چشم پوشی از افزایش ناگهانی صدا استفاده می کنند. این فیلتر رد خوشه را می توان نوعی رمزگشای تکراری دانست.
منابع
https://en.wikipedia.org/wiki/Repetition_code
از ویکیپدیا، دانشنامه آزاد
در نظریه کدگذاری ، یک کد خطی یک 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
مشخصات وب
در این وبلاگ به ریاضیات و کاربردهای آن و تحقیقات در آنها پرداخته می شود. مطالب در این وبلاگ ترجمه سطحی و اولیه است و کامل نیست.در صورتی سوال یا نظری در زمینه ریاضیات دارید مطرح نمایید .در صورت امکان به آن می پردازم. من دوست دارم برای یافتن پاسخ به سوالات و حل پروژه های علمی با دیگران همکاری نمایم.در صورتی که شما هم بامن هم عقیده هستید با من تماس بگیرید.09132003030
موضوعات وب
- نظریه طیف گراف
- پرواز
- هندسه
- هسته ای
- ترکببات
- نمایش گروه
- سیستم های دینامیکی
- نظریه کد گذاری
- ریاضی فازی
- جبر پیشرفته
- توپولوژی
- معادلات دیفرانسیل
- مقاله ها
- سیستم عصبی
- آنالیز عددی
- آنالیزریاضی و آنالیز حقیقی
- توابع مختلط و کاربردها
- نظریه اعداد
- برنامه ریزی خطی و غیر خطی
- حل عددی معادلات دیفرانسیل
- نظریه مجموعه ها
- جبرخطی و جبرخطی عددی
- اقتصاد
- تاریخ ریاضی
- انسان شناسی وفلسفه ریاضی
- توپولوژی جبری
- هندسه جبری
- هندسه ریمانی و هندسه هذلوی
- بازی
- نقشه برداری دریایی
- گراف
- آمار غیرپارامتری
- نجوم
- منیفولد دیفرانسیل
- نظریه گروه
- نظریه حلقه
- نظریه مدول ها
- آمار و احتمال
- ریاضی 2
- فیزیک -ریاضی
- تحقیق
- ریاضی مهندسی
- درس ترمودینامیک و مکانیک آماری
- مکانیک تحلیلی
- برق یا فیزیک 2
- فیزیک مدرن
- کوانتم
- نسبیت
پیوندها
پیوندهای روزانه
آرشیو وب
- دی ۱۴۰۴
- آذر ۱۴۰۴
- آبان ۱۴۰۴
- شهریور ۱۴۰۴
- مرداد ۱۴۰۴
- خرداد ۱۴۰۴
- اردیبهشت ۱۴۰۴
- بهمن ۱۴۰۳
- دی ۱۴۰۳
- آذر ۱۴۰۳
- آبان ۱۴۰۳
- مهر ۱۴۰۳
- خرداد ۱۴۰۳
- اردیبهشت ۱۴۰۳
- فروردین ۱۴۰۳
- اسفند ۱۴۰۲
- بهمن ۱۴۰۲
- دی ۱۴۰۲
- آذر ۱۴۰۲
- آبان ۱۴۰۲
- مهر ۱۴۰۲
- تیر ۱۴۰۲
- خرداد ۱۴۰۲
- اردیبهشت ۱۴۰۲
- فروردین ۱۴۰۲
- اسفند ۱۴۰۱
- بهمن ۱۴۰۱
- دی ۱۴۰۱
- آبان ۱۴۰۱
- مهر ۱۴۰۱
- شهریور ۱۴۰۱
- مرداد ۱۴۰۱
- تیر ۱۴۰۱
- خرداد ۱۴۰۱
- اردیبهشت ۱۴۰۱
- فروردین ۱۴۰۱
- آرشيو

