自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

B417科研笔记

不做无益之事,何以悦有涯之生。

  • 博客(162)
  • 资源 (2)
  • 收藏
  • 关注

原创 复数问题的最速方向为什么是共轭梯度

根据柯西-施瓦茨不等式,对于复数变量的实值函数。

2022-12-13 20:40:59 1505 3

原创 分段函数线性化

线性化:f(x)=f1(x)(1−y)+f2(x)ys.t.y∈{0,1}ay

2022-12-06 18:00:37 2664

原创 从Matlab实例学习粒子群算法

之前提到过, 无论遗传算法、蚁群算法以及今天要学习的粒子群算法,本质上都是对穷搜算法的精进版本,即通过参照一些自然界的规律来提高搜索的效率。粒子群算法则是参考了鸟群寻找栖息地的自然现象,它的中心思想是每只鸟既根据自己的历史经验寻找栖息地的同时,也会参考同伴们的经验进行搜索。

2022-11-28 00:14:56 1117 1

原创 从Matlab实例学习蚁群算法(2)

在中我们介绍了用蚁群算法求解TSP问题的实例。进一步的,本文介绍一个通过蚁群算法求解连续问题的实例。

2022-11-20 23:48:57 2113

原创 从Matlab实例学习蚁群算法

挑选可行解进行遍历, 再根据结果更新下一轮可行解的挑选概率。有点类似于强化学习, 更好的游戏得分会进一步鼓励下一次类似的尝试。只是换了一种生物学的说法,这种鼓励对应于蚂蚁分泌的信息素——信息素越多的路径会吸引更多蚂蚁探索。目前来看,所有的各类仿生启发式算法,本质上仍始终是试图达到比穷搜更高效的搜索, 在缺乏数学理论解释的情况下, 便以生物学作为启发的基石。

2022-11-20 01:48:11 1026

原创 从Matlab实例学习差分进化算法

F。

2022-11-14 22:14:16 717 1

原创 从Matlab实例学习遗传算法

本文旨在使用一书中的例子,来透彻理解遗传算法的本质。

2022-11-13 02:41:39 1354 2

原创 特征值求导推导

设矩阵A的第i大特征值为λi​, 对应特征向量vi​,A=AH求:∇A​λi​=∂A∗∂λi​​目标: 写出 dλi​=tr(BdAH)则有∇A​λi​=B。根据特征值定义: Avi​=λi​vi​,viH​vi​=1有:d(Av1​)=dA∗v1​+Advi​=d(λi​vi​)=dλi​∗。

2022-11-11 09:25:15 1288

原创 【深度强化学习】策略梯度 Policy Gradients

重读《Deep Reinforcemnet Learning Hands-on》, 常读常新, 极其深入浅出的一本深度强化学习教程。 本文的唯一贡献是对其进行了翻译和提炼, 加一点自己的理解组织成一篇中文笔记。原英文书下载地址: 传送门原代码地址: 传送门本文是书本第九章,介绍DQN的一种替代:策略梯度方法。在DQN方法中,我们主要是通过深度网络,得到不同状态下不同动作所对应的Q值,然后选取Q值最大的动作。 这一策略我们可以表示如下:π(s)=arg⁡maxaQ(s,a)\pi(s)=\arg m a

2022-06-29 15:14:22 1447 2

原创 关于变分法

在介绍变分贝叶斯之前,首先以这篇博客介绍下大名鼎鼎的变分法。 参考资料主要是知乎的文章与维基百科。变分就是函数的微分。回顾一下传统的函数优化问题。 对于min⁡xf(x)\min_x f(x)minx​f(x)这样的优化问题,求取最优的xxx的做法常用一阶条件,即:∂f∂x⋆=0 \frac{\partial f}{\partial x^\star} =0 ∂x⋆∂f​=0对应的物理意义是从该点出发的任何变化方向都无法让函数值进一步下降,也即:f(x⋆)≤f(x⋆+ϵdx)f(x^\star) \

2022-05-02 13:51:27 1705

原创 关于EM算法

参考论文 《The Variational Approximation for Bayesian Inference》令观测值为x\mathrm{x}x,代估参数值为 θ\thetaθ, EM算法所想要最大化的目标函数,最大似然函数可写为:ln⁡p(x;θ)=F(q,θ)+KL(q∥p)(1)\ln p(\mathbf{x} ; \boldsymbol{\theta})=F(q, \boldsymbol{\theta})+K L(q \| p) \tag{1}lnp(x;θ)=F(q,θ)+KL(q∥

2022-05-01 17:49:04 1394

原创 ADMM算法的应用: 降低SDP算法复杂度

在 ADMM算法简介 和 最大化速率的智能反射面波束成形(下): ADMM 我们对ADMM算法进行了简单的介绍,前者主要侧重于原理,而后者则以IRS波束成形设计的实例展示了ADMM算法的实际应用。 这篇博客基于Millimeter-Wave Beamformed Full-Dimensional MIMO Channel Estimation Based on Atomic Norm Minimization 这一原子范数信道估计经典论文,介绍ADMM算法在应对SDP问题时的应用,以降低求解复杂度。不过,考

2022-04-28 16:29:24 4173 3

原创 初窥OTFS:正交时频空间调制

前言最近接触到OTFS这个技术概念, 于是找到一些相关的paper阅读了一下。 中间涉及许多的数学推导暂时还是一知半解,受限于自身水平,这篇相关的记录博客主要是个人理解,可能有所纰漏,希望大家指出。看了一些相关介绍的Magazine文章,最后发现还是提出者最开始的paper更容易理解,也即本文所围绕的文章: 《Orthogonal Time Frequency Space Modulation》 。总体感受是,对于高移动性场景,对于时变信道,OTFS确实是一种相比于传统OFDM系统更好的通信调制方式。系

2022-04-27 22:15:29 11272 8

原创 Householder变换、Givens旋转与QR分解

Householder变换Householder矩阵定义如下:Q=I−2uuT(1)Q=I-2 uu^T\tag{1}Q=I−2uuT(1)其中u\mathbf{u}u为单位向量。对某一向量左乘QQQ即对其进行Householder变换。其具体物理意义如下图所示:Qx=x−2uuTx=yQx = x - 2uu^T\mathbf{x}=\mathbf{y}Qx=x−2uuTx=y也即,该Householder变换就是对xxx进行了镜面反射,该镜面与u\mathbf{u}u垂直。那么,如果想

2022-04-25 15:14:55 3901 1

原创 QR分解以及最小二乘求解

关于QR分解随着学习的深入,愈发感受到QR分解的重要性,必须重写一篇博客来记录之。 QR分解的具体定义如下:对于任意方阵AAA, 有:A=QRA = QRA=QR其中,QQQ是一个正交矩阵, RRR是一个上三角矩阵。 此外,若A\mathbf{A}A为长方形矩阵,即行数大于列数,则有:A=QR=Q[R10]=[Q1Q2][R10]=Q1R1A=Q R=Q\left[\begin{array}{c}R_{1} \\0\end{array}\right]=\left[\begin{array}

2022-04-25 00:35:54 2948 1

原创 Joint Tx-Rx Beamforming Design for Multicarrier MIMO Channels: A Unified Framework (2)

前言接上篇博客 Joint Tx-Rx Beamforming Design for Multicarrier MIMO Channels: A Unified Framework (1)。发射机设计在上文中我们讲到了,对发射机的设计可以表示为如下问题:min⁡Bf0(d(E(B))) s.t. Tr⁡(BBH)≤PT\begin{array}{ll}\min _{\mathbf{B}} & f_{0}(\mathbf{d}(\mathbf{E}(\mathbf{B}

2022-04-08 22:19:12 1122

原创 Joint Tx-Rx Beamforming Design for Multicarrier MIMO Channels: A Unified Framework (1)

前言这篇博客是对经典paper Joint Tx-Rx Beamforming Design for Multicarrier MIMO Channels: A Unified Framework for Convex Optimization 的摘记,文中通过作者给出的Schur-convex函数的概念,将不同的beamforming指标都与MSE关联,并可以通过统一的框架进行求解。这是一篇内容非常充实且经典的文章。系统模型与接收机设计文章考虑的是单用户点对点的宽带场景,其接收天线上的信号模型可以建

2022-04-08 01:33:58 1235

原创 置换矩阵的应用:逆矩阵的对角线元素求法

置换矩阵是一种非常实用的数学工具, 其确切定义如下:一个正方矩阵,若其每一行和每一列有且仅有一个非零元素111,则称之为置换矩阵。顾名思义,其作用是:当将某一矩阵左乘置换矩阵,相当于将矩阵的行重新排列。 而右乘置换矩阵,则相当于对列重新排列。因此,当我们想对矩阵的行或列重新排列时,就可以等效地将其写为左/右乘置换矩阵的形式。 插一句题外话,对某矩阵左乘一个对角阵,相当于对其每一行都分别乘上对应的对角元素。 右乘一个对角阵,则相当于每一列乘上一个对角元素。 因此,左乘代表对行操作,右乘代表对列

2022-04-07 01:22:22 2315

原创 多用户MIMO系统预编码:广义矩阵求逆法

前言行将毕业了,最近不太看那些智能反射面、通感一体化之类的热点了。有限的时间里,准备多读一些过去的经典沉淀一下。 疫情汹涌,祝大家一切都好。接下来在家的日子里,希望要求自己每天写一篇经典论文的摘记博客,不负时光。这篇博客是对2009年文献Generalized Channel Inversion Methods for Multiuser MIMO Systems的摘记,讲的是多用户MIMO系统预编码设计。对此,文献[1]中给出的著名脏纸编码 (dirty paper coding, DPC) 可以达到

2022-04-06 00:46:29 2343

原创 低秩矩阵近似求解

优化问题:Z^=arg⁡min⁡∥Z−X∥F2 s.t. rank⁡(Z)⩽N,Z∈RM×L\begin{aligned}\widehat{\mathbf{Z}}=\arg \min &\|\mathbf{Z}-\mathbf{X}\|_{\mathrm{F}}^{2} \\\text { s.t. } & \operatorname{rank}(\mathbf{Z}) \leqslant N, \mathbf{Z} \in \mathbb{R}^{M \time

2022-03-21 18:22:03 2904

原创 MIMO系统中的线性处理: 匹配滤波、迫零滤波与维纳滤波

前言这篇博客是对经典论文 Linear Transmit Processing in MIMO Communications Systems的摘记。这篇文章考虑的是收发端的各自独立信号处理设计,而非联合设计。继而,给出了匹配滤波、迫零滤波与维纳滤波这三种常见滤波方式的具体数学形式。系统模型考虑如图所示的一个线性系统模型, 有:y=Ps∈CNs~=G(HPs+η)∈CB\boldsymbol{y}=\boldsymbol{P} \boldsymbol{s} \in \mathbb{C}^{N}\

2022-03-20 02:06:30 2581

原创 再探矩阵求逆引理 : Woodbury恒等式的证明

在之前的许多次接触中感到了矩阵求逆引理的强大可谓在通信中无处不在。然而稍显繁琐的表达式让我总是没能完整记忆,每次都要对着矩阵论的书才得以使用。痛定思痛,恰好今天看了维基上对其的介绍,觉得太过优雅,就以这篇博客记录一下。Woodbury 恒等式 :(A+UCV)−1=A−1−A−1U(C−1+VA−1U)−1VA−1(A+U C V)^{-1}=A^{-1}-A^{-1} U\left(C^{-1}+V A^{-1} U\right)^{-1} V A^{-1}(A+UCV)−1=A−1−A−1U(C

2022-03-20 01:27:52 1904 2

原创 KA算法:一种低复杂度的预编码/接收机设计思路

前言这篇博客为 Low-Complexity Statistically Robust Precoder/Detector Computation for Massive MIMO Systems 的笔记。 文章介绍了一种基于KA算法的预编码设计思路,可以规避传统算法中的求逆操作,以降低系统计算复杂度。如下所示,传统的ZFD (迫零接收机) 和 MMSED (最小均方误差接收机) 的表达式为:s^ZFD =(QHQ)−1QHys^MMSED =(QHQ+1SNRIK)−1QHy\

2022-03-18 20:32:45 2320

原创 关于SDP的凸性与拉格朗日函数

Boyd的书中给出了凸优化最基本的标准定义如下:minimize⁡f0(x) subject to fi(x)⩽0,i=1,⋯ ,mhi(x)=0,i=1,⋯ ,p\begin{array}{ll}\operatorname{minimize} & f_{0}(x) \\\text { subject to } & f_{i}(x) \leqslant 0, \quad i=1, \cdots, m \\& h_{i}(x)=0, \quad

2022-02-20 13:43:20 2157 2

原创 logdet函数的凹凸性和遍历速率

对于常见MIMO系统,我们知道对于确定性信道,性能通常由速率衡量,如下:R=log⁡det⁡(I+HQHH) R = \log\det(I +HQH^H)R=logdet(I+HQHH)其中, HHH代表信道, Q=FFHQ = FF^HQ=FFH, FFF为预编码矩阵。而对于随机信道,性能往往由遍历速率衡量,即速率的期望如下:R=E{log⁡det⁡(I+HQHH)},R = E\{\log\det(I + HQH^H)\} ,R=E{logdet(I+HQHH)},其中EEE是对HHH取期望。

2022-02-15 23:27:18 3067

原创 SLNR预编码:广义瑞丽熵与广义特征向量

前言这两天在调研MIMO预编码算法文献的时候,恰巧看到了一篇这篇paper:A Leakage-Based Precoding Scheme for Downlink Multi-User MIMO Channels解开了我之前对广义瑞丽熵最优解的证明疑惑。 便写这篇博客来记录一下。问题传统的多用户MIMO预编码,往往以速率, 也即SINR的函数为目标,SINR可写为:SINR⁡i=∥Hiwi∥2Miσi2+∑k=1,k≠iK∥Hiwk∥2\operatorname{SINR}_{i}=\fr

2022-02-15 16:30:29 2534

原创 智能反射面信道估计:基于原子范数最小化

文章目录前言系统模型第一阶段第二阶段前言在上一篇博客 压缩感知的尽头: 原子范数最小化, 笔者记录介绍了一种新的算法:原子范数最小化。 主要停留在算法理论的推导层面。 这篇博客则介绍在 IRS信道估计方向上, 利用原子范数最小化来求解问题的文章 Channel Estimation for RIS-Aided mmWave MIMO Systems via Atomic Norm Minimization, 今年发表在 IEEE TWC上。选取这篇文章,一方面是趁热打铁地掌握 原子范数方法的具体使用,

2021-12-18 19:24:18 4204 9

原创 原子范数 Atomic norm最小化: 简单的Matlab例程

前言基于 压缩感知的尽头: 原子范数最小化 中的原子范数最小化算法, 笔者做了一些matlab的仿真, 作为简单的例程,希望帮助大家进一步理解算法和自定义的拓展。由于凸问题的求解需要使用 CVX, 因此需要读者先自行安装好 matlab 的 CVX包。1-D 无噪场景假设接收天线有646464根, 有333个单天线的目标源同时发射信号, 接收信号可以表示为:z=[a(f1),a(f2),a(f3)][s1  s2  s3]T=A(f)s z=[a(f_1), a(f_2), a(f_3)][s_1

2021-12-17 15:09:01 6479 20

原创 无处不在的Schur补:凸优化角度的证明

前言之前在各类应用中接触到了 Schur补, 即舒尔补这个概念。 而下定决心写一篇博客来记录, 是由于在 压缩感知的尽头: 原子范数最小化 又一次充分应用到了 Schur 补。 似乎, 这和 矩阵的 半正定性, 和 SDP 的充分使用,密不可分。 因此, 有足够的理由深入了解。参考的书籍为: Convex Optimization for Signal Processing and Communications: From Fundamentals to Applications.无疑是凸优化的一本好

2021-12-15 00:18:35 3043

原创 压缩感知的尽头: 原子范数最小化

前言在之前的博客中,我们介绍了包括正交匹配追踪OMP、近似消息传递GAMP 等常见的压缩感知算法。 抛开复杂度不谈,对于压缩感知问题, 哪个算法拥有最佳的性能, 无疑是让人感兴趣的话题。 那么目前可以给出答案了: 压缩感知的尽头, 就是 原子范数最小化算法。 而其能在一众算法中登顶的原因也很简单: 它既是拥有优良凸优化性质的算法, 又没有精度的限制。 简单而言, 如果说 OMP 等在有限码本上选取码字的算法为 On-grid 类型。 那么 原子范数最小化算法,就是在无穷精度的范围内进行搜索, 即 Grid

2021-12-14 14:50:19 11303 21

原创 SDP半正定规划的低复杂度求解:基于块坐标下降(Block Coordinate Descent)

前言之前的几篇博客 经典的SDR算法: 用半正定松弛法 ( Semidefinite Relaxation) 求解二次优化问题 和 经典的SDR算法(下):SDR的具体使用细节与相关代码 中介绍了一种行之有效的 QCQP问题的求解方法。 这其中, SDP 半正定规划 是 无可避免的必由之路。 然而,传统的CVX求解方法, 如内点法等, 其复杂度为 O(n3.5log⁡(1/ϵ))O\left(n^{3.5} \log (1 / \epsilon)\right)O(n3.5log(1/ϵ)), 其中 nnn

2021-12-09 19:33:04 6983 2

原创 最大化速率的智能反射面波束成形(下): ADMM

前言在上一篇博客中, 我们介绍了这篇文章 Weighted Sum-Rate Optimization for Intelligent Reflecting Surface Enhanced Wireless Networks 的系统建模和使用分式规划方法对问题的简化。 上一篇的遗留问题是, 具体如何对 IRS 矩阵进行优化。 作者提出了多种算法, 在本篇中会一一介绍, 比如以之命名本篇的ADMM。最近点投影通过分式规划, IRS波束成形问题最终可以变成求解如下的子问题:(P4a)max⁡θf4

2021-11-30 21:25:20 5571 8

原创 经典的SDR算法(下):SDR的具体使用细节与相关代码

前言在上一篇博客 经典的SDR算法: 用半正定松弛法 ( Semidefinite Relaxation) 求解二次优化问题 我们介绍了SDR算法的基本思想。 本文中, 我们重点再针对SDR具体使用时的细节进行阐述。 这里简单回顾下, 原QCQP问题为:min⁡x∈Rn    xTCx s.t. xTAix⊵ibi,i=1,…,m(1)\begin{aligned}\min _{x \in \mathbb{R}^{n}} & \;\;x^{T} C x \\\te

2021-11-30 14:32:13 25020 28

原创 ADMM算法简介

前言这篇博客旨在介绍下最近在通信中经常用到的 ADMM 算法。 算法的全称为 Alternating Direction Method of Multipliers, 中文直译为: 交替方向乘子法。 本文的参考文献为 Boyd 的经典著作: Distributed Optimization and Statistical Learning via the Alternating Direction Method of Multipliers, 事实上从名字就可以看出, 正如Boyd在摘要中所提到的, AD

2021-11-26 17:03:38 11970 1

原创 y=sinx的概率分布推导

近期碰到这样一个小问题, 当 xxx 是在 [0,2π][0, 2\pi][0,2π] 上均匀分布时, 求 y=sin⁡(x)y=\sin(x)y=sin(x) 的分布?然后发现百度出来的答案都是错的…先上结论, 用matlab先看一下概率分布图, 代码如下:for i = 1 : 100000 a = unifrnd(0, 2 * pi); b(i) = sin(a);endcdfplot(b)结果如图所示, 也就是说, sin⁡(x)\sin(x)sin(x)并不是如直觉所

2021-11-13 16:58:32 3272 2

原创 近端梯度下降法 (proximal gradient descent)

本文参考了知乎的文章 机器学习 | 近端梯度下降法 (proximal gradient descent), 写的非常棒,但感觉有些微的赘余, 因此以这篇博客,希望更精简地介绍 近端梯度下降法 这种略显陌生的 算法。对于传统的可微的目标函数, 直接使用梯度下降法即可。 而对于不可微的情况下, 就是 近端梯度法 表现的时机了。 简而言之, 目标函数必可写成如下的形式:f(x)=g(x)+h(x)f(x)=g(x)+h(x)f(x)=g(x)+h(x)其中 g(x)g(x)g(x) 可微, 而 h(

2021-11-09 13:53:45 2303

原创 最大化速率的智能反射面波束成形(上):分式规划

前言本文是对 IRS论文 Weighted Sum-Rate Optimization for Intelligent Reflecting Surface Enhanced Wireless Networks 的读书笔记。 选择这篇文章首先是因为作者非常良心地分享了具体代码:传送门, 其次文中用到的 分式规划 和 ADMM 也很值得学习, 又恰好是智能反射面背景。 由于本文涉及到的这两种算法都值得细究, 因此分为上下两篇来一一阐述。系统模型本文考虑的 IRS 系统模型 其实和之前写过的 基于SDR的

2021-11-05 20:43:38 6740 21

原创 凸函数的判断(中): 凸函数复合与CVX中的凸函数辨识

前言在上一篇我们总结了凸函数的一些基本性质和重要的一阶二阶条件, 在这一节,我们结合 CVX 工具包的一些使用定义来深入理解 如何快速判断函数是否为凸。 这有两点意义: 1. 学会正确地使用CVX工具包, 防止报错。 2. 学会判断哪些函数是凸函数 —— 既然 CVX可以判断你输入的问题是否为凸问题, 那么我们只需要学习其逻辑即可。CVX 语法我们直接从CVX的语法中对凸函数的辨别进行学习。 (最基本的凸函数,我们可以通过上篇所讲的 定义、一阶二阶条件得到, 本篇主要聚焦于 如同从基本的凸函数组合衍生

2021-11-02 20:02:21 4352 1

原创 凸函数的判断(上): 重要的基本性质

前言最近在学习CVX的使用, 也得知了其最核心的点在于需要掌握 如何判断 目标函数是否为凸。 这篇博客就是基于Boyd的凸优化经典教材,对凸函数判断的一些整理, 也记录几个私以为极为重要的证明。基本定义对于定义域为凸集 ,且对于 x,y∈dom⁡fx, y \in \operatorname{dom} fx,y∈domf, 0⩽θ⩽10 \leqslant \theta \leqslant 10⩽θ⩽1时, 满足f(θx+(1−θ)y)⩽θf(x)+(1−θ)f(y)f(\theta x+(1-\

2021-11-02 15:09:34 2183

原创 智能反射面(IRS, RIS)代码集合

之前有许多读者提到,刚接触这个领域,希望有一些公开的代码可供学习参考。 这里向大家推荐一下 ken0225 收集的 IRS目前已公开的代码集合, 还在持续更新中。附传送门:IRS代码集合

2021-11-01 15:13:27 13385 5

mmWaveChannelEstimation.rar

毫米波信道估计经典论文 Channel Estimation and Hybrid Precoding for Millimeter Wave Cellular Systems 的源码

2021-11-03

IntroOptimManifolds_Boumal_2020.pdf

介绍manifold流形优化的通俗易懂的一本入门教程。

2021-04-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除