一、实验要求
利用FFT,分析连续周期方波信号的频谱:通过改变采样率与时间截断长度,分别研究频谱的混叠与泄漏;
二、技术方案
首先绘制出连续周期方波信号,采样频率为100,同第一个实验一样,时间截断长度为周期整数倍时不会产生频谱泄露,而时间截断长度非周期整数倍时则会产生频谱泄露,因此设定两个时间截断长度,由于该信号周期为0.2,一个为周期整数倍1,另一个为非周期整数倍1.28,观察比较频谱差别。由于不满足采样定理时会发生混叠,因此设定另一个采样频率为6,比较与采样频率为100图形的差别,观察混叠现象。
三、实验程序
clc;
clear;
close all;
fs1=100;Ts1=1/fs1;
fs2=6;Ts2=1/fs2;
t1=0:Ts1:1-Ts1;
N1=length(t1);
x1=(square(2*pi*5*t1)+1)/2;
subplot(3,2,1);plot(t1,x1,'r');
title('5 个周期');
y1=fft(x1,N1)/N1;
mag1=abs(y1);
if mod(N1,2)==0
k1=-N1/2:(N1/2-1);
else
k1=-(N1-1)/2:(N1-1)/2;
end;
f1=k1*fs1/N1;
subplot(3,2,2);stem(f1,fftshift(mag1),'r'),xlim([-3,3]);
title('5 周期频谱');
t2=0:Ts1:1.28-Ts1;
N2=length(t2);
x2=(square(2*pi*5*t2)+1)/2;
subplot(3,2,3);plot(t2,x2,'m');
title('6.4 个周期');
y2=fft(x2,N2)/N2;
if mod(N2,2)==0
k2=-N2/2:(N2/2-1);
else
k2=-(N2-1)/2:(N2-1)/2;
end;
f2=k2*fs1/N2;
mag2=abs(y2);
subplot(3,2,4);stem(f2,fftshift(mag2),'m');
title('6.4 周期频谱');
t3=0:Ts2:10-Ts2;
N3=length(t3);
x3=(square(2*pi*5*t3)+1)/2;
subplot(3,2,5);plot(t3,x3,'g');
title('不同采样率信号');
y3=fft(x3,N3)/N3;
if mod(N3,2)==0
k3=-N3/2:(N3/2-1);
else
k3=-(N3-1)/2:(N3-1)/2;
end;
f3=k3*fs2/N3;
mag3=abs(y3);
subplot(3,2,6);stem(f3,fftshift(mag3),'g');
title('不同采样率信号频谱');
四、实验结果
时间截断长度为周期整数倍时不会产生频谱泄露,如图中5周期频谱所示,而时间截断长度非周期整数倍时则会产生频谱泄露,如图中6.4周期频谱所示,由于频谱发生泄漏,所以出现了一些假谱,而当不满足采样定理时会发生频谱混叠,如图中不同采样率信号频谱所示,其与图中5周期频谱相对比,明显发现出现了频谱混叠现象。