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

求解Beamforming-SOCP(CVX求解)

时间:2023年11月23日14:00:16:
直接上代码(辛苦两天才改出来的)


clear all;
K = 4; %user number
N=4; %base station number
var=1e-9;
H = []; %initialize H matrix
for i=1:Kh = 1/sqrt(2*K)*mvnrnd(zeros(N,1),eye(N),1)'+1i/sqrt(2*K)*mvnrnd(zeros(N,1),eye(N),1)';H = [H h];
end
H = H';
gamma_dB = 20; %SINR / dB
gamma = db2mag(2*gamma_dB);
gammavar=gamma*var;
POWER=40;
Kr = size (H,1); %Number of users
% N = size (H,2); %Number of transmit antennas ( in total )
D = repmat ( eye (N),[1 1 Kr ]);cvx_begin
cvx_solver mosek
cvx_quiet ( true ); 
variable W(N, Kr ) complex ;  %多天线的话:variable W(L*N1,K) complex;
% variable POWER
minimize 0
subject to
%SINR constraints ( Kr constraints )for k =1: Kr%Channels of the signal intended for user i when it reaches user khkD = zeros ( Kr ,N);for i =1: KrhkD ( i ,:)= H( k ,:) * D (:,:, i );endimag ( hkD ( k ,:) *W(:, k ))==0; %Useful link is assumed to be real-valued%SOCP formulation for the SINR constraint of user kreal ( hkD ( k ,:) *W(:, k ))>= sqrt ( gammavar ) *norm ([1 hkD( k ,:)*W(:,[1: k-1 k+1: Kr ])/sqrt(var)]);
%         real ( hkD ( k ,:) *W(:, k ))>= sqrt ( gamma) *norm ([1 hkD( k ,:)*W(:,[1: k-1 k+1: Kr ])]);
%         norm ([hkD( k ,:)*W(:,[1: k-1 k+1: Kr ])])<=sqrt(1+1/gamma)*real ( hkD ( k ,:) *W(:, k ));endfor a = 1:Nnorm(W(a,:),'fro') <= POWER;end
%Power constraints (L constraints) scaled by the variable betavar
% norm(W,'fro') <= POWER;
% POWER >= 0; %Power constraints must be positivecvx_end%Analyze result and prepare the output variables.
if isempty(strfind(cvx_status,'Solved')) %Both power minimization problem and feasibility problem are infeasible.feasible = false;Wsolution = [];
else %Both power minimization problem and feasibility problem are feasible.feasible = true;Wsolution = W;p=norm(W,'fro');disp(['Power:',num2str(p)]);sinr=zeros(K,1);for k =1:Knoise=(H( k ,:) *W(:,[1: k-1 k+1: Kr ]));
%         sinr(k)= abs(H ( k ,:) *W(:, k ))^2/(sum(abs(noise))+var);sinr(k)= abs(H ( k ,:) *W(:, k ))^2/((norm(noise)^2)+var);enddisp("SINR of Users:");disp(sinr);
enddisp(["feasible:",num2str(feasible)]);

系统模型:
在这里插入图片描述
对照着这个写约束条件,以及验证SINR。
参考链接:github

相关文章:

求解Beamforming-SOCP(CVX求解)

时间&#xff1a;2023年11月23日14:00:16&#xff1a; 直接上代码&#xff08;辛苦两天才改出来的&#xff09; clear all; K 4; %user number N4; %base station number var1e-9; H []; %initialize H matrix for i1:Kh 1/sqrt(2*K)*mvnrnd(zeros(N,1),eye(N),1)1i/sqrt(2*…...

解决Vue项目的runtime-only转为runtime-compiler

我们在vue.config.js中添加上 runtimeCompiler: true,然后再将main.js入口文件中的Vue实例改为以下即可 //修改前 new Vue({router,store,render: (h) > h(App) }).$mount(#app) //修改后 new Vue({el:#app,router,store, components:{App}, template:<App/>})...

hash模式和history模式

在Vue Router中&#xff0c;有两种路由模式可供选择&#xff1a;hash模式和history模式。它们各自有一些优点和缺点&#xff0c;下面是它们的简要介绍&#xff1a; hash模式的原理是通过hashchange事件&#xff0c;通过监听hash变化来驱动界面变化。它的url中有 # 号 1、监听…...

聊聊logback的LevelFilter

序 本文主要研究一下logback的LevelFilter AbstractMatcherFilter ch/qos/logback/core/filter/AbstractMatcherFilter.java public abstract class AbstractMatcherFilter<E> extends Filter<E> {protected FilterReply onMatch FilterReply.NEUTRAL;protect…...

mysql 行转列 GROUP_CONCAT 试验

1.概要 很多时候需要用到行专列的方式做数据分析。比如对通讯数据的采集 数据采集结果如下&#xff1a; 变量值采集周期131251132272 我想要看的结果 变量1变量2采集周期351372 就是我想看到相关数据的周期变化情况。 2.试验 2.1创建数据如下&#xff08;表名 tb5&…...

HarmonyOS元服务开发实战—端云一体化开发

还记得我第一次接触arkui还是在22年的9月份&#xff0c;当时arkui还在一个比较初试的阶段。时隔一年再见方舟框架&#xff0c;它已经发生了令人瞩目的变化&#xff0c;不得不说华为方舟框架在更新迭代的速度已经遥遥领先。新的功能和性能优化让这个框架更加强大和灵活&#xff…...

【搭环境】装Python3.8 open3d

先装Python3.8 方法一试了找不到Python3.8的库&#xff0c;所以用方法二装上了。 Python3加入环境变量 更改Python默认指向 open3d需要Python3.6以上&#xff0c;最好用Ubuntu18版本&#xff0c;我用的16版本。。...

【C语言】深入解开指针(四)

&#x1f308;write in front :&#x1f50d;个人主页 &#xff1a; 啊森要自信的主页 ✏️真正相信奇迹的家伙&#xff0c;本身和奇迹一样了不起啊&#xff01; 欢迎大家关注&#x1f50d;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;>希望看完我的文章对你有小小的帮助&am…...

AMEYA360:瑞萨面向高端工业传感器系统推出高精度模拟前端的32位RX MCU

全球半导体解决方案供应商瑞萨电子&#xff08;TSE&#xff1a;6723&#xff09;宣布面向高端工业传感器系统推出一款全新RX产品——RX23E-B&#xff0c;扩展32位微控制器&#xff08;MCU&#xff09;产品线。新产品作为广受欢迎的RX产品家族的一员&#xff0c;具有高精度模拟前…...

切面Aspect + 策略模式实现待办提醒功能

1.背景 产品需要实现一个待办提醒功能&#xff0c;就是核心业务发生变更即提醒业务员去处理相关业务。譬如&#xff1a;订单上传了支付凭证&#xff0c;那么就会提醒相关业务员去待办列表操办。 2.表设计 其实表设计主要是两张表sys_todo、sys_todo_detail 一张是待办核心表…...

SAP 调取http的x-www-form-urlencoded形式的接口

一、了解下x-www-form-urlencoded形式对于SAP来说有啥区别 简单来说&#xff0c; 1.raw格式就是标准的json格式&#xff1a;{“Name”:“John Smith”&#xff0c;“Age”: 23} 2.x-www格式是要转化一下的&#xff1a;NameJohnSmith&Age23 字段与字段相互连接要用 & 符…...

thingsboard3.6的mailConfigTemplateController错误

1、bug内容 使用3.6版本的tb代码进行打包生成boot的jar包,在启动的时候会报错mailConfigTemplateController bean初始化找不到文件路径。 Error creating bean with name mailConfigTemplateController defined in URL [jar:file:/D:/yuxinwei/AE/thingsboard/thingsboard-3…...

Go语言中获取IP

简介 在net包中提供了获取所有网卡的ip&#xff0c;一般不会用127.0.0.1,::1这样的本地回环地址&#xff0c;可以过滤掉&#xff0c;如果想要获取当前真正在使用的地址&#xff0c;得通过net.Dail去连一下才知道 获取ip地址 func main() {fmt.Println(getIpv4())fmt.Println…...

【Computer Vision Foundation】全球计算机视觉基金会论文网

计算机视觉基金会&#xff08;Computer Vision Foundation&#xff0c;简称CVF&#xff09;是一个致力于推动计算机视觉领域研究和发展的组织。以下是关于计算机视觉基金会的一些基本信息&#xff1a; 成立目的&#xff1a; CVF成立的目的是促进计算机视觉领域的学术研究、技术…...

计网(复习自用)

计算机网络 1.概述 1.1概念 含义 计算机网络&#xff1a;是一个将分散的。具有独立功能的计算机系统&#xff0c;通过通信设备和线路连接起来&#xff0c;由功能完善的软件实现资源共享和信息传递的系统。 简单点说&#xff0c;计算机网络是互联的&#xff0c;自治的计算机集…...

安徽省广德市选择云轴科技ZStack Cloud云平台建设县级智慧城市

信创是数字中国建设的重要组成部分&#xff0c;也是数字经济发展的关键推动力量。作为云基础软件企业&#xff0c;云轴科技ZStack产品矩阵全面覆盖数据中心云基础设施&#xff0c;ZStack信创云首批通过可信云《一云多芯IaaS平台能力要求》先进级&#xff0c;是其中唯一兼容四种…...

【计算思维】蓝桥杯STEMA 科技素养考试真题及解析 6

1、明明买了一个扫地机器人&#xff0c;可以通过以下指令控制机器人运动: F:向前走 10 个单位长度 L:原地左转 90 度 R:原地右转 90 度 机器人初始方向向右&#xff0c;需要按顺序执行以下那条指令&#xff0c;才能打扫完下图中的道路 A、F-L-F-R-F-F-R-F-L-F B、F-R-F-L-F-F…...

nuxt3项目修改端口号

nuxt的默认端口号是3000 一、修改开发环境端口号 方式一&#xff1a;使用环境变量配置,设置&#xff08;PORT 或 NUXT_PORT&#xff09; # .env PORT3001 #http://localhost:3001/ NITRO_PORT3001 #http://localhost:3001/ 方式二&#xff1a;nuxt.config.ts里配置…...

c语言中使用openssl对rsa私钥解密

单次加密数据的最大长度&#xff08;block_len&#xff09;&#xff0c;由RSA秘钥模长RSA_size()和填充模式有关 填充模式&#xff1a;RSA_PKCS1_PADDING&#xff0c; block_lenRSA_size() - 11填充模式&#xff1a;RSA_PKCS1_OAEP_PADDING&#xff0c;block_lenRSA_size() - 4…...

mysql中数据是如何被用B+树查询到的

innoDB是按照页为单位读写的 那页中有很多行数据&#xff0c;是怎么执行查询的呢&#xff0c;首先我们肯定&#xff0c;是以单向列表形式存储的&#xff0c;提高了增删的效率&#xff0c;但是查询效率低。所以实际上对页中的行数据进行了优化&#xff0c;能以二分的方式进行查…...

算法训练营第十七天|151.翻转字符串里的单词

题目链接&#xff1a;https://leetcode.cn/problems/reverse-words-in-a-string/ 视频讲解&#xff1a;https://www.bilibili.com/video/BV1uT41177fX 代码实现&#xff1a; 1、看到题目的第一想法&#xff1a; 看到题目&#xff0c;我首先想到&#xff1a;先去除多余空格&am…...

如何彻底解决Windows DLL缺失问题:VisualCppRedist AIO的技术实现与应用指南

如何彻底解决Windows DLL缺失问题&#xff1a;VisualCppRedist AIO的技术实现与应用指南 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 当你在Windows系统上运行…...

[Al+」数智升级,品牌种草营销新范式

AI给各行各业带来的革新有目共睹。在营销工作中&#xff0c;这个命题亦尤为迫切。AI如何嵌入具体场景、解决日常问题&#xff1f;过去一年&#xff0c;千瓜持续投入「AI」产品战略升级&#xff0c;现已覆盖“达人、内容、品牌”三大维度&#xff0c;实现从选人选号、内容创作到…...

从Raw Counts到故事:手把手教你用R语言(DESeq2+ggplot2)搞定RNA-seq差异分析与可视化

从Raw Counts到故事&#xff1a;手把手教你用R语言&#xff08;DESeq2ggplot2&#xff09;搞定RNA-seq差异分析与可视化 实验室的荧光定量PCR仪嗡嗡作响&#xff0c;隔壁同事正对着电泳胶图发愁。在这个组学数据爆炸的时代&#xff0c;RNA-seq已成为揭示基因表达奥秘的黄金标准…...

企业微信 API 老是调不通?基本都是这几个问题

在私域系统开发中&#xff0c;最让人崩溃的不是复杂的业务逻辑&#xff0c;而是那些隐藏在企业微信底层协议里的“技术磨损”。如果你正面临接口报错、解密失败或 Token 频繁失效&#xff0c;不妨对照以下四个维度进行排查。 1. 分布式环境下的 Token 覆盖与失效 原生坑位&…...

Cesium实战:手把手教你实现一个可拖拽编辑的交互式绘图工具(点线面圆矩形)

Cesium交互式绘图工具开发实战&#xff1a;从基础绘制到可编辑图形引擎 在三维地理信息系统开发中&#xff0c;交互式绘图功能已经成为行业标配需求。本文将深入探讨如何基于Cesium构建一个功能完备的绘图工具模块&#xff0c;不仅实现基础的点线面绘制&#xff0c;更重点解决图…...

TrustKit底层原理:深入理解公钥哈希算法与证书链验证机制

TrustKit底层原理&#xff1a;深入理解公钥哈希算法与证书链验证机制 【免费下载链接】TrustKit Easy SSL pinning validation and reporting for iOS, macOS, tvOS and watchOS. 项目地址: https://gitcode.com/gh_mirrors/tr/TrustKit TrustKit是一款为iOS、macOS、tv…...

为什么你的PHP 8.9项目仍抛出未捕获Fatal Error?——基于Zend VM 4.1.0错误传播链的逆向追踪

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;PHP 8.9错误处理机制的范式跃迁 从异常抑制到语义化错误契约 PHP 8.9 引入了 Error Contract Interface&#xff08;ECI&#xff09;&#xff0c;允许开发者为特定业务场景显式声明可预期错误类型&am…...

模型评测为什么一做回归集自动扩容就开始污染基线:从 Failure Harvest 到 Benchmark Freezing 的工程实战

&#x1f9ea; 回归集越滚越大&#xff0c;为什么评测分数更好看&#xff0c;线上却更容易翻车 很多团队在搭建 LLM 回归体系时&#xff0c;都会把线上失败样本自动回流进评测集。这个动作表面很合理&#xff1a;用户哪里出错&#xff0c;就把哪里补进基线。⚠️ 但跑上一两周后…...

技术返祖运动:软件测试中的传统智慧回归

在数字技术飞速发展的时代&#xff0c;软件测试从业者面临前所未有的挑战&#xff1a;系统复杂性剧增、数据过载和认知疲劳。技术返祖运动应运而生&#xff0c;它并非简单的历史倒退&#xff0c;而是战略性地回归传统方法&#xff0c;以应对现代测试生态的脆弱性。这场运动的核…...