atan和unwrap解卷绕

要计算一个系统相频特性,就要用到反正切函数,计算机中反正切函数规定,在一、二象限中的角度为0~pi,三四象限的角度为0~-pi。

若一个角度从0变到2pi,但实际得到的结果是0~pi,再由-pi~0,在w=pi处发生跳变,跳变幅度为2pi,这就叫相位的卷绕。
unwrap(w)就是解卷绕,使相位在pi处不发生跳变,从而反应出真实的相位变化 "

查看 unwrap 的帮助文档可以发现 unwrap 还可以输入一个参数 tol,默认tol = pi。也许你需要根据情况修改下 tol。

对于一般的数列,直接使用unwrap(pha)就可以了

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

而unwrap函数不单能对数列作用,还能对矩阵作用实现对矩阵每一行或者每一列实施相位矫正所以完整的格式是unwrap(pha,tol,dim)最后一个参数dim表示需要对矩阵的行,还是列进行unwrap操作如果对列每一列操作,那么第三个参数可以缺省而要对每一行操作,那么第三个参数填2

unwrap(pha,[],2)

表示对矩阵phi中的相位数据,每一行实施相位矫正使用默认的检测跳变标准

UNWRAP(P) unwraps radian phases P by changing absolute
jumps greater than or equal to pi to their 2*pi complement.
It unwraps along the first non-singleton dimension of P
and leaves the first phase value along this dimension
unchanged. P can be a scalar, vector, matrix, or N-D array.

UNWRAP(P,TOL) uses a jump tolerance of TOL rather
than the default TOL = pi.

UNWRAP(P,[],DIM) unwraps along dimension DIM using the
default tolerance. UNWRAP(P,TOL,DIM) uses a jump tolerance
of TOL.

Class support for input P:
float: double, single

See also ANGLE, ABS.

Copyright 1984-2005 The MathWorks, Inc.

Overview of the algorithm:
Reshape p to be a matrix of column vectors. Perform the
unwrap calculation column-wise on this matrix. (Note that this is
equivalent to performing the calculation on dimension one.)
Then reshape the output back.

时间: 2024-10-12 20:54:25

atan和unwrap解卷绕的相关文章

已知传递函数,求幅频响应?

例如H(z)=(1-z^2)/(1+2z+z^2) 可以这样,a=[1 2 1];%分母b=[-1 0 1];%分子[X,w]=freqz(b,a);%求取系统频率响应plot(w/pi,abs(X)); %画解卷绕后的幅值响应grid; 系数是从高次到低次方?

[jQuery学习系列一]1-选择器与DOM对象

前言: 好久没有更新博客了, 最近想复习下 之前学过的JS的相关内容, 也算是自己的一种总结. 知识长时间不用就会忘记, 多学多记多用!! 下面的程序都可以在下面的网站进行在线调试: http://www.365mini.com/diy.php?f=jquery使用时记得勾选JS库文件,最上面空格写入html代码, 下面一个写入JS代码,右上格子添加css代码, 如下图:  如果感兴趣的话这里还有几个比较好的在线编辑JS的网站: jsbin.com; jsfiddle.net; codepen.

jQuery操作页面元素之包装元素

一:包装结点:指用指定HTML结构包装现有元素,被包装元素成为结构的子结点.就好像python中的装饰器. 1:wrap(): wrap方法用指定HTML结构包装结点,参数可以是HTML字符串.选择器或者jQuery对象.匹配多个结点时,分别包装各个结点. 2:wrapAll(): wrapAll方法将所有选中的结点包装在一个HTML结构中,参数可以是HTML字符串.选择器或者jQuery对象. 1 <!DOCTYPE html> 2 <html> 3 4 <head>

Q2:关于数组的解包错误 fatal error: Can&#39;t unwrap Optional

今天遇到一个小问题,想自己做个小项目,在一个controller中声明一个数组用于存储从数据库读来的内容,声明为 var bugCgs:[BugCategory],其实对应形式就是var className:[classType],很不巧,这样写会报错,如下图: 我自然知道在swift中变量都必须要有初始值(当然也不是一定的 例如在一个函数中就不需要).xcode提示要不要加一个required initializer 'init(coder:)'? 由于对可选类型还是有一定理解,我不假思索改成

jquery之wrap(),wrap(),unwrap()方法详解

[注]wrap():为每个匹配元素外面添加指定的HTML结构, wrapAll(): 为所有匹配元素(作为一个整体)外面添加一个指定的HTML结构 原文地址:http://www.365mini.com/page/jquery-wrap.htm wrap()函数用于在每个匹配元素外部包裹指定的HTML结构. 与该函数相对的是unwrap()函数,用于当前匹配元素的父元素(只移除父元素,其内部节点全部保留). 该函数属于jQuery对象(实例). 语法 jQueryObject.wrap( wra

深入 Promise(一)——Promise 实现详解

if (typeof Promise === 'undefined') {   return} 实现 Promise/A+ 规范的库有很多,lie 是一个精简的实现 Promise/A+ 的库,并且通过了 Promise/A+ 专门的测试集,但 lie 的代码写的有点绕,我在 lie 的代码基础上进行了修改,使之更容易阅读和理解,并发布了 appoint 模块供大家参考. Promise/A+ 规范 Promise 规范有很多,如 Promise/A,Promise/B,Promise/D 以及

js取整数与取余数实例详解

分享下js取整数.取余数的方法. 1.丢弃小数部分,保留整数部分parseInt(5/2)2.向上取整,有小数就整数部分加1 Math.ceil(5/2)3,四舍五入.Math.round(5/2)4,向下取整 Math.floor(5/2)Math 对象的方法FF: Firefox, N: Netscape, IE: Internet Explorer方法 描述 FF N IEabs(x) 返回数的绝对值 1 2 3acos(x) 返回数的反余弦值 1 2 3asin(x) 返回数的反正弦值

LINUX下ORACLE相关的内核参数详解

ORACLE相关的内核参数详解 1.kernel.sem [[email protected] ~]# cat /proc/sys/kernel/sem 250         32000    100         142 [[email protected] ~]#  ipcs -sl ------ Semaphore Limits -------- max number of arrays = 142 max semaphores per array = 250 max semaphor

详解Node.js API系列C/C++ Addons(3) 程序实例

http://blog.whattoc.com/2013/09/08/nodejs_api_addon_3/ 再续前文,前文介绍了node.js 的addon用法和google v8 引擎,下面,我们进入真正的编码,下面将会通过六个例子,学习node addon 范例,了解addon编程的特性 创建一个空项目 随机数模块 向模块传递参数 回调函数处理 线程处理 对象管理 创建一个空项目 vi modulename.cpp #include <node.h> void RegisterModul