确定频率和震级的持续时间



我正在使用一个系统,在这个系统中,我从1KHz的传感器(陀螺仪)获得数据。

我要做的是确定系统何时振动,以便我可以降低输出上的PID增益。
我目前拥有的是传入值上的高通滤波器。然后我将alpha值设置为1/64,我认为应该过滤大约10KHz的频率。然后,我取这个值,然后积分,如果它是单独高于一个阈值。当我的积分值超过另一个阈值时,我就假设系统在振动。我还每半秒重置一次积分值,以确保它只是向阈值增长。
我试图用这个系统做的是确保它真的在振动,而不是看到震动。我已经尝试过这样做,多少将添加到集成值的上限,但这似乎并没有真正起作用。

我正在寻找的是任何更好的方法来检测系统是否振动,而不是受到震动的影响,我的主要问题是,我不会错过检测震动的震动,因为那样会导致PID上的值不必要地降低。

FFT。它将从振动中分离出"震动",因为震动会记录在所有频率上,而振动会在特定频率附近出现峰值。

我同意以上观点。网上有许多免费的快速傅里叶变换算法。如果您不熟悉FFT,它是一个定义a和a之间关系的操作函数在时域及其在频域的表示,使能分析原函数的频率含量。这将使您能够确定信号或时间序列中是否存在噪声或振荡行为。

另一种可以用来确定时间序列是否具有潜在周期性的方法是结构函数(结构函数分析)。结构函数分析提供了一种量化信号时间可变性的方法,而没有使用传统FFT技术所遇到的混叠或加窗问题。潜在地,它能够提供关于引起可变性的过程的性质的信息。该方法主要关注底层噪声过程的分类和相关时间尺度的识别。这是一个相当简单的算法,你可以自己编写。

更进一步,更"时髦"的是使用小波变换。傅里叶分析是检测和量化时间序列周期振荡的有力工具;这是真正的恒定周期、相位和振幅的信号。然而,真实的系统几乎从不表现出这种一致的行为;周期性振荡常作为瞬态现象间歇性地出现。虽然傅里叶分析可以在一定程度上检测和量化这种瞬态行为,但它远非理想的目的。小波分析就是为了克服这些困难而发展起来的。有关小波的一些源代码和更多信息,请参阅http://atoc.colorado.edu/research/wavelets/software.html。

最新更新