声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 868|回复: 2

[综合讨论] 请问用相关函数法计算给定信号的功率谱

[复制链接]
发表于 2008-7-31 22:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
% 本程序采用相关函数法计算给定信号的功率谱
fs=200;
fid = fopen('E:/xuexi/SBL/xiluodu/testfor90610027/mshuju/080724B10.txt');
a = fscanf(fid,'%g %g %g %g',[4 inf]);
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的倍数
回复
分享到:

使用道具 举报

发表于 2008-8-1 13:26 | 显示全部楼层
Pxx还应除以FFT点数再乘2.
作出的图纵坐标为dB

评分

1

查看全部评分

 楼主| 发表于 2008-8-1 16:00 | 显示全部楼层

回复 2楼 的帖子

多谢楼上的!
那么plot_pxx=10*log10(pxx(index+1));是错误的?
不过老师给我的和我网上看得都是这个公式.
能否给出一个完整的程序?多谢!:handshake

还有今天听老师说,
纵坐标是能量吧,?
横坐标是频率,

另外将一系列数据这样处理后有何好处?
:handshake
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-23 07:25 , Processed in 0.057827 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表