gusucode.com > 声音的处理有:LPC,FFT,共振峰,频谱源码程序 > siganlandsystemusingMatlab/SSUM/spectrum/image/drawSpectra.m

    function drawSpectra(ud)

	axes(ud.horizontal_spectrum);
    imagedata = ud.imagedata.data(ud.vert,1:end);
    h_spectrum = abs(fft(imagedata));
    zeropl = eq(h_spectrum,0);
    h_spectrum(zeropl) = 1;
	h_spectrum = h_spectrum(1:floor(end/2));
    h_spectrum = log(h_spectrum);
    plot(h_spectrum);
    grid on;

    axes(ud.vertical_spectrum);
    imagedata = ud.imagedata.data(1:end,ud.hori);
    v_spectrum = abs(fft(imagedata));
    zeropl = eq(v_spectrum,0);
    v_spectrum(zeropl) = 1;
	v_spectrum = v_spectrum(1:floor(end/2));
    v_spectrum = log(v_spectrum);
    plot(v_spectrum);
    grid on;

	set(ud.horizontal_spectrum,'XLim',[1 length(h_spectrum)],'YLim',[0 12]);
    set(ud.vertical_spectrum,'XLim',[1 length(v_spectrum)],'YLim',[0 12]);