MIMO-NOMA系统MATLAB仿真实现

  非正交多址接入(NOMA)技术可以打破传统的正交多址一个基本资源块由单用户独占的限制,通过在时域和频域的基础上开辟新的功率域维度,在相同的时频资源上通过功率复用技术允许同一个时频资源块由多个用户共享,有效提升了用户接入量。MIMO 技术通过对基站和接收端用户配置多根天线,在不增加带宽和发射功率的前提下,利用空间上提供的复用增益与分集增益可以进一步提升系统容量以及频谱效率。

NOMA系统原理

  NOMA 技术最大的一个突破是在现有的时域和频域资源的基础上开辟出一个新的维度——功率域,在相同的时频资源上通过功率复用技术在同一资源块上叠加多个用户,然后接收端根据不同用户的功率差异,一般采用串行干扰消除技术对信号进行检测重构。由于NOMA在发送端主动引入干扰,因此为了实现信号的正确检测,接收端接收机的复杂度会有提升,在一定程度上可以认为NOMA 是一种以牺牲接收机的复杂度为代价换取性能的技术。

NOMA 的基本原理

  NOMA 的核心思想是在发送端主动引入干扰,并在接收端采用多用户检测算法对其进行消除,可以使用串行干扰SIC 或并行干扰消除(Parallel Interference Canceller, PIC)技术加以检测,一般采用串行干扰消除SIC 技术。
  NOMA 可以看成是一种拥有更高维度的多址方式。NOMA 在现有的时域和频域基础上引入新的维度——功率域,在相同的时频资源上通过功率复用技术给不同的用户分配不同的功率使得同一时频资源上可以容纳多个用户,叠加的多个用户采用OFDMA 调制以后进行发送,接收端也是通过不同用户功率之间的差异性进行多用户信号的正确接收。可以发现NOMA 主要是依靠功率维度对叠加的多用户加以区分的,而在时频资源的划分上与传统的OFDMA 类似,因此NOMA 可以看成是OFDMA 的一种演变。为了更好的说明这点,下面结合图示对NOMA 和OFDMA 的资源分配进行说明和比较。
  下图1给出了OFDMA 技术的资源分配图示。其中横轴和纵轴分别代表频域和时域,频域上的一个子载波和时域上的一个OFDM 符号共同组成了OFDMA 的一个最小资源单元。可以看出OFDMA 的每个资源单元均被单用户独占,并没有有效开发功率域。
OFDMA技术的资源分配图
图1. OFDMA技术的资源分配图
  图2 给出了NOMA 的资源分布情况。与OFDMA 相比,NOMA 最大的不同就是开发了功率域,时域上的一个OFDM 符号和频域上的一个子载波加上功率域共同构成NOMA 的一个基本资源单元,图中一个时频资源块上叠加的不同颜色的立方体代表NOMA 在该资源单元上叠加的用户数。也就是说与OFDMA 相比NOMA 在一个时频资源块上由单用户独占变成了多用户共享,有效提升了用户接入量。
NOMA 技术的资源分配图
图2. NOMA 技术的资源分配图

NOMA 中的SIC技术

  同一资源块上叠加的多个用户彼此之间会形成干扰,随着叠加用户数量的增加这种干扰也会变得更严重。因此,为了消除这些干扰,NOMA对接收机的性能提出了更高的要求。NOMA 接收端最常用的一种接收机——SIC 接收机,其原理如下所述。
  NOMA 中的用户之间的干扰可以看成是一种伪随机序列,可以利用多用户检测算法完成干扰的消除,而SIC 技术即串行干扰抵消技术,就是一种多用户检测技术。SIC 接收机在接收前会对用户的功率或信干比进行降序排序,然后基于该顺序对多用户进行分级检测,每一级检测一个用户的信号并将该用户对其他用户的干扰从总的叠加信号中减去,如此循环下去直到检测出所有用户的信号。下面结合图示说明SIC 接收机的工作原理。
SIC接收机原理图3. SIC 接收机原理
  假设一共有 n n n 个叠加的多用户,接收端收到的是叠加信号,这个叠加信号包含了叠加用户之间的干扰和加性高斯白噪声干扰。首先对用户的
功率按降序进行排序,假设排序以后的顺序为{ u s e r 1 user_1 user1, u s e r 2 user_2 user2, u s e r 3 user_3 user3,… u s e r n user_n usern},其中 u s e r i user_i useri 代表第 i i i 个用户,且第 i i i 个用户的信号为 S i S_i Si。功率越大的用户越容易被接收机识别,由于用户1 的功率最大,那么接收机首先检测到用户1 的信号并对其译码重构恢复出 S 1 S_1 S1,在下一级接收时,其他用户会把用户1 的信号 S 1 S_1 S1 当作干扰从叠加信号中减去,消除用户1 对其他用户的干扰,这样一级一级的重复下去,直到接收完所有用户信号。
  从SIC 接收机的工作过程可以看出,其对叠加的信号采用的是分级接收,有多少个用户,接收机就会分成多少级,这可能会带来一些延迟。并且功率较低的用户会后进行解码,在对用户i 进行解码接收时,用户i 会把它前一级的信号Si-1 当作干扰并从叠加信号中减去,因此前一级用户信号能否正确接收会对后面用户信号的接收造成影响。

NOMA 的容量分析

  为了简化问题分析,本小节我们考虑NOMA下行链路中一种最简单的两用户NOMA 场景。如下图4 给出了 NOMA 下行链路中一种最基本的两用户NOMA 系统模型。在该模型中假设基站位于小区的中心,接收端的两个用户都配备单天线,并且采用最常用的SIC 接收机对信号进行解码重构。为了提高接收机的检测性能,一般基站在发射信号之前要对小区内的用户进行配对,使叠加的两个用户具有较大的功率差。一般地,距离基站较远的用户信道条件往往较差,我们需要给其分配更多的功率以保证该用户在接收端能够正确的解码,这种用户叫做远端用户;相应地距离基站较近的用户信道条件较好,只需给其分配较小的功率,这种用户叫做近端用户。这里我们采用这种远近配对的方法,其中用户1 为近端用户,用户2 为远端用户。
两用户NOMA 系统下行链路模型
图4. 两用户NOMA 系统下行链路模型
  假设用户1 和用户2 发送的信号分别为 x 1 x_1 x1 x 2 x_2 x2,且设信道带宽为1Hz 那么基站处发送的叠加信号 S S S 可表示为:
x = P 1 x 1 + P 2 x 2 x = \sqrt{P_1} x_1 + \sqrt{P_2} x_2 x=P1 x1+P2 x2
其中, P i ( i = 1 , 2 ) P_i(i=1,2) Pi(i=1,2)表示基站给第 i i i 个用户分配的功率。
  基站将叠加的信号发射出去,经过信道到达接收端,则接收端用户i 收到的叠加信号 y i y_i yi 可表示为:
y i = h i x + w i y_i = h_i x + w_i yi=hix+wi
其中, h i h_i hi表示用户 i i i与基站之间的信道增益, w i ∼ N ( 0 , δ i 2 ) w_i \sim N(0, \delta_i^2) wiN(0,δi2) 代表用户 i i i 在传输过程中受到的干扰,一般假设服从均值为 0 0 0,方差为 δ i 2 \delta_i^2 δi2的高斯分布。
  然后,接收端对接收到的叠加信号进行干扰消除,从而重构出各用户信号。采用SIC 接收机进行接收,接收机根据信号功率的降序或用户信干比的降序顺序依次进行接收。由于用户1 为近端用户,用户2 为远端用户,则用户2 分配到的功率更大,接收机先对用户2 的信号进行解码重构,此时由于用户1 还未解码,用户2 仍然会受到用户1对其造成的干扰;而在用户1 进行接收时用户2 的信号已正确重构,则用户1 不会受到用户2 对其造成的干扰。基于上述分析可以得到2 个用户经过SIC 接收以后的吞吐量:
R 1 N O M A = l o g 2 ( 1 + P 1 N O M A ∣ h 1 ∣ 2 N 0 , 1 ) ( b i t / s / H z ) R_1^{NOMA} = log_2(1+\frac{P_1^{NOMA}|h_1|^2}{N_{0,1}}) (bit/s/Hz) R1NOMA=log2(1+N0,1P1NOMAh12)(bit/s/Hz)
R 2 N O M A = l o g 2 ( 1 + P 2 N O M A ∣ h 2 ∣ 2 P 1 N O M A ∣ h 1 ∣ 2 + N 0 , 2 ) R_2^{NOMA} = log_2(1+\frac{P_2^{NOMA}|h_2|^2}{P_1^{NOMA}|h_1|^2 + N_{0,2}}) R2NOMA=log2(1+P1NOMAh12+N0,2P2NOMAh22)

MIMO-NOMA 系统简介

  简单来说MIMO-NOMA 就是指将MIMO 与NOMA 两者相结合,充分发挥各自优势进一步提升通信质量的一项技术。

MIMO 技术

  多天线技术在更多情况下也被叫做 MIMO(多入多出)技术,从广义上讲还包括SISO(单入单出)、MISO(多入单出)、SIMO(单入多出)。MIMO 技术通常在收发两端都配置多根天线,对数据流预先作一定的处理后送至每一根发射天线,然后同一路数据流以不同的路径到达接收端,充分利用了空间资源,由于多路数据流占用相同的频谱资源,故 MIMO 可以在不增加带宽的情况下提高系统容量和频谱利用率。
MIMO 信道模型
图 5 MIMO 信道模型
  图5给出了MIMO的信道模型,其中发射端和接收端的天线数分别 T x T_x Tx R x R_x Rx, 假设发射向量为 s = [ s 1 , s 2 , ⋯ , s T x ] s = [s_1,s_2,\cdots,s_{T_x}] s=[s1,s2,,sTx],接收向量 y = [ y 1 , y 2 , ⋯ , y R x ] y = [y_1,y_2,\cdots,y_{R_x}] y=[y1,y2,,yRx],信道矩阵 H = [ h i j ] R x × T x H = [h_{ij}]_{R_x\times T_x} H=[hij]Rx×Tx h i j h_{ij} hij代表第 i i i 根发射天线与第 j j j 根天线之间的信道增益。接收信号 y y y 表示为:
y = H s + N y = H s + N y=Hs+N

MIMO-NOMA 系统组成

  MIMO-NOMA 系统结合了NOMA 和MIMO 两种技术,在NOMA 开发的功率域基础上又开发出了空域,充分利用空间所提供的空间分集和空间复用增益,系统容量和频谱利用率得到进一步提升。其系统组成与传统的NOMA 系统有所区别。MIMO-NOMA 系统示意图
图 6 MIMO-NOMA 系统示意图

  上图6 给出了MIMO-NOMA 系统的示意图,假设小区内有N 对用户,并采用2 用户分簇的形式将用户分成N 个簇,实际场景中一个簇内可能容纳多个用户。系统从发射端到接收端的工作过程大致过程如下:首先将串行的数据流通过预处理转化成多个平行的数据流分别送给多根发射天线,该过程通常可以通过波束赋形、预编码技术实现;然后将小区内用户按照一定的标准合理的进行分簇,该过程可以减小簇间干扰有利于接收机的检测;然后对簇内的用户进行功率分配,簇内用户的功率分配与传统的NOMA 分配方法类似;最后将叠加的信号通过多天线发射出去,接收端采用SIC 接收机完成信号的检测。
   假设共分成 N N N个簇,每个簇中有 K K K个用户。基站端共M个AP。
(1)先将同一个簇内的 K K K个用户根据不同的功率叠加,即,第 n n n 个簇叠加的信号
x n = ∑ k = 1 K P n k x n k x_n = \sum_{k=1}^K\sqrt{P_{nk}}x_{nk} xn=k=1KPnk xnk
(2) 将所有簇的信号叠加发送经天线发送,即,第 m m m 个天线发送的信号
t m = ∑ n = 1 N h ^ m n k ∗ ∣ h ^ m n k ∣ x n t_m = \sum_{n=1}^N \frac{\hat{h}^*_{mnk}}{|\hat{h}_{mnk}|}x_n tm=n=1Nh^mnkh^mnkxn
其中, h ^ m n k \hat{h}_{mnk} h^mnk为第 m m m个天线到第 n n n个簇内第 k k k个用户经评估后的信道增益。
(3)第 n n n个簇内第 k k k个用户接收所有天线发送的信号,即,接收信号可表示为
y n k = ∑ m M h m n k t m + n n k = P n k c n k x n k + c n k ∑ k ′ = 1 , k ′ ≠ k K P n k ′ x n k ′ + ∑ n ′ = 1 , n ′ ≠ n N c n ′ k x n ′ + n n k \begin{align}y_{nk}= &\sum_{m}^{M}h_{mnk}t_m + n_{nk}\\ =& \sqrt{P_{nk}}c_{nk}x_{nk} + c_{nk}\sum_{k^{'}=1,k^{'}\neq k}^{K}\sqrt{P_{nk^{'}}}x_{nk^{'}} + \sum_{n^{'}=1,n^{'}\neq n}^{N}c_{n^{'}k}x_{n^{'}}+n_{nk} \end{align} ynk==mMhmnktm+nnkPnk cnkxnk+cnkk=1,k=kKPnk xnk+n=1,n=nNcnkxn+nnk
其中, c n k = ∑ m = 1 M h m n k h ^ m n k ∗ ∣ h ^ m n k ∣ c_{nk}=\sum_{m=1}^M h_{mnk}\frac{\hat{h}^*_{mnk}}{|\hat{h}_{mnk}|} cnk=m=1Mhmnkh^mnkh^mnk。上式(2)等式右边,第一项为期望信号,第二项为簇内干扰,第三项为簇间干扰,第四项为信道干扰。

MATLAB 对总的比特率(sum rate)的仿真

不分组
图 7 不分组
其中 WCG-SR NOMA Imperfect SIC 为 白噪声信道下,MIMO-NOMA 和不完美SIC接收机情况下 sum rate随用户数的变化曲线。
WCG-SR NOMA Perfect SIC 为 白噪声信道下,MIMO -NOMA和完美SIC接收机情况下 sum rate随用户数的变化曲线。
WCG-SR OMA 为白噪声信道下,MIMO OMA ,sum rate 随 用户数的变化曲线。
主要参考论文为《NOMA-Aided Cell-Free Massive MIMO Systems》。

此外,仿真内容还将用户数根据距离(或信道情况)进行分组,即,将AP分组,用户也进行分组,各组内的AP只服务组内用户。
分成4组
图 8 分成4组

4组,加如组间干扰
图 9 分成4组,且加入组间干扰。

详解和MATLAB代码参考MIMO-NOMAsum rate。参考论文NOMA-Aided Cell-Free Massive MIMO Systems

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/39588.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何进行无线网络渗透测试?

今天我们将继续深入探讨Kali Linux的应用,这次我们将重点介绍如何使用Kali Linux进行无线网络渗透测试。无线网络渗透测试是评估无线网络安全性的重要步骤,而Kali Linux作为一款专业的渗透测试发行版,提供了丰富的工具来帮助你进行这项任务。…

c++中const修饰成员函数的问题

问题引入&#xff1a; 看下面这一段代码&#xff1a; class Date { public:Date(int year, int month, int day){_year year;_month month;_day day;}void Print(){cout << "Print()" << endl;cout << "year:" << _year <&…

面试热题(全排列)

给定一个不含重复数字的整数数组 nums &#xff0c;返回其 所有可能的全排列 。可以 按任意顺序 返回答案。 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 先在这里说明一下排列和组合的区别? 组合&#xff1a;是指从一…

开源数据库Mysql_DBA运维实战 (名词解释)

SQL&#xff08;Structured Query Language 即结构化查询语言&#xff09; SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统&#xff0c;SQL语言由IBM开发。 SQL语言分类&#xff1a; DDL语句 数据库定义语言&#xff1a;数据库、表、视图、索引、存储过程…

Steam 灵感的游戏卡悬停效果

先看效果&#xff1a; 再看代码&#xff08;查看更多&#xff09;&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Steam 灵感的游戏卡悬停效果</title><style>* {margin: …

构建高效外卖系统平台:从需求到实现

随着科技的不断进步和人们生活节奏的加快&#xff0c;外卖成为了越来越多人的饮食选择。为了满足这一需求&#xff0c;开发一套高效的外卖系统平台变得尤为重要。本文将从需求分析开始&#xff0c;逐步引导您了解如何开发一套完整的外卖系统平台。 第一步&#xff1a;需求分析…

分类预测 | MATLAB实现EVO-CNN多输入分类预测

分类预测 | MATLAB实现EVO-CNN多输入分类预测 目录 分类预测 | MATLAB实现EVO-CNN多输入分类预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.MATLAB实现EVO-CNN多输入分类预测 2.代码说明&#xff1a;量谷优化卷积神经网络的数据分类预测&#xff1a;要求于Matlab …

【hadoop】windows上hadoop环境的搭建步骤

文章目录 前言基础环境下载hadoop安装包下载hadoop在windows中的依赖配置环境变量 Hadoop hdfs搭建创建hadfs数据目录修改JAVA依赖修改配置文件初始化hdfs namenode启动hdfs 前言 在大数据开发领域中&#xff0c;不得不说说传统经典的hadoop基础计算框架。一般我们都会将hadoo…

计算机视觉目标检测性能指标

目录 精确率&#xff08;Precision&#xff09;和召回率&#xff08;Recall&#xff09; F1分数&#xff08;F1 Score&#xff09; IoU&#xff08;Intersection over Union&#xff09; P-R曲线&#xff08;Precision-Recall Curve&#xff09;和 AP mAP&#xff08;mean…

Leetcode-每日一题【剑指 Offer 30. 包含min函数的栈】

题目 定义栈的数据结构&#xff0c;请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中&#xff0c;调用 min、push 及 pop 的时间复杂度都是 O(1)。 示例: MinStack minStack new MinStack(); minStack.push(-2); minStack.push(0); minStack.push(-3); minStack…

【mysql】事务的四种特性的理解

&#x1f307;个人主页&#xff1a;平凡的小苏 &#x1f4da;学习格言&#xff1a;命运给你一个低的起点&#xff0c;是想看你精彩的翻盘&#xff0c;而不是让你自甘堕落&#xff0c;脚下的路虽然难走&#xff0c;但我还能走&#xff0c;比起向阳而生&#xff0c;我更想尝试逆风…

Django实现音乐网站 ⑼

使用Python Django框架制作一个音乐网站&#xff0c; 本篇主要是后台对专辑、首页轮播图原有功能的基础上进行部分功能实现和显示优化。 目录 专辑功能优化 新增编辑 专辑语种改为下拉选项 添加单曲优化显示 新增单曲多选 更新歌手专辑数、专辑单曲数 获取歌手专辑数 保…

图像去雨、去雪、去雾论文学习记录

All_in_One_Bad_Weather_Removal_Using_Architectural_Search 这篇论文发表于CVPR2020&#xff0c;提出一种可以应对多种恶劣天气的去噪模型&#xff0c;可以同时进行去雨、去雪、去雾操作。但该部分代码似乎没有开源。 提出的问题&#xff1a; 当下的模型只能针对一种恶劣天气…

JDBC连接数据库(mysql)

准备jar包 官网下载即可&#xff0c;这里提供两个我下载过的jar包&#xff0c;供使用 链接&#xff1a;https://pan.baidu.com/s/1snikBD1kEBaaJnVktLvMdQ?pwdrwwq 提取码&#xff1a;rwwq eclipse导 jar包: 导入成功会有如下所示&#xff1a; ---------------------------…

基于DEM tif影像的插值平滑和tif纹理贴图构建方法

文章目录 基于CDT的无缝融合基于拓扑纠正的地上-地表的Bool运算融合 基于CDT的无缝融合 准备数据是一个10米分辨率的Tif影像&#xff0c;直接用于生成DEM会十分的不平滑。如下图所示&#xff0c;平滑前后的对比效果图差异&#xff1a; 基于ArcGIS的DEM平滑插值 等值线生成&…

GPT内功心法:搜索思维到GPT思维的转换

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

Linux6.38 Kubernetes 集群存储

文章目录 计算机系统5G云计算第三章 LINUX Kubernetes 集群存储一、emptyDir存储卷2.hostPath存储卷3.nfs共享存储卷4.PVC 和 PV 计算机系统 5G云计算 第三章 LINUX Kubernetes 集群存储 容器磁盘上的文件的生命周期是短暂的&#xff0c;这就使得在容器中运行重要应用时会出…

C# WPF 无焦点自动获取USB 二维码扫码枪内容,包含中文

C# WPF 无焦点自动获取USB 二维码扫码枪内容&#xff0c;包含中文 前言项目背景 需要预知的知识实现方案第一步 安装键盘钩子第二步 获取输入的值第3 步 解决中文乱码问题分析解决思路工具函数 结束 前言 USB接口的扫码枪基本就相当于一个电脑外设&#xff0c;等同于一个快速输…

Unity引擎使用InteriorCubeMap采样制作假室内效果

Unity引擎制作假室内效果 大家好&#xff0c;我是阿赵。   这次来介绍一种使用CubeMap做假室内效果的方式。这种技术名叫InteriorCubeMap&#xff0c;是UE引擎自带的节点效果。我这里是在Unity引擎里面的实现。 一、效果展示 这个假室内效果&#xff0c;要动态看才能看出效…

Vue基础

Vue基础 Vue应用 <!DOCTYPE html> <html> <head><meta charset"utf-8"><title></title><!-- 开发环境版本 --><script src"https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head&g…