① matlab 做音频文件(WAV格式)的频谱图程序 以及做时域波形图的程序
朋友,年代太久远了。在工地搬砖的生活容易使人健忘。
做完fft变换的数值是不能直接画图的,因为那些都是向量。横坐标是频率,纵坐标是向量,那是没有办法画出来的。所以一般要画绝对值。abs(y)。年轻的时候,我喜欢画功率谱:y.*
conj(y)。两者会有点区别。
pyy
=
y.*
conj(y)
/
siglength;
信号点乘它的共轭,求功率。除以信号长度,是为了归一化吗?什么叫做归一化?我老了。。。。
halflength=floor(siglength/2);
fft以后是对称的,所以画图只要画一半就可以了。
f=fs*(0:halflength)/siglength;
采样频率是fs,所以最后画出的频域图是从0赫兹-fs赫兹。其实吧,这个信号从0-fs/2一段,从fs/2-fs一段是对称的,所以画一般就行。因为只画半,所以只从最后横轴一半长度即可。
---------------------------------我是分割线-----------------------
请教傅立叶分析中pyy=y.*conj(y)/512;和nfft
=
2^nextpow2(l);
的意思y=........%一段受干扰的信号
y=fft(y,512);
pyy=y.*conj(y)/512;
f=1000*(0:256)/512;
plot(f,pyy(1:257))
想知道
pyy=y.*conj(y)/512;
f=1000*(0:256)/512;
这两句话什么意思
另外看到matlab
fft帮助里的傅立叶分析如下:
nfft
=
2^nextpow2(l);
y
=
fft(y,nfft)/l;
f
=
fs/2*linspace(0,1,nfft/2);
plot(f,2*abs(y(1:nfft/2)))
这二个方法有什么区别呀,nextpow2是什么意思呢?
我是初学者,自学的,还请各位高手请教~
有热心的高手能把每句话详细的解释下吗?
谢谢~
---------------------------你tm才是分割线--------------------------
nfft
=
2^nextpow2(l);
%
取2的整数次幂
x
=
fft(x,nfft)/l;
%
求fft后的真实幅值
f
=
fs/2*linspace(0,1,nfft/2+1);
plot(f,2*abs(x(1:nfft/2+1)))
%
画单边频谱值