我的目的是要把一个adc讯号做频谱分析
所以我想先把数位讯号转回sin波
再将sin波转成频谱图
怎麽还原成SIN波我还是不太懂
希望有高手指点
但我有找到一篇由jiacrack所写的文章是把序列点直接转成频谱图的
http://forum.vibunion.com/thread-25039-1-13.html
x=load('data1.txt');
X=fft(x);
y=abs(X);
plot((0:517)*2000/1024,y(1:518))
grid on
for i=1:1024
pm=max(abs(data1(i,:)));
y(i,:)=data1(i,:)/pm;
p=fft(y);
plot((0:517)*2000/1024,p(1:518))
grid on
我想请问:
1.其中第四行程式及倒数第二行 plot((0:517)*2000/1024,y(1:518)) 这里的517数值是怎麽算来的?
我把他改为 plot((0:1024)*2000/1024,y(1:1025)) 时,执行程式会出现错误,又是为什麽?
2.这个程式模拟出的频谱图中,他的X轴单位是什麽,我如果要自订高度话,程式该如何修改呢?
我是MATLAB新手,有许多不明嘹的地方,请大家多多包函,谢谢 |