کد بلوکی فضا-زمانی کیست؟ توضیح بده.
کدگذاری بلوکیِ فضا-زمانی، تکنیکی در ارتباطات بی‌سیم است که با انتقال چندین نسخه از یک رشته از داده‌ها به‌کمک چندین آنتن در فرستنده، و سپس بهره‌گیری از نسخه‌های دریافت‌شده در گیرنده، قابلیت اطمینان انتقال داده‌ها را افزایش می‌دهد. این که سیگنال فرستاده‌شده باید از یک محیط انتقال پُرچالِش‌ که دارای پراکَنِش، بازتاب، شکست امواج الکترومغناطیسی، و ... بگذرد و سپس ممکن است در اثر نویز گرمایی گیرنده بیشتر هم خراب شود، به این معنی است که برخی از نسخه‌های دریافت‌شده داده‌ها ممکن است از نسخه‌های دیگر به سیگنال فرستاده‌شده شبیه‌تر (نزدیک‌تر) باشند. این "افزونگی" (به انگلیسی: redundancy)، شانس بهره‌گیری از یک یا چند نسخه دریافت‌شده برای کدگشایی صحیح سیگنال دریافت‌شده را بیشتر می‌کند. در واقع، کدگذاری فضا-زمانی، همه نسخه‌های سیگنال دریافت‌شده را به روشی بهینه ترکیب می‌کند تا بیشترین اطلاعات ممکن را از هر یک از آنها استخراج کند.مقدمه.تا نخستین سال‌های دهه نود میلادی، بیشتر تلاش‌ها در ارتباطات بی‌سیم بر بهره‌گیری از یک آرایۀ آنتن، تنها در یک سوی لینک بی‌سیم - معمولاً در گیرنده - متمرکز بود. تااینکه فُوشینی (یا به ایتالیایی: فوسکینی) و گانس، همچنین فوشینی و تِلاتار نشان دادند که اگر در محیط‌های انتقال دارای پراکنش بسیار، آرایه‌های آنتن در هر دو سوی لینک مخابراتی به کار گرفته شوند، ظرفیت انتقال داده‌ها افزایش قابل توجهی می‌یابد. یک روش بهره‌گیری از چندین آنتن، داشتن چندین آنتن در فرستنده، و تنها به دلخواه، چندین آنتن در گیرنده است. تارخ، سِشادری و کالدِربَنک نشان دادند که کدگذاری فضا-زمانی نسبت به سیستم‌های تک‌آنتنی، نرخ خطا را بهبود قابل توجه می‌بخشند. طرح آنها نخست بر پایۀ کدهای تِرِلیس (داربستی) بود. اما اَلَموتی و سپس تارخ، جعفرخانی و کالدِربَنک، از کدهای بلوکی ساده‌تر برای کدهای بلوکی فضا-زمانی بهره گرفتند. کدگذاری بلوکی فضا-زمانی، فرستادن چندین نسخه اضافی از داده‌ها برای مبارزه با محوشوندگی کانال مخابراتی و نویز حرارتی گیرنده است، به امید این که برخی از آنها بهتر به گیرنده برسند. در کدگذاری بلوکی فضا-زمانی، رشتۀ داده‌هایی که قرار است منتقل شود، در بلوک‌هایی کد می‌شود که از آنتن‌های فاصله‌دار و در طول زمان منتشر می‌شوند. درحالی‌که بودن چندین آنتن در فرستنده لازم است، بودن چندین آنتن در گیرنده لازم نیست، اگرچه بودن آنها عملکرد را بهبود می‌بخشد. به دریافت چندین نسخه از یک رشته داده‌ها، "تنوع در دریافت" گفته می‌شود، که تا پیش از مقاله فوشینی در ۱۹۹۸، بسیار به آن پرداخته شده‌بود.یک کد بلوکی فضا-زمانی معمولاً با یک ماتریس نمایش داده می‌شود. هر سطر نشان‌دهنده یک بازه زمانی و هر ستون نشان‌دهنده ارسال‌های یک آنتن در طول زمان است.که در آن، formula_2 سمبول مدوله‌شده‌ای است که قرار است در بازه زمانی formula_3 از آنتن formula_4 فرستاده شود. formula_5، شمار بازه‌های زمانی و formula_6 شمار آنتن‌های فرستنده و formula_7 شمار آنتن‌های گیرنده هستند. این بلوک معمولاً دارای طول formula_5در نظر گرفته می‌شود. نرخ کد یک کد بلوکی فضا-زمانی، شمار سمبول‌هایی‌ست که به‌طور متوسط در هر بازه زمانی یک بلوک منتقل می‌شوند. اگر یک بلوک، formula_9 سمبول را کد کند، نرخ کد چنین می‌شودتنها یک کد بلوکی فضا-زمانی استاندارد می‌تواند به نرخ کامل (نرخ ۱) دست یابد (کد الموتی).تعامد.کدهای بلوکی فضا-زمانی، معمولا متعامد هستند. یعنی هر دو ستون دلخواه ماتریس کدگذاری، متعامد هستند. در نتیجه، کدگشایی در گیرنده، ساده، خطی و بهینه است. اما مسئله این است که کدهایی که این معیار را برمی‌آورند، به جز یکی، باید بخشی از نرخ داده‌شان را فدا کنند (کد الموتی را ببینید).افزون‌ بر این، کدهای بلوکی فضا-زمانی شبه‌متعامد هم هستند که به بهای افزایش تداخل میان‌سمبولی، به نرخ داده بیشتری دست می‌یابند. بنابراین، عملکرد نرخ خطای آنها محدود به کمترین حد عملکرد کدهای بلوکی فضا-زمانی متعامد با نرخ ۱ است که به‌سبب متعامد بودن، انتقال‌ بی‌تداخل میان‌سمبولی را فراهم می‌کنند.طراحی کدهای بلوکی فضا-زمانی.طراحی کدهای بلوکی فضا-زمانی بر پایۀ معیار "تنوع" است، که تارخ و همکاران در مقاله پیشین‌شان دربارۀ کدهای ترلیس فضا-زمانی پیش نهاده بودند. می‌توان نشان داد که بر پایۀ این معیار، کدهای بلوکی فضا-زمانی متعامد به بیشترین تنوع می‌رسند.معیار تنوع.کد زیر را در نظر بگیریدفرض کنید که کد دریافت‌شده که اشتباه کدگشایی شده‌است نیز چنین باشدسپس ماتریس زیر را در نظر بگیریدبرای دست یافتن به بیشترین مرتبۀ تنوع ممکن - یعنی formula_14 - باید این ماتریس برای هر جفت کلمۀ کد متمایز formula_15 و formula_16، رتبه کامل داشته باشد. حال اگر formula_17 دارای کمترین رتبه formula_18 روی مجموعه جفت‌های کلمات کد متمایز باشد، آنگاه مرتبه تنوع این کد فضا-زمانی، برابر با formula_19 می‌شود.در مقایسه با سیستم‌های تک‌آنتنی، کدهای بلوکی فضا-زمانی، تنها بهرۀ تنوع (به انگلیسی: diversity gain) دارند و بهرۀ کدگذاری (به انگلیسی: coding gain) ندارند. افزونگی (به انگلیسی: redundancy) کدهای بلوکی فضا-زمانی، تنها تنوع در فضا و زمان را فراهم می‌کند. این در حالی‌ست که کدهای ترلیس فضا-زمانی، هم تنوع و هم بهرۀ کدگذاری را فراهم می‌کنند، چرا که یک کد ترلیس را در فضا و زمان توزیع می‌کنند.کدگذاری.کد اَلَموتی.الموتی ساده‌ترین کد بلوکی فضا-زمانی را ۱۹۹۸ پیش نهاد، گرچه خودش آن را «کد بلوکی فضا-زمانی» نام نگذاشت. او آن را برای یک سیستم با دو آنتن فرستنده طراحی کرد که ماتریس کدگذاری آن چنین بودو * نشان‌دهنده مزدوج مختلط است.روشن است که نرخ این کد برابر ۱ است، زیرا دو سمبول را در دو بازه زمانی منتقل می‌کند. با بهره‌گیری از کدگشایی بهینه، نرخ خطای بیتی (BER) این کد معادل است با نرخ خطای بیتی روش ترکیب کردن با بیشترین نسبت‌ها (به انگلیسی: maximal ratio combining)که formula_21 شاخه دارد. در واقع، این نتیجۀ تعامد سمبول‌ها پس از پردازش در گیرنده است؛ دو نسخه از هر سمبول فرستاده‌ شده و formula_7 نسخه‌ هم دریافت شده.کد الموتی، یک کد بلوکی فضا-زمانی ویژه است؛ این تنها کد بلوکی فضا-زمانی متعامد است که به نرخ ۱ دست می‌یابد. به بیان دیگر، این تنها کد بلوکی فضا-زمانی است که بی‌نیاز از فدا کردن نرخ داده‌، به بهرۀ تنوع کامل دست یابد. البته این فقط برای سمبول‌های مدولاسیون مختلط صادق است. اما ازآنجاکه مدولاسیون QAM تقریباً در همه سیستمهای مخابراتی به کار گرفته می‌شود، کد الموتی برتری قابل توجهی نسبت به کدهای بلوکی فضا-زمانی با مرتبۀ بیشتر پیدا می‌کند، حتی اگر آنها به عملکرد نرخ خطای بهتری دست یابند («محدودیت‌های نرخ» را ببینید).اهمیت کد الموتی در این است که نخستین روش کدگذاری بود که امکان تنوع کامل را با پیچیدگی پردازش "خطی" در گیرنده فراهم می‌کند. نخستین طرح‌های تنوع ارسال، نیازمند پردازش‌هایی بودند که پیچیدگی‌شان به صورت "نمایی" با شمار آنتن‌های فرستنده افزایش می‌یافت. افزون بر این، کد الموتی نخستین طرح تنوع ارسال حلقه‌باز بود که چنین قابلیتی داشت. گسترش‌های بعدی کد الموتی، اثر شگرفی بر ارتباطات بی‌سیم گذاشتند.کدهای بلوکی فضا-زمانی با مرتبۀ بیشتر.تارخ و همکاران مجموعه‌ای از کدهای بلوکی فضا-زمانی را پیش نهادند که سرراست بودند و این کدها را چنین نام گذاشتند. آنها همچنین نشان دادند که برای بیش از دو آنتن در فرستنده، هیچ کدی نمی‌تواند به نرخ کامل دست یابد. از آن زمان به این سو، کدهای آنها بهبود یافته‌اند (از سوی خودشان و دیگران). با این حال، این کدها نمونه‌های روشنی هستند که چرا نرخ کد نمی‌تواند به ۱ برسد و چه مسائل دیگری باید در طراحی کدهای بلوکی فضا-زمانی خوب حل شوند. آنها همچنین کدگشایی خطی و ساده‌ای را با فرض در دست بودن اطلاعات کامل وضعیت کانال پیش نهادند.سه آنتن در فرستنده.دو کد ساده برای حالت سه آنتن در فرستنده چنین هستنداین کدها به ترتیب به نرخ ۱/۲ و ۳/۴ دست می‌یابند. این دو ماتریس نمونه‌هایی هستند از این که چرا کدهای مربوط به بیش از دو آنتن باید نرخ را فدا کنند — این تنها راه برای دستیابی به تعامد است. یک مشکل خاص دربارۀ formula_24 این است که توان سمبول‌هایی که فرستاده می‌شوند، یکسان نیست؛ یعنی سیگنال فرستاده‌شده، پوش ثابتی ندارد و بنابراین توانی که هر آنتن می‌فرستد متغیر است، که هر دو نامطلوب هستند. از آن زمان، نسخه‌های اصلاح‌شده‌ای از این کد که بر این مشکل چیره می‌شوند، پیش نهاده شده‌اند.چهار آنتن در فرستنده.دو کد ساده برای حالت چهار آنتن در فرستنده چنیننداین کدها، همانند همتایان سه آنتنی‌شان، به ترتیب به نرخ ۱/۲ و ۳/۴ می‌رسند. کد formula_26 دارای همان مشکل توان نایکسان کد formula_24 است. نسخه بهبودیافتۀ کد formula_26 چنین‌ستکه همه آنتن‌ها در همه بازه‌های زمانی، توان یکسانی می‌فرستند.کدگشایی.از ویژگی‌های جالب کدهای بلوکی فضا-زمانی متعامد این است که کدگشایی به روش درست‌نمایی بیشینه در گیرنده را می‌توان تنها با پردازش خطی انجام داد. برای بررسی کدگشایی، مدل سیستم ارتباطات بی‌سیم را چنین در نظر بگیریم.در لحظۀ formula_30، سیگنال دریافت‌شده از آنتن formula_4 را با formula_32 نشان میدهیمکه formula_34 بهره مسیر از آنتن فرستندۀ formula_3ام تا آنتن گیرندۀ formula_4ام است و formula_37 سیگنالی است که آنتن فرستنده formula_3ام می‌فرستد، و formula_39 نمونه‌ای از نویز سفید جمع‌شونده گاوسی (AWGN) است.بر پایۀ معیار درست‌نمایی بیشینه، متغیرهای تصمیم‌گیری چنین می‌شوندکه formula_41 علامت formula_42 در ردیف formula_9ام ماتریس کدگذاری‌ست و formula_44 نشان دهنده این است که formula_45 (تا یک اختلاف علامت) عنصر formula_46ام ماتریس کدگذاری به ازای formula_47 است. تصمیم‌گیری دربارۀ سمبول formula_42 چنین می‌شودکه formula_50 الفبای صورت‌ فلکی است. این یک کدگشایی خطی و ساده است که بیشترین تنوع را فراهم می‌کند.محدودیت‌های نرخ کد.گذشته از اینکه برای بیش از دو آنتن در فرستنده، کد بلوکی فضا-زمانی متعامد، مختلط و با نرخ کامل نمی‌توان یافت، نشان داده شده‌است که برای بیش از دو آنتن، بیشترین نرخ کد ممکن، ¾ است. کدهایی طراحی شده‌اند که تا حد خوبی به این نرخ دست می‌یابند، اما طول بلوک آنها بسیار بزرگ است، که آنها را در عمل نامناسب می‌کند، زیرا کدگشایی نمی‌تواند تا وقتی که "همه" انتقال‌ها در یک بلوک دریافت نشده باشند، آغاز شود. بنابراین بلوک طولانی‌تر (formula_5 بزرگ‌تر)، به تأخیر کدگشایی بیشتر می‌انجامد. برای نمونه، کدی برای شانزده آنتن در فرستنده، دارای نرخ 9/16 و طول بلوک 22880 بازۀ زمانی است.ثابت شده‌است که بیشترین نرخی که هر کد با formula_6 آنتن در فرستنده می‌تواند به آن برسد چنین استکه formula_54 یا formula_55 اگر هیچ پردازش خطی در ماتریس کد مجاز نباشد. حدس زده می‌شود که این حد برای هر کد بلوکی فضا-زمانی متعامد مختلط، حتی وقتی که هرگونه پردازش خطی متغیرهای مختلط مجاز باشد، برقرار باشد.کدهای بلوکی فضا-زمانی شبه‌متعامد.این کدها متعامد کامل نیستند و تنها به مقداری از بهرۀ تنوع دست می‌یابند. نمونه‌ای از این کدها که جعفرخانی پیش نهاده است، چنین استتنها ستون‌های (1 و 2)، (1 و 3)، (2 و 4) و (3 و 4) متعامد هستند. با این حال، این کد، کدی با نرخ کامل است و تنها به پردازش خطی در گیرنده نیاز دارد، اگرچه کدگشایی آن کمی پیچیده‌تر از کدهای بلوکی فضا-زمانی متعامد است. نتایج نشان می‌دهند که این کد، از نظر نرخ خطای بیتی در محدوده خوبی از نسبت‌ سیگنال به نویز، از کد بلوکی فضا-زمانی متعامد چهار آنتنی بهتر عمل می‌کند. با این حال، در SNRهای بیشتر (از حدود ۲۲ dB در این مورد خاص)، تنوع افزودۀ کدهای بلوکی فضا-زمانی متعامد به BER بهتری می‌انجامد.