自功率谱的物理意义&通过自功率谱分析原信号的简谐分量

摘要

小虎最近研究自功率谱的意义和作用,发现自功率谱还可以进行信号的简谐分量分析的哦,这里小虎使用了MATLAB进行仿真的方法来展现结果。

什么是自功率谱

根据帕塞瓦尔定理(Parseval’s theorem),在时域信号的总能量等于在频域信号的总能量。由随机信号经过傅里叶变换,再经过以下计算,可以求其自功率谱(Power spectrum)。
S x ( ω ) = lim T 1 T X ( ω ) 2 S_x(\omega)=\lim\limits_{T \to \infty } \frac1T|X(\omega)|^2

参数设置

设采样数n=1000,采样时间fs=1000,采样间隔为t。然后利用两个三角函数和一个随机噪声信号相加得到模拟信号。两个三角函数信号分别为频率为40HZ和90HZ的正弦波信号。
w 0 = 2 × π × f 0 y 1 = s i n ( 80 π t ) y 2 = s i n ( 180 π t ) w_0=2\times\pi\times f_0\\ y_1=sin(80\pi t)\\ y_2=sin(180\pi t)

结果

在这里插入图片描述

物理意义

  • 可以从下面一行图中看到,后面两个三角函数的自功率谱分别在 f = 40 H Z f=40HZ = 90 H Z =90HZ 有个尖峰,这正是这两个三角函数的固有频率。
  • 在下面一行第一个图中,可以看到模拟信号的自功率谱在 f = 40 H Z f=40HZ = 90 H Z =90HZ 也有两个尖峰,所以可以从这里读出原来的两个简谐信号的固有频率。

代码分析

函数构建。

fs=1000;
n=1001;
t=(0:n-1)/fs;
x_n=sin(2*pi*40*t)+3*sin(2*pi*90*t)+randn(size(t));

求自功率频谱。

[Px,w]=periodogram(x_n,[],1023,fs);

画原信号图、自功率谱图。

figure('color',[1 1 1]);
subplot(2,1,1);
plot(t,x_n);
xlabel('t');
ylabel('x(t)');
subplot(2,1,4);
plot(w,10*log10(Px));
xlabel('Frequency/HZ');
ylabel('Power spectrum/(dB/HZ)');

完整代码

fs=1000;
n=1001;
t=(0:n-1)/fs;
x_n=sin(2*pi*40*t)+3*sin(2*pi*90*t)+randn(size(t));
[Px,w]=periodogram(x_n,[],1023,fs);
figure('color',[1 1 1]);
subplot(2,1,1);
plot(t,x_n);
xlabel('t');
ylabel('x(t)');
subplot(2,1,4);
plot(w,10*log10(Px));
xlabel('Frequency/HZ');
ylabel('Power spectrum/(dB/HZ)');

参考文献

[1]张春华等,工程测试技术基础第二版

发布了82 篇原创文章 · 获赞 70 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/Davidietop/article/details/105226267