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

WMMSE方法的使用笔记

标题很帅

  • 原论文的描述
  • WMMSE的简单应用

无线蜂窝通信系统的预编码设计问题中,经常提到用WMMSE方法设计多用户和速率最大化的预编码,其中最为关键的一步是将原和速率最大化问题转化为均方误差最小化问题,从而将问题由非凸变为关于三个新变量的凸的子问题,交替优化三个子问题即可求解。

对于一般的问题形式,该如何从原和速率最大化问题转化到均方误差最小化问题呢?


原论文的描述

An Iteratively Weighted MMSE Approach to Distributed Sum-Utility Maximization for a MIMO Interfering Broadcast Channel
等待有时间补充

WMMSE的简单应用

原beamforming优化问题

基于上述模型,我们研究了近场多用户通信,考虑当不同用户共享相似方向但距基站距离不同时实现可靠通信的可能性。这里的目的是设计传输波束图案以最大化可实现的总速率,反映每个通道使用可以可靠地传送的总比特数。基于不同的天线架构,对于给定的发射功率约束 P m a x > 0 P_{max} > 0 Pmax>0,感兴趣的任务可以写为:

max ⁡ { w ~ m } ∑ m = 1 M R m ( { w ~ j } j ∈ M ) s.t.  ∑ m = 1 M ∥ w ~ m ∥ 2 ≤ P max ⁡ , { w ~ m } ∈ W , (14) \begin{array}{l} \max _{\left\{\tilde{\mathbf{w}}_{m}\right\}} \sum_{m=1}^{M} R_{m}\left(\left\{\tilde{\mathbf{w}}_{j}\right\}_{j \in \mathcal{M}}\right) \\ \text { s.t. } \sum_{m=1}^{M}\left\|\tilde{\mathbf{w}}_{m}\right\|^{2} \leq P_{\max }, \quad\left\{\tilde{\mathbf{w}}_{m}\right\} \in \mathcal{W}, \end{array} \tag{14} max{w~m}m=1MRm({w~j}jM) s.t. m=1Mw~m2Pmax,{w~m}W,(14)
其中:

R m ( { w ~ j } j ∈ M ) = log ⁡ 2 ( 1 + ∣ a m H w ~ m ∣ 2 ∑ j ≠ m a m H w ~ j ∣ 2 + σ 2 ) R_{m}\left(\left\{\tilde{\mathbf{w}}_{j}\right\}_{j \in \mathcal{M}}\right)=\log _{2}\left(1+\frac{\left|\mathbf{a}_{m}^{H} \tilde{\mathbf{w}}_{m}\right|^{2}}{\left.\sum_{j \neq m} \mathbf{a}_{m}^{H} \tilde{\mathbf{w}}_{j}\right|^{2}+\sigma^{2}}\right) Rm({w~j}jM)=log2 1+j=mamHw~j 2+σ2 amHw~m 2

优化问题求解

对于全数字波束聚焦设计,可行的预编码集 W F D \mathcal{W}_{FD} WFD是无约束的,并且包括 C N \mathbb{C}^N CN M M M个向量的所有组合。对于单用户情况,即 M = 1 M = 1 M=1,通过设置 w ~ 1 = P max ⁡ a 1 ∣ a 1 ∣ \tilde{\mathbf{w}}_{1}= \sqrt{P_{\max }} \frac{\mathbf{a}_{1}}{\left|\mathbf{a}_{1}\right|} w~1=Pmax a1a1来最大化 (14) 中的速率。 。然而,对于 M > 1 M>1 M>1的一般情况,问题(14)是非凸的,因此很难找到最优解。然而,由于(14)与远场操作的干扰广播信道的相应和速率最大化之间的相似性,人们可以利用针对远场系统导出的工具。一种候选策略是使用加权和均方误差(W(S)MMSE)最小化方法[35]来处理问题(14),这保证了收敛到驻点。

通过利用总速率最大化和 MSE 最小化之间的关系 [WMMSE 35,Thm 1],我们有以下引理。

引理 1: W = W F D \mathcal{W} = \mathcal{W}_{FD} W=WFD 的问题 (14) 等价于以下问题(在具有相同全局最优的意义上)

max ⁡ { w ~ m , u m , v m } ∑ m = 1 M log ⁡ 2 ( v m ) − v m e m ( u m , { w ~ m } ) s.t.  ∑ m = 1 M ∥ w ~ m ∥ 2 ≤ P max ⁡ , v m ≥ 0 , m ∈ M , (17) \begin{aligned} \max _{\left\{\tilde{\mathbf{w}}_{m}, u_{m}, v_{m}\right\}} & \sum_{m=1}^{M} \log _{2}\left(v_{m}\right)-v_{m} e_{m}\left(u_{m},\left\{\tilde{\mathbf{w}}_{m}\right\}\right) \\ \text { s.t. } & \sum_{m=1}^{M}\left\|\tilde{\mathbf{w}}_{m}\right\|^{2} \leq P_{\max }, \quad v_{m} \geq 0, m \in \mathcal{M}, \end{aligned} \tag{17} {w~m,um,vm}max s.t. m=1Mlog2(vm)vmem(um,{w~m})m=1Mw~m2Pmax,vm0,mM,(17)

where u m u_{m} um and v m v_{m} vm are auxiliary variables, and e m ( u m , { w ~ m } ) e_{m}\left(u_{m}\right. , \left.\left\{\tilde{\mathbf{w}}_{m}\right\}\right) em(um,{w~m}) is given by e m ( u m , { w ~ m } ) = ∣ 1 − u m a m H w ~ m ∣ 2 + ∑ j ≠ m ∣ u m a m H w ~ j ∣ 2 + σ 2 ∣ u m ∣ 2 e_{m}\left(u_{m},\left\{\tilde{\mathbf{w}}_{m}\right\}\right)=\left|1-u_{m} \mathbf{a}_{m}^{H} \tilde{\mathbf{w}}_{m}\right|^{2}+ \sum_{j \neq m}\left|u_{m} \mathbf{a}_{m}^{H} \tilde{\mathbf{w}}_{j}\right|^{2}+\sigma^{2}\left|u_{m}\right|^{2} em(um,{w~m})= 1umamHw~m 2+j=m umamHw~j 2+σ2um2 .

虽然问题(17)比问题(14)涉及更多的优化变量,但当其余两组固定时,每组优化变量都是凹的。因此,可以应用块坐标下降法来求解(17),得到总结为算法1的过程,该过程基于[35,Sec.3]中提出的方法。
在这里插入图片描述
算法1中,步骤4中的参数λp是与基站发射功率约束相关的拉格朗日乘数。 λp 的选择可以通过超参数优化方案来设置,例如使用二分法[27]、[35]。算法 1 忽略了通信发生在近场的事实,因为该属性仅封装在等效信道向量 {am} 中。尽管如此,正如我们在第四节中以数字方式展示的,这种优化方法以总速率为目标,并没有明确考虑最终的波束图案,它产生聚焦波束,允许多个用户在居住时以最小的交叉干扰共存。相同的角度方向。

相关文章:

WMMSE方法的使用笔记

标题很帅 原论文的描述WMMSE的简单应用 无线蜂窝通信系统的预编码设计问题中,经常提到用WMMSE方法设计多用户和速率最大化的预编码,其中最为关键的一步是将原和速率最大化问题转化为均方误差最小化问题,从而将问题由非凸变为关于三个新变量的…...

MySQL核心知识点整理大全1-笔记

目录 MySQL 一、MySQL的基本概念 1.数据库 2.表 3.列 4.行 5.主键 6.索引 二、MySQL的安装与配置 1.下载MySQL安装包 2.安装MySQL 3.启动MySQL 4.配置MySQL a.设置监听端口和IP地址 b.设置数据存储路径 c.设置字符集和排序规则 5.测试MySQL 三、MySQL的基本操…...

理解输出电压纹波和噪声:来源与抑制

医疗设备、测试测量仪器等很多应用对电源的纹波和噪声极其敏感。理解输出电压纹波和噪声的产生机制以及测量技术是优化改进电路性能的基础。 1:输出电压纹波 以Buck电路为例,由于寄生参数的影响,实际Buck电路的输出电压并非是稳定干净的直流…...

uni-app 微信小程序之好看的ui登录页面(二)

文章目录 1. 页面效果2. 页面样式代码 更多登录ui页面 uni-app 微信小程序之好看的ui登录页面(一) uni-app 微信小程序之好看的ui登录页面(二) uni-app 微信小程序之好看的ui登录页面(三) uni-app 微信小程…...

Textual Inversion

参考博客1:https://www.bilibili.com/read/cv25430752/...

笙默考试管理系统-MyExamTest----codemirror(47)

笙默考试管理系统-MyExamTest----codemirror(44) 目录 笙默考试管理系统-MyExamTest----codemirror(44) 一、 笙默考试管理系统-MyExamTest----codemirror 二、 笙默考试管理系统-MyExamTest----codemirror 三、 笙默考试…...

JVM中 Minor GC 和 Full GC 的区别

Java中的垃圾回收(Garbage Collection, GC)是自动内存管理的一部分,其主要职责是识别并清除程序中不再使用的对象来释放内存。Java虚拟机(JVM)在运行时进行垃圾回收,主要分为两种类型:Minor GC和…...

二十一章(网络通信)

计算机网络实现了多台计算机间的互联,使得它们彼此之间能够进行数据交流。网络应用程序就是在已连接的不同计算机上运行的程序,这些程序借助于网络协议,相互之间可以交换数据。编写网络应用程序前,首先必须明确所要使用的网络协议…...

[linux运维] 利用zabbix监控linux高危命令并发送告警(基于Zabbix 6)

之前写过一篇是基于zabbix 5.4的实现文章,但是不太详细,最近已经有两个小伙伴在zabbix 6上操作,发现触发器没有str函数,所以更新一下本文,基于zabbix 6 0x01 来看看效果 高危指令出发问题告警: 发出邮件告…...

手机升级到iOS15.8后无法在xcode(14.2)上真机调试

之前手机是iOS14.2的系统,在xcode上进行真机测试运行良好,因为想要使用Xcode的Instruments功能,今天将系统更新到了iOS15.8 ,结果崩了 说是Xcode和手机系统不兼容不能进行真机测试。在网上查了好些方法,靠谱的就是下载相关版本的…...

安装TensorFlow2.12.0

文章目录 一、安装Anaconda步骤 1: 下载Anaconda步骤 2: 运行安装程序步骤 3: 选择安装路径步骤 4: 完成安装步骤 5: 启动Anaconda Navigator步骤 6: 创建和管理环境二、安装TensorFlow​(一)Anaconda修改国内镜像源(二)安装CPU版TensorFlow2.12.0(三)查看TensorFlow版本…...

elasticsearch 索引数据多了怎么办,如何调优,部署?

当Elasticsearch索引的数据量不断增加时,可以考虑以下调优和部署措施: 增加索引规模:Elasticsearch支持动态增加索引,可以根据数据量的增长情况逐步增加新的索引。同时,也可以考虑使用分片技术,将数据分散…...

人工智能企业引入S-SDLC,推动安全能力大跃升,保障AI技术体系深化落地

某人工智能公司是国际知名的上市企业,核心技术处于世界前沿水平。多年来,该企业在智慧教育、智慧医疗、智慧城市、智慧司法、金融科技、智能汽车、运营商、消费者等领域进行深度技术赋能,深入推进各个行业的智能化、数字化转型建设。 人工智能…...

Docker的数据卷

数据卷 1.数据卷概述 数据卷:容器与宿主机之间数据共享。 数据卷是一个供容器使用的特殊目录,位于容器中。 可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响镜像,从而实现数据在宿…...

第二十一章总结博客

网络程序设计基础 局域网与互联网 为了实现两台计算机的通信,必须用一个网络线路连接两台计算机。如下图所示 网络协议 1.IP协议 IP是Internet Protocol的简称,是一种网络协议。Internet 网络采用的协议是TCP/IP协议,其全称是Transmission …...

学习php中使用composer下载安装firebase/php-jwt 以及调用方法

学习php中使用composer下载安装firebase/php-jwt 以及调用方法 1、安装firebase/php-jwt2、封装jwt类 1、安装firebase/php-jwt composer require firebase/php-jwt安装好以后出现以下文件: 2、封装jwt类 根据所使用的php框架&#xff0c;在指定目录创建 Token.php <?ph…...

『TypeScript』深入理解变量声明、函数定义、类与接口及泛型

&#x1f4e3;读完这篇文章里你能收获到 了解TypeScript变量声明与类型注解掌握TypeScript函数与方法的使用掌握TypeScript类与接口的使用掌握TypeScript泛型的应用 文章目录 一、变量声明与类型注解1. 变量声明2. 类型注解3. 类型推断 二、函数与方法定义1. 函数定义2. 方法定…...

如何优雅使用 vue-html2pdf 插件生成pdf报表

使用 vue-html2pdf 插件 业务背景&#xff0c;老板想要一份能征服客户的pdf报表&#xff0c;传统的pdf要手撕&#xff0c;企业中确实有点耗费时间&#xff0c;于是github上面看到开源的这个插件就…废话不多说&#xff0c;直接上教程 1.使用下面命令安装 vue-html2pdf npm i…...

C语言第十六集(前)

1.关于那个整形存储入char的 是先取好补码,再截断 例: 2.%u是以十进制的形式打印无符号整数 3.注意(背):存储的char类型变量的补码为10000000的直接解析为-128 4.signed char 类型的变量取值范围是-128~127 5.unsigned char 类型的变量取值范围是0~255 6.有符号类型的变量…...

Makefile语法

一、Makefile规则格式 Makefile 里面是由一系列的规则组成的&#xff0c;这些规则格式如下&#xff1a; 目标…... : 依赖文件集合…… 命令 1 命令 2 ……参考上一节gcc编译器与Makefile入门参考这条规则 1 main: main.o input.o calcu.o2 gcc -o main main.o input.o c…...

【ZYNQ】AXI4总线协议实战:从握手时序到PS-PL高效通信

1. AXI4总线协议基础&#xff1a;从握手信号到通道架构 第一次接触ZYNQ的PS-PL通信时&#xff0c;我被AXI4协议里那些VALID/READY信号搞得头晕眼花。直到在示波器上抓到真实的握手波形&#xff0c;才突然理解这个看似复杂的协议其实像极了我们日常的对话机制——只有当说话方准…...

别再只盯着wx.login了!SpringBoot后端实战:用getPhoneNumber接口搞定小程序用户手机号绑定

微信小程序用户手机号绑定&#xff1a;SpringBoot后端深度实践指南 在当今移动互联网生态中&#xff0c;微信小程序已成为连接用户与服务的重要桥梁。对于需要强实名认证或直接触达用户的业务场景&#xff08;如电商交易、金融服务、政务办理等&#xff09;&#xff0c;仅依赖w…...

Kafka运维新选择:Offset Explorer(Kafka Tool)在Windows下的详细评测与实战技巧

Kafka运维新选择&#xff1a;Offset Explorer在Windows下的深度评测与高阶实战 当Kafka集群规模从几个节点扩展到数十甚至上百个Broker时&#xff0c;命令行工具kafka-topics.sh和kafka-console-consumer.sh开始显得力不从心。这时&#xff0c;一个得力的可视化工具就像黑暗中的…...

Steam成就管理器终极指南:3步修复错失的游戏成就

Steam成就管理器终极指南&#xff1a;3步修复错失的游戏成就 【免费下载链接】SteamAchievementManager A manager for game achievements in Steam. 项目地址: https://gitcode.com/gh_mirrors/st/SteamAchievementManager Steam Achievement Manager&#xff08;SAM&a…...

从零构建可定制对话系统:模块化架构与RAG实战指南

1. 项目概述&#xff1a;从零构建一个可定制的对话系统最近在折腾一个挺有意思的东西&#xff0c;我把它叫做“定制化聊天系统”。起因很简单&#xff0c;市面上现成的聊天机器人&#xff0c;无论是开源的还是商业的&#xff0c;总感觉差了那么点意思。要么是功能太臃肿&#x…...

2026生鲜店收银软件特点功能对比

每天傍晚高峰期&#xff0c;生鲜店门口排起的长队总是让店主心头一紧。顾客手里拿着刚挑好的蔬菜水果&#xff0c;眼神里透着急切&#xff0c;而收银台前的店员却还在手忙脚乱地查找商品代码、手动输入重量&#xff0c;甚至因为系统卡顿导致支付失败。这种场景不仅流失了潜在客…...

怎么找到一个行业的源头工厂、绕开中间商?一套五步识别流程

你下了单&#xff0c;货到了&#xff0c;质量也还行。但心里一直有个疙瘩&#xff1a;这家供应商到底是自己在生产&#xff0c;还是从别处转手赚了你一道差价&#xff1f; 这个问题对采购方和跨境卖家不是洁癖&#xff0c;是真金白银。同一款产品&#xff0c;源头工厂和中间商的…...

Python数据聚合抓取工具:从配置化引擎到实战避坑指南

1. 项目概述&#xff1a;一个多功能的“聚合爪”工具最近在GitHub上闲逛&#xff0c;发现了一个名字挺有意思的项目&#xff1a;al1enjesus/polyclawster。这个名字拆开看&#xff0c;“poly”代表多&#xff0c;“clawster”听起来像是“claw”&#xff08;爪子&#xff09;和…...

嵌入式测试学习第 12天:串口基础概念:UART、波特率、数据位、校验位

串口基础概念&#xff1a;UART、波特率、数据位、校验位一、串口整体基础概念1、什么是UART串口2、串口实物真实图片① 主板/开发板排针串口② USB转TTL串口模块③ 老式DB9工业串口公头母头二、串口四大核心参数1、波特率概念常用标准固定值通俗理解测试场景2、数据位概念作用3…...

基于RP2040与I2C总线打造可编程合成器吉他:从硬件到固件的完整实践

1. 项目概述&#xff1a;打造你的第一把可编程合成器吉他 如果你对电子音乐制作和嵌入式硬件开发都感兴趣&#xff0c;那么将两者结合的DIY项目无疑是最迷人的领域。今天要分享的&#xff0c;就是基于Adafruit RP2040 PropMaker Feather微控制器&#xff0c;从零开始打造一把功…...