首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Matlab中生成相位图?

问如何在Matlab中生成相位图?
EN

Stack Overflow用户
提问于 2020-05-13 19:29:52
回答 1查看 42关注 0票数 0

我需要计算信号的频谱,并在matlab中绘制其幅度和相位。我已经想出了如何做震级图,但不知道如何做相位图。

代码语言:javascript
复制
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;

任何帮助都将不胜感激

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-13 19:40:43

将用于幅度图的abs替换为angle,如下所示:

代码语言:javascript
复制
plot(w,fftshift(angle(Xc))) ;title('Phase as a function of w');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61773445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档