声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2813|回复: 3

[编程技巧] 功率谱程序中的一些问题(红色部分)

[复制链接]
发表于 2015-12-14 16:04 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 mzbys 于 2015-12-14 16:05 编辑

matlab[Pxx,f] = periodogram(x,window,nfft,fs)
periodogram是用来计算功率谱密度的,参数中,
X:所求功率谱密度的信号;
window:所使用的窗口,默认是boxcar,其长度必须与x的长度一致;
nfft:采样点数;
fs:采样频率。
例如:
Fs=1000;
n=0:1/Fs:1;
x=cos(2*pi*40*n)+3*cos(2*pi*100*n)+randn(size(n));
nfft=1024;
window=boxcar(length(n));
[Pxx,f]=periodogram(x,window,nfft,Fs);
P=10*log10(Pxx);
plot(f,P);
hold on;
Pxx_1=abs(fft(x,nfft)).^2/length(n);
t=0:round(nfft/2-1);
f=t*Fs/nfft;%这里的nfft是频域的取样点数,和时域的取样点数N有什么区别吗,可以互换吗
P_1=10*log10(Pxx_1(t+1));%这里t+1是什么意思
plot(f,P_1,'r');
legend('periodogram','公式');
title('周期图法功率谱估计');

回复
分享到:

使用道具 举报

发表于 2015-12-25 13:21 | 显示全部楼层
同问,请问下谁有好用的功率谱分析程序呢?
发表于 2015-12-31 16:31 | 显示全部楼层
nfft是频域点数,和N是时域的取样点数,不可以互换
t+1是为了将index调整重1开始(比较下t=0:round(nfft/2-1))
发表于 2016-8-9 08:31 | 显示全部楼层
楼主搞定了?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-17 07:16 , Processed in 0.087232 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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