用Matlab编程,绘制出周期矩形脉冲信号的幅频谱图,其中周期矩形脉冲的周期为 T=1ms,脉冲宽度为τ=0.1ms,如下图所示
解:
用MATLAB编写的程序如下:
fs=150;N=200; %采样频率为150Hz,点数为200点
Dt=1/fs;%数字角频率
t=(0:N-1)*Dt;
A=1;P=2*pi;
y=A*square(P*(t+0.05),10); %周期脉冲函数
subplot(2,1,1)
plot(t,y); %周期脉冲波形
axis([0 1.5 0 1.5])
xlabel('时间')
ylabel('幅值')
title('周期矩形脉冲信号')
Y=fft(y); %快速傅里叶变换
fy=(abs(Y)*2)/N; %频谱
subplot(2,1,2)
stem(fy);
axis([0 30 0 2])
xlabel('频率')
ylabel('幅值')
title('周期矩形脉冲信号的幅频谱图')