【大规模 MIMO 检测】基于ADMM的大型MU-MIMO无穷大范数检测研究(Matlab代码实现)

2023-09-18 14:48:30

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

针对大型多用户(MU)多输入多输出(MIMO)无线接收机,提出了一种新颖的数据检测算法和相应的VLSI设计。我们的算法称为ADMIN,执行基于乘法器(ADMM)的无穷大范数约束均衡的交替方向方法。ADMIN 是一种迭代算法,如果用户数量与基站 (BS) 中的天线数量相比较少,则其性能优于线性探测器。ADMIN 在第一次迭代中计算线性最小均方误差 (MMSE) 解。当BS天线数量与用户数量之间的比率相当大时就足够了。我们为基于 LDL 分解的软输出 ADMIN 开发了一种分时迭代 VLSI 架构。我们的架构实现了线性 MMSE 的 685.71 Mb/s,对于在 212 纳米 CMOS 技术中采用 38-QAM 的 16 用户系统,可实现 64.28 Mb/s。

大型(或大规模)多用户 (MU) 多输入多输出 (MIMO) 是第五代 (5G) 无线通信系统的关键技术,可处理数量级以上的数据流量。大规模MU-MIMO的想法是为基站(BS)配备大量天线元件,这些天线元件可以为同一频段的大量用户终端提供服务[1][2]。与传统的小规模MIMO无线系统相比,大规模MU-MIMO系统频谱效率的提高是以更高的计算复杂性为代价的。为了实现上行链路中的高速通信(用户与BS通信),最近提出了各种算法和VLSI架构[3]-[6];所有这些方法都使用线性最小均方误差(MMSE)均衡器的近似值。这些算法提供高吞吐量,但与基于精确反演的MMSE均衡器相比,会带来性能损失,特别是在用户数量与BS天线数量相当的系统中。卡斯塔涅达.最近提出了一种近似半定弛豫的基于数据检测器,称为TASER,在这种“对称”系统中实现了接近最大似然的性能。然而,TASER仅限于BPSK和QPSK调制[7]。

该文提出一种基于乘子交替方向法(ADMM)的数据检测算法和VLSI设计。我们的算法被称为基于ADMM的无穷大范数(简称ADMIN),并执行无穷大范数或盒约束均衡,如果BS天线数量与用户之间的比率较小(两个或更少),则线性探测器的性能将大大优于线性探测器。ADMIN 本质上是迭代的,并在第一次迭代中执行线性 MMSE 均衡。因此,对于BS天线数量比用户数量多一个数量级的系统,执行一次ADMIN迭代就足够了。我们提出了一种VLSI架构,用于基于LDL的软输出ADMIN,供16个用户将数据传输到16天线BS。该架构采用 28 nm CMOS 技术实现,在吞吐量、面积和硬件效率方面与 [16] 中唯一可用的 7 用户 ASIC 实现相比。

📚2 运行结果

部分代码:

%% ADMM-based infinity norm (ADMIN) detector
function [idxhat,bithat] = ADMIN(par,H,y,N0)

% -- preprocessing
% by setting beta to N0/par.Es we get the MMSE estimator in the first iteration
% this is pretty neat as this is a very good detector already
beta = N0/par.Es;%*3; % tweaking this one by 3 improved performance significantly
A = H'*H + beta*eye(par.MT);
L = chol(A,'lower');
yMF = H'*y;

% -- initialization
gamma = (1+sqrt(5))/2;%*2; %% tweaked with 2 to improve performance
alpha = max(real(par.symbols)); % symbol box
zhat = zeros(par.MT,1);
lambda = zeros(par.MT,1);

% -- ADMM loop
for iter=1:par.alg.maxiter
    xhat = (L')\(L\(yMF+beta*(zhat-lambda))); % step 1
    zhat = projinf(par,xhat+lambda,alpha); % step 2
    lambda = lambda-real(gamma*(zhat-xhat)); % step 3
    lambda = real(lambda);
end

% -- hard output detection
[~,idxhat] = min(abs(zhat*ones(1,length(par.symbols))-ones(par.MT,1)*par.symbols).^2,[],2);
bithat = par.bits(idxhat,:);

end


%% Optimized Coordinate Descent (OCD) BOX version
function [idxhat,bithat] = OCDBOX(par,H,y)

% -- initialization
[row, col] = size(H);
alpha = 0; % no regularization for BOX detector
beta = max(real(par.symbols));

% -- preprocessing

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

🌈4 Matlab代码实现

更多推荐

天猫商品详情数据采集

天猫商品详情数据采集方法有很多种,可以从商品详情页采集,也可以从PC端的ajax采集,也可以从开放平台的API采集。不同的来源有不同的数据结构,可以收集的信息也不同。天猫开放平台的API目前申请淘客API权限相对容易,淘客权限API能够收集到的信息非常少。如果从网页或者ajax采集,就要考虑采集的频率,容易触发反采集机

数学建模熵权法中信息熵与信息熵冗余度的理解

具体步骤:数学建模——熵权法-腾讯云开发者社区-腾讯云(tencent.com)灵感来源:信息熵越大,信息量到底是越大还是越小?-骚动的白米饭的回答-知乎https://www.zhihu.com/question/274997106/answer/1055696026信息熵在第二篇博文中有比较好的案例解读。我们在做A

Lua学习笔记:在Visual Studio中调试Lua源码和打断点

前言本篇在讲什么调试Lua源码本篇需要什么对Lua语法有简单认知依赖VisualStudio工具本篇的特色具有全流程的图文教学重实践,轻理论,快速上手提供全流程的源码内容★提高阅读体验★👉♠一级标题👈👉♥二级标题👈👉♣三级标题👈👉♦四级标题👈目录♠前言♠新建C++控制台应用♠下载Lua源码♠引入Lua源

ChatGPT追祖寻宗:GPT-2论文要点解读

论文地址:LanguageModelsareUnsupervisedMultitaskLearners上篇:GPT-1论文要点解读在上篇:GPT-1论文要点解读中我们介绍了GPT1论文中的相关要点内容,其实自GPT模型诞生以来,其核心模型架构基本没有太大的改变,都是一路坚持奉行着基于Transformer的单解码器结构

触摸芯片在小功率音箱中的应用

音箱的基本组成部分包括扬声器单元和放大器。扬声器单元是产生声音的核心部件,而放大器则负责放大电信号,使其能够驱动扬声器单元。当我们使用音箱播放音乐时,音频信号首先通过音源设备(如音乐播放器、电视、电脑等)发送到音箱。这个音频信号是以电信号的形式存在的,无法直接被我们听到。喇叭的音质完全取决于喇叭本身的好坏,而不是功率,

关于header in Cpp

ctype.h是一个headerinCpp,什么是header?在C++中,头文件(headerfile)是一种用于包含预定义函数、变量和声明的文件。头文件通常具有.h扩展名,并包含了用于在C++程序中使用的函数原型、常量定义、类声明等信息。头文件的主要目的是为了在不同的源代码文件之间共享代码和声明,以便在程序中能够正

uvm白皮书练习_ch2_ch221只有driver的验证平台之*2.2.1 最简单的验证平台

uvm白皮书练习ch221dut.sv这个DUT的功能非常简单,通过rxd接收数据,再通过txd发送出去。其中rx_dv是接收的数据有效指示,tx_en是发送的数据有效指示。moduledut(clk,rst_n,rxd,rx_dv,txd,tx_en);inputclk;inputrst_n;inputrxd;inp

nginx入门

文章目录nginx1.安装2.nginx常用命令及配置文件3.配置静态网页listenserver_namelocation4.HTTP反向代理设置代理请求headers5.负载均衡负载均衡策略1.轮循机制(round-robin)2.最小连接(least-connected)3.ip-hashnginx1.安装Cen

多平台兼容性:跑腿系统开发的移动端和Web端技术选项

随着移动设备和Web浏览器的广泛使用,跑腿系统的开发需要考虑多平台兼容性。本文将讨论一些在开发跑腿系统的移动端和Web端时可用的技术选项,并提供示例代码以帮助您入门。移动端技术选项:1.ReactNativeReactNative是一个流行的移动应用开发框架,可以使用JavaScript和React构建原生级别的移动应

CFCA企业版通配符SSL证书

CFCA是中国CFCA企业版通配符SSL证书金融认证中心的缩写,即ChinaFinancialCertificationAuthority。它是一家经过中国人民银行和国家信息安全机构批准成立的国家级权威安全认证机构,也是国际CA浏览器联盟组织(CA/BrowserForum)的成员,遵循全球统一鉴证标准。CFCA证书是

数据结构——红黑树

红黑树(Red-BlackTree)是一种自平衡的二叉查找树,它确保在插入和删除等基本操作后,树保持平衡,从而提供了快速的查找、插入和删除操作。红黑树之所以称为"红黑树",是因为每个节点都具有一个颜色属性,可以是红色或黑色,它们必须满足一些规则以保持树的平衡性。性质:1.树中的任何一个结点都带有颜色,每个结点的颜色要么

热文推荐