目录
angle函数的功能是求解相位角。
语法
theta = angle(z)
z
- 输入数组
输入数组,指定为标量、向量、矩阵或多维数组。如果 z 的元素是非负实数,则 angle 返回 0。如果z的元素是负实数,则 angle返回 π。
说明
theta = angle(z) 为复数数组 z 的每个元素返回区间 [-π,π] 中的相位角。theta 中的角度表示为 z = abs(z).*exp(i*theta)。
示例
复数的幅值和相位
创建一个复数,并计算其幅值和相位。如下所示:
z = 2*exp(i*0.5)
z = 1.7552 + 0.9589i
r = abs(z)
r = 2
theta = angle(z)
theta = 0.5000
FFT 相位
创建一个由频率为 15 Hz 和 40 Hz 的两个正弦波组成的信号。第一个正弦波的相位为 −π/4,第二个正弦波的相位为π/2。以 100Hz的频率对信号进行一秒钟的采样。
fs = 100;
t = 0:1/fs:1-1/fs;
x = cos(2*pi*15*t - pi/4) - sin(2*pi*40*t);
计算信号的傅里叶变换。将变换幅值绘制为频率函数。
y = fft(x);
z = fftshift(y);
ly = length(y);
f = (-ly/2:ly/2-1)/ly*fs;
stem(f,abs(z))
xlabel 'Frequency (Hz)'
ylabel '|y|'
grid
如图所示:
计算变换的相位,删除小幅值变换值。将相位绘制为频率函数。
tol = 1e-6;
z(abs(z) < tol) = 0;
theta = angle(z);
stem(f,theta/pi)
xlabel 'Frequency (Hz)'
ylabel 'Phase / \pi'
grid
如图所示: