matlab之unwrap函数

要计算一个系统相频特性,就要用到反正切函数,计算机中反正切函数规定,在一、二象限中的角度为0~pi,三四象限的角度为0~-pi。
若一个角度从0变到2pi,但实际得到的结果是0~pi,再由-pi~0,在w=pi处发生跳变,跳变幅度为2pi,这就叫相位的卷绕。
unwrap(w)就是解卷绕,使相位在pi处不发生跳变,从而反应出真实的相位变化 "
查看 unwrap 的帮助文档可以发现 unwrap 还可以输入一个参数 tol,默认tol = pi。也可以根据情况修改下 tol。


以下纯属个人见解,若有错误,谢谢指正:

unwrap也就是如果前后两个数据之差大于默认值(一般为π,也可自己在调用函数时设定),那么就把第二个值加上或者减去2π,反正最终结果是它俩之差小于默认值即可。【特别注意】这个函数并不是把[-π,π]范围的数据变成[0,2π]的数据,感觉有点类似于让数据具有一定的单调性。

看看matlab里面的实例:

 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.8621
      1.7252
      1.6124
      1.5930
      1.5916
      1.5708
      1.5708
      1.5708 ];
semilogx(w,p,'b*-'), hold


当我进行unwrap以后:


可以对比这两张图,第一张明显有跳变,而第二张就比较平滑,类似于单调性比较好。

此外unwrap的调用方法有三种,可以自己设置跳变的阈值,默认是π。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值