آقاپور گزارش

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 23

‫به نام خدا‬

‫پروژه درس مایمو‬

‫بررسی تکنیک آشفته سازی برداری در سیستمهای مایمو‬

‫سعید آقاپور‬

‫‪40051889‬‬

‫استاد درس‪ :‬دکتر رضوی زاده‬

‫تابستان ‪44‬‬
‫چکیده‪ :‬هدف از این گزارش بررسی تکنیکی به نام آشفته سازی برداری‪ 1‬در سیستمهای با چندین‬
‫فرستنده و چندین گیرنده (مایمو) است‪ .‬پس از معرفی وتحلیل کامل این تکنیک سعی میشود تا مزایای‬
‫استفادهی آن را در کاربردهای مختلف را توضیح داده و در نهایت تالش شد تا این تکنیک پیشکدینگ‬
‫را شبیه سازی نمود‪.‬‬

‫مقدمه‪:‬‬

‫در اکثر کارهای پیشین و عملی انجام شده در سیستمهای مایمو چند کاربره‪ ،‬از پیشکدینگهای خطی مانند‬
‫𝐹𝑍‪ 2‬و 𝐸𝑆𝑀𝑀‪ 3‬استفاده میشود که این روشها در شرایط خاص شبکه‪ ،‬مثال برای وقتی که تعداد آنتنهای‬
‫گیرنده نزدیک به تعداد آنتنهای فرستنده میشود نرخی بسیار پایینتر از حالت بهینه دارند‪ .‬این عدم استفاده‬
‫کامل از ظرفیت کانال منجر میشود تا عملکرد سیستم بسیار افت کند‪.‬‬

‫شکل ‪ 1‬نمای کلی سیستم مایمو چند کاربره‬

‫‪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‬‬
‫که 𝑥 داده ارسالی‪ 𝐻 ،‬ماتریس کانال‪ 𝑍 ،‬بردار نویز و 𝑦 بردار داده دریافتی است‪ .‬همچنین داریم‪:‬‬

‫‪𝐸(|𝑥|2 ) = 1‬‬ ‫)‪(2‬‬


‫𝑠‬ ‫𝑠‬
‫=𝑥‬ ‫=‬ ‫)‪(3‬‬
‫𝛾𝐸√ 𝛾√‬
‫که ‪ x‬سیگنال ارسالی نرمالیزه شده و ‪ 𝛾 = ‖𝑠‖2‬است‪ .‬با این توضیحات داده شده‪ ،‬ظرفیت ارگادیک برابر‬
‫خواهد شد با ‪:‬‬

‫)𝐻𝐷 𝐻𝐻𝜌 ‪𝐶 = 𝐸 log 2 (𝐼𝐾 +‬‬ ‫)‪(4‬‬


‫که 𝐷 ماتریس قطری با المانهای مثبت و جمع المانهای ‪ 1‬است‪.‬‬

‫در ادامه پیش از معرفی روش آشفته سازی برداری‪ ،‬ابتدا توضیحاتی در مورد روش ‪ MMSE‬داده شود تا‬
‫هدف از معرفی این تکنیک جدید بیشتر ملموس شود‪.‬‬

‫روش ‪ MMSE‬خطی‪:‬‬

‫در روش ‪ MMSE‬هدف حداقل سازی خطا و درنتیجه بیشینه کردن مقدار سیگنال به مجموع نویز و تداخل‬
‫(‪ )SINR8‬در سمت کاربر است‪ .‬البته در این روش همچنان تداخل وجود دارد ولی عملکرد بهتری نسبت به‬
‫روش 𝐹𝑍 دارد چرا که نسبت سیگنال به مجموع نویز و تداخل در این روش‪ ،‬بیشتر از نسبت سیگنال به نویز‬
‫تنها در روش 𝐹𝑍 است‪ .‬این نتیجه به این دلیل حاصل گردید که با اینکه در روش 𝐹𝑍 تمامی تداخالت از‬

‫‪8‬‬
‫‪Signal to inference plus noise ratio‬‬
‫بین میرود (هدف ‪ ZF‬حذف ‪ ISI‬به طور کامل است)‪ ،‬نویز دریافتی به شدت تقویت میگردد که باعث‬
‫میشود تا نسبت سیگنال به نویز به مراتب بدتر از نسبت سیگنال به مجموع نویز و تداخل در روش ‪MMSE‬‬
‫شود‪.‬‬

‫شکل ‪ 2‬روش پیشکدینگ ‪LMMSE‬‬

‫در نتیجه در روش ‪ MMSE‬هدف پیدا کردن پیشکدر مورد نظر به طوری است که احتمال خطا مینیمم شود‪.‬‬
‫که پس از انجام محاسبات مربوطه ماتریس پیش کدر مورد نظر معادل است با ‪:‬‬

‫‪𝑊0 = 𝐻𝐻 (𝐻𝐻𝐻 + 𝛼𝐼)−1‬‬ ‫)‪(5‬‬


‫و پس از نرمالیزه شدن سیگنال ارسالی و ارسال آن در سمت گیرنده داریم ‪:‬‬

‫̃𝑍 ‪𝑦 = 𝐻𝑊0 𝑢√𝜌 +‬‬ ‫)‪(6‬‬

‫که با تعریف ]𝑢 ‪ ،𝛾𝑀𝑀𝑆𝐸 = 𝐸[(𝑊0 𝑢)𝐻 𝑊0 𝑢] = 𝐸[𝑢𝐻 𝑊0𝐻 𝑊0‬پس از تجزیه ماتریس به مقادیر‬
‫ویژه داریم ‪:‬‬
‫𝐾‬
‫𝑘𝜆‬
‫∑ 𝑠𝐸 = ]𝑢 ‪𝛾𝑀𝑀𝑆𝐸 = 𝐸[𝑢𝐻 𝑊0𝐻 𝑊0‬‬ ‫)‪(7‬‬
‫‪(𝜆𝑘 + 𝛼)2‬‬
‫‪𝑘=1‬‬

‫که 𝑘𝜆 ‪ k‬امین مقدار ویژه ماتریس 𝐻𝐻𝐻 است‪ .‬توجه شود که بدون 𝛼 (یا با فرض 𝛼 کوچک) مقادیر‬
‫کوچک مقادیر ویژه منجر به افزایش شدید 𝐸𝑆𝑀𝑀𝛾 میشود که خود منجر به تضعیف شدید توان کاربر‬
‫میشود‪ .‬از طرفی درست است که افزایش 𝛼 باعث کاهش اثرات منفیای که مقادیر کوچک مقادیر ویژه به‬
‫وجود میآورند میشود‪ ،‬ولی این کار باعث افزایش تداخل و در نتیجه کاهش ‪ SINR‬میگردد‪ .‬از این رو باید‬
‫مصالحهای برای انتخاب 𝛼 انجام گیرد که با بررسیهای مختلف نتیجه شده است که با انتخاب ‪𝛼 = 𝑁𝑟 𝜎 2‬‬
‫بیشترین مقدار سیگنال به نویز‪-‬تداخل حاصل میگردد‪.‬‬

‫روش پیشکدینگ آشفته سازی برداری‪:‬‬

‫دقت شود که یکی از ایرادات اصلی روش وارون کانال‪ ،‬در بزرگ بودن مقادیر ویژه ماتریس کانال آن است‪.‬‬
‫چرا که این امر باعث میگردید تا وارون کردن ماتریس 𝐻 برای مقادیر باالی 𝐾 کار سختی شود‪ .‬یک راه‬
‫برای رفع این مشکل رگوالرایز کردن ماتریس 𝐻 است که در این گزارش آن را بررسی نخواهیم کرد‪ .‬یک‬
‫راه دیگر برای رفع این مشکل این است که کاری کنیم تا دادههای ارسالی‪ ،‬ارتباطی به بردارهایی که منجر به‬
‫بوجود آمدن مقادیر ویژه باالی ماتریس 𝐻 میشوند‪ ،‬نداشته باشند‪ .‬به عبارت دیگر در اینجا هدف ایجاد آشفته‬
‫سازی (و یا تغییراتی) در دادههای ارسالی و عوض کردن آنها به گونهای است تا بردار حاصله بر بردارهایی‬
‫که منجر به مقادیر ویژه باالی ماتریس 𝐻 میشوند‪ ،‬عمود باشند‪ .‬به عبارت دیگر در آشفته سازی برداری‬
‫هدف تغییر دادههای ارسالی به گونهای است که بتوانیم با کمترین انرژی ممکن ارسال را انجام دهیم‪.‬‬

‫بنابراین در این روش‪ ،‬هدف ساخت ̃𝑢 از روی 𝑢 به گونه ای است که ̃𝑢 ‪ 𝑠 = 𝐻 −1‬نرم کوچکتری از حالت‬
‫اصلی یعنی 𝑢 ‪ 𝑠 = 𝐻 −1‬داشته باشد‪ ،‬ولی ورودیهای ̃𝑢 همچنان به صورت تکی قابل کدگشایی و‬
‫آشکارسازی در سمت گیرنده باشند‪.‬‬

‫دقت شود که‪ ،‬در حالت کلی نمیتوان داده ارسالی را به صورت دل بخواه به هر بردار مختلط خواسته شده‬
‫تغییر داد‪ ،‬چرا که به دلیل نداشتن اطالعات این تغییرات در سمت گیرنده مشکالتی برای کدگشایی به وجود‬
‫میآید‪ .‬از اینرو برای این کار از ایدهی پیشکدینگ ‪ TH‬استفاده میکنیم که در آن هر المان موجود در 𝑢 به‬
‫اندازه یک عدد صحیح آشفته سازی پیدا کند که در ساده ترین حالت خواهیم داشت ‪:‬‬

‫𝑙𝜏 ‪𝑢̃ = 𝑢 +‬‬ ‫)‪(8‬‬


‫که 𝜏 یک عدد صحیح مثبت و 𝑙 یک بردار مختلط 𝑘 بعدی به صورت 𝑏𝑖 ‪ 𝑎 +‬است که 𝑎 و 𝑏 خود اعداد‬
‫صحیحی هستند‪.‬‬

‫درنتیجه با این آشفته سازی داده شده سیگنال ارسالی برابر خواهد بود با ‪:‬‬
‫‪1‬‬
‫=𝑥‬ ‫̃𝑢 ‪𝐻−1‬‬ ‫)‪(9‬‬
‫𝑝𝑣𝛾√‬
‫که } ‪ 𝛾𝑣𝑝 = ‖𝑠‖2 = 𝐸{‖𝐻−1 (𝑢 − 𝜏𝑙)‖2‬است‪ .‬دقت شود که برای اجرای این کار باید اطالعات‬
‫کانال در سمت فرستنده مشخص باشد‪ ،‬یعنی داشتن ‪ CSIT‬در ادامه به سایر فرضیات مهم و ضروری در این‬
‫تکنیک میپردازیم‪.‬‬

‫در انتخاب مقدار 𝜏‪ ،‬باید آن را به اندازهای بزرگ انتخاب کنیم که گیرنده بتواند با استفاده از تابع مدوله زیر‪،‬‬
‫اثر آن را حذف کند‪:‬‬

‫𝜏‬
‫‪𝑦+‬‬
‫⌊ ‪𝑓𝜏 (𝑦) = 𝑦 −‬‬ ‫𝜏 ⌋‪2‬‬ ‫)‪(10‬‬
‫𝜏‬

‫دقت شود که تابع باال برای مقادیر حقیقی و موهومی ‪ y‬به صورت جدا اجرا میشود‪ .‬در ادامه در مورد انتخاب‬
‫𝜏 بیشتر توضیح داده میشود‪.‬‬

‫این نکته شایان توجه است که برخالف روش ‪ ،MMSE‬محاسبه 𝑝𝑣𝛾 یک فرم بسته ندارد چرا که میبینیم‬
‫انتخاب بردار 𝑙 از فضای محدودی انجام نمیپذیرد و در نتیجه در حالت کلی تعداد نامتنهای جست جو باید‬
‫انجام شود‪ .‬ولی میتوان کران پایینی مانند زیر برای 𝑝𝑣𝛾 ارائه کرد‪:‬‬
‫‪1‬‬
‫‪𝐾 Γ(𝐾 +‬‬ ‫)‪1‬‬ ‫𝐾‬ ‫‪1‬‬
‫≥ 𝑝𝑣𝛾‬ ‫𝐾) 𝐻𝐻𝐻(‪det‬‬ ‫)‪(11‬‬
‫𝜋 )‪(𝐾 + 1‬‬
‫که ‪ Γ‬تابع گاما است‪.‬‬

‫حال پس از تغییر سیگنال ارسالی به 𝑥‪ ،‬سیگنال دریافتی در سمت گیرندهها برابر میشود با ‪:‬‬

‫‪1‬‬ ‫‪1‬‬
‫𝐻 = 𝑍 ‪𝑦 = 𝐻𝑥 +‬‬ ‫= 𝑍 ‪𝐻−1 𝑢̃ +‬‬ ‫𝑍 ‪𝑢̃ +‬‬ ‫)‪(12‬‬
‫𝑝𝑣𝛾√‬ ‫𝑝𝑣𝛾√‬
‫‪1‬‬
‫= 𝑘𝑦‬ ‫𝑘𝑍 ‪𝑢̃𝑘 +‬‬ ‫)‪(13‬‬
‫𝑝𝑣𝛾√‬
‫سپس گیرنده با استفاده از رابطه 𝑘𝑢 = ) 𝑘𝑙𝜏 ‪ 𝑓𝜏 (𝑦𝑘 ) = 𝑓𝜏 (𝑢𝑘 +‬آشفته سازی داده شده را حذف کرده‬
‫و داده های اصلی را آشکار سازی میکند‪.‬‬
‫نحوه انتخاب پارامترهای 𝒍 و 𝝉 ‪:‬‬

‫همانطور که گفتیم هدف اصلی در تکنیک آشفته سازی برداری ارسال با مصرف کمترین مقدار انرژی ممکن‬
‫است یعنی بردار 𝑙 را طوری انتخاب کنیم که مقدار ‪ ‖𝑠‖2‬کمینه شود‪ .‬از این رو برای انتخاب 𝑙 باید معادله‬
‫زیر را حل کنیم ‪:‬‬

‫‪𝑙 = arg min‬‬


‫‪′‬‬
‫‪‖𝑠‖2 = arg min‬‬
‫‪′‬‬
‫)𝑠 𝐻 𝑠(‬
‫𝑙‬ ‫𝑙‬
‫‪= arg min‬‬
‫‪′‬‬
‫]) ‪[(𝑢 + 𝜏𝑙 ′ )𝐻 (𝐻𝐻 )−1 (𝐻)−1 (𝑢 + 𝜏𝑙 ′‬‬
‫𝑙‬
‫‪= arg min‬‬
‫‪′‬‬
‫]) ‪[(𝑢 + 𝜏𝑙 ′ )𝐻 (𝐻𝐻𝐻 )−1 (𝑢 + 𝜏𝑙 ′‬‬ ‫)‪(14‬‬
‫𝑙‬

‫در حالت کلی این یک مساله حداقل فاصله مربعات لتیس 𝐾 بعدی است که حل دقیق و کامل آن یک مساله‬
‫𝑑𝑟𝑎𝐻 ‪ 𝑁𝑃 −‬است‪ .‬از این رو همانطوری که پیشتر نیز اشاره شد‪ ،‬برای حل آن پس از گذاشتن شروطی‬
‫از روشهای مختلفی مانند کدگشایی کروی استفاده میشود‪.‬‬

‫عدد ‪ 𝜏 > 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‬را به صورت زیر‬
‫بازنویسی کنیم ‪:‬‬
‫𝐾‬

‫=𝛾‬ ‫‪‖𝑠‖2‬‬ ‫‪= ∑ 𝜇𝑘 𝛿𝑘2‬‬ ‫)‪(18‬‬


‫‪𝑘=1‬‬
‫‪1‬‬
‫= 𝑘𝜇 و 𝑘̃𝑢 ∗𝑘𝑞 = 𝑘𝛿 و 𝑘𝑞 نیز ستون ‪ k‬ام ماتریس 𝑄 است‪ .‬با فرض افزایشی بودن مقادیر ویژه‬ ‫که‬
‫𝑘𝜆‬
‫ماتریس یعنی 𝐾𝜇 > ⋯ > ‪ ،𝜇1 > 𝜇2‬الگوریتم آشفته سازی برداری معادله (‪ )11‬را روی مقادیر مختلف‬
‫̃𝑢 با فرض صحیح بودن 𝑙 حل میکند‪ .‬همچنین دقت شود که پارامتر 𝜏 بزرگ انتخاب میشود تا هیچ پارامتر‬
‫𝑙𝜏 ‪ 𝑢̃ = 𝑢 +‬معادل صفر نشود‪ .‬از آنجایی که محدودیتی روی مقدار نرم 𝑙 وجود ندارد‪ ،‬تعداد انتخابهای‬
‫نقاط ̃𝑢 تشکیل یک لتیس نامتناهی میدهند‪.‬‬

‫حال با تعاریف ‪:‬‬

‫‪1‬‬
‫‪𝑐 2 = ( )𝐸‖𝑢̃ ‖2‬‬ ‫)‪(19‬‬
‫𝐾‬
‫𝐾‬ ‫𝐾‪1/‬‬
‫‪𝛿𝑘2‬‬
‫) ‪𝑣 = 𝐸 (∏ 2‬‬ ‫)‪(20‬‬
‫𝑐‬
‫‪𝑘=1‬‬

‫که امید ریاضی روی 𝑢 و 𝑄 است‪ .‬همچنین بر اساس یک اصل تجربی فرض میکنیم که 𝑣 یک مقدار مثبا‬
‫و برای مقادیر 𝐾 به سمت بینهایت مستقل از 𝐾 است‪ .‬در نتیجه معادله ‪ 02‬امید ریاضی میانگین هندسی‬
‫مقادیر 𝐾𝛿 ‪ 𝛿1 , 𝛿2 , … ,‬است‪ .‬دقت شود دلیل ‪ 𝑣 > 0‬بودن این است که در انتخاب ̃𝑢 محدودیتهایی‬
‫وجود دارد (اگر ̃𝑢 نا مشروط انتخاب میشد‪ 𝑣 = 0 ،‬میشد) چرا که فرض شده است مقادیر آشفته سازی‬
‫دهنده در ̃𝑢 صحیح هستند‪.‬‬

‫𝐾∑ برقرار بوده و‬ ‫‪2‬‬


‫همچنین از آنجایی که ستونهای ماتریس 𝑄 اورتونرمال هستند رابطه ‪̃ ‖2‬‬
‫𝑢‖ = 𝑘𝛿 ‪𝑘=1‬‬

‫در نتیجه رابطه (‪ )11‬به صورت زیر قابل بازنویسی است‪:‬‬


‫𝐾‬
‫‪1‬‬
‫‪𝑐 2 = ( )𝐸 ∑ 𝛿𝑘2‬‬ ‫)‪(21‬‬
‫𝐾‬
‫‪𝑘=1‬‬

‫که میتوان گفت تقریبا مستقل از ‪ K‬است (دقت شود ‪ K‬بزرگ فرض شده است)‪ .‬حال با استفاده از نابرابری‬
‫هندسی داریم ‪:‬‬

‫𝐾‬ ‫𝐾‬ ‫𝐾‪1/‬‬ ‫𝐾‬ ‫𝐾‪1/‬‬

‫) 𝑘𝜇 ∏([ 𝐸𝐾 ≥ ‪𝐸𝛾 = 𝐸 ∑ 𝜇𝑘 𝛿𝑘2‬‬ ‫) ‪(∏ 𝛿𝑘2‬‬ ‫]‬ ‫)‪(22‬‬


‫‪𝑘=1‬‬ ‫‪𝑘=1‬‬ ‫‪𝑘=1‬‬

‫𝐾∏(𝐸 = ‪ .𝑣𝑐 2‬در نتیجه رابطه‬ ‫𝐾‪2 1/‬‬


‫) 𝑘𝛿 ‪𝑘=1‬‬ ‫𝐾∏(𝐾 ‪ lim‬و‬
‫) 𝑘𝜇 ‪𝑘=1‬‬
‫𝐾‪1/‬‬
‫و همچنین میدانیم که 𝑒 =‬
‫∞→𝐾‬
‫‪ 00‬نتیجه میدهد که ‪:‬‬

‫‪𝐸‖𝑢̃ ‖2‬‬
‫𝑣𝑒 = ‪𝐸𝛾 ≥ 𝑒𝑣𝑐 2‬‬ ‫)‪(23‬‬
‫𝐾‬
‫که برابری برای حالت زیر رخ میدهد‪:‬‬
‫‪𝑒𝑣𝑐 2‬‬
‫= ‪𝐸𝜇1 𝛿12 = ⋯ = 𝐸𝜇𝑘 𝛿𝑘2‬‬ ‫)‪(24‬‬
‫𝐾‬
‫این معادله به ما میگوید که یک راه برای کمینه سازی 𝛾𝐸 این است که ̃𝑢 را با نسبت عکس هر مقدار ویژه‪،‬‬
‫به سمت همان مقدار ویژه هدایت کنیم‪.‬‬

‫در حالت کلی میتوان نتیجه گرفت که مینیمم سازی رابطه ‪ 11‬منجر به تولید ̃𝑢 ای میشود که به طور متوسط‬
‫با نسبت عکس هر مقدار ویژه ماتریس ‪ (𝐻𝐻𝐻 )−1‬و در جهت آن مقدار ویژه جهت گیری شده است‪ .‬مقدار‬
‫𝛾 نتیجه گیری شده از این روش تقریبا کران پایین رابطه ‪ 02‬و تقریبا مستقل از 𝐾 است که بهبود بسیار زیادی‬
‫نسبت به حالت وارون کانال خالی حاصل میشود‪.‬‬

‫آشفته سازی برداری مرتب شده و نحوه عملکرد گیرندهها برای کد گشایی‪:‬‬

‫در اینجا هدف تلفیق روش وارون کانال مرتب شده و آشفته سازی برداری با هم به گونهای است که 𝛾 را‬
‫بیش از حدی که هر کدوم از این دو روش به تنهایی کاهش میدهند‪ ،‬کاهش دهیم‪ .‬در اینجا تابع حداقل‬
‫سازی روی معادله زیر انجام میشود‪:‬‬

‫‪𝑙 = arg min‬‬


‫‪′‬‬
‫‪‖𝐻𝐻 (𝐻𝐻𝐻 + 𝛼𝐼𝑘 )−1 (𝑢 + 𝜏𝑙 ′ )‖2‬‬ ‫)‪(25‬‬
‫𝑙‬

‫مشابه روش ‪ MMSE‬مقدار 𝛼 با هدف ماکزیمم سازی ‪ SINR‬انتخاب میشود‪ .‬مثال برای حالت = 𝐾‬
‫‪1‬‬ ‫‪1‬‬
‫= 𝑡𝑝𝑜𝛼 بدست میآید‪ .‬در این حالت سیگنال ارسالی برابر است با ‪:‬‬ ‫‪,‬‬ ‫‪ 4 , 10‬مقادیر‬
‫𝜌‪5‬‬ ‫𝜌‪10‬‬

‫𝐻 ‪1‬‬
‫=𝑥‬ ‫)𝑙𝜏 ‪𝐻 (𝐻𝐻𝐻 + 𝛼𝐼)−1 (𝑢 +‬‬ ‫)‪(26‬‬
‫𝛾√‬
‫همانطور که گفته شد گیرنده مقدار 𝜏 را میداند ولی مقدار 𝑙 را نه‪ .‬بنابراین 𝐾 کاربر گیرنده بردار زیر را‬
‫دریافت میکنند ‪:‬‬
‫𝐻 ‪1‬‬
‫𝐻 = 𝑍 ‪𝑏 = 𝐻𝑥 +‬‬ ‫𝑍 ‪𝐻 (𝐻𝐻𝐻 + 𝛼𝐼)−1 (𝑢 + 𝜏𝑙) +‬‬
‫√‬ ‫𝛾‬
‫‪1‬‬
‫=‬ ‫𝑍 ‪𝐻𝐻𝐻 (𝐻−𝐻 𝐻−1 + (𝛼𝐼)−1 )(𝑢 + 𝜏𝑙) +‬‬
‫√‬ ‫𝛾‬
‫‪1‬‬ ‫‪1‬‬
‫=‬ ‫𝑍 ‪(𝐼 + 𝐻𝐻𝐻 ) (𝑢 + 𝜏𝑙) +‬‬
‫𝛾√‬ ‫𝛼‬
‫‪1‬‬ ‫‪1‬‬
‫=‬ ‫𝑍 ‪(𝑢 + 𝜏𝑙) + 𝐻𝐻𝐻 (𝑢 + 𝜏𝑙) +‬‬ ‫)‪(27‬‬
‫𝛾√‬ ‫𝛼‬
‫‪1‬‬
‫= 𝑘𝑦‬ ‫‪(𝑢𝑘 + 𝜏𝑙𝑘 ) + 𝑍𝑘′‬‬ ‫)‪(28‬‬
‫√‬ ‫𝛾‬
‫که مقدار ‪ 𝑍𝑘′‬شامل نویز و تداخل بقیه کاربران است که به دلیل وجود 𝛼 به وجود آمده است‪ .‬سپس هر کاربر‬
‫گیرنده این مقدار دریافتی را از تابع مدوله گذر میدهد تا اثر 𝑘𝑙 را خنثی کند و سپس نتیجه بدست آمده را‬
‫کدگشایی میکند تا به مقدار داده اصلی 𝑘𝑢 برسد‪.‬‬

‫تا این قسمت در خصوص شباهتهای روش آشفته سازی برداری و کدینگ کروی مختصرا توضیح داده شد‪.‬‬
‫در ادامه قصد داریم تا شباهات و تفاوتهای این دو روش را به طور دقیقتر توضیح دهیم‪.‬‬

‫تفاوت و شباهت با روش کدگشایی کروی‪:‬‬

‫همانطوری که گفته شد هدف اصلی در تکنیک آشفته سازی برداری تغییر داده ارسالی به منظور کاهش انرژی‬
‫ارسالی است یا به عبارتی پیدا کردن مقادیر 𝑙𝜏 در عبارت 𝑙𝜏 ‪ 𝑢̃ = 𝑢 +‬به نحوی که ‪ ‖𝑠‖2‬مینیمم شود‪.‬‬
‫همانطوری که گفته شد مقدار 𝜏 وابسته به مدوالسیون است و ربطی به مینیمم سازی ندارد‪ .‬از این رو هدف‬
‫این روش در واقع پیدا کردن یک بردار بهینه ساز 𝑙 با فرض دانستن ماتریس کانال 𝐻 و بردار داده 𝑢 است‪.‬‬
‫یا به عبارتی ‪:‬‬

‫‪𝑙 = arg min‬‬


‫‪′‬‬
‫]) ‪[(𝑢 + 𝜏𝑙 ′ )𝐻 (𝐻𝐻𝐻 )−1 (𝑢 + 𝜏𝑙 ′‬‬ ‫)‪(29‬‬
‫𝑙‬

‫همانطوری که گفته شد حل این مینیمم سازی چندین تفاوت اصلی و پایهای با روشهای آشکار سازی ساده‬
‫دارد که مهمترین تفاوت آن در این است که فضای جستجو برای بردار 𝑙 بینهایت است‪ .‬به عبارتی دیگر کلیت‬
‫آشکار سازی در روشهای پیشین به این صورت است که خروجی به ازای تمامی مقادیر مختلف ورودی‬
‫بررسی میگردد و بردار ورودیای که منجر به بیشترین شباهت به بردار خروجی باشد به عنوان داده اصلی‬
‫آشکار سازی میگردد‪ .‬ولی با توجه به نامتناهی بودن فضای جستجو برای 𝑙 در روش آشفته سازی برداری‬
‫این عمل قابل اجرا نیست‪ .‬راه کاری که ارائه میشود استفاده از دیکدینگ کروی است‪.‬‬

‫شکل ‪ 3‬شمای کلی کدگشایی کروی‬

‫کلیت روش کدینگ و دیکدینگ کروی به این صورت است که ابتدا یک لتیس انتخاب و ساخته میشود‪.‬‬
‫سپس دادههای مساله روی این نقاط لتیس نگاشت میشوند (به عبارتی نقاط مدوالسیون‪ ،‬همان نقاط لتیس‬
‫فرض میشوند)‪ .‬حال پس از انجام ارسال و عبور داده ارسالی از کانال فیدینگ و جمع شدنش با نویز‪ ،‬دادهای‬
‫مانند 𝑥 دریافت میشود‪ .‬در سمت گیرنده سعی میشود که نزدیک ترین نقطه لتیس به مقدار دریافتی یعنی‬
‫𝑥 را پیدا و آن را به عنوان داده ارسال شده آشکار سازی کند‪.‬‬

‫نحوه جست جو برای پیدا کردن نزدیک ترین نقطه لتیس به داده دریافتی در این روش به این صورت است‬
‫که یک کره با مرکزیت داده دریافتی یعنی 𝑥 و شعاع مناسب به شرایط دلخواهمان انتخاب میشود و فاصلهی‬
‫تمامی نقاط لتیس موجود در آن کره با 𝑥 سنجیده شده و نقطهای که کمترین فاصله را داشته باشد‪ ،‬به عنوان‬
‫نقطه ارسالی آشکار سازی میگردد‪ .‬البته دقت شود که سنجیدن فاصله از نقاط لتیس از حل مساله کوچکترین‬
‫عدد صحیح مربع لتیس بدست میآید‪ .‬به عبارتی هدف پیدا کردن بردار (نقاط) لتیس ‪ 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‬است‪ .‬همچنین برای انتخاب شعاع کره از‬
‫توزیع کای اسکوئر درجه دو استفاده میشود‪ .‬دقت شود که تعمیم کد برای کانال های مختلط و یا مدوالسیون‪-‬‬
‫های مختلف کار پیچیدهای نیست و به سادگی قابل اجرا است‪.‬‬

‫همانطوری که پیشتر اشاره شد برای محاسبهی 𝑙 باید عبارت زیر مینیمم شود‪.‬‬

‫‪𝛾 = ‖𝐻−1 (𝑢̃)‖2 = ‖𝐻 −1 𝑢 + 𝐻−1 𝜏𝑙)‖2‬‬ ‫)‪(30‬‬


‫که این مشابه یک مساله کدگشایی کروی است‪ .‬چرا که در کدگشایی کروی مساله مینیمم سازی به صورت‬
‫‪ ‖𝑥 + 𝐻𝑠‖2‬است که ‪ x‬داده دریافت شده در سمت گیرنده به همراه نویز و ‪ s‬نزدیک ترین نقطه لتیس به‬
‫‪ x‬است‪ .‬از این رو روال نوشتن کد در این روش‪ ،‬بسیار مشابه به روش کد گشایی کروی است با این تفاوت‬
‫که لتیس مورد نظر 𝜏 ‪ 𝐻−1‬است و به جای داده دریافتی با نویز‪ ،‬مقدار 𝑢 ‪ 𝐻−1‬قرار میگیرد‪.‬‬
‫ ساخته‬pam ‫اساس شبیهسازیها به این صورت است که ابتدا یک بردار تصادفی 𝑢 با استفاده از مدوالسیون‬
‫𝐻 ساخته میشود و پس از آن سعی‬−1 𝑢 ‫ بردار‬،‫ در ادامه پس از تولید یک ماتریس کانال تصادفی‬.‫میشود‬
.‫𝐻 پیدا شود‬−1 𝜏 ‫𝐻 با فرض دانستن لتیس‬−1 𝑢 ‫میشود تا نزدیک ترین نقطه لتیس به بردار‬

% MIMO Vector Perturbation

clear all
close all
clc
Nt = 10; % number of transmit antennas
Nr = 10; % number of receive antennas
K = 10;

SNR_dB = 30; % SK per bit (dB)


epsilon = 0.0001; % for choosing radius
num_frames = 10; % simulation runs
SNR = 10^(0.1*SNR_dB);
d1_2 = chi2inv(1-epsilon,K); % radius of the sphere

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;

end % for switch


end % for while
end

% show the following parameters in command window

u_tilda=u+tau*l
‫برای نمونه چندین بردار را بدست میآوریم‪:‬‬

‫شکل ‪ 4‬نمونه ای از اجرای کد و بدست آوردن بردار مطلوب ‪l‬‬

‫شکل ‪ 5‬نمونه ای از اجرای کد و بدست آوردن بردار مطلوب ‪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.

You might also like