rocky_ding 发表于 2008-5-7 10:57

短时傅立叶变换求信号相位问题!高手进!

现有如下程序
%Creat a random unbalanced sigal
load mtlb;   %导入库函数
x=mtlb;      %定义函数
figure(1)
subplot(311);
plot(0:4000,x);
xlabel('n');
ylabel('x(n)');
title('random unbalanced signal x');
%Create a Rectangular window
n0=0;
R=128;
n1=4000;
n2=n0+R;
n=;
w=[(n-n0)>=0];
wd=[(n-n2-1)<=0];
WN=w.*wd;
subplot(312);
stem(n,WN);
xlabel('n');
ylabel('W(N)');
title('Rectangular Window WN');
grid
%Block the signal with the window
x1=x';
y1=x1.*WN;
subplot(313);
plot(n,y1);
xlabel('n');
ylabel('y1');
title('The first block');
%
k=0:128;
y3=;
figure(4)
subplot(211);
plot(k,y3);
xlabel('k');
ylabel('y3');
title('The effective signal');
%
%Make the FFT
yn=fft(y3);%对短持续信号FFT
YN=abs(yn);%观察其频谱
其中对输入信号加窗截断后对窗内信号做FFT后,
如何能够求出此时信号的相位?

songzy41 发表于 2008-5-8 11:22

可用函数angle求出:
Ay=angle(yn);

rocky_ding 发表于 2008-5-8 11:27

这样的话是0到128个点每个点的相位都求出来了对么?

songzy41 发表于 2008-5-8 12:27

是的,从0到128个点每个点的相位都求出来了.
页: [1]
查看完整版本: 短时傅立叶变换求信号相位问题!高手进!