这个matlab程序谁看得懂,最好有每一句的解释

来源:百度知道 编辑:UC知道 时间:2024/06/16 09:31:22
t=0:0.001:1;
x=sin(2*pi*50*t)+sin(2*pi*350*t);
subplot(3,1,1);
plot(x(1:50));
title('original signal');
y=fft(x,512)/256;%这为什么除256%
f=1000*(0:256)/512;
subplot(3,1,2);
plot(f,y(1:257));
xlabel('frequency');
ylabel('amplitude');
pxx=abs(y).^2/length(t);%从这到后边全都看不懂
n=0:round(512/2-1);
k=n*1000/512;
p=10*log10(pxx(n+1));%到这
subplot(3,1,3);
plot(k,p);
xlabel('frequency');
ylabel('dB');

从三个图的横纵坐标知道程序的意图是分别画出源信号、该信号的频谱图以及分贝频谱图,可能由于实际问题的需要才有:y=fft(x,512)/256;中除以256,以及pxx=abs(y).^2/length(t);中除以时间长度。

关注其他答案……