matlab里的unwrap的命令用法是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab里的unwrap的命令用法是啥?相关的知识,希望对你有一定的参考价值。

在命令窗输入:
doc unwrap,直接使用unwrap(pha)就可以了。输入之后可以看到详细说明,tol的取值不能限制提取相位的区间在[-pi/2,pi/2],如果你的数据在这个范围内,说明是输入数据的在这个范围。

一、什么是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中的相位数据,每一行实施相位矫正,使用默认的检测跳变标准。

参考技术A 对于一般的数列,直接使用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中的相位数据,每一行实施相位矫正
使用默认的检测跳变标准

MATLAB中strel函数的作用以及用法参数是啥?

建议在matlab命令行输入: doc strel 可查看详细的内容

函数功能:构造结构元素(Structuring element)。所谓结构元素, 可以看做是一张小图像, 它通常用于图像的形态学运算(如膨胀、腐蚀、开运算、闭运算)。
调用格式:
SE = strel(shape, parameters)
根据shape指定的类型创建一个结构元素SE。
SE = strel('arbitrary',
NHOOD)创建一个指定领域的平面结构化元素。NHOOD是一个包含1/0的矩阵;1的位置定义了领域的形态学操作。NHOOD的中心就是它的中心元素,位置在
FLOOR((SIZE(NHOOD) + 1)/2)。你也可以忽略参数串'arbitrary'而只使用STREL(NHOOD).

SE = strel('arbitrary', NHOOD,
HEIGHT)创建一个指定领域的非平面结构化元素。HEIGHT是一个矩阵,大小和NHOOD相同,他指定了NHOOD中任何非零元素的高度值。HEIGHT必须是实有限值。你也可以忽略参数串'arbitrary'而只使用STREL(NHOOD,HEIGHT).
SE = strel('ball', R, H, N)
SE = strel('diamond', R)
SE = strel('disk', R, N)
SE = strel('line', LEN, DEG)
SE = strel('octagon', R)
SE = strel('pair', OFFSET)
SE = strel('periodicline', P, V)
SE = strel('rectangle', MN)
SE = strel('square', W)
http://baike.baidu.com/view/7914222.htm
参考技术A Matlab中函数strel在操作结构元素应用,用于膨胀腐蚀及开闭运算等操作的结构元素对象
具体用法:SE = strel(shape,parameters)
创建由指定形状shape对应的结构元素。其中shape的种类有
arbitrary'
'pair'
'diamond'
'periodicline'
'disk'
'rectangle'
'line'
'square'
'octagon
参数parameters一般控制SE的大小。

例子:
se1 = strel('square',6)
% 创建6*6的正方形
se2 = strel('line',10,45)
% 创建直线长度10,角度45
se3 = strel('disk',15)
% 创建圆盘半径15

se4 = strel('ball',15,5)
% 创建椭圆体,半径15,高度5
参考技术B 我手头上没有笔记本,只有iPad,所以没有办法查。
你打开matlab后,键入help strel再回车就知道了。

以上是关于matlab里的unwrap的命令用法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

matlab importdata中的colheaders里的数据是啥类型

linux里的netstat -tnl是啥意思?

Python 中用于两个值卷积的函数是啥,我知道matlab 中是conv,Python中有预知对应的吗

易语言里的发送信息命令里的信息值,参数1,参数2分别是啥意思。代表啥,决定的是啥?

MATLAB中strel函数的作用以及用法参数是啥?

matlab中的set命令怎么用啊