matlab功率谱分析代码
时间: 2023-08-22 22:04:38 浏览: 139
下面是一个使用MATLAB的pwelch函数进行功率谱分析的简单代码示例:
```matlab
% 生成一个包含噪声的信号
Fs = 1000; % 采样率
t = 0:1/Fs:1; % 时间向量
x = sin(2*pi*50*t) + sin(2*pi*120*t) + randn(size(t));
% 计算信号的功率谱密度估计
window = hann(512); % 窗函数,这里使用Hanning窗
noverlap = 256; % 重叠的样本数
nfft = 1024; % FFT长度
[Pxx, f] = pwelch(x, window, noverlap, nfft, Fs);
% 绘制功率谱密度估计结果
figure;
plot(f, 10*log10(Pxx));
xlabel('频率 (Hz)');
ylabel('功率谱密度 (dB/Hz)');
title('信号功率谱密度估计');
```
这段代码生成了一个包含噪声的信号,并使用pwelch函数计算了其功率谱密度估计。通过绘制频率和功率谱密度的对数尺度图,可以观察信号在不同频率下的能量分布情况。你可以根据自己的需求调整窗函数、重叠样本数和FFT长度等参数。
阅读全文