MIMO-NOMA系统MATLAB仿真实现

news2025/2/24 16:09:13

  非正交多址接入(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.coloradmin.cn/o/870467.html

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

相关文章

树莓派使用 ENC28J60

前言 一些老的、Mini 的 ARM 开发板上没有预留网口,这样在调试升级内核或应用程序时很不方便。纵使有串口下载工具,但其速度也是慢地捉急。这种情况下,使用其它接口来扩展出一个网口无疑是一个比较好的方法。 ENC28J60 就是一个使用 SPI 接口…

软件测试基础篇——MySQL

MySQL 1、数据库技术概述 数据库database:存放和管理各种数据的仓库,操作的对象主要是【数据data】,科学的组织和存储数据,高效的获取和处理数据SQL:结构化查询语言,专为**关系型数据库而建立的操作语言&…

LabVIEW开发图像采集和基于颜色的隔离

LabVIEW开发图像采集和基于颜色的隔离 在当今的工业和工厂中,准确性和精度是决定特定行业生产力的两个重要关键点。为了优化生产力,各行各业正在从手动操作转向自动操作和控制。机器人技术在工业过程中的出现为人类提供了机械辅助。机器视觉在工业机器人…

LinuxC编程——线程的同步与互斥

目录 一、同步的概念二、同步机制2.1 信号量2.1.1基础概念2.1.2 函数接口2.1.3 例子 2.2 互斥锁2.2.1 几个概念2.2.2 函数接口2.2.3 练习 2.3 条件变量2.3.1 步骤2.3.2 函数2.3.3 练习 我们知道,一个进中的所有线程共享进程的资源,所以可以通过在进程中定…

【概念篇】文件概述

✅作者简介:大家好,我是小杨 📃个人主页:「小杨」的csdn博客 🐳希望大家多多支持🥰一起进步呀! 文件概述 1,文件的概念 狭义上的文件是计算机系统中用于存储和组织数据的一种数据存…

大华智慧园区综合管理平台文件上传漏洞复现(HW0day)

0x01 产品简介 “大华智慧园区综合管理平台”是一款综合管理平台,具备园区运营、资源调配和智能服务等功能。平台意在协助优化园区资源分配,满足多元化的管理需求,同时通过提供智能服务,增强使用体验。 0x02 漏洞概述 大华智慧园…

PowerShell 使用SqlScriptDOM对T-SQL做规则校验

对于数据项目来说,编写Sql是一项基本任务同时也是数量最多的代码。为了统一项目代码规范同时降低Code Review的成本,因此需要通过自动化的方式来进行规则校验。由于本人所在的项目以SQL Server数据库为基础,于是本人决定通过使用SqlScriptDom…

静态库和动态库制作

文章目录 前言一、静态库和动态库介绍1、静态库2、动态库 二、静态库的制作及使用1、准备好源码2、编译源码生成 .o 文件3、制作静态库4、使用静态库 三、动态库的制作及使用1、生成位置无关的 .o 文件2、制作动态库3、使用动态库4、指定动态库路径并使其生效 四、对比1、静态库…

初步制作做一个AI智能工具网站,持续更新

文章目录 介绍AI对话AI绘画AI音视频AI图片处理AI小工具体验 介绍 网页有五大部分:AI对话、AI绘画、AI音视频、AI 图片处理、AI小工具。 AI对话 AI对话是指人工智能技术在模拟人类对话交流方面的应用。通过使用自然语言处理和机器学习算法,AI对话系统可…

Flink CDC系列之:基于 Flink CDC 构建 MySQL 和 Postgres 的 Streaming ETL

Flink CDC系列之:基于 Flink CDC 构建 MySQL 和 Postgres 的 Streaming ETL 一、技术路线二、MySQL数据库建表三、PostgreSQL数据库建表四、在 Flink SQL CLI 中使用 Flink DDL 创建表五、关联订单数据并且将其写入 Elasticsearch 中六、Kibana查看商品和物流信息的…

基于Java+SpringBoot+Vue的书籍学习平台设计与实现(源码+LW+部署文档等)

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

Chrome

Chrome 简介下载 简介 Chrome 是由 Google 开发的一款流行的网络浏览器。它以其快速的性能、强大的功能和用户友好的界面而闻名,并且在全球范围内被广泛使用。Chrome 支持多种操作系统,包括 Windows、macOS、Linux 和移动平台。 Chrome官网: https://ww…

深度剖析堆栈指针

为什么打印root的值与&root->value的值是一样的呢 测试结果: *号一个变量到底取出来的是什么? 以前我写过一句话,就是说,如果看到一个*变量,那就是直逼这个变量所保存的内存地址,然后取出里面保存的…

Java负载均衡算法实现与原理分析(轮询、随机、哈希、加权、最小连接)

文章目录 一、负载均衡算法概述二、轮询(RoundRobin)算法1、概述2、Java实现轮询算法3、优缺点 三、随机(Random)算法1、概述2、Java实现随机算法 四、源地址哈希(Hash)算法1、概述2、Java实现地址哈希算法…

在Java中对XML的简单应用

XML 数据传输格式1 XML 概述1.1 什么是 XML1.2 XML 与 HTML 的主要差异1.3 XML 不是对 HTML 的替代 2 XML 语法2.1 基本语法2.2 快速入门2.3 组成部分2.3.1 文档声明格式属性 2.3.2 指令(了解):结合CSS2.3.3 元素2.3.4 属性**XML 元素 vs. 属…

c++ 学习系列 -- 智能指针

一 为什么引入智能指针?解决了什么问题? C 程序设计中使用堆内存是非常频繁的操作,堆内存的申请和释放都由程序员自己管理。但使用普通指针,容易造成内存泄露(忘记释放)、二次释放、程序发生异常时内存泄…

Springboot整合RabbitMq,详细步骤

Springboot整合RabbitMq,详细步骤 1 添加springboot-starter依赖2 添加连接配置3 在启动类上添加开启注解EnableRabbit4 创建RabbitMq的配置类,用于创建交换机,队列,绑定关系等基础信息。5 生产者推送消息6 消费者接收消息7 生产者…

闭环控制方法及其应用:优缺点、场景和未来发展

闭环控制是一种基本的控制方法,它通过对系统输出与期望值之间的误差进行反馈,从而调整系统输入,使系统输出更加接近期望值。闭环控制的主要目标是提高系统的稳定性、精确性和鲁棒性。在实际应用中,闭环控制有多种方法,…

开源代码分享(13)—整合本地电力市场与级联批发市场的投标策略(附matlab代码)

1.引言 1.1摘要 本地电力市场是在分配层面促进可再生能源的效率和使用的一种有前景的理念。然而,作为一个新概念,如何设计和将这些本地市场整合到现有市场结构中,并从中获得最大利润仍然不清楚。在本文中,我们提出了一个本地市场…

linux添加磁盘

一、linux虚拟机添加一块新的硬盘 四步: (1) (2)为硬盘进行分区 (3)初始化硬盘分区 (4)挂载 在虚拟机上添加一块硬盘 (1)、 虚拟机添加一块新的硬盘作为数据盘 (2) ls…