上文链接:
二、怎么计算功率谱
计算功率谱的方法1:直接法
现在,事情就变得简单了,我们将属于时域信号进行傅立叶变换,得到频域分内,然后平方积分即可以得到功率谱密度。
但是我们在上面章节分析过,当信号为功率信号时,傅立叶变换不存在。既然为什么随机信号的一次FFT没有意义却还能(傅立叶变换的平方)/(区间长度)得到功率谱?
因为对随机信号直接做FFT的做法其实就是截断成能量信号进行处理,这种处理不符合随机信号定义,但之所以这样做,是做短时频域分析下作的近似处理。
(在工程实际中,即便是功率信号,由于持续的时间有限,可以直接对信号进行傅里叶变换,然后对得到的幅度谱的模求平方,再除以持续时间来估计信号的功率谱。)
计算功率谱的方法2:自相关法
从理论上来说,功率谱是信号自相关函数的傅里叶变换。因为功率信号不满足傅里叶变换的条件,其频谱通常不存在,维纳-辛钦定理证明了自相关函数和傅里叶变换之间对应关系。
1)自相关是做什么的
这里我们先看引入的自相关的概念:
对于上面两段话不是很理解的,可以看下面两幅图,分别是白噪声随机信号和随机相位正弦信号及其自相关信号:
2)自相关和功率谱的关系
说了这么多,和我们要进行功率谱分析有什么关系?前面我们分析了,信号的功率在时域和频域都是满足守恒定律的。
而功率被定义成幅值的平方的时间平均分量,而这个过程,也可以看成是去除频域谐波分量的相位信息的过程,因为本质来说,一个简谐信号的相位是不影响其功率的。而自相关函数,也具有去除信号相位的功能,那自相关函数和功率密度谱是不是有什么深刻的联系呢?答案是肯定的,那就是维纳-辛钦定理(Wiener–Khinchin
theorem),这个定理表明:信号的自相关函数与功率密度谱是一对傅里叶变换对:
三、功率谱计算的算法实现[14]
实际的功率谱计算中,总是取一个截断,然后根据截断对总体做估计。
功率谱方法可以分为两种,直接法和间接法。直接法也称为周期图法,它是直接对有限个样本数据进行傅里叶变换来得到功率谱。样本数据越长,直接法获得的分辨率越高。间接法则是先对有限个样本数据进行自相关估计,再进行傅里叶变换,最后得到功率谱。
matlab中自功率谱密度直接用psd函数就可以求,按照matlab的说法,psd能实现Welch法估计,即相当于用改进的平均周期图法来求取随机信号的功率谱密度估计。
可以参考资料【14】里的matlab函数
参考资料
[1]https://zhuanlan.zhihu.com/p/22513006 各种谱函数的区别是什么,何时用何种函数?
[2] https://blog.csdn.net/scuthanman/article/details/5588138?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase 自相关与互相关在matlab中实现
[3] https://zhuanlan.zhihu.com/p/40481049 如何理解随机振动的功率谱密度?
[4]https://www.zhihu.com/question/39592966/answer/875419230 如何理解功率信号和能量信号
[5] https://zhuanlan.zhihu.com/p/22571798 谱线是怎样影响随机信号和周期信号的PSD或自谱的
[6]https://blog.csdn.net/fengzhuqiaoqiu/article/details/101153157 能量信号和功率信号的分别
[7]https://www.cnblogs.com/l20902/p/10610962.html 能量谱密度功率谱密度
[8] https://my.oschina.net/wangsifangyuan/blog/875891 功率谱和频谱的区别、联系
[9]https://blog.csdn.net/FPGADesigner/article/details/88532027 MATLAB数字信号处理(1)四种经典功率谱估计方法比较
[10]https://zhuanlan.zhihu.com/p/143545782 数字信号处理:功率谱估计的对比分析
[11]https://blog.csdn.net/dujiahei/article/details/80233999 功率谱密度函数估计
[12]《概率论与数理统计》第四版——第十四章平稳随机过程
[13] https://www.zhihu.com/question/68698069/answer/275980099 为什么随机信号不能用频谱表示?而必须用功率谱、密度表示呢?
[14] https://wenku.baidu.com/view/7703fc5f951ea76e58fafab069dc5022abea46f0.html?fr=search matlab实现功率谱密度分析psd及详细解说