atan和unwrap解捲繞

2022-09-06 18:27:08 字數 1776 閱讀 7821

要計算乙個系統相頻特性,就要用到反正切函式,計算機中反正切函式規定,在

一、二象限中的角度為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 le**es 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.

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.

atan和atan2反正切計算

typedef struct point point 給定兩個點 point a x1,y1 b x2,y2 使用反三角函式atan求斜率,原型如下 float atan float arg double atan double arg long double atan long double ar...

C語言中的atan和atan2

在c語言的math.h或c 中的cmath中有兩個求反正切的函式atan double x 與atan2 double y,double x 他們返回的值是弧度 要轉化為角度再自己處理下。前者接受的是乙個正切值 直線的斜率 得到夾角,但是由於正切的規律性本可以有兩個角度的但它卻只返回乙個,因為ata...

C語言中的atan和atan2

c語言中的atan和atan2 在c語言的math.h或c 中的cmath中有兩個求反正切的函式atan double x 與atan2 double y,double x 他們返回的值是弧度 要轉化為角度再自己處理下。前者接受的是乙個正切值 直線的斜率 得到夾角,但是由於正切的規律性本可以有兩個角...