查看: 449|回复: 1|关注: 0

[已解决] 求语音信号相位谱的问题

[复制链接]

新手

9 麦片

财富积分


050


5

主题

14

帖子

0

最佳答案
[x,fs]=audioread('1a.wav');
x=x/abs(max(x));
N=length(x);
f1=fft(x,N);
margin1=fftshift(abs(f1));      %幅度谱
phase1=angle(f1);%相位谱
figure(1);
subplot(2,1,1),plot(margin1),title('幅度谱');
subplot(2,1,2),plot(phase1),title('相位谱');


通过这个代码我得出的相位谱却是这样的,为什么会出现这样的情况?我如何才能得到正确的相位谱图?

27.png

论坛优秀回答者

17

主题

5197

帖子

1128

最佳答案
  • 关注者: 639
发表于 2019-5-15 19:41:05 | 显示全部楼层 |此回复为最佳答案
可把语句
phase1=angle(f1);
改为
phase1=(abs(f1)>10).*angle(f1);
这样只有幅值大于10的部分才有相位解值。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表