首页 > 解决方案 > Matlab中如何绘制相位图?

问题描述

我需要计算信号的频谱并在 matlab 中绘制其幅度和相位。我已经弄清楚如何绘制幅度图,但无法理解如何绘制相位图

N = 1000; Ts = 0.05; Fs = 1/Ts;
t = [0:Ts:(N*Ts)-Ts];

xc = 4*exp(1i*5*pi*t) + 6*exp(1i*12*pi*t);
f=[-Fs/2:Fs/N:Fs/2-Fs/N];

Xc=fft(xc);

figure;

subplot(211)

plot(f,fftshift(abs(Xc))) ;title('Magnitude as a function of Hz');

xlabel('f in Hz');ylabel('|Xc|');grid on;

subplot(212)

w=2*pi*f;

plot(w,fftshift(abs(Xc))) ;title('Magnitude as a function of w');

xlabel('w');ylabel('|Xc|');grid on;

任何帮助,将不胜感激

标签: matlab

解决方案


用 替换abs您用于幅度图angle,例如:

plot(w,fftshift(angle(Xc))) ;title('Phase as a function of w');

推荐阅读