نتایج حاصل از این جایابی بیت با مرجع ]۲۸[ در جدول ۳-۵ مقایسه شده است. همانطور که مشاهده میکنید، این تکنیک هیچگونه افزونگی در تعداد گیتهای XOR برای دیکدر و تاخیر مدار دیکدر تحمیل نکرده است.
جدول ۳-۵: مقایسه جایابی بیت پیشنهادی برای افزایش تصحیح خطا در جعبه سویچ با مرجع ]۲۸[.
ستون های ماتریس H | ماکزیمم عمق logic | تعداد گیتهای XOR دو ورودی | XOR بین ستونهای مجاور دوتائی در ماتریس H | تعداد خطاهای مجاور دوتائی قابل تصحیح نسبت به تمام خطاهای دوتائی مجاور | درصد خطاهای مجاور دوتائی قابل تشخیص | |
مرجع ]۲۸[ | ]۱- ۲ – ۳ – ۴ – ۵ -۶ – ۷ – ۸ – ۹ – ۱۰[ | ۳ | ۱۳ | ] ۳ – ۱ – ۷ – ۱ – ۳ – ۱ – ۱۵ – ۱ – ۳[ | ۱ ۹ |
۱۱/۱۱% |
جایابی بیت پیشنهادی | ] ۱ – ۱۰ – ۷ – ۵ – ۴ – ۸ – ۶ – ۹ – ۳ – ۲ [ | ۳ | ۱۳ | ] ۱۱ – ۱۳ – ۲ – ۱ – ۱۲ – ۱۴ – ۱۵ – ۱۰ – ۱ [ | ۵ ۹ |
۵۵/۵۵% |
۳-۲ ارائه روش پیشنهادی مبتنی بر الگوریتم ژنتیک برای بهبود تشخیص خطا
استراتژی جایابی بیت انتخابی به عنوان تکنیکی برای بهبود قابلیت تشخیص خطاهای مجاور ارائه شده است (این روش در بخش ۲-۲-۶ توضیح داده شده است)، اما از نقاط ضعف این روش میتوان به بازچینی دستی در پایان الگوریتم اشاره کرد، که در تعدادی از کدها، یافتن جواب مناسب و بهینه به صورت دستی منطقی نیست و ممکن است به دلیل خستگی و سخت بودن کار و موارد دیگر، نتیجه نهایی به جوابی که میتوان به آن دست یافت منتهی نشود. همچنین قدرت این تکنیک با افزایش طول کد کاهش مییابد، که دلایل این امر، نیز در مرجع]۲۹[ و بخش ۲-۲-۶ پایان نامه بحث شده است. همچنین از دیگر نقاط ضعف تکنیک جایابی بیت میتوان به ماتریس توازن آن اشاره کرد که ستونهای آن فقط شامل بیان باینری اعدادی کوچکتر و برابر با طول کد است و سندرمهای آزاد آن بزرگتر از طول کد هستند، در صورتی که منعی برای استفاده از سندرمهای بزرگتر از طول کد در ماتریس توازن و آزاد کردن سندرمهای دیگر وجود ندارد، که این امر ممکن است موجب به دست آوردن جواب مناسبتر شود. در نتیجه باید به فکر ارائه یک الگوریتم مناسبتر به جای چینش دستی بود. اولین راه حلی که به ذهن می رسد، ارائه یک الگوریتم جستجوی کلی است که تمام حالات ممکن را در نظر بگیرد و کارایی تمام آنها را به دست آورد و در نهایت بهترین ماتریس توازن را انتخاب کند. برای درک بهتر در مورد استفاده از این گونه روشها در این مساله، توجه شما را به مثال زیر جلب مینمایم.
فرض کنید ۱۶ بیت اطلاعات وجود دارد که میخواهیم آنها را با کد همینگ در مقابل خطای تک بیتی مقاوم سازی کنیم. طبق رابطه ۲-۷ نیاز به ۵ عدد چک بیت داریم و کد مورد نظر (۲۱،۱۶) است. با ۵ بیت میتوان ۳۲ سندرم مختلف را نمایش داد، که در این کد ۲۱ سندرم برای خطاهای تک بیتی و ۱ سندرم برای حالت بدون خطا استفاده می شود، در نتیجه ۱۰ سندرم آزاد برای افزایش قابلیت تشخیص خطاهای مجاور وجود دارد. حال فرض کنید می خواهیم تعداد تمام حالات قرار گرفتن این سندرمها را در ماتریس توازن به دست آوریم. یک سندرم، برای حالت بدون خطا است (۰۰۰۰۰) و ۵ سندرم نیز بیانهای باینری توانهای عدد ۲ هستند که باید حتما در ماتریس توازن وجود داشته باشند. پس ۲۶ سندرم داریم که میخواهیم ببینیم در چند حالت مختلف می توان ۱۶ عدد از آنها را انتخاب کرد. این یک مساله ترکیب است که با رابطه ۳-۴ عدد مورد نظر به دست می آید که برابر است با ۵۳۱۱۷۳۵.
(۳-۴)
حال به ازای هر کدام از این حالتها یک جایگشت ۲۱ تایی وجود دارد که از فاکتوریل عدد ۲۱ به دست می آید. و در نهایت برای یافتن تمام حالتها باید عدد به دست آمده از ترکیب را در عدد به دست آمده از فاکتوریل عدد ۲۱ ضرب کرد که برابر است با ۱۰۱۹×۱۰۹۱/۵×۵۳۱۱۷۳۵ . بررسی این تعداد حالت و یافتن بهترین حالت به دلیل زیاد بودن تعداد حالتها به صورت کاربردی ممکن نیست. اما در این مواقع به الگوریتمهای جستجوی شبه عمومی و یا الگوریتمهای تصادفی هدفمند که در فضاهای گسسته نیز کاربرد دارند میتوان رو آورد. در همین راستا در ادامه روشی مبتنی بر الگوریتم ژنتیک پیشنهاد شده است، که هدف این روش یافتن ماتریس توازن بهبود یافته برای کدهای تصحیح خطای استفاده شده در ماژول سویچ و LUT ها است.
همانطور که در قسمت های قبلی بیان شد، تعدادی سندرم آزاد در کدهای همینگ کوتاه شده وجود دارد که آنها با هیچکدام از خطاهای تک بیتی و سندرم حالت بدون خطا تداخل ندارند. استراتژی جایابی بیت از آنها برای افزایش قابلیت تشخیص خطاهای مجاور استفاده می کند، اما روش پیشنهادی ارائه شده در این بخش برای این منظور از الگوریتم ژنتیک استفاده می کند (برای کسب اطلاعات مورد نیاز در مورد الگوریتم ژنتیک به مراجع ]۳۱[ و]۳۲[ ارجاع داده می شود). الگوریتم ژنتیک با توجه به سندرم های آزاد در کد همینگ کوتاه شده، به دنبال تولید ماتریسی است که در آن قابلیت تشخیص خطاهای مجاور چندتائی افزایش یافته باشد.
در استفاده از الگوریتم ژنتیک تعریف تابع برازندگی مناسب و کروموزوم مناسب از اهمیت خاصی برخوردار است. در این مساله تابع برازندگی مربوطه باید شروط جدول ۳-۶ را برآورده کند.
جدول۳-۶: شروط اعمال شده برای تولید ماتریس H .
مقدار جریمه | بیان شرط | شماره شرط بر اساس تقدم |
۷۵/۲ | اعدادی که توانی از ۲ هستند باید در ماتریس وجود داشته باشند. (فرض کنید هر ستون ماتریس از باینری به دهدهی تغییر داده شده است.) | ۱ |
۵/۲ |