۲
subtitle
ارسال: #۱
  
تشخیص خطا هنگان ارسال داده ها (کد همینگ)
دوستان کسی در رابطه با کد همینگ اطلاعاتی داره؟
البته تا جایی اطلاعات دارم، اینکه داده های همینگ هنگام ارسال بصورت زیر هستند:
a1 a2 a3 a4 a5 a6 a7
که بیت های a1، a2 و a4 بیت های کنترلی هستند و از رابطه زیر بدست میاند:
a1: XOR a3,a5,a7
a2: XOR a3,a6,a7
a4: XOR a5,a6,a7
حالا نمی دونم کی میشه تشخیص داد که داده های دریافتی خطا دارند و اینکه اگه دارند کدوم هست، منظورم اینه که ترتیب a1a2a4 درسته یا a4a2a1
لطفا دوستانی که در این رابطه اطلاعاتی دارند لطف بفرمایید راهنماییمون کنید.
البته تا جایی اطلاعات دارم، اینکه داده های همینگ هنگام ارسال بصورت زیر هستند:
a1 a2 a3 a4 a5 a6 a7
که بیت های a1، a2 و a4 بیت های کنترلی هستند و از رابطه زیر بدست میاند:
a1: XOR a3,a5,a7
a2: XOR a3,a6,a7
a4: XOR a5,a6,a7
حالا نمی دونم کی میشه تشخیص داد که داده های دریافتی خطا دارند و اینکه اگه دارند کدوم هست، منظورم اینه که ترتیب a1a2a4 درسته یا a4a2a1
لطفا دوستانی که در این رابطه اطلاعاتی دارند لطف بفرمایید راهنماییمون کنید.
۵
ارسال: #۲
  
RE: تشخیص خطا هنگان ارسال داده ها (کد همینگ)
سلام بر شما
خب تا یه جاهاییش رو درست گفتید ما داده رو وقتی میخوایم ارسال کنیم با استفاده از همین روش زیر کد گذاریش میکنیم
که بیت های ۱ و ۲ و ۴ کدهای اضافه شده توسط ما هستند
p1: XOR a3,a5,a7
p2: XOR a3,a6,a7
p4: XOR a5,a6,a7
خب داده مثل شکل زیر ارسال میشه
P1 P2 1 P4 1 0 0 P8 1 0 0 1
حالا وقتی که این داده رو ارسال کردیم (و مثلا پس از طی یک عملیات) میخوایم ببینیم که آیا این داده همونی هست که ما ارسال کردیم یا نه
برای این کار
در نهایت
C=C4C2C1
که اگه صفر باشه یعنی خطایی رخ نداده در غیر این صورت C4C2C1 محل خطا را تشخصی میده
خب این روش رو بهش میگن همینگ یک که توانایی تصحیح یه خطا رو داره
تازه از دانشگاه اومده بودم امیدوارم تونسته باشم خوب گفته باشم
خب تا یه جاهاییش رو درست گفتید ما داده رو وقتی میخوایم ارسال کنیم با استفاده از همین روش زیر کد گذاریش میکنیم
که بیت های ۱ و ۲ و ۴ کدهای اضافه شده توسط ما هستند
p1: XOR a3,a5,a7
p2: XOR a3,a6,a7
p4: XOR a5,a6,a7
خب داده مثل شکل زیر ارسال میشه
P1 P2 1 P4 1 0 0 P8 1 0 0 1
حالا وقتی که این داده رو ارسال کردیم (و مثلا پس از طی یک عملیات) میخوایم ببینیم که آیا این داده همونی هست که ما ارسال کردیم یا نه
برای این کار
کد:
C1 = XOR of Bits (1,3,5,7)
C2 = XOR of Bits (2,3,6,7)
C4 = XOR of Bits (4,5,6,7)
C=C4C2C1
که اگه صفر باشه یعنی خطایی رخ نداده در غیر این صورت C4C2C1 محل خطا را تشخصی میده
خب این روش رو بهش میگن همینگ یک که توانایی تصحیح یه خطا رو داره
تازه از دانشگاه اومده بودم امیدوارم تونسته باشم خوب گفته باشم
ارسال: #۳
  
RE: تشخیص خطا هنگان ارسال داده ها (کد همینگ)
(۲۰ مهر ۱۳۹۲ ۰۸:۴۵ ب.ظ)bargozideh نوشته شده توسط: سلام بر شما
خب تا یه جاهاییش رو درست گفتید ما داده رو وقتی میخوایم ارسال کنیم با استفاده از همین روش زیر کد گذاریش میکنیم
که بیت های ۱ و ۲ و ۴ کدهای اضافه شده توسط ما هستند
p1: XOR a3,a5,a7
p2: XOR a3,a6,a7
p4: XOR a5,a6,a7
خب داده مثل شکل زیر ارسال میشه
P1 P2 1 P4 1 0 0 P8 1 0 0 1
حالا وقتی که این داده رو ارسال کردیم (و مثلا پس از طی یک عملیات) میخوایم ببینیم که آیا این داده همونی هست که ما ارسال کردیم یا نه
برای این کار
در نهایتکد:
C1 = XOR of Bits (1,3,5,7)
C2 = XOR of Bits (2,3,6,7)
C4 = XOR of Bits (4,5,6,7)
C=C4C2C1
که اگه صفر باشه یعنی خطایی رخ نداده در غیر این صورت C4C2C1 محل خطا را تشخصی میده
خب این روش رو بهش میگن همینگ یک که توانایی تصحیح یه خطا رو داره
تازه از دانشگاه اومده بودم امیدوارم تونسته باشم خوب گفته باشم
سلام ، از توضیحاتتون تشکر می کنم
البته در خصوص وقوع خطا در کتاب مدرسان شریف ، تست های فصل اول ، مهندسی برق سال ۹۰ ، گفته که اگر هر کدوم از اون سه تا فرمول که ۱ بشن ، خطا داریم ؛ اما برای تشخیص محل خطا حتماً باید بیشتر از یک فرمول از ۳ فرمول مقدار ۱ رو نمایش بدن در غیر این صورت ما محل خطا رو نمی دونیم ؛ فقط می دونیم که خطا داریم !!! این به این دلیل است که کد های کنترلی ما نمی توانند محل خطا باشند . باینری این کد ها تنها یک ۱ دارند ؛ a1,a2,a4
۱
ارسال: #۴
  
RE: تشخیص خطا هنگان ارسال داده ها (کد همینگ)
خب در کد همینگ K بیت توازن به یک کلمه n بیتی عدد اضافه شده و n+k بیت عدد ارسال میشه
حالا از کجا بدونیم این k رو چی بگیریم؟ از فرمول زیر :
به ازای کوچک ترین k ای که این فرمول برقرار بشه ، اون k تعداد بیت های همینگ ماست
مثلا ۰۱۱۱۰۰۱۰ رو میخوایم کدگذاری کنیم خب میبینیم که هشت بیتیه پس n=8
حالا فرمول به ازای k=4 و بزرگ تر از ۴ برقراره پس ما ۴ بیت واسه کدگذاری لازم داریم
حالا اگه کلمه ۴ بیتی باشه پس n=4 و فرمول به ازای k=3 برقراره
حالا از کجا بدونیم این k رو چی بگیریم؟ از فرمول زیر :
به ازای کوچک ترین k ای که این فرمول برقرار بشه ، اون k تعداد بیت های همینگ ماست
مثلا ۰۱۱۱۰۰۱۰ رو میخوایم کدگذاری کنیم خب میبینیم که هشت بیتیه پس n=8
حالا فرمول به ازای k=4 و بزرگ تر از ۴ برقراره پس ما ۴ بیت واسه کدگذاری لازم داریم
حالا اگه کلمه ۴ بیتی باشه پس n=4 و فرمول به ازای k=3 برقراره
کد:
۲^۳-۱>= 4+3
-۲
ارسال: #۵
  
RE: تشخیص خطا هنگان ارسال داده ها (کد همینگ)
سلام.من راجبه این مبحث یه مشکل دارم.اگه داده ای که میخوایم بفرستیم ۴بیتی باشه،از کجا بفهمیم که چند بیت کنترلی یا همینگ باید بهش اضافه کنیم و بعد ارسال کنیم؟
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close