求解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求解)
时间:2023年11月23日14:00:16: 直接上代码(辛苦两天才改出来的) 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中,有两种路由模式可供选择:hash模式和history模式。它们各自有一些优点和缺点,下面是它们的简要介绍: hash模式的原理是通过hashchange事件,通过监听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.概要 很多时候需要用到行专列的方式做数据分析。比如对通讯数据的采集 数据采集结果如下: 变量值采集周期131251132272 我想要看的结果 变量1变量2采集周期351372 就是我想看到相关数据的周期变化情况。 2.试验 2.1创建数据如下(表名 tb5&…...
HarmonyOS元服务开发实战—端云一体化开发
还记得我第一次接触arkui还是在22年的9月份,当时arkui还在一个比较初试的阶段。时隔一年再见方舟框架,它已经发生了令人瞩目的变化,不得不说华为方舟框架在更新迭代的速度已经遥遥领先。新的功能和性能优化让这个框架更加强大和灵活ÿ…...
【搭环境】装Python3.8 open3d
先装Python3.8 方法一试了找不到Python3.8的库,所以用方法二装上了。 Python3加入环境变量 更改Python默认指向 open3d需要Python3.6以上,最好用Ubuntu18版本,我用的16版本。。...
【C语言】深入解开指针(四)
🌈write in front :🔍个人主页 : 啊森要自信的主页 ✏️真正相信奇迹的家伙,本身和奇迹一样了不起啊! 欢迎大家关注🔍点赞👍收藏⭐️留言📝>希望看完我的文章对你有小小的帮助&am…...
AMEYA360:瑞萨面向高端工业传感器系统推出高精度模拟前端的32位RX MCU
全球半导体解决方案供应商瑞萨电子(TSE:6723)宣布面向高端工业传感器系统推出一款全新RX产品——RX23E-B,扩展32位微控制器(MCU)产品线。新产品作为广受欢迎的RX产品家族的一员,具有高精度模拟前…...
切面Aspect + 策略模式实现待办提醒功能
1.背景 产品需要实现一个待办提醒功能,就是核心业务发生变更即提醒业务员去处理相关业务。譬如:订单上传了支付凭证,那么就会提醒相关业务员去待办列表操办。 2.表设计 其实表设计主要是两张表sys_todo、sys_todo_detail 一张是待办核心表…...
SAP 调取http的x-www-form-urlencoded形式的接口
一、了解下x-www-form-urlencoded形式对于SAP来说有啥区别 简单来说, 1.raw格式就是标准的json格式:{“Name”:“John Smith”,“Age”: 23} 2.x-www格式是要转化一下的: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,一般不会用127.0.0.1,::1这样的本地回环地址,可以过滤掉,如果想要获取当前真正在使用的地址,得通过net.Dail去连一下才知道 获取ip地址 func main() {fmt.Println(getIpv4())fmt.Println…...
【Computer Vision Foundation】全球计算机视觉基金会论文网
计算机视觉基金会(Computer Vision Foundation,简称CVF)是一个致力于推动计算机视觉领域研究和发展的组织。以下是关于计算机视觉基金会的一些基本信息: 成立目的: CVF成立的目的是促进计算机视觉领域的学术研究、技术…...
计网(复习自用)
计算机网络 1.概述 1.1概念 含义 计算机网络:是一个将分散的。具有独立功能的计算机系统,通过通信设备和线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。 简单点说,计算机网络是互联的,自治的计算机集…...
安徽省广德市选择云轴科技ZStack Cloud云平台建设县级智慧城市
信创是数字中国建设的重要组成部分,也是数字经济发展的关键推动力量。作为云基础软件企业,云轴科技ZStack产品矩阵全面覆盖数据中心云基础设施,ZStack信创云首批通过可信云《一云多芯IaaS平台能力要求》先进级,是其中唯一兼容四种…...
【计算思维】蓝桥杯STEMA 科技素养考试真题及解析 6
1、明明买了一个扫地机器人,可以通过以下指令控制机器人运动: F:向前走 10 个单位长度 L:原地左转 90 度 R:原地右转 90 度 机器人初始方向向右,需要按顺序执行以下那条指令,才能打扫完下图中的道路 A、F-L-F-R-F-F-R-F-L-F B、F-R-F-L-F-F…...
nuxt3项目修改端口号
nuxt的默认端口号是3000 一、修改开发环境端口号 方式一:使用环境变量配置,设置(PORT 或 NUXT_PORT) # .env PORT3001 #http://localhost:3001/ NITRO_PORT3001 #http://localhost:3001/ 方式二:nuxt.config.ts里配置…...
c语言中使用openssl对rsa私钥解密
单次加密数据的最大长度(block_len),由RSA秘钥模长RSA_size()和填充模式有关 填充模式:RSA_PKCS1_PADDING, block_lenRSA_size() - 11填充模式:RSA_PKCS1_OAEP_PADDING,block_lenRSA_size() - 4…...
mysql中数据是如何被用B+树查询到的
innoDB是按照页为单位读写的 那页中有很多行数据,是怎么执行查询的呢,首先我们肯定,是以单向列表形式存储的,提高了增删的效率,但是查询效率低。所以实际上对页中的行数据进行了优化,能以二分的方式进行查…...
算法训练营第十七天|151.翻转字符串里的单词
题目链接:https://leetcode.cn/problems/reverse-words-in-a-string/ 视频讲解:https://www.bilibili.com/video/BV1uT41177fX 代码实现: 1、看到题目的第一想法: 看到题目,我首先想到:先去除多余空格&am…...
如何彻底解决Windows DLL缺失问题:VisualCppRedist AIO的技术实现与应用指南
如何彻底解决Windows DLL缺失问题:VisualCppRedist AIO的技术实现与应用指南 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 当你在Windows系统上运行…...
[Al+」数智升级,品牌种草营销新范式
AI给各行各业带来的革新有目共睹。在营销工作中,这个命题亦尤为迫切。AI如何嵌入具体场景、解决日常问题?过去一年,千瓜持续投入「AI」产品战略升级,现已覆盖“达人、内容、品牌”三大维度,实现从选人选号、内容创作到…...
从Raw Counts到故事:手把手教你用R语言(DESeq2+ggplot2)搞定RNA-seq差异分析与可视化
从Raw Counts到故事:手把手教你用R语言(DESeq2ggplot2)搞定RNA-seq差异分析与可视化 实验室的荧光定量PCR仪嗡嗡作响,隔壁同事正对着电泳胶图发愁。在这个组学数据爆炸的时代,RNA-seq已成为揭示基因表达奥秘的黄金标准…...
企业微信 API 老是调不通?基本都是这几个问题
在私域系统开发中,最让人崩溃的不是复杂的业务逻辑,而是那些隐藏在企业微信底层协议里的“技术磨损”。如果你正面临接口报错、解密失败或 Token 频繁失效,不妨对照以下四个维度进行排查。 1. 分布式环境下的 Token 覆盖与失效 原生坑位&…...
Cesium实战:手把手教你实现一个可拖拽编辑的交互式绘图工具(点线面圆矩形)
Cesium交互式绘图工具开发实战:从基础绘制到可编辑图形引擎 在三维地理信息系统开发中,交互式绘图功能已经成为行业标配需求。本文将深入探讨如何基于Cesium构建一个功能完备的绘图工具模块,不仅实现基础的点线面绘制,更重点解决图…...
TrustKit底层原理:深入理解公钥哈希算法与证书链验证机制
TrustKit底层原理:深入理解公钥哈希算法与证书链验证机制 【免费下载链接】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错误传播链的逆向追踪
更多请点击: https://intelliparadigm.com 第一章:PHP 8.9错误处理机制的范式跃迁 从异常抑制到语义化错误契约 PHP 8.9 引入了 Error Contract Interface(ECI),允许开发者为特定业务场景显式声明可预期错误类型&am…...
模型评测为什么一做回归集自动扩容就开始污染基线:从 Failure Harvest 到 Benchmark Freezing 的工程实战
🧪 回归集越滚越大,为什么评测分数更好看,线上却更容易翻车 很多团队在搭建 LLM 回归体系时,都会把线上失败样本自动回流进评测集。这个动作表面很合理:用户哪里出错,就把哪里补进基线。⚠️ 但跑上一两周后…...
技术返祖运动:软件测试中的传统智慧回归
在数字技术飞速发展的时代,软件测试从业者面临前所未有的挑战:系统复杂性剧增、数据过载和认知疲劳。技术返祖运动应运而生,它并非简单的历史倒退,而是战略性地回归传统方法,以应对现代测试生态的脆弱性。这场运动的核…...
