Professional Documents
Culture Documents
آقاپور گزارش
آقاپور گزارش
آقاپور گزارش
سعید آقاپور
40051889
تابستان 44
چکیده :هدف از این گزارش بررسی تکنیکی به نام آشفته سازی برداری 1در سیستمهای با چندین
فرستنده و چندین گیرنده (مایمو) است .پس از معرفی وتحلیل کامل این تکنیک سعی میشود تا مزایای
استفادهی آن را در کاربردهای مختلف را توضیح داده و در نهایت تالش شد تا این تکنیک پیشکدینگ
را شبیه سازی نمود.
مقدمه:
در اکثر کارهای پیشین و عملی انجام شده در سیستمهای مایمو چند کاربره ،از پیشکدینگهای خطی مانند
𝐹𝑍 2و 𝐸𝑆𝑀𝑀 3استفاده میشود که این روشها در شرایط خاص شبکه ،مثال برای وقتی که تعداد آنتنهای
گیرنده نزدیک به تعداد آنتنهای فرستنده میشود نرخی بسیار پایینتر از حالت بهینه دارند .این عدم استفاده
کامل از ظرفیت کانال منجر میشود تا عملکرد سیستم بسیار افت کند.
1
)Vector Perturbation (VP
2
Zero Forcing
3
Minimum Mean Squared Error
برای حل این مشکالت و بهبود عملکرد سیستمها ،کدینگ کاغذ کثیف 4معرفی گردید که یک روش تئوری
برای رسیدن به ظرفیت کانال گوسی بود .پس از آن روش پیشکدینگ TH5معرفی شد و توانست تا عملکرد
روش 𝐹𝑍 را برای شرایط خاص بسیار بهبود دهد ولی هنوز تا رسیدن به ظرفیت فاصلهی زیادی داشت.
تکنیک آشفته سازی برداری با تعمیم روش پیشکدینگ THمعرفی گردید تا نرخ ارسال را به ظرفیت نزدیکتر
کند .شکل 1نمای کلی سیستمهای مایمو با چندین فرستنده و چندین گیرنده که هرکدام دارای چندین آنتن
نیز میباشند را نمایش میدهد.
تکنیک آشفته سازی برداری یک تکنیک پیشکدینگ عملی ارسال است که به منظور افزایش عملکرد ،کاهش
انرژی مورد نیاز برای ارسال و همچنین داشتن نرخ نزدیک به ظرفیت معرفی گردیده است .همانطور که گفته
شد ،این تکنیک در واقع نوعی پیشکدینگ است که عملکرد بسیار بهتری نسبت به طرحهای پیشکدینگ
خطی پیشین مانند معکوس کانال 𝑍𝐹 𝑏𝑒𝑎𝑚𝑓𝑜𝑟𝑚𝑖𝑛𝑔 ،6و غیره دارد و عملکرد آن نزدیک به عملکرد
کدینگهای کاغذ کثیف است با این امتیاز که بر خالف روش کدینگ کاغذ کثیف که به دلیل پیچیدگی باال
غیر قابل پیاده سازی در عمل است ،این روش قابل اجرا در عمل میباشد.
در آشفته سازی برداری دادهای که قرار است ارسال شود محدود به یک ابرمکعب 2𝐾 7بعدی با طول یک
میشود که با جمع شدن با یک بردار مختلط با اعداد صحیح تغییر کرده است .بردار آشفته سازی با هدف
کاهش توان ارسالی برای هر بار استفاده از کانال انتخاب میشود .پیدا کردن بردار آشفته سازی مناسب در
حالت کلی معادل حل یک مساله سخت در لتیس است (مساله پیدا کردن نزدیک ترین نقطه لتیس که در ادامه
بیشتر توضیح داده میشود) .در نتیجه برای حل آن مجبور به گذاشتن شروطی میشویم و در نهایت با استفاده
از کدینگ کروی سعی میشود تا مساله قابل حل شود .در سمت گیرنده هر کاربر با استفاده از روشی که گفته
میشود (استفاده از تابع مدوله) ،اثر آشفته سازی به وجود آمده را به کلی حذف میکند و سپس با استفاده از
روشهای آشکارسازی معمول داده اصلی را پیدا میکند.
4
Dirty Paper
5
Tomlinson–Harashima
6
Channel Inversion
7
Hypercube
مدل بررسی شده برای شبکه:
پیش از وارد شدن به بحث مورد نظر ابتدا توضیحاتی در مورد مدل بررسی شده ارائه میکنیم .در حالت کلی
فرض میشود که سیستم مایمو ما شامل تنها یک اکسس پوینت با 𝑀 آنتن در فرستنده و 𝐾 کاربر است که
هر کدام از کاربران تنها دارای یک آنتن گیرنده هستند .در این گزارش برای سادگی ،فرض میشود 𝐾 = 𝑀
است .از این رو با این فرضیات گفته شده ،داده دریافتی پس از عبور از کانال و جمع شدن با نویز به صورت
زیر خواهد شد:
𝑍 𝑦 = 𝐻𝑥 + )(1
که 𝑥 داده ارسالی 𝐻 ،ماتریس کانال 𝑍 ،بردار نویز و 𝑦 بردار داده دریافتی است .همچنین داریم:
در ادامه پیش از معرفی روش آشفته سازی برداری ،ابتدا توضیحاتی در مورد روش MMSEداده شود تا
هدف از معرفی این تکنیک جدید بیشتر ملموس شود.
روش MMSEخطی:
در روش MMSEهدف حداقل سازی خطا و درنتیجه بیشینه کردن مقدار سیگنال به مجموع نویز و تداخل
( )SINR8در سمت کاربر است .البته در این روش همچنان تداخل وجود دارد ولی عملکرد بهتری نسبت به
روش 𝐹𝑍 دارد چرا که نسبت سیگنال به مجموع نویز و تداخل در این روش ،بیشتر از نسبت سیگنال به نویز
تنها در روش 𝐹𝑍 است .این نتیجه به این دلیل حاصل گردید که با اینکه در روش 𝐹𝑍 تمامی تداخالت از
8
Signal to inference plus noise ratio
بین میرود (هدف ZFحذف ISIبه طور کامل است) ،نویز دریافتی به شدت تقویت میگردد که باعث
میشود تا نسبت سیگنال به نویز به مراتب بدتر از نسبت سیگنال به مجموع نویز و تداخل در روش MMSE
شود.
در نتیجه در روش MMSEهدف پیدا کردن پیشکدر مورد نظر به طوری است که احتمال خطا مینیمم شود.
که پس از انجام محاسبات مربوطه ماتریس پیش کدر مورد نظر معادل است با :
که با تعریف ]𝑢 ،𝛾𝑀𝑀𝑆𝐸 = 𝐸[(𝑊0 𝑢)𝐻 𝑊0 𝑢] = 𝐸[𝑢𝐻 𝑊0𝐻 𝑊0پس از تجزیه ماتریس به مقادیر
ویژه داریم :
𝐾
𝑘𝜆
∑ 𝑠𝐸 = ]𝑢 𝛾𝑀𝑀𝑆𝐸 = 𝐸[𝑢𝐻 𝑊0𝐻 𝑊0 )(7
(𝜆𝑘 + 𝛼)2
𝑘=1
که 𝑘𝜆 kامین مقدار ویژه ماتریس 𝐻𝐻𝐻 است .توجه شود که بدون 𝛼 (یا با فرض 𝛼 کوچک) مقادیر
کوچک مقادیر ویژه منجر به افزایش شدید 𝐸𝑆𝑀𝑀𝛾 میشود که خود منجر به تضعیف شدید توان کاربر
میشود .از طرفی درست است که افزایش 𝛼 باعث کاهش اثرات منفیای که مقادیر کوچک مقادیر ویژه به
وجود میآورند میشود ،ولی این کار باعث افزایش تداخل و در نتیجه کاهش SINRمیگردد .از این رو باید
مصالحهای برای انتخاب 𝛼 انجام گیرد که با بررسیهای مختلف نتیجه شده است که با انتخاب 𝛼 = 𝑁𝑟 𝜎 2
بیشترین مقدار سیگنال به نویز-تداخل حاصل میگردد.
دقت شود که یکی از ایرادات اصلی روش وارون کانال ،در بزرگ بودن مقادیر ویژه ماتریس کانال آن است.
چرا که این امر باعث میگردید تا وارون کردن ماتریس 𝐻 برای مقادیر باالی 𝐾 کار سختی شود .یک راه
برای رفع این مشکل رگوالرایز کردن ماتریس 𝐻 است که در این گزارش آن را بررسی نخواهیم کرد .یک
راه دیگر برای رفع این مشکل این است که کاری کنیم تا دادههای ارسالی ،ارتباطی به بردارهایی که منجر به
بوجود آمدن مقادیر ویژه باالی ماتریس 𝐻 میشوند ،نداشته باشند .به عبارت دیگر در اینجا هدف ایجاد آشفته
سازی (و یا تغییراتی) در دادههای ارسالی و عوض کردن آنها به گونهای است تا بردار حاصله بر بردارهایی
که منجر به مقادیر ویژه باالی ماتریس 𝐻 میشوند ،عمود باشند .به عبارت دیگر در آشفته سازی برداری
هدف تغییر دادههای ارسالی به گونهای است که بتوانیم با کمترین انرژی ممکن ارسال را انجام دهیم.
بنابراین در این روش ،هدف ساخت ̃𝑢 از روی 𝑢 به گونه ای است که ̃𝑢 𝑠 = 𝐻 −1نرم کوچکتری از حالت
اصلی یعنی 𝑢 𝑠 = 𝐻 −1داشته باشد ،ولی ورودیهای ̃𝑢 همچنان به صورت تکی قابل کدگشایی و
آشکارسازی در سمت گیرنده باشند.
دقت شود که ،در حالت کلی نمیتوان داده ارسالی را به صورت دل بخواه به هر بردار مختلط خواسته شده
تغییر داد ،چرا که به دلیل نداشتن اطالعات این تغییرات در سمت گیرنده مشکالتی برای کدگشایی به وجود
میآید .از اینرو برای این کار از ایدهی پیشکدینگ THاستفاده میکنیم که در آن هر المان موجود در 𝑢 به
اندازه یک عدد صحیح آشفته سازی پیدا کند که در ساده ترین حالت خواهیم داشت :
درنتیجه با این آشفته سازی داده شده سیگنال ارسالی برابر خواهد بود با :
1
=𝑥 ̃𝑢 𝐻−1 )(9
𝑝𝑣𝛾√
که } 𝛾𝑣𝑝 = ‖𝑠‖2 = 𝐸{‖𝐻−1 (𝑢 − 𝜏𝑙)‖2است .دقت شود که برای اجرای این کار باید اطالعات
کانال در سمت فرستنده مشخص باشد ،یعنی داشتن CSITدر ادامه به سایر فرضیات مهم و ضروری در این
تکنیک میپردازیم.
در انتخاب مقدار 𝜏 ،باید آن را به اندازهای بزرگ انتخاب کنیم که گیرنده بتواند با استفاده از تابع مدوله زیر،
اثر آن را حذف کند:
𝜏
𝑦+
⌊ 𝑓𝜏 (𝑦) = 𝑦 − 𝜏 ⌋2 )(10
𝜏
دقت شود که تابع باال برای مقادیر حقیقی و موهومی yبه صورت جدا اجرا میشود .در ادامه در مورد انتخاب
𝜏 بیشتر توضیح داده میشود.
این نکته شایان توجه است که برخالف روش ،MMSEمحاسبه 𝑝𝑣𝛾 یک فرم بسته ندارد چرا که میبینیم
انتخاب بردار 𝑙 از فضای محدودی انجام نمیپذیرد و در نتیجه در حالت کلی تعداد نامتنهای جست جو باید
انجام شود .ولی میتوان کران پایینی مانند زیر برای 𝑝𝑣𝛾 ارائه کرد:
1
𝐾 Γ(𝐾 + )1 𝐾 1
≥ 𝑝𝑣𝛾 𝐾) 𝐻𝐻𝐻(det )(11
𝜋 )(𝐾 + 1
که Γتابع گاما است.
حال پس از تغییر سیگنال ارسالی به 𝑥 ،سیگنال دریافتی در سمت گیرندهها برابر میشود با :
1 1
𝐻 = 𝑍 𝑦 = 𝐻𝑥 + = 𝑍 𝐻−1 𝑢̃ + 𝑍 𝑢̃ + )(12
𝑝𝑣𝛾√ 𝑝𝑣𝛾√
1
= 𝑘𝑦 𝑘𝑍 𝑢̃𝑘 + )(13
𝑝𝑣𝛾√
سپس گیرنده با استفاده از رابطه 𝑘𝑢 = ) 𝑘𝑙𝜏 𝑓𝜏 (𝑦𝑘 ) = 𝑓𝜏 (𝑢𝑘 +آشفته سازی داده شده را حذف کرده
و داده های اصلی را آشکار سازی میکند.
نحوه انتخاب پارامترهای 𝒍 و 𝝉 :
همانطور که گفتیم هدف اصلی در تکنیک آشفته سازی برداری ارسال با مصرف کمترین مقدار انرژی ممکن
است یعنی بردار 𝑙 را طوری انتخاب کنیم که مقدار ‖𝑠‖2کمینه شود .از این رو برای انتخاب 𝑙 باید معادله
زیر را حل کنیم :
در حالت کلی این یک مساله حداقل فاصله مربعات لتیس 𝐾 بعدی است که حل دقیق و کامل آن یک مساله
𝑑𝑟𝑎𝐻 𝑁𝑃 −است .از این رو همانطوری که پیشتر نیز اشاره شد ،برای حل آن پس از گذاشتن شروطی
از روشهای مختلفی مانند کدگشایی کروی استفاده میشود.
عدد 𝜏 > 0یک پارامتر طراحی است که یک ناحیه دیکدینگ متقارن برای هر نقطه کانستلیشن سیگنال بدهد
(به عبارتی تمامی نقاط سیگنالها را به یک نسبت برابر نگاشت کند) .در نتیجه برای این کار 𝜏 را از رابطه
زیر محاسبه میکنیم:
Δ
) 𝜏 = 2(𝐶𝑚𝑎𝑥 + )(15
2
که 𝑥𝑎𝑚𝐶 قدر مطلق بزرگترین مقدار نقاط کانستلیشن و Δنیز فاصله بین نقاط کانستلیشن است.
دقت شود که با باالبردن 𝜏 ،دو ناحیه دیکدینگ برای بزرگترین و کوچکترین نقطه کانستلیشن بزرگتر شده که
باعث میشود احتمال خطا در آن دو ناحیه کمتر شود ولی اینکار منجر به افزایش 𝑝𝑣𝛾 میشود که در نهایت
کاهش عملکرد خطا را در بر خواهد داشت .در حالتی که 𝜏 خیلی بزرگ فرض شود ،حل مینیمم سازی مساله
لتیس مطرح شده به مقدار 𝑙 = 0منجر میشود که این به معنی 𝑢 = ̃𝑢 است یعنی هیچ گونه آشفته سازی
ایجاد نکردیم و روش کار مانند روش معکوس کانال است .از طرف دیگر اگر 𝑥𝑎𝑚𝐶 𝜏 < 2حتی بدون
داشتن نویز باز هم دیکدینگ بدون خطا امکان پذیر نخواهد بود (چرا که در این حالت حتی بدون وجود نویز
نیز امکان افتادن در نواحی اشتباه وجود دارد) .به عبارت کلی افزایش 𝜏 منجر به کاهش خاصیت آشفته سازی
خواسته شده میشود.
تا این قسمت به فرضیات مورد نیاز برای اجرای این تکنیک تنها اشارهای شده است .در ادامه قصد داریم تا
این فرضیات را دقیقتر کاملتر توضیح دهیم.
ماتریس کانال 𝑯 :همانطور که اشاره شد مهمترین فرض برای اجرای این تکنیک داشتن اطالعات کانال در
سمت فرستنده یا همان وجود CSITاست .همانطوری که میدانیم داشتن CSIRفرض معمولی است که
معموال با استفاده از پایلوت در ارتباط فروسو انجام میشود ،ولی داشتن CSITدر حالت کلی کار سختی
است .در سالهای اخیر کارهای زیادی روی این زمینه انجام شده است تا با استفاده از ارتباط فراسو بتوان
کانال را تخمین زد .گرچه بدست آوردن دقیق و کامل ماتریس کانال در فرستنده همچنان به عنوان یک چالش
باقی مانده است (به خصوص در کانال های با تغییرات زیاد) ،در زمینه بدست آوردن اطالعات بخشی از
کانال نتایج خوبی بدست آمده است .از مهمترین این نتایج میتوان به CSITناقص CSIT ،تاخیر دار وCSIT
با فیدبک محدود اشاره کرد .در واقع داشتن حالت CSITکامل که حالت ایده آل است ،به ما باند باال در نرخ
ارسال را میدهد .همچنین در خصوص ابعاد ماتریس Hنیز اشاره شد که فرض شده 𝐻 یک ماتریس مربعی
با ابعاد 𝐾 × 𝐾 است.
میزان نرخ ارسال داده کاربران :در اینجا فرض میشود که تمامی کاربران دارایی یک نوع مدوالسیون و یک
نرخ ارسال یکسان هستند .این یک فرض عملی است چرا که در شبکههایی مانند LTE-Aو UMTSنرخ
داده وابسته به افت مسیرهای مقیاس بزرگ به چندین منطقه تقسیم بندی میشود به طوری که برای کاربرانی
که در یک منطقه هستند با استفاده از SDMA9و برای کاربران در مناطق دیگر منطبق با زمان یا فرکانس
مختلفی ارتباط بر قرار میشود.
مسائل مربوط به سنکرون سازی :یکی از مسائل مهم در مایمو چند کاربره بحث سنکرون سازی کاربران
است .سنکرون سازی زمانی به سادگی با استفاده از ابزارهایی مانند بازههای حوزه زمانی یا پیشوندهای
گردشی قابل اجرا است .از طرف دیگر بحث سنکرون سازی فرکانسی در پیادهسازی مایمو چند کاربره به
عنوان یک چالش باقی است .از این رو برای تمرکز روی بحث اصلی ،در این گزارش فرض شده است که
کاربران از لحاظ فرکانسی کامال سنکرون هستند.
9
Space-division multiple access
از آنجایی که دیده شد تکنیک آشفته سازی برداری از حل یک مساله بهینه سازی بدست میآید ،در ادامه الزم
دیدیم تا توضیحاتی در خصوص این روش با روشهای بهینه سازی پیشین استفاده شده در آشکارسازیها
داده شود.
برای یاد آوری ،همانطور که اشاره شد هدف اصلی آشفته سازی برداری حداقل سازی انرژی مورد نیاز برای
ارسال سیگنال است .به نمایشی دیگر داریم :
2
)𝑙𝜏 𝐻−1 (𝑠 +
𝑙 = arg min ‖ ‖ )(16
𝑙′ 𝑠𝐸
𝑙 = arg min
′
‖𝑠 ′ − 𝜏𝐻 −1 𝑙‖2 )(17
𝑙
که 𝑠 𝑠 ′ = 𝐻−1است .دقت شود همانطور که گفته شد حل رابطه 11معادل حل حداقل مربعات صحیح
لتیس است که در حالت کلی یک مساله 𝑑𝑟𝑎 𝑁𝑃 − ℎکه معادل پیدا کردن نزدیک ترین نقطه لتیس،
میباشد .در این مساله لتیس مورد نظر از معکوس کانال ساخته میشود.
نکته دیگری که باید به آن دقت شود این است که در تکنیک آشفته سازی برداری بهینه سازی به منظور
کاهش انرژی ارسالی و در سمت فرستنده انجام میشود .به عبارتی دیگر ،این بهینه سازی مستقل از نویز در
کانال انجام میشود و ربطی به حل روشهای MLپیشین که به منظور حذف اثر نویز استفاده میشدند ،ندارد.
از اینرو حل معادله بهینه سازی 11متفاوت از حل مسائل آشکارسازی معمولی در سیستمهای مخابراتی
مایمو چند کاربره است.
به طور خالصه در تکنیک آشفته سازی برداری سه تفاوت کلی زیر وجود دارد که باعث میشود حل این
معادله متفاوت از یک معادله 𝐿𝑀 ساده باشد:
عبارت )𝑙 (𝑠 ′ − 𝜏𝐻 −1که باید بهینه سازی روی آن انجام پذیرد ،الزاما یک پروسهی گوسی
نیست.
حداقل مقدار ‖𝑠 ′ − 𝜏𝐻−1 𝑙‖2و یا به عبارتی )𝑙 𝐸(𝑠 ′ − 𝜏𝐻−1مخالف صفر است.
فضای انتخاب اعداد صحیح 𝑙 نامحدود و نامتناهی است (در مسائل MLباید جستجو را بر روی
تمامی حاالت دادههای ارسالی انجام میدادیم تا هر کدام که بیشترین نزدیکی را به مقدار گیرنده
داشت به عنوان خروجی اصلی آشکار شود).
در نتیجه با توجه به توضیحات داده شده که این مساله یک مساله 𝑑𝑟𝑎 𝑁𝑃 − ℎاست و حل کامل و دقیق
آن ممکن نیست باید از روشی استفاده کنیم تا جوابی تقریبی و نزدیک به واقعیت بدهد .از این رو همانطوری
که پیشتر نیز اشاره شد ،یکی از روشهایی که اینجا قابل استفاده است ،دیکدینگ کروی میباشد که پس از
گذاشتن شروطی روی فضای انتخاب 𝑙 انجام میشود .البته همانطور که واضح است با افزایش هر شرط از
عملکرد کاسته میشود و کاهش آن نیز منجر به افزایش پیچیدگی مساله میشود بنابراین باید مصالحهای بین
این دو امر انجام پذیرد که در این گزارش به آن پرداخته نمیشود.
همانطور که گفته شد روش وارون کانال خالی به دلیل رفتار بد مقادیر ویژه بزرگ ماتریس کانال ،(𝐻𝐻𝐻 )−1
عملکرد ضعیفی داشت .از اینرو در این قسمت میخواهیم توضیح دهیم که تکنیک آشفته سازی برداری چه
کمکی به حل این مشکل میکند .در ادامه به علت داشتن دید عملی فرض میشود که ابعاد ماتریس کانال
یعنی 𝐾 ،بزرگ باشد.
همانطوری که گفته شد هدف بردار 𝑙 کمینه سازی نرم سیگنال یعنی ̃𝑢 𝑠 = 𝐻 −1در معادله ( )11است .در
نتیجه با استفاده از تجزیه ویژه ماتریسی 𝐻𝑄 (𝐻𝐻𝐻 )−1 = 𝑄𝐷−1میتوانیم معادله ( )11را به صورت زیر
بازنویسی کنیم :
𝐾
1
𝑐 2 = ( )𝐸‖𝑢̃ ‖2 )(19
𝐾
𝐾 𝐾1/
𝛿𝑘2
) 𝑣 = 𝐸 (∏ 2 )(20
𝑐
𝑘=1
که امید ریاضی روی 𝑢 و 𝑄 است .همچنین بر اساس یک اصل تجربی فرض میکنیم که 𝑣 یک مقدار مثبا
و برای مقادیر 𝐾 به سمت بینهایت مستقل از 𝐾 است .در نتیجه معادله 02امید ریاضی میانگین هندسی
مقادیر 𝐾𝛿 𝛿1 , 𝛿2 , … ,است .دقت شود دلیل 𝑣 > 0بودن این است که در انتخاب ̃𝑢 محدودیتهایی
وجود دارد (اگر ̃𝑢 نا مشروط انتخاب میشد 𝑣 = 0 ،میشد) چرا که فرض شده است مقادیر آشفته سازی
دهنده در ̃𝑢 صحیح هستند.
که میتوان گفت تقریبا مستقل از Kاست (دقت شود Kبزرگ فرض شده است) .حال با استفاده از نابرابری
هندسی داریم :
𝐸‖𝑢̃ ‖2
𝑣𝑒 = 𝐸𝛾 ≥ 𝑒𝑣𝑐 2 )(23
𝐾
که برابری برای حالت زیر رخ میدهد:
𝑒𝑣𝑐 2
= 𝐸𝜇1 𝛿12 = ⋯ = 𝐸𝜇𝑘 𝛿𝑘2 )(24
𝐾
این معادله به ما میگوید که یک راه برای کمینه سازی 𝛾𝐸 این است که ̃𝑢 را با نسبت عکس هر مقدار ویژه،
به سمت همان مقدار ویژه هدایت کنیم.
در حالت کلی میتوان نتیجه گرفت که مینیمم سازی رابطه 11منجر به تولید ̃𝑢 ای میشود که به طور متوسط
با نسبت عکس هر مقدار ویژه ماتریس (𝐻𝐻𝐻 )−1و در جهت آن مقدار ویژه جهت گیری شده است .مقدار
𝛾 نتیجه گیری شده از این روش تقریبا کران پایین رابطه 02و تقریبا مستقل از 𝐾 است که بهبود بسیار زیادی
نسبت به حالت وارون کانال خالی حاصل میشود.
آشفته سازی برداری مرتب شده و نحوه عملکرد گیرندهها برای کد گشایی:
در اینجا هدف تلفیق روش وارون کانال مرتب شده و آشفته سازی برداری با هم به گونهای است که 𝛾 را
بیش از حدی که هر کدوم از این دو روش به تنهایی کاهش میدهند ،کاهش دهیم .در اینجا تابع حداقل
سازی روی معادله زیر انجام میشود:
مشابه روش MMSEمقدار 𝛼 با هدف ماکزیمم سازی SINRانتخاب میشود .مثال برای حالت = 𝐾
1 1
= 𝑡𝑝𝑜𝛼 بدست میآید .در این حالت سیگنال ارسالی برابر است با : , 4 , 10مقادیر
𝜌5 𝜌10
𝐻 1
=𝑥 )𝑙𝜏 𝐻 (𝐻𝐻𝐻 + 𝛼𝐼)−1 (𝑢 + )(26
𝛾√
همانطور که گفته شد گیرنده مقدار 𝜏 را میداند ولی مقدار 𝑙 را نه .بنابراین 𝐾 کاربر گیرنده بردار زیر را
دریافت میکنند :
𝐻 1
𝐻 = 𝑍 𝑏 = 𝐻𝑥 + 𝑍 𝐻 (𝐻𝐻𝐻 + 𝛼𝐼)−1 (𝑢 + 𝜏𝑙) +
√ 𝛾
1
= 𝑍 𝐻𝐻𝐻 (𝐻−𝐻 𝐻−1 + (𝛼𝐼)−1 )(𝑢 + 𝜏𝑙) +
√ 𝛾
1 1
= 𝑍 (𝐼 + 𝐻𝐻𝐻 ) (𝑢 + 𝜏𝑙) +
𝛾√ 𝛼
1 1
= 𝑍 (𝑢 + 𝜏𝑙) + 𝐻𝐻𝐻 (𝑢 + 𝜏𝑙) + )(27
𝛾√ 𝛼
1
= 𝑘𝑦 (𝑢𝑘 + 𝜏𝑙𝑘 ) + 𝑍𝑘′ )(28
√ 𝛾
که مقدار 𝑍𝑘′شامل نویز و تداخل بقیه کاربران است که به دلیل وجود 𝛼 به وجود آمده است .سپس هر کاربر
گیرنده این مقدار دریافتی را از تابع مدوله گذر میدهد تا اثر 𝑘𝑙 را خنثی کند و سپس نتیجه بدست آمده را
کدگشایی میکند تا به مقدار داده اصلی 𝑘𝑢 برسد.
تا این قسمت در خصوص شباهتهای روش آشفته سازی برداری و کدینگ کروی مختصرا توضیح داده شد.
در ادامه قصد داریم تا شباهات و تفاوتهای این دو روش را به طور دقیقتر توضیح دهیم.
همانطوری که گفته شد هدف اصلی در تکنیک آشفته سازی برداری تغییر داده ارسالی به منظور کاهش انرژی
ارسالی است یا به عبارتی پیدا کردن مقادیر 𝑙𝜏 در عبارت 𝑙𝜏 𝑢̃ = 𝑢 +به نحوی که ‖𝑠‖2مینیمم شود.
همانطوری که گفته شد مقدار 𝜏 وابسته به مدوالسیون است و ربطی به مینیمم سازی ندارد .از این رو هدف
این روش در واقع پیدا کردن یک بردار بهینه ساز 𝑙 با فرض دانستن ماتریس کانال 𝐻 و بردار داده 𝑢 است.
یا به عبارتی :
همانطوری که گفته شد حل این مینیمم سازی چندین تفاوت اصلی و پایهای با روشهای آشکار سازی ساده
دارد که مهمترین تفاوت آن در این است که فضای جستجو برای بردار 𝑙 بینهایت است .به عبارتی دیگر کلیت
آشکار سازی در روشهای پیشین به این صورت است که خروجی به ازای تمامی مقادیر مختلف ورودی
بررسی میگردد و بردار ورودیای که منجر به بیشترین شباهت به بردار خروجی باشد به عنوان داده اصلی
آشکار سازی میگردد .ولی با توجه به نامتناهی بودن فضای جستجو برای 𝑙 در روش آشفته سازی برداری
این عمل قابل اجرا نیست .راه کاری که ارائه میشود استفاده از دیکدینگ کروی است.
کلیت روش کدینگ و دیکدینگ کروی به این صورت است که ابتدا یک لتیس انتخاب و ساخته میشود.
سپس دادههای مساله روی این نقاط لتیس نگاشت میشوند (به عبارتی نقاط مدوالسیون ،همان نقاط لتیس
فرض میشوند) .حال پس از انجام ارسال و عبور داده ارسالی از کانال فیدینگ و جمع شدنش با نویز ،دادهای
مانند 𝑥 دریافت میشود .در سمت گیرنده سعی میشود که نزدیک ترین نقطه لتیس به مقدار دریافتی یعنی
𝑥 را پیدا و آن را به عنوان داده ارسال شده آشکار سازی کند.
نحوه جست جو برای پیدا کردن نزدیک ترین نقطه لتیس به داده دریافتی در این روش به این صورت است
که یک کره با مرکزیت داده دریافتی یعنی 𝑥 و شعاع مناسب به شرایط دلخواهمان انتخاب میشود و فاصلهی
تمامی نقاط لتیس موجود در آن کره با 𝑥 سنجیده شده و نقطهای که کمترین فاصله را داشته باشد ،به عنوان
نقطه ارسالی آشکار سازی میگردد .البته دقت شود که سنجیدن فاصله از نقاط لتیس از حل مساله کوچکترین
عدد صحیح مربع لتیس بدست میآید .به عبارتی هدف پیدا کردن بردار (نقاط) لتیس sبه طوری است که
‖𝑥 + 𝐻𝑠‖2مینیمم شود .البته باید دقت شود که اگر هیچ نقطه لتیسی در کره مورد نظر پیدا نشود باید
شعاع کره بزرگتر فرض شود و انقدر این عمل انجام میشود تا نقطه مورد نظر پیدا شود که آن نقطه مورد
نظر داده ارسالی اصلی است .شکل 2شمای کلی روش کدگشایی کروی را نمایش میدهد که نقاط قرمز
نقاط لتیس (داده های اصلی) و dنیز شعاع کره است .همانطور که مشخص است در کره فرض شده با شعاع
dتعدادی نقطه لتیس وجود دارد که نزدیکترین نقطه به داده دریافتی به عنوان داده اصلی آشکار سازی
میگردد.
از طرفی ،پیشتر اشاره شده بود که تکنیک آشفته سازی برداری یک روش پیشکدینگ است و به کلی در
سمت فرستنده انجام میشود .بنابراین این مساله ارتباطی با نویز به وجود آمده در کانال ندارد .ولی از آنجایی
که در هر دو روش ،مسالهی کلی ای که باید حل شود مساله کوچکترین عدد صحیح مربع لتیس است،
ساختاری مشابه هم دارند .به عبارت دیگر در روش آشفته سازی برداری ،هدف مینیمم کردن انرژی ارسالی
یعنی ‖𝐻−1 𝑢̃‖2 = ‖𝐻−1 𝑢 + 𝐻−1 𝜏𝑙)‖2است .به عبارتی در حالت مقایسه با دیکدینگ کروی با
فرض قرار دادن 𝑢 𝑥 = 𝐻−1در روش آشفته سازی برداری هدف پیدا کردن نزدیک ترین بردار صحیح 𝑙
(نقاط لتیس) به مقدار 𝑢 𝐻−1است .از لحاظ مفهومی درست است که نویزی نبوده که باعث شود تا داده ما
از نقاط صحیح لتیس ارسالی خارج شوند ،ولی به منظور کاهش انرژی فرستنده ،داده ارسالی را تغییر داده و
سپس سعی میکند تا نزدیک ترین نقطه لتیس به آن را پیدا کند .در نتیجه ،فضای جست جو برای پیدا کردن
𝑙 در معادله 01را با توجه به نیازهایمان به یک فضای کروی با مرکزیت داده اصلی که قرار است ارسال شود
و یک شعاع مناسب محدود میکنیم و سپس جست جو را انجام میدهیم .دقت شود که در بین تمامی حاالت
بردار 𝑙 که در فضای کره قرار دارند ،بردار 𝑙 ای انتخاب میشود که انرژی مورد نیاز برای ارسال ̃𝑢 از همه
کمتر باشد .ولی باید دقت شود از آنجایی که فضای جستجو محدود به یک کره شده است ،در مینیمم سازی
انرژی ممکن است بهینه سازترین بردار ممکن پیدا نشود .به طور خالصه در روش آشفته سازی برداری بدون
ارتباط به نویز کانال و در سمت فرستنده ،داده را با فرض یک کره با مرکزیت داده و شعاع ،dانقدر تغییر
میدهیم تا انرژی مورد نیاز برای ارسال آن کمینه باشد .از این رو طبیعی است که هرچه شعاع کره بزرگتر
باشد فضای جستجو نیز بزرگتر شده و در نتیجه پیچیدگی باال میرود ولی عملکرد و دقت کار باال میرود،
یعنی مصالحهای بین عملکرد و پیچیدگی انجام میشود.
یکی از معایب اصلی تکنیک آشفته سازی برداری ،استفاده از دیکدینگ کروی است چرا که ممکن است برای
هر استفاده از کانال مایمو ،کدینگ کروی تاخیر و پیچیدگی مختلفی داشته باشد که این تاخیر و پیچیدگی به
صورت نمایی با تعداد جریانات داده وابسته است که در حالت شبکه با تعداد کاربران باال غیر قابل اجرا است.
برای رفع این مشکل سعی شده تا از روش FCSE10استفاده شود که در واقع این روش کد کردن دادهها را
به صورت موازی ولی برای یک نرخ خروجی ثابت ،انجام میدهد .اما این روش غیر قابل تنظیم به روی
کانال ارسال است و همچنین از منابع پردازشی به درستی استفاده نمیکند که منجر به کاهش زیاد نرخ خروجی
میشود.
از دیگر معایب عملی تکنیک آشفته سازی برداری میتوان به عدم انطباق نرخ بهینه است .البته از لحاظ تئوری
این کار انجام شده است ولی از لحاظ عملی در شبکههای مایمو بزرگ با تعداد کاربران باال به دلیل باال رفتن
پیچیدگی و به وجود آمدن تاخیر ،انطباق نرخ بهینه قابل اجرا نیست .از اینرو برای رفع این مشکل روشهای
جدیدی مانند چند کره 11با تمرکز روی ساختن مسیر درختی که نتیجه بهتری میدهد به منظور آشکارسازی
موازی در انبوه مایمو و روش VIPERکه یک روش عملی و انعطاف پذیر برای شبکههای با تعداد کاربران
زیاد است ،مطرح گردیدند.
هماطوری که میدانیم چندین راه برای افزایش نرخ و نزدیک شدن به ظرفیت وجود دارد .یکی از آن راهها
استفاده از کدهای توربو بر روی کانال و یا افزایش طول بلوک کد است .یک راه دیگر انتخاب کانالهایی
است که عملکردی بهتر دارند ،تا در آن کانالها با نرخ باالتری ارسال را انجام دهیم چراکه در محاسبه ظرفیت
کلی مجبور و محدود به استفاده از نرخهای یکسان برای تمامی کاربران نیستیم.
ازلحاظ تئوری گفته شد که مقدار 𝐾 تا بینهایت میتواند بزرگ شود ولی عاملی که در اینجا محدود کننده
است ،افزایش پیچیدگی حل معادله مینیمم سازی 11است .از طرفی ،شبیه سازیها نشان میدهند که تا حالت
𝐾 = 15میتوان به سادگی از کدینگ کروی برای این امر استفاده نمود .بنابراین به عنوان پیشنهادی برای
کارهای آتی در این حوزه میتوان به ارائه روشی برای کاهش پیچیدگی مساله برای حالت ∞ → 𝐾 بدون
از دست دادن عملکرد ارائه کرد.
مساله مهم دیگری که در این گزارش بررسی نشد و میتواند به عنوان موضوع مهمی در کارهای آینده پیشنهاد
گردد این است که در این گزارش فرض شده که هر کاربر گیرنده تنها یک آنتن دریافت داشته باشد .حال
برای حاالتی که گیرندهها چندین آنتن گیرنده دارند شرایط بهینه سازی دادهها به چه صورت خواهد شد.
عالوه بر این ،کار دیگری که در این حوزه میشود انجام داد نحوه انتخاب 𝑡𝑝𝑜𝛼 در معادله 02برای 𝐾 های
مختلف است .همچنین برای انتخاب 𝑡𝑝𝑜𝜏 نیز کاری صورت نگرفت .چرا که میدانیم افزایش 𝜏 منجر به
10
Fixed-complexity sphere encoder
11
Multisphere
کاهش خطای دیکدینگ میشود ولی از طرفی باعث افزایش انرژی 𝛾 نیز میشود .در نهایت میتوان این
تکنیک را برای حاالتی که کاربران توان دریافتی متفاوتی دارند بررسی نمود چرا که در شبکههای متعددی به
علت تعداد زیاد کاربران ،میزان فاصله کاربران از اکسس پوینتها متفاوت است که باعث اتالف متفاوت و
در نتیجه متفاوت بودن توانهای دریافتی میشود.
شبیه سازیها:
در ادامه میخواهیم برنامهای بنویسیم که با فرض داشتن ماتریس کانال 𝐻 و بردار داده 𝑢 ،بردار 𝑙 بهینه ساز
𝑙 = arg minپیدا کرده و سپس بردار آشفته
′
انرژی را از رابطه ]) [(𝑢 + 𝜏𝑙 ′ )𝐻 (𝐻𝐻𝐻 )−1 (𝑢 + 𝜏𝑙 ′
𝑙
سازی داده شده مورد نظر یعنی 𝑙𝜏 𝑢̃ = 𝑢 +را تولید کند .دقت شود که مقایسه عملکرد این روش با سایر
روشهای پیشکدینگ مانند ZFو MMSEاز حوصله این گزارش خارج است و این گزارش که صرفا بررسی
روش آشفته سازی برداری است ،این روش پیشکدینگ را شبیه سازی میکند.
برای سادگی کار و سنگین نشدن برنامه ،فرض میکنیم برای ارسال داده از مدوالسیون PAMدوتایی ()BPSK
استفاده شده است و در نتیجه دادههای ما میتوانند ±1باشند .در این صورت از معادله 12نتیجه میگیریم
Δ 2
که یک مقدار مناسب برای 𝜏 مقدار 𝜏 = 2 (𝐶𝑚𝑎𝑥 + ) = 2 (1 + ) = 4است .ولی شبیه سازیها
2 2
نشان می داد که این مقدار (همانطوری که در گزارش نیز اشاره گردیده بود) منجر به تمام صفر شدن بردار 𝑙
در بسیاری از اجراهای کد میشد .از این رو فرض شد که 𝜏 = 3باشد .همچنین فرض میشود که ماتریس
کانال 𝐻 یک ماتریس حقیقی مربعی تصادفی با ابعاد 𝐾 = 10است .همچنین برای انتخاب شعاع کره از
توزیع کای اسکوئر درجه دو استفاده میشود .دقت شود که تعمیم کد برای کانال های مختلط و یا مدوالسیون-
های مختلف کار پیچیدهای نیست و به سادگی قابل اجرا است.
همانطوری که پیشتر اشاره شد برای محاسبهی 𝑙 باید عبارت زیر مینیمم شود.
clear all
close all
clc
Nt = 10; % number of transmit antennas
Nr = 10; % number of receive antennas
K = 10;
for i1=1:num_frames
% source BPSK (2PAM)
a = randi([0 1],1,K);
u = 1-2*a; % input sequence without perturbing
H = rand(K,K);
Delta=2; %space between constellation points (in PAM=2))
cmax=1; %maximum abs value of constellation points (in PAM=1)
% tau_min=2*cmax;
tau=3; %tau=2*(cmax+Delta/2);
x= inv(H)*u.'; %the base point
C=log2(det(eye(K,K)+H*inv(H).'*SNR/K)); %capacity formula for no-
csit
% Vector perturbation
[Q,R1] = qr(tau*inv(H)); % QR decomposition
seq2 = zeros(1,K);
R = R1(1:K,:);% R matrix
Q1 = Q(:,1:K);
Q2 = Q(:,K+1:end);
y = Q1'*x;
l = zeros(1,K); % desired optimizator vector
up_bound = zeros(1,K); % upper bound
d2 = zeros(1,K);
y1 = zeros(1,K); % yk|k+1
caseno = 1;
while (caseno~=0)
switch (caseno)
case 1
k = K;
d2(k) = d1_2 - norm(Q2'*x)^2;
y1(k) = y(K);
caseno=2;
case 2
temp = [(-sqrt(d2(k))+y1(k))/R(k,k)
(sqrt(d2(k))+y1(k))/R(k,k)];
up_bound(k) = 1-2*(max(temp)<1) ;
low_bound = 1-2*(min(temp)<-1);
seq2(k) = low_bound-1;
caseno=3;
case 3
seq2(k) = seq2(k)+1;
if seq2(k)<=up_bound(k)
caseno = 5;
else
caseno = 4;
end
case 4
k = k+1;
if k==K+1
break;
else
caseno = 3;
end
case 5
if k==1
caseno = 6;
else
k=k-1;
d2(k) = d2(k+1)-(y1(k+1) - R(k+1,k+1)*seq2(k+1))^2;
y1(k) = y(k)-R(k,k+1:K)*seq2(k+1:end).';
caseno = 2;
end
case 6
l=seq2; % l is the desired vector
caseno =3;
u_tilda=u+tau*l
برای نمونه چندین بردار را بدست میآوریم:
شکل 6حالت خاصی که بردار lتماما صفر است که انگار آشفته سازی ای داده نشده است.
جمع بندی
هدف از این گزارش بررسی کلی تکنیک آشفته سازی برداری بود .برای اینکار ابتدا مقدمه و توضیحات کلی
از دالیل معرفی این تکنیک داده شد و پس از بیان کردن فرضیات مورد نیاز ،این تکنیک با جزییات معرفی
گردید .سپس تفاوت اصلی این روش با روشهای بهینه سازی که در روشهای آشکارسازی قبلی مانند ML
استفاده میشد ،بیان شد .در نهایت پس از معرفی چالشهای اساسی اجرای این روش ،توضیحاتی در خصوص
نحوه پیاده سازی آن و استفاده از الگوریتمهای مختلفی مانند کدینگ کروی ارائه گردید .سپس کارهای که در
آینده میتوان در این حوزه انجام داد مختصرا پیشنهاد گردیدند و در انتها شبیه سازی این تکنیک انجام گردید،
به صورتی که با دریافت یک رشته داده ،بردار 𝑙 را نتیجه دهد.
مراجع
[1] Hochwald, Bertrand M., Christian B. Peel, and A. Lee Swindlehurst. "A vector-perturbation
technique for near-capacity multiantenna multiuser communication-Part II:
Perturbation." IEEE Transactions on Communications 53.3 (2005): 537-544.
[2] Peel, Christian B., Bertrand M. Hochwald, and A. Lee Swindlehurst. "A vector-perturbation
technique for near-capacity multiantenna multiuser communication-part I: channel inversion
and regularization." IEEE Transactions on Communications 53.1 (2005): 195-202.
[3] Ma, Y., Yamani, A., Yi, N., & Tafazolli, R. (2016). Low-complexity MU-MIMO nonlinear
precoding using degree-2 sparse vector perturbation. IEEE Journal on Selected Areas in
Communications, 34(3), 497-509.
[4] Ryan, D. J., Collings, I. B., Clarkson, I. V. L., & Heath, R. W. (2009). Performance of
vector perturbation multiuser MIMO systems with limited feedback. IEEE Transactions on
Communications, 57(9), 2633-2644.
[5] Du, L., Li, L., & Zhang, P. (2019). Robust vector perturbation precoding design for MIMO
broadcast channel. arXiv preprint arXiv:1901.09199.
[6] Husmann, Christopher, and Konstantinos Nikitopoulos. "ViPer MIMO: Increasing Large
MIMO Efficiency via Practical Vector-Perturbation." 2018 IEEE Global Communications
Conference (GLOBECOM). IEEE, 2018.