请问用相关函数法计算给定信号的功率谱
% 本程序采用相关函数法计算给定信号的功率谱fs=200;
fid = fopen('E:/xuexi/SBL/xiluodu/testfor90610027/mshuju/080724B10.txt');
a = fscanf(fid,'%g %g %g %g',);
fclose(fid);
n=size(a);
nfft=n(2);
num=n(1);
for i=1:num
xn=a(i,:);
cxn=xcorr(xn,'unbiased');
cxk=fft(cxn,nfft);
pxx=abs(cxk);
index=0:round(nfft/2-1);
k=index*fs/nfft;
plot_pxx=10*log10(pxx(index+1));%10*log10(pxx(index+1));
figure
plot(k,plot_pxx)
xlabel('Frequency(Hz)');
ylabel('Power(W)')
grid on
title('PSD')
end
for i=1:num
average(i)=mean(a(i,:));
vary(i)=(sum((a(i,:)-mean(a(i,:))).^2)/length(a(i,:)))^0.5 ;
end
average
vary
请教大家作出来的图表纵坐标为?
080724B10.txt中行数为1024的倍数 Pxx还应除以FFT点数再乘2.
作出的图纵坐标为dB
回复 2楼 的帖子
多谢楼上的!那么plot_pxx=10*log10(pxx(index+1));是错误的?
不过老师给我的和我网上看得都是这个公式.
能否给出一个完整的程序?多谢!:handshake
还有今天听老师说,
纵坐标是能量吧,?
横坐标是频率,
另外将一系列数据这样处理后有何好处?
:handshake
页:
[1]