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的調用方法有三種,可以自己設置跳變的閾值,默認是π。
總結
以上是生活随笔為你收集整理的matlab之unwrap函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓 日志 路径
- 下一篇: 关于matlab中princomp的使用