MATLAB函数angle、unwrap

article/2025/10/6 21:49:21

一、angle

相位角

  1. 语法
    P =angle(Z)
  2. 描述
    P = angle(Z)返回复数数组Z的每个元素的相角(以弧度为单位)。角度介于±π之间。
  3. 对于复数Z,幅值R和相角theta由下式给出
    R =绝对值(Z)
    θ=角度(Z)
  4. 可以根据
    Z = R. * exp(i * theta)转换回原始复数Z。
  5. 例子
    矩阵元素的相角
    创建一个复数值矩阵,并计算每个元素的相角。
    Z = [1-1 i  2 + 1i  3-1i   4 + 1i
           1 + 2i 2-2i 3 + 2i 4-2i
           1-3i 2 + 3i 3-3i 4 + 3i
           1 + 4i 2-4i 3 + 4i 4-4i];
  6. P= angle(Z)
    P = 4×4

   -0.7854 0.4636 -0.3218 0.2450
    1.1071 -0.7854 0.5880 -0.4636
   -1.2490 0.9828 -0.7854 0.6435
    1.3258 -1.1071 0.9273 -0.7854

  1. 算法
    角度函数采用复数z = x + iy并计算atan2(y,x)来找到在xy平面上在正x轴和从原点到点(x,y)的射线之间形成的角度。这个相位角也是复数对数的虚部,因为

总结

一、什么是unwrap

要计算一个系统相频特性,就要用到反正切函数,计算机中反正切函数规定,在一、二象限中的角度为0~pi,三四象限的角度为0~-pi。若一个角度从0变到2pi,但实际得到的结果是0~pi,再由-pi~0,在w=pi处发生跳变,跳变幅度为2pi,这就叫相位的卷绕。unwrap(w)就是解卷绕,使相位在pi处不发生跳变,从而反应出真实的相位变化。

二、unwrap功能

unwrap功能检查出数据相位跳变,并纠正跳变,实际上在检查是否跳变的时候是有个标准unwrap(pha,tol),这个tol就是标准,在默认的情况下,这个标准是pi,也就是说unwrap在检查到数据前后两点的差距在超过tol的时候,就认为有跳变。然后就会处理数据,让后面的数据加2pi或者减2pi是数据连续。大部分情况下使用pi这个标准都比较合适,所以第二个参数可以缺省,特殊情况下是可以通过设置tol调整鉴别标准。
三、unwrap使用

unwrap函数不单能对数列作用,还能对矩阵作用,实现对矩阵每一行或者每一列实施相位矫正,所以完整的格式是unwrap(pha,tol,dim)。最后一个参数dim表示需要对矩阵的行,还是列进行unwrap操作。如果对列每一列操作,那么第三个参数可以缺省而要对每一行操作,那么第三个参数填2。比如,unwrap(pha,[],2)表示对矩阵phi中的相位数据,每一行实施相位矫正,使用默认的检测跳变标准。

 

二、 unwrap

  1. unwrap
    校正相位角以产生更平滑的相位图
  2. 句法
    Q =unwrap(P)
    Q =unwrap(P,tol)
    Q =unwrap(P,[ ],dim)
    Q =unwrap(P,tol,dim)
  3. 描述
    当P的连续元素之间的绝对跳变大于或等于π弧度的默认跳变公差时,
    Q = unwrap(P)通过添加±2π的倍数来校正矢量P中的弧度相位角。
    如果P是矩阵,则展开,操作按列进行。
    如果P是多维数组,则展开,将在第一个非单维度上进行。
  4. Q = unwrap(P,tol)使用跳跃公差tol而不是默认值π。
    Q = unwrap(P,[],dim)使用默认公差沿暗角展开。
    Q = unwrap(P,tol,dim)使用tol的跳跃公差。

以下相位数据来自三阶传递函数的频率响应。 相位曲线从-1.8621到1.7252在w = 3.0和w = 3.5之间跃迁3.5873弧度。

w = [0:.2:3,3.5:1:10]; 
p = [    0-1.5728-1.5747-1.5772-1.5790-1.5816-1.5852-1.5877-1.5922-1.5976-1.6044-1.6129-1.6269-1.6512-1.6998-1.86211.72521.61241.59301.59161.57081.57081.5708 ];
semilogx(w,p,'b*-'), hold 

使用unwrap来校正相角,得到的跳跃为2.6959,小于默认的跳跃公差π。 该图将新曲线绘制在原始曲线上。

 

Example 2

Array P features smoothly increasing phase angles except for discontinuities at elements (3,1) and (1,2).

P = [      0    7.0686    1.5708    2.35620.1963    0.9817    1.7671    2.55256.6759    1.1781    1.9635    2.74890.5890    1.3744    2.1598    2.9452 ]

The function Q = unwrap(P) eliminates these discontinuities.

Q =0    7.0686    1.5708    2.35620.1963    7.2649    1.7671    2.55250.3927    7.4613    1.9635    2.74890.5890    7.6576    2.1598    2.9452

 


http://chatgpt.dhexx.cn/article/Svy4ZaM4.shtml

相关文章

fbp算法matlab实现,matlab实现fbp算法

matlab提供大量函数,可以方便的完成fbp算法 1)fbp算法原理: 中心切片定理 (CST) : 原数据投影的一维傅立叶变换等于原数据的二维傅立叶变换 投影 --> 一维傅立叶变换 --> 滤波 --> 二维傅立叶反变换 经过上述过程应该得到原始数据 2)投影相关知识 2.1)正投影:对…

一种简单的图形旋转算法

图形旋转好玩又有实用性, 这里介绍一种简单的图形旋转算法. 具体步骤如下: 1. 首先将原图和旋转图的坐标原点都变换到图形的中心位置处. 2. 历遍旋转图形中的每一个pixel, 将pixel的坐标(j,i)反向旋转映射到原图, 得到原图对应的坐标值(Xr,Yr). 3. 考虑到旋转图的尺寸可能大于…

多目标跟踪之数据关联算法——匈牙利算法

零、Track和Detection的cost matrix,distance metric。距离计算的方式有如下几种: 距离cost distance metric,track和detection的距离矩阵。 外观距离appearance distance,来自检测切片ROI的网络特征提取;——余弦距离 运动模型距离 马氏距离,来自检测-跟踪的kalman校正…

EAST算法简单解析

前言 最近写了很多算法代码的解析,但是却很少写原理的解析,这段时间学得快忘得也快,所以寻思这几天写几篇学过算法的原理,可能不是很详细但是一定很简单,利于理解。 算法介绍 EAST: An Efficient and Accurate Scen…

定位算法初探

定位算法初探 一、指纹定位算法介绍 指纹定位(finger-printing localization)算法,是基于室内环境复杂,信号反射折射所形成的在不同位置形成的不同的信号强度信息而提出的一套算法。 指纹算法能很好的利用了反射折射所形成的信号信息,离线首…

使用python模拟实现PID控制算法

使用python模拟实现PID控制算法 PID控制算法是工业应用中最广泛算法之一,在闭环系统的控制中,可自动对控制系统进行准确且迅速的校正。 P、I、D分别是“比例(proportional)、积分(integral)、微分&#xff…

TCP Nagle算法简述

TCP/IP协议中,无论发送多少数据,总是要在数据前面加上协议头,同时,对方接收到数据,也需要发送ACK表示确认。为了尽可能的利用网络带宽,TCP总是希望尽可能的发送足够大的数据。 (一个连接会设置M…

倒角算法推导

推导原理基本很简单: 已知AB, BC两条线段,且交于B点,求倒角半径为 L,AB,BC的倒角 以最短边(假定为AB)长 LAB, 在BC中,以B为起点,找出与LAB同长度…

[控制算法]

[常用控制算法] 0.博览众长 0.1 视频 1. DR_CAN b站 0.2 文章 1.控制算法整理 0.3 传统 VS 现代控制算法 1. 传统 传统控制算法:PID,模糊,神经网络控制算法。 2. 现代 现代控制算法有比例,LQR算法(用于线性系统)&#x…

求树的直径证明

树的直径(最长路) 的详细证明 主要是利用了反证法: 假设 s-t这条路径为树的直径,或者称为树上的最长路 现有结论,从任意一点u出发搜到的最远的点一定是s、t中的一点,然后在从这个最远点开始搜,就…

树的直径和树的重心

1.树包括有根树和无根树,有根树是有向图的子图,无根树是无向图的子图,都满足边数等于节点数减一。根是入度为零或没有父亲的节点 2.树的直径:树上最长的简单路径(不重复经过点的路径) 3.求解算法&#xf…

树的直径总结

树的直径 一、定义 在一棵树中,最远的两个子节点之间的距离被称为树的直径; 链接这两个点的路径被称为树的最长链; 有两种求法,时间复杂度均为 O ( n ) O(n) O(n) ; 二、树形DP 1. 状态 由于一个点的最长路通过…

基础算法 - 树的直径

题目地址:https://leetcode-cn.com/problems/tree-diameter/ 1245. 树的直径 难度中等48收藏分享切换为英文接收动态反馈 给你这棵「无向树」,请你测算并返回它的「直径」:这棵树上最长简单路径的 边数。 我们用一个由所有「边」组成的数…

树的直径-c++

题目 实验室里原先有一台电脑(编号为1),最近氪金带师咕咕东又为实验室购置了N-1台电脑,编号为2到N。每台电脑都用网线连接到一台先前安装的电脑上。但是咕咕东担心网速太慢,他希望知道第i台电脑到其他电脑的最大网线长度,但是可怜…

求树的直径算法以及证明

以下为两次dfs(bfs)的做法以及正确性证明。 算法步骤 (1)任取树上一点S,以S为源点BFS得S到各个顶点的d值; (2)取d值最大者之一为P,再以P为源点BFS得P到各个顶点的d值&am…

求树的直径

树的直径,即树上的最长路径,显然,树的直径可以有很多条(考虑一棵菊花)。 接下来我们考虑如何求出一棵树的直径。有很多种O(n)的算法。 算法1:我们任取树中的一个节点x,找出距离它最远的点y&am…

数据结构 树的直径

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。 学习日记 目录 学习日记 一、定义 二、两次DFS 定理: 反证法证明: 1、若y在d(t,s)上 2、若y不在d(s,t)上,且d(y,z)与d(s.t)…

树的直径(最长的简单路径)

题解:分析一下,由于是树,所以两点之间的路径有且只有一条,为了求出欧拉路,所以必然会向回走,从递归的角度来看,假设x看作一个树根,有t个孩子y1…yt。其中每个孩子为根的子树欧拉路都…

树的直径概念及求解

文章目录 1. 使用两次DFS求得树的直径2. 使用树形DP求得树的直径3. 性质4. 参考文献和习题 树上任意两节点之间最长的简单路径即为树的「直径」。显然,一棵树可以有多条直径,他们的长度相等。可以用两次 D F S / B F S DFS/BFS DFS/BFS 或者树形 D P D…

树的直径两种求法

首先先介绍一下什么是树的直径,树的直径就是树中所有最短路经距离的最大值。 求树的直径通常有两种方法,一种是通过两次搜索(bfs和dfs均可),另一种就是通过树形dp来求了。 先来介绍一下用两次深搜来求树的直径&#x…