تکنیک‌های کدگذاری داده دیجیتال — راهنمای جامع

۳۸۰۲ بازدید
آخرین به‌روزرسانی: ۲۳ اردیبهشت ۱۴۰۲
زمان مطالعه: ۵ دقیقه
تکنیک‌های کدگذاری داده دیجیتال — راهنمای جامع

«کدگذاری» (Encoding) به فرایند تبدیل داده‌ها یا رشته‌ای از حروف، سمبل‌ها و کاراکترها به یک فرمت خاص گفته می‌شود که برای امن کردن فرایند انتقال انجام می‌گیرد. «کدگشایی» (Decoding) نیز به عکس فرایند کدگذاری اطلاق می‌شود که برای استخراج اطلاعات اصلی از سیگنال با فرمت تبدیل یافته مورد استفاده قرار می‌گیرد. در این مطلب قصد داریم به بررسی روش‌ها و تکنیک‌هایی بپردازیم که در کدگذاری داده دیجیتال از آن‌ها استفاده می‌شود.

تکنیک‌های کدگذاری داده دیجیتال

همان طور که اشاره کردیم، کدگذاری به فرایند استفاده از الگوهای مختلف از سطوح ولتاژ و جریان گفته می‌شود که با کمک آن می‌توان صفر و یک‌های سیگنال دیجیتال در لینک انتقال را نمایش داد. انواع مختلفی از تکنیک‌ها وجود دارند که در کدگذاری خط مورد استفاده قرار می‌گیرند، اما متداول‌ترین این تکنیک‌ها «تک قطبی» (Unipolar)، «قطبی» (Polar)، «دوقطبی» (Bipolar) و «منچستر» (Manchester) هستند.

تکنیک‌های کدگذاری داده دیجیتال به انواع مختلفی تقسیم‌بندی می‌شوند که در اصل به نوع تبدیل داده بستگی دارند. در حالت کلی انواع تبدیل داده شامل ۴ گروه تبدیلات زیر است.

تبدیل داده آنالوگ به سیگنال آنالوگ: تکنیک‌های مدولاسیون مانند مدولاسیون دامنه یا AM، مدولاسیون فرکانس یا FM و مدولاسیون فاز یا PM سیگنال‌های آنالوگ در گروه تبدیل داده آنالوگ به سیگنال آنالوگ قرار می‌گیرند.

تبدیل داده آنالوگ به سیگنال دیجیتال: این فرایند را می‌توان «دیجیتال‌سازی» (Digitization) نیز نامید که با تکنیک‌هایی مانند مدولاسیون کد پالس یا PCM انجام می‌شود. در واقع این تبدیل همان مدولاسیون دیجیتال است. «نمونه‌برداری» (Sampling) و «کوانتیزاسیون» (Quantization) دو فاکتور بسیار مهم در مدولاسیون دیجیتال هستند که در مباحث قبلی مجله فرادرس به بررسی نحوه انجام آن‌ها پرداختیم. البته باید توجه کرد که تکنیک «مدولاسیون دیجیتال دلتا» ( Delta Modulation) خروجی بهتری را نسبت به PCM تولید می‌کند.

تبدیل داده دیجیتال به سیگنال آنالوگ: تکنیک‌های مدولاسیون مانند «کلیدزنی شیفت دامنه» (Amplitude Shift Keying) یا ASK، «کلیدزنی شیفت فرکانس» (Frequency Shift Keying) یا FSK و «کلیدزنی شیفت فاز» (Phase Shift Keying) یا PSK این نوع از تبدیل داده را انجام می‌دهند.

تبدیل داده دیجیتال به سیگنال دیجیتال: روش‌های مختلفی برای تبدیل داده‌های دیجیتال به سیگنال دیجیتال وجود دارند که در ادامه قصد داریم به بررسی این روش‌ها بپردازیم.

تکنیک کدگذاری داده دیجیتال غیربازگشتی به صفر

تکنیک کدگذاری «غیربازگشتی به صفر» (Non Return to Zero) یا NRZ برای سطوح بالای ولتاژ، مقدار ۱ و برای سطوح پایین ولتاژ، مقدار ۰ را اختصاص می‌دهد. مشخصه اصلی تکنیک کدگذاری NRZ این است که در طول بازه‌ بیت، سطح ولتاژ ثابت باقی می‌ماند. شروع یا پایان یک بیت نشان داده نخواهد شد و اگر مقدار بیت قبلی و مقدار بیت کنونی ثابت باقی بماند، سطح ولتاژ نیز ثابت حفظ می‌شود. یک نمونه از تکنیک کدگذاری داده دیجیتال NRZ در تصویر زیر توضیح داده شده است.

تکنیک کدگذاری داده دیجیتال NRZ
تکنیک کدگذاری داده دیجیتال NRZ

اگر به تصویر فوق دقت کنیم، مشاهده می‌کنیم که چون بازه‌های طولانی از سطوح ولتاژ ثابت وجود دارد و نیز به این دلیل که ممکن است سنکرون‌سازی کلاک به دلیل عدم وجود بازه بیت از بین برود، در نتیجه تمایز بین مقادیر ۰ و ۱ برای گیرنده دشوار می‌شود. به همین دلیل دو نوع دیگر از تکنیک NRZ نیز به وجود آمده‌اند.

تکنیک کدگذاری داده غیربازگشتی به صفر-سطح (NRZ - L)

در تکنیک کدگذاری داده غیربازگشتی به صفر-سطح یا NRZ - L فقط زمانی در پلاریته سیگنال تغییر به وجود می‌آید که سیگنال ورودی از ۱ به ۰ و یا از ۰ به ۱ تغییر کند. این تکنیک بسیار شبیه به NRZ است، اما بیت اول از سیگنال ورودی باید یک تغییر در پلاریته داشته باشد.

تکنیک کدگذاری داده غیربازگشتی به صفر معکوس (NRZ - I)

اگر در سیگنال ورودی بیت بعدی برابر با ۱ باشد، آن‌گاه در ابتدای بازه بیت یک، گذاری اتفاق خواهد افتاد. اما اگر بیت بعدی در سیگنال ورودی برابر با ۰ باشد، هیچ گذاری در ابتدای بازه بیت صفر به وجود نمی‌آید. کدهای NRZ دارای این عیب بزرگ هستند که هنگامی که یک رشته از صفرها و یک‌ها وجود داشته باشد، همگام‌سازی کلاک فرستنده با کلاک گیرنده کاملا مختل می‌شود و بنابراین لازم است یک خط کلاک جداگانه فراهم شود. روش کدگذاری NRZ - I در تصویر زیر نشان داده شده است.

روش کدگذاری NRZ - I
روش کدگذاری NRZ - I

کدگذاری دو فاز

سطح سیگنال برای هر بیت دو بار، هم در ابتدا و هم در میانه، کنترل می‌شود. به همین دلیل نرخ کلاک دو برابر نرخ تبادل داده است و در نتیجه نرخ مدولاسیون نیز دو برابر است. سیگنال کلاک از خود سیگنال داده گرفته می‌شود. پهنای باند مورد نیاز برای این تکنیک کدگذاری داده بزرگ تر از سایر روش‌ها است. در حالت کلی دو نوع کدگذری داده دو فاز وجود دارد که عبارتند از: کدگذاری منچستر دو فاز و کدگذاری منچستر تفاضلی.

کدگذاری منچستر دو فاز

در این تکنیک کدگذاری، گذار حالت در وسط بازه بیت انجام می‌شود. در کدگذاری دو فاز منچستر، گذار در شکل موج پالس نهایی از سطح HIGH به سطح LOW و به ازای بیت ورودی یک رخ می‌دهد. در حالی که گذار از سطح LOW به سطح HIGH برای بیت ورودی ۰ اتفاق می‌افتد.

کدگذاری منچستر تفاضلی

در این نوع از کدگذاری داده، همواره یک گذار حالت در وسط بازه بیت اتفاق می‌افتد. همچنین اگر یک گذار در ابتدای بازه بیت رخ دهد، آن‌گاه بیت ورودی برابر با صفر در نظر گرفته می‌شود. اگر هیچ گذار حالتی در ابتدای بازه بیت اتفاق نیفتد، بیت ورودی یک است. در تصویر زیر نحوه اعمال روش کدگذاری منچستر تفاضلی نشان داده شده است.

نحوه اعمال روش کدگذاری منچستر تفاضلی
نحوه اعمال روش کدگذاری منچستر تفاضلی

در تصویر زیر مقایسه‌ای بین تکنیک‌های کدگذاری داده NRZ-L، NRZ-I، منچستر دو فاز و منچستر تفاضلی برای ورودی‌های دیجیتال مختلف نشان داده شده است.

مقایسه‌ای بین تکنیک‌های کدگذاری داده NRZ-L، NRZ-I، منچستر دو فاز و منچستر تفاضلی
مقایسه‌ای بین تکنیک‌های کدگذاری داده NRZ-L، NRZ-I، منچستر دو فاز و منچستر تفاضلی

تکنیک کدگذاری داده بلوکی (Block)

در بین تکنیک‌های مختلف کدگذاری داده بلوکی، متداول‌ترین انواع کدگذاری 4B/5B و 8B/6T هستند. در هر دو این روش‌ها، تعداد بیت‌ها از راه‌های مختلفی پردازش می‌شوند.

تکنیک کدگذاری داده 4B/5B

در کدگذاری منچستر برای ارسال داده، یک کلاک با سرعت دو برابر نسبت به کدگذاری NRZ مورد نیاز است. در این تکنیک کدگذاری، همان طور که از نام آن مشخص است، ۴ بیت از کد به ۵ بیت نگاشته می‌شود، به صورتی که تعداد یک‌ها در گروه کمینه باشد. در این روش مشکل همگام سازی کلاک در تکنیک کدگذاری NRZ-I از طریق اختصاص یک بلوک معادل ۵ بیتی به جای هر بلوک متشکل از ۴ بیت متوالی رفع می‌شود. توجه کنید که نحوه نگاشت از بلوک‌های ۴ بیتی به بلوک‌های ۵ بیتی با استفاده از جدول زیر تعیین می‌شود.

جدول نگاشت از بلوک‌های ۴ بیتی به بلوک‌های ۵ بیتی
جدول نگاشت از بلوک‌های ۴ بیتی به بلوک‌های ۵ بیتی

ایده اساسی در پس انتخاب بلوک‌های ۵ بیتی به جای بلوک‌های ۴ بیتی این است که بلوک ۵ بیتی باید یک صفر پیشگام داشته باشد و بیشتر از دو صفر موخر نداشته باشد. در نتیجه بلوک‌های ۵ بیتی به صورتی انتخاب می‌شوند که در هر بلوک از بیت‌ها دو حالت گذار اتفاق بیفتد.

تکنیک کدگذاری داده 8B/6T

برای ارسال یک بیت تکی با استفاده از یک سیگنال از دو سطح ولتاژ استفاده می‌کنیم. اما اگر از بیشتر از سه سطح ولتاژ استفاده کنیم، آن‌گاه می‌توانیم بیت‌های بیشتری را با یک سیگنال ارسال کنیم. به عنوان مثال، اگر از ۶ سطح ولتاژ برای نمایش ۸ بیت روی یک سیگنال تکی استفاده شود، آن‌گاه به این تکنیک کدگذاری 8B/6T می‌گویند. در این روش کدگذاری تعداد $$ 3 ^ 6 = 729 $$ ترکیب محتمل برای سیگنال‌ و $$ 2^ 8 = 256 $$ ترکیب محتمل برای بیت‌ها وجود دارد.

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

^^

بر اساس رای ۱۵ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
tutorials point
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *