短时傅立叶变换求信号相位问题!高手进!
现有如下程序%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后,
如何能够求出此时信号的相位? 可用函数angle求出:
Ay=angle(yn); 这样的话是0到128个点每个点的相位都求出来了对么? 是的,从0到128个点每个点的相位都求出来了.
页:
[1]