马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
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('周期图法功率谱估计');
|