clear all;t=0:0.1:50;yp=sin(2*pi*2*t);yq=sin(2*pi*2.0125*t);

1个回答

  • 只是个MATLAB的程序吧.

    t=0:0.1:50;t取值 0-50 间隔是0.1

    yp=sin(2*pi*2*t); 三角函数 SIN(2π2t)

    yq=sin(2*pi*2.0125*t);同上

    y=yp+yq; 相加 也就是在yp的图形上加上yq的图形合成

    Y1=fft(y,512);用FFT函数进行频谱分析

    Y2=fft(y,4096);同上

    Y1=fftshift(Y1);让正半轴部分和负半轴部分的图像分别关于各自的中心对称,将fft计算输出的零频移到输出的中心位置

    Y2=fftshift(Y2);同上

    c1=[0:255]/51.2;C1分别取值除51.2

    c2=[0:2047]/409;

    subplot(2,1,1);plot(c1,abs(Y1(257:512)));画图函数subplot(2,1,1)表示画2个图 此为第一个

    axis([1.2,2.2,-30,300]);横纵坐标起始和结束位置(此为纵坐标1.2-2.2,横坐标-30到300)

    title('512点FFT的频谱');给上图命名

    grid on;

    subplot(2,1,2);plot(c2,abs(Y2(2049:4096)));同上

    axis([1.2,2.2,-30,300]);

    title('4096点FFT的频谱');

    grid on;