تالار گفتمان مانشت
سوال از نحوه تبدیل کد باینری به گری، کد m/n - نسخه‌ی قابل چاپ

سوال از نحوه تبدیل کد باینری به گری، کد m/n - dokhtare payiz - 15 تیر ۱۳۹۳ ۰۳:۱۴ ب.ظ

با سلام نحوه ی تبدیل کد باینری به گری رو کامل توضیح میدین؟
ضمنا کدهای m/nرو هم متوجه نشدم

RE: فصل۱ پوران - golche70 - 15 تیر ۱۳۹۳ ۰۵:۳۸ ب.ظ

(۱۵ تیر ۱۳۹۳ ۰۳:۱۴ ب.ظ)dokhtare payiz نوشته شده توسط:  با سلام نحوه ی تبدیل کد باینری به گری رو کامل توضیح میدین؟
ضمنا کدهای m/nرو هم متوجه نشدم

سلام
اولا اگه زبانتون خوبه اینجا رو بخونید:


مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.


برای تبدیل بدونید چپ ترین بیت گری و باینری یکسان هستن.
از باینری به گری کافیه msb رو کپی کنید و بعد از چپ (خود msb هم حسابه !) دوتا دوتا xor کنید بیت ها رو و هر جفت بیتی که xor میکنید میشه یه بیت از کد گری
[تصویر:  48116601946121779617.gif]

از گری به باینری هم هیچ سختی نداره.بیت msb رو که کپی میکنم. برای بیت بعدی باید بیت جاری در کد گری رو به نوبت با بیت های کد اولیه گری xor کنید
[تصویر:  75276481234993178331.gif]

برای کد های m از n من خودم خیلی نخوندمشون. اما الان از ویکی دیدم به چه صورته.
کد m از n خیلی ساده کدی هست که تعداد رقماش n تاست و m تاش یک هستن. کتاب هم ۲از۵ و ۲ از۷ رو نوشته که فقط ۲تا یک دارن. همه عددها رو میشه به شکل mازn نوشت.(چجوری?خیلی ساده ! اول باینری رو نوشته بعد اگ هیچی یک نداشت ۲تا یک داده اگه یکی داشت یدونه یک اضافه کرده. اگ سه تا یک داشت حذف کرده. الی اخر)
اگه کد ما از نوع ۲از۵ بود و در ارسال یه عدد با سه بیت ۱ بهم داد, میتونه بفهمه خطا شده چون استاندارد ما وجود دو تا دونه بیت یکه.
پس. هر m از n کدی میتونه کدهای خطای دارایm+1 یا m-1 بیت۱ رو شناسایی کنه.

حالا مثال کتاب! کد ۲ از ۵ی که داده۱۰۱۰۰ هست. واضحه چون دقیقا دو تا ۱ داره و نوعش ۲از۵ هیچ خطایی تشخیص داده نمیشه.
فکر کن اگه این کد قراره غلط باشه چجوری میتونه به وجود اومده باشه?
تو لیست ۲از۵های کتاب. "یا" یکی از بیتهای ۰ یک شده "و"یکی از بیت های ۱ صفر شده (این یه حالت) "یا" اینکه هر دو تا بیت ۱ کد۲از۵ صفر شده و به جاش دو تا از بیت های ۰ یک شدن.

حالا همینا رو به ریاضی بنویسSmileدقت کن که احتمال خطا توی یه بیت -۴^۱۰ هست. پس احتمال خطای دو بیت (حالت دوم)میشه۴-^۱۰*۴-^۱۰

حالت اول: پرانتز ها ترکیب هستند.مثلا منظورم اینه (۵,۲)=۱۰

(۲,۱)*p*(3,1)*p
P=10^-4
حالت دوم :
(۲,۲)*q*(3,2)*q
q=10^-4

RE: فصل۱ پوران - dokhtare payiz - 15 تیر ۱۳۹۳ ۱۱:۰۳ ب.ظ

ممنون از جواب های دقیقی که با حوصله دادین فقط تو تبدیل گری به باینری منظورتون از کدهای جاری چیه به لینکم رجوع کردم تناقض داشت:
(۲) Now if the second gray bit is 0 the second binary bit will be same as the previous or the first bit. If the gray bit is 1 the second binary bit will alter. If it was 1 it will be 0 and if it was 0 it will be 1. یه بار گفته اگه بیت دوم گری ۰ باشه مثل بیت قبلیش میشه تو آخرین جملشم گفته اگه ۰ بود به ۱ تبدیل میشه.

RE: فصل۱ پوران - golche70 - 15 تیر ۱۳۹۳ ۱۱:۳۴ ب.ظ

خواهش میکنم وظیفه ام بود. ببینید اول یه یادآوری کنم از خاصیت xor. اگه جدولش رو نگاه کنی هر وقت عددی با رقم ۱ xor بشه, حاصل میشه عکس اون بیت.
۱xorp=(not)p
از اون ور اگه با صفر هر عددی xor بشه همون عدد رو میده.
به عکسی که دادم نگاه کنید. کد بالا گریه داره باینری میکندش. اولین کد باینری که ساخته میشهmsb هست. این بیت میشه بیت جاری کد باینری(۰)
بیت بعدیه باینری چجوری ساخته میشه? از xor اخرین بیت ساخته شده با بیت بعدی کد گری. (اینجا شده صفر ایکس اور یک.) حالا این خارجیه چی میگه? میگه خانم شما توی کد گری یک دیدی, هرچی رقم قبلی باینری بود رو معکوس کن. (ببین msb باینری توی شکل یک رو که دید متمم شد.) و اگه صفر دیدی توی گری, رقم بعدی باینریت میشه همون رقم قبلی.

RE: فصل۱ پوران - dokhtare payiz - 16 تیر ۱۳۹۳ ۰۱:۳۹ ب.ظ

مرسی خانومی, توضیحات تو بهتر از متن خارجیه