(۱۵ تیر ۱۳۹۳ ۰۳:۱۴ ب.ظ)dokhtare payiz نوشته شده توسط: با سلام نحوه ی تبدیل کد باینری به گری رو کامل توضیح میدین؟
ضمنا کدهای m/nرو هم متوجه نشدم
سلام
اولا اگه زبانتون خوبه اینجا رو بخونید:
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.
برای تبدیل بدونید چپ ترین بیت گری و باینری یکسان هستن.
از باینری به گری کافیه msb رو کپی کنید و بعد از چپ (خود msb هم حسابه !) دوتا دوتا xor کنید بیت ها رو و هر جفت بیتی که xor میکنید میشه یه بیت از کد گری
از گری به باینری هم هیچ سختی نداره.بیت msb رو که کپی میکنم. برای بیت بعدی باید بیت جاری در کد گری رو به نوبت با بیت های کد اولیه گری xor کنید
برای کد های m از n من خودم خیلی نخوندمشون. اما الان از ویکی دیدم به چه صورته.
کد m از n خیلی ساده کدی هست که تعداد رقماش n تاست و m تاش یک هستن. کتاب هم ۲از۵ و ۲ از۷ رو نوشته که فقط ۲تا یک دارن. همه عددها رو میشه به شکل mازn نوشت.(چجوری?خیلی ساده ! اول باینری رو نوشته بعد اگ هیچی یک نداشت ۲تا یک داده اگه یکی داشت یدونه یک اضافه کرده. اگ سه تا یک داشت حذف کرده. الی اخر)
اگه کد ما از نوع ۲از۵ بود و در ارسال یه عدد با سه بیت ۱ بهم داد, میتونه بفهمه خطا شده چون استاندارد ما وجود دو تا دونه بیت یکه.
پس. هر m از n کدی میتونه کدهای خطای دارایm+1 یا m-1 بیت۱ رو شناسایی کنه.
حالا مثال کتاب! کد ۲ از ۵ی که داده۱۰۱۰۰ هست. واضحه چون دقیقا دو تا ۱ داره و نوعش ۲از۵ هیچ خطایی تشخیص داده نمیشه.
فکر کن اگه این کد قراره غلط باشه چجوری میتونه به وجود اومده باشه?
تو لیست ۲از۵های کتاب. "یا" یکی از بیتهای ۰ یک شده "و"یکی از بیت های ۱ صفر شده (این یه حالت) "یا" اینکه هر دو تا بیت ۱ کد۲از۵ صفر شده و به جاش دو تا از بیت های ۰ یک شدن.
حالا همینا رو به ریاضی بنویس

دقت کن که احتمال خطا توی یه بیت -۴^۱۰ هست. پس احتمال خطای دو بیت (حالت دوم)میشه۴-^۱۰*۴-^۱۰
حالت اول: پرانتز ها ترکیب هستند.مثلا منظورم اینه (۵,۲)=۱۰
(۲,۱)*p*(3,1)*p
P=10^-4
حالت دوم :
(۲,۲)*q*(3,2)*q
q=10^-4