تالار گفتمان مانشت

نسخه‌ی کامل: تشخیص خطا: دیاگرام CRC
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سوالم اینه:

چطور از روی دیاگرام سخت افزاری CRC مقسوم علیه رو تشخیص داد؟

مثلا یکی از تست های کنکور این شکل رو داده:
[تصویر:  59468866818567306645.bmp]

چطور از روی این شکل عبارت [tex]x^{3} x 1[/tex] رو تشخیص بدیم؟

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

باید از روی تابع مولد تشخیص بدی باقیمانده حداکثر چند رقم هست.
مثلا در همین مثالی که گذاشتید باقی مانده حداکثر ۳ رقمی هست،پس شیفت رجیستر سه بیتی میکشید و به هم وصلشون میکنید،عدد دودویی متناظر با تابع مولد مثال g(x)=1011 هست.
به ازای هر عدد ۱ در تابع g(x) قبل از بیت متناظرش روی شیفت رجیستر یک xor قرار میدیم،یعنی هر بیتی که روی شیفت رجیستر قبلش xor نیست یعنی تو تابع مولدش ۰ بوده مقدارش.
توی شکل پیوست اولین xor مشخص کننده ضریب [tex]x^{0}[/tex] هست،دومین xor ضریب [tex]x^{1}[/tex] و چون قبل از xor، r2
قرار نگرفته پس ضریب [tex]x^{2}[/tex] صفر هست.
و به ازای اخرین جمله تابع مولد هم روی شیفت رجیستر xor قرار نمیدیم.در اینجا ضریب [tex]x^{3}[/tex] هم یک هست(اخرین جمله).
پس تابع مولد [tex]G(x)=x^{3} x 1[/tex]میشود.
امیدوارم منظورمو خوب رسونده باشم.
.......
برای تقسیم هم اگر با این روش مشکل دارید از تقسیم چند جمله ای استفاده کنید.
(15 آبان 1391 05:34 ب.ظ)Helmaa نوشته شده توسط: [ -> ]ببینید نحوه تشکیل این شیفت رجیستر به این صورت هست که اولا از روی تابع مولد تشکیل میشه و با وارد کردن مقسوم به صورت بیت به بیت و انجام عمل xor روی بیتها در اخر به باقیمانده میرسیم.

باید از روی تابع مولد تشخیص بدی باقیمانده حداکثر چند رقم هست.
مثلا در همین مثالی که گذاشتید باقی مانده حداکثر ۳ رقمی هست،پس شیفت رجیستر سه بیتی میکشید و به هم وصلشون میکنید،عدد دودویی متناظر با تابع مولد مثال g(x)=1011 هست.
به ازای هر عدد ۱ در تابع g(x) قبل از بیت متناظرش روی شیفت رجیستر یک xor قرار میدیم،یعنی هر بیتی که روی شیفت رجیستر قبلش xor نیست یعنی تو تابع مولدش ۰ بوده مقدارش.
توی شکل پیوست اولین xor مشخص کننده ضریب [tex]x^{0}[/tex] هست،دومین xor ضریب [tex]x^{1}[/tex] و چون قبل از xor، r2
قرار نگرفته پس ضریب [tex]x^{2}[/tex] صفر هست.
و به ازای اخرین جمله تابع مولد هم روی شیفت رجیستر xor قرار نمیدیم.در اینجا ضریب [tex]x^{3}[/tex] هم یک هست(اخرین جمله).
پس تابع مولد [tex]G(x)=x^{3} x 1[/tex]میشود.
امیدوارم منظورمو خوب رسونده باشم.
.......
برای تقسیم هم اگر با این روش مشکل دارید از تقسیم چند جمله ای استفاده کنید.

ممنون؛ حدس خودم همین بود، اما مشکل اینجاست که از کدام طرف؟

یعنی [tex]x^{3}[/tex] در شکل دیاگرام سمت چپ قرار میگیره یا راست؟
آیا [tex]x^{0}[/tex] یا همون 1 جایی که فلش وردی دیاگرام هست؟

تو شکلی که کشیدی، برای مربع ها X درنظر می گیریم یا برای هر XOR؟ آخه دوتا گیت XOR که بیشتر نداریم ولی 3 تا یک داریم.
(15 آبان 1391 10:52 ب.ظ)kiantamar نوشته شده توسط: [ -> ]ممنون؛ حدس خودم همین بود، اما مشکل اینجاست که از کدام طرف؟

یعنی [tex]x^{3}[/tex] در شکل دیاگرام سمت چپ قرار میگیره یا راست؟
آیا [tex]x^{0}[/tex] یا همون ۱ جایی که فلش وردی دیاگرام هست؟

تو شکلی که کشیدی، برای مربع ها X درنظر می گیریم یا برای هر XOR؟ آخه دوتا گیت XOR که بیشتر نداریم ولی ۳ تا یک داریم.

شروع مدار از سمت راست هست تو شکلی که من کشیدم و [tex]x^{3}[/tex] بعد از r2 قرار میگیره،اما چون اخرین جمله هست واسه اش xor نمیکشیم.(به همین خاطر دو تا xor تو شکل میبینید.)
و x رو برای هر xor در نظر میگیریم.

عکسی که جدید اپلود کردم شروع مدارش از سمت چپ هست(تابع مولدش با سوال شما یکی هست)،یه مثال زده و تریس اش هم کرده،در این حد لازم نیست وارد جزئیات بشید..برای شفاف تر شدن گذاشتمش.

[تصویر:  85105890977848953287.jpg]
لینک مرجع