matlab绘制功率谱密度
时间: 2023-09-27 07:08:38 浏览: 74
功率谱,功率谱密度,matlab
5星 · 资源好评率100%
Matlab中绘制功率谱密度可以使用pwelch函数。
pwelch函数的使用方法如下:
```
[p,f] = pwelch(x,window,noverlap,nfft,fs)
```
其中,x为输入信号,window为窗口函数,noverlap为窗口重叠长度,nfft为FFT点数,fs为采样率。函数会返回功率谱密度p和对应的频率f。
例如,绘制一个正弦波的功率谱密度:
```
Fs = 1000; % 采样率
T = 1/Fs; % 采样时间间隔
L = 1000; % 信号长度
t = (0:L-1)*T; % 时间向量
x = sin(2*pi*50*t); % 正弦波信号
window = hann(100); % 汉宁窗
noverlap = 50; % 窗口重叠长度
nfft = 1024; % FFT点数
[P,f] = pwelch(x,window,noverlap,nfft,Fs); % 计算功率谱密度
plot(f,10*log10(P)); % 绘制功率谱密度图像
xlabel('Frequency (Hz)')
ylabel('Power/Frequency (dB/Hz)')
title('Power Spectral Density')
```
可以看到,绘制出了正弦波的功率谱密度图像。
阅读全文