%信号的时域和频域分析
%信号的频域分析,计算方波的DFS(离散傅里叶变换),在60的时窗宽度上方波宽度分别为
%5到12,并且画出x(n)和DFS(x(n))的杆状图
L=5;N=60;
k=[-N/2:N/2];
xn=[zeros(1,(N-L+1)/2),ones(1,L),zeros(1,(N-L-1)/2)];
n=[0:N-1];
subplot(221)
stem(n,xn);grid
axis([0 60 -0.3 1.3]);title('xn');
p=0:N-1;
WN=exp(-j*2*pi/N);
nk=n'*p;
WNnk=WN.^nk;
Xk=xn*WNnk;
magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]);
subplot(222)
stem(k,magXk);grid
axis([-N/2 N/2 -0.5 5.5]);
xlabel('k');ylabel('spectrum');
title('DFS:L=5,N=60');
L=12;N=60;
k=-N/2:N/2;
xn=[zeros(1,(N-L+1)/2),ones(1,L),zeros(1,(N-L-1)/2)];
n=0:N-1;
subplot(223)
stem(n,xn);grid
axis([0 60 -0.3 1.3]);title('xn');
p=[0:N-1];
WN=exp(-j*2*pi/N);
nk=n'*p;
WNnk=WN.^nk;
Xk=xn*WNnk;
magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]);
subplot(224)
stem(k,magXk);grid
axis([-N/2 N/2 -0.5 13]);
xlabel('k');ylabel('spectrum');
title('DFS:L=12,N=60');
%频谱分析的若干问题
%不同时窗正弦信号频谱的分析
%1Hz的正弦波仅取10个周期及50个周期,都做4096点FFT,比较两者的频谱
t=0:0.1:10; %取10或50(将10变成50即可)个周期的进行变换
y1=sin(2*pi*t);
Y1=fft(y1,4096); %4096点的快速傅里叶变换
Y=fftshift(Y1);
c=[0:2047]/409;
plot(c,abs(Y(2049:4096)))
axis([0 2 -5 60]);
title('sin(t)周期 T=10')
grid
%加窗函数后的频谱特征分析
%不加窗函数是正弦谱线与矩形窗频谱的卷积;加窗函数是正弦谱线于汉明窗频谱的卷积
%后者的旁瓣小得多,但是主谱线宽一些
t=0.1:0.1:20; %取20个周期
y=sin(2*pi*t); %定义1Hz的正弦波
w=hamming(200); %定义200长的汉明窗
y=y.*w';
Y1=fft(y,4096); %4096点的快速傅里叶变换
Y=fftshift(Y1);
c=[0:2047]./409.6;
plot(c,abs(Y(2049:4096)))
axis([0 3 -5 60]);title('sin(t) 加窗频谱');grid