当前位置: 首页 > news >正文

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

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

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

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

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

目录

💥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代码实现

相关文章:

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

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

MySQL数据库记录的删除操作与特殊字符

在数据库管理中,除了添加和修改记录之外,删除操作也是一个重要的方面。同时特殊字符序列的处理也是必不可少的一步。 本文将深入探讨如何在MySQL数据库中进行表记录的删除操作,以及如何处理特殊字符序列。将使用《三国志》游戏数据作为示例来进行解释。 文章目录 表记录的…...

什么是TypeScript

TypeScript是一个开源的编程语言,它是JavaScript的超集。它允许开发人员编写更具可靠性和高效性的代码,同时提供了强类型支持、类、接口、模块等新的特性。TypeScript的代码可以编译成纯JavaScript代码,可以在任何支持JavaScript的平台上运行…...

[docker]笔记-网络故障处理

1、同事在虚拟机上部署docker,发现电脑无法登录虚拟机了。首先ping测是通的,从我电脑继续进行登录测试发现没问题,初步判断是她电脑网络和虚拟机网络之间连接出错。 2、进行虚拟机登录查看,首先使用route -n命令查看路由&#xf…...

牛客网_HJ1_字符串最后一个单词的长度

HJ1_字符串最后一个单词的长度 原题思路代码运行截图收获 原题 字符串最后一个单词的长度 思路 从最后一个字符开始遍历&#xff0c;遇到第一个空格时的长度即为最后一个单词的长度 代码 #include <iostream> #include <string> using namespace std;int main…...

智算创新,美格智能助力智慧支付加速发展

9月21日&#xff0c;以“智算引领创新未来”为主题的紫光展锐2023泛物联网终端生态论坛在深圳举行。作为紫光展锐重要战略合作伙伴&#xff0c;美格智能标准模组产品线总经理郭强华、高级产品总监刘伟鹏受邀出席论坛。美格智能基于紫光展锐5G、4G、智能SoC、Cat.1 bis等芯片平台…...

常用SQL语法总结

1.库操作 1.1.创建数据库 CREATE DATABASE 语句用来创建一个新的数据库。 语法&#xff1a;CREATE DATABASE DatabaseName; DatabaseName 为数据库名字&#xff0c;它的名字必须是唯一的&#xff0c;不能和其它数据库重名。 1.2.删除数据库 DROP DATABASE语句用来删除已经…...

Promise击鼓传花的游戏

Promise击鼓传花的游戏 Promise系列导航前言一、学习Promise的原因二、揭开击鼓传花游戏的面纱补充小知识 Promise系列导航 1.Promise本质击鼓传花的游戏 2.Promise四式击鼓 3.Promise击鼓传花 4.Promise花落谁家知多少 前言 &#x1f468;‍&#x1f4bb;&#x1f468;‍&…...

蓝桥杯每日一题2023.9.29

蓝桥杯大赛历届真题 - C&C 大学 B 组 - 蓝桥云课 (lanqiao.cn) 题目描述1 题目分析 看见有32位&#xff0c;我们以此为入手点&#xff0c; B代表字节1B 8b b代表位&#xff0c;32位即4个字节 (B) 1KB 1024B 1MB 1024KB (256 * 1024 * 1024) / 4 67108864 故答案…...

Spring Boot的自动装配中的@ConditionalOnBean条件装配注解在Spring启动过程中,是如何保证处理顺序靠后的

前言 为什么Spring Boot条件注解那么多&#xff0c;而标题中是ConditionalOnBean呢&#xff1f; 因为&#xff0c;相比之下我们用的比较多的条件装配注解也就是ConditionalOnClass、ConditionalOnBean了&#xff0c;而ConditionalOnClass对顺序并不敏感&#xff08;说白了就是判…...

玩转数据-大数据-Flink SQL 中的时间属性

一、说明 时间属性是大数据中的一个重要方面&#xff0c;像窗口&#xff08;在 Table API 和 SQL &#xff09;这种基于时间的操作&#xff0c;需要有时间信息。我们可以通过时间属性来更加灵活高效地处理数据&#xff0c;下面我们通过处理时间和事件时间来探讨一下Flink SQL …...

【论文笔记】A Review of Motion Planning for Highway Autonomous Driving

文章目录 I. INTRODUCTIONII. CONSIDERATIONS FOR HIGHWAY MOTION PLANNINGA. TerminologyB. Motion Planning SchemeC. Specificities of Highway DrivingD. Constraints on Highway DrivingE. What Is at Stake in this Paper III. STATE OF THE ARTA. Taxonomy DescriptionB…...

YOLOv8改进算法之添加CA注意力机制

1. CA注意力机制 CA&#xff08;Coordinate Attention&#xff09;注意力机制是一种用于加强深度学习模型对输入数据的空间结构理解的注意力机制。CA 注意力机制的核心思想是引入坐标信息&#xff0c;以便模型可以更好地理解不同位置之间的关系。如下图&#xff1a; 1. 输入特…...

2023年10月腾讯云优惠活动汇总:腾讯云最新优惠、代金券整理

腾讯云作为国内领先的云服务提供商&#xff0c;致力于为用户提供优质、稳定的云服务。为了更好地满足用户需求&#xff0c;腾讯云推出了各种优惠活动。本文将给大家分享腾讯云最新优惠活动&#xff0c;帮助用户充分利用腾讯云提供的优惠。 一、腾讯云优惠券领取【点此领取】 腾…...

BUUCTF reverse wp 65 - 70

[SWPU2019]ReverseMe 反编译的伪码看不明白, 直接动调 这里显示"Please input your flag", 然后接受输入, 再和32进行比较, 应该是flag长度要求32位, 符合要求则跳转到loc_E528EE分支继续执行 动调之后伪码可以读了 int __cdecl main(int argc, const char **arg…...

xorm数据库操作之Join、Union

golang的数据库操作xorm使用起来非常方便&#xff0c;不用再自己写SQl语句&#xff0c;而且xorm自己给我们做了SQL防注入等操作&#xff0c;用起来既方便又安全。此次文章我不会记录xorm的基本操作&#xff0c;我值记录一些特殊用法问题&#xff0c;包括动态创建表单、基于xorm…...

排序:基数排序算法分析

1.算法思想 假设长度为n的线性表中每个结点aj的关键字由d元组 ( k j d − 1 , k j d − 2 , k j d − 3 , . . . , k j 1 , k j 0 ) (k_{j}^{d-1},k_{j}^{d-2},k_{j}^{d-3},... ,k_{j}^{1} ,k_{j}^{0}) (kjd−1​,kjd−2​,kjd−3​,...,kj1​,kj0​)组成&#xff0c; 其中&am…...

用go实现http服务端和请求端

一、概述 本文旨在学习记录下如何用go实现建立一个http服务器&#xff0c;同时构造一个专用格式的http客户端。 二、代码实现 2.1 构造http服务端 1、http服务处理流程 基于HTTP构建的服务标准模型包括两个端&#xff0c;客户端(Client)和服务端(Server)。HTTP 请求从客户端…...

幂级数和幂级数的和函数有什么关系?

幂级数和幂级数的和函数有什么关系&#xff1f; 本文例子引用自&#xff1a;80_1幂级数运算&#xff0c;逐项积分、求导【小元老师】高等数学&#xff0c;考研数学 求幂级数 ∑ n 1 ∞ 1 n x n \sum\limits_{n1}^{\infty}\frac{1}{n}x^n n1∑∞​n1​xn 的和函数 &#xff…...

Git多账号管理通过ssh 公钥的方式,git,gitlab,gitee

按照目前国内访问git&#xff0c;如果不科学上网&#xff0c;我们很大可能访问会超时。基于这个&#xff0c;所以我现在的git 配置已经增加到了3个了 一个公司gitlab&#xff0c;一个git&#xff0c;一个gitee. 以下基于这个环境&#xff0c;我们来说明下如何创建配置ssh公钥。…...

在nodejs常见的不良做法及其优化解决方案

在nodejs常见的不良做法及其优化解决方案 当涉及到在express和nodejs中开发应用程序时。遵循最佳实践对于确保项目的健壮性、可维护性和安全性至关重要。 在本文中&#xff0c;我们将探索开发人员经常遇到的几种常见的错误做法&#xff0c;并通过代码示例研究优化的最佳做法&…...

关于layui upload上传组件上传文件无反应的问题

最近使用layui upload组件时&#xff0c;碰到了上传文件无反应的问题&#xff0c;感到非常困惑。 因为使用layui upload组件不是一次两次了&#xff0c;之前每次都可以&#xff0c;这次使用同样的配方&#xff0c;同样的姿势&#xff0c;为什么就不行了呢&#xff1f; 照例先…...

容器网络之Flannel

​ 第一个问题位置变化&#xff0c;往往是通过一个称为注册中心的地方统一管理的&#xff0c;这个是应用自己做的。当一个应用启动的时候&#xff0c;将自己所在环境的 IP 地址和端口&#xff0c;注册到注册中心指挥部&#xff0c;这样其他的应用请求它的时候&#xff0c;到指挥…...

SVM(下):如何进行乳腺癌检测?

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者:秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据开发、数据分析等。 🐴欢迎小伙伴们点赞👍🏻、收藏⭐️、…...

嵌入式Linux应用开发-第十五章具体单板的按键驱动程序

嵌入式Linux应用开发-第十五章具体单板的按键驱动程序 第十五章 具体单板的按键驱动程序(查询方式)15.1 GPIO操作回顾15.2 AM335X的按键驱动程序(查询方式)15.2.1 先看原理图确定引脚及操作方法15.2.2 再看芯片手册确定寄存器及操作方法15.2.3 编程15.2.3.1 程序框架15.2.3.2 硬…...

MySQL体系结构和四层架构介绍

MySQL体系结构图如下&#xff1a; 四层介绍 1. 连接层&#xff1a; 它的主要功能是处理客户端与MySQL服务器之间的连接(比如Java应用程序通过JDBC连接MySQL)。当客户端应用程序连接到MySQL服务器时&#xff0c;连接层对用户进行身份验证、建立安全连接并管理会话状态。它还处理…...

【产品运营】如何做好B端产品规划

产品规划是基于当下掌握的多维度信息&#xff0c;为追求特定目的&#xff0c;而制定的产品资源投入计划。 产品规划是基于当下掌握的多维度信息&#xff08;客户需求、市场趋势、竞争对手、竞争策略等&#xff09;&#xff0c;为追求特定目的&#xff08;商业增长、客户满意等&…...

ruoyi-启动

1 springboot 版本 git 地址 ruoyi-vue-pro: &#x1f525; 官方推荐 &#x1f525; RuoYi-Vue 全新 Pro 版本&#xff0c;优化重构所有功能。基于 Spring Boot MyBatis Plus Vue & Element 实现的后台管理系统 微信小程序&#xff0c;支持 RBAC 动态权限、数据权限…...

select完成服务器并发

服务器 #include <myhead.h>#define PORT 4399 //端口号 #define IP "192.168.0.191"//IP地址//键盘输入事件 int keybord_events(fd_set readfds); //客户端交互事件 int cliRcvSnd_events(int , struct sockaddr_in*, fd_set *, int *); //客户端连接事件 …...

初级篇—第四章聚合函数

文章目录 聚合函数介绍聚合函数介绍COUNT函数AVG和SUM函数MIN和MAX函数 GROUP BY语法基本使用使用多个列分组WITH ROLLUP HAVING基本使用WHERE和HAVING的对比开发中的选择 SELECT的执行过程查询的结构SQL 的执行原理 练习流程函数 聚合函数介绍 聚合函数作用于一组数据&#x…...

高港区住房和城乡建设局网站/厦门seo网站排名优化

Webpack 简介 什么是 Webpack&#xff1f; webpack是一种前端资源构建工具&#xff0c;一个静态模块打包器在webpack看来&#xff0c;前端所有的资源文件都会作为模块处理它将根据模块的依赖关系进行静态分析&#xff0c;打包生成对应的静态资源(bundle)’ Webpack 五个核心…...

巴城镇建设网站/谷歌搜索引擎下载安装

小小喜欢看的动画片我也跟着看起来&#xff0c;发现了一个事实。 小小看的动画片都是国外的&#xff0c;比如《爱探险的朵拉》&#xff0c;《米奇妙妙屋》...但是大致宗旨只有两个&#xff0c;值得我们成年人学习&#xff1a; 1.所有的事情快要成功的时候&#xff0c;总是有个“…...

北京微信网站制作/网推资源渠道

这里的讲解很不错&#xff0c;适合作为入坑题&#xff1a; Hihocoder#1938 代码&#xff1a; #include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #include<queue> #define ms(a,x) memset(a,x,…...

广州设计网站/如何自己做网页

iOS开发 AudioServices(音效播放)的使用 AudioToolbox.framework是一套基于C语言的框架,使用它来播放音效其本质是将短音频注册到系统声音服务(System Sound Service).System Sound Service是一种简单、底层的声音播放服务,但是它本身也存在着一些限制: 音频播放时间不能超过3…...

网站商业授权/5188关键词挖掘工具

作者&#xff1a;何海涛 出处&#xff1a;http://zhedahht.blog.163.com/ 题目&#xff1a;定义Fibonacci数列如下&#xff1a; / 0 n0 f(n) 1 n1 \ f(n-1)f(n-2) n2 输入n&#xff0c;用最快的方法求该数…...

开了网站建设公司 如何接业务/长春免费网上推广

文章目录一、确定慢请求是否突然暴增二、慢请求暴增可能的因素1、系统繁忙导致的慢请求2、GC导致的慢请求3、系统故障导致的慢请求4、HDFS因素三、系统负载高根因排查1、CPU 持续飙高2、IO负载持续打满3、导致 IO 负载升高的情况汇总用户请求突增Hbase在进行大量compactStoreFi…...