matlab计算periodogram功率谱代码
时间: 2023-11-27 12:04:44 浏览: 103
计算功率谱(或互谱)的matlab子程序.rar_matlab互功率谱_互功率_互功率谱_互功率谱MATLAB_谱计算
5星 · 资源好评率100%
可以使用MATLAB中的periodogram函数来计算功率谱,代码如下:
```matlab
% 生成随机信号
Fs = 1000; % 采样率
t = 0:1/Fs:1-1/Fs; % 时间序列
x = sin(2*pi*50*t) + randn(size(t)); % 信号
% 计算功率谱
[Pxx, f] = periodogram(x, [], [], Fs); % Pxx为功率谱密度,f为频率
plot(f, 10*log10(Pxx)) % 绘制功率谱密度图
xlabel('Frequency (Hz)')
ylabel('Power/Frequency (dB/Hz)')
```
在上面的代码中,我们首先生成了一个包含50Hz正弦波和噪声的随机信号。然后使用periodogram函数计算信号的功率谱,其中第一个参数x为输入信号,第二个参数为窗口函数,这里使用默认值[]表示不使用窗口函数。第三个参数为重叠率,这里也使用默认值[]表示不进行重叠处理。最后一个参数Fs为采样率。函数返回功率谱密度Pxx和对应的频率f。最后,我们将功率谱密度以对数形式绘制出来。
阅读全文