时间信号的谱分析
satis的Python项目详细描述
欢迎来到Satis
时间信号的谱分析。
Satis是一个python3/scipy实现的幅度和功率谱密度的傅里叶频谱。 它特别适用于具有以下特征的CFD信号:
- 采样时间短
- 可能录制时间短
- 低信噪比
- 提供多种测量方法。在
安装
该软件包在PyPI上可用,因此您可以使用pip安装它:
pip install satis
如何使用它
^{pr2}$satis上有几个命令行。您可以通过运行命令satis --help
显示它们。在
初学者数据集
satis datasetforbeginners
通过这个命令,您可以在本地目录中复制一个文件my_first_dataset.dat
,开始使用satis。它包含CFD模拟的几个信号。这些信号被记录在不同的位置,以产生对噪声不太敏感的平均信号。对于您第一次使用satis,我们建议按照my_first_dataset.dat
的顺序进行以下诊断。在
时间
satis time my_first_dataset.dat
此诊断图绘制信号的时间图。此图旨在显示平均信号是否收敛良好或是否存在瞬态行为。要删除瞬时行为,可以在诊断命令的末尾添加-t *starting_time*
,以声明聚合行为的开始。在
如果周期模式是可见的,您应该计算它的频率并用-f *calculated_frequency*
来声明它
还有一个累积时间平均值。如果这条曲线不是几乎平坦的,你可能没有删除足够的瞬态行为。在
傅里叶可变性satis fouriervariability my_first_dataset.dat -t 0.201 -f 560
在这个诊断中,每个信号在指定频率下的傅立叶系数被绘制出来,以便检查信号是否等效。如果一个信号与其他信号具有不同的特性,您应该考虑将其移除。平均信号会更清晰。为此,请声明要与之一起使用的信号子集:--subset 1 3 14 ...
傅里叶收敛
satis fourierconvergence my_first_dataset.dat -t 0.201 -f 560
由于此诊断基于平均信号,用户应该事先检查所有输入信号是否等效,这要归功于fouriervariability
诊断。
上图显示了对整个平均信号、信号的最后“一半”和信号的最后“四分之一”执行的离散傅里叶变换的振幅。
下图显示了在指定频率下,信号的振幅和相位随时间的增加而收敛。在
PSD可变性
satis psdvariability my_first_dataset.dat -t 0.201 -f 560
这个诊断显示了目标上起伏的光谱能量的分布 频率,其一次谐波和二次谐波以及其他频率。 注意,这个分布与波动有关,时间平均值 从信号中移除。在
PSD收敛
satis psdconvergence my_first_dataset.dat -t 0.201 -f 560
正如傅里叶收敛一样,PSD收敛诊断显示了强大的威力 对完整信号、上半部分和最后四分之一获得的光谱密度。左派 使用标准线性标度,而右图显示与对数标度相同的结果。在
啊!【psd会聚诊断】https://cerfacs.fr/coop/images/satis/psdconvergence.png)
Satis套装
当然,您可以在自己的项目中使用satis将其作为包导入:
importosimportglobimportsatisimportmatplotlib.pyplotasplt*youawesomecode*time,signals=satis.read_signal('your_dataset.dat')clean_time=satis.define_good_time_array(time,signals)clean_signals=satis.interpolate_signals(time,signals,clean_time)new_time,new_signals=satis.get_clean_signals(clean_time,signals,calculated_frequency)plt.plot(new_time,new_signals)fourier=satis.get_coeff_fourier(new_time,new_signals,calculated_frequency)*yourawesomecode
致谢
这个包是Cerfacs的合作小组所做工作的结果。 本项目的贡献者是:
- 弗朗西妮
- 安托万·道普坦
- Tamon Nakano公司
- 马修·罗西
- 项目
标签: