复杂振荡的滤波方法

时间:2011-03-24 18:45:45

标签: math signal-processing

如果我有一个弹簧系统,而不是一个弹簧系统,例如弹簧系统的弹簧相互连接在一起。我可以制作一个微分方程组,但不可能以一般的方式解决它。问题是,是否有任何用于过滤这种复杂波形的论文或方法,以便摆脱示波并尽可能获得真实的信号?例如,如果我以某种方式连接3个弹簧,并推动它们开始振动,或者对它们施加一些重量,然后从每个弹簧中获取振动,是否有任何过滤方法可以轻松确定重量(在每个质量的情况,如果有一些质量?)我有兴趣过滤复杂的弹簧系统。

3 个答案:

答案 0 :(得分:2)

三个弹簧,六个自由度?这是一个使用有限元方法和数值积分的平凡的解决方案。它是一个由六个耦合的ODE组成的系统。您可以应用任何形式的数值积分,例如5阶Runge-Kutta。

我建议首先对系统进行特征值分析,以找出有关其频率特性和正常模式的信息。我还会对您应用于系统的动态力进行FFT。你没有提到任何阻尼,所以如果你碰巧以接近共振的固有频率激发你的系统,你可能会有一些有趣的行为。

如果动态方程有这种一般形式(抱歉,我这里没有LaTeX让它看起来不错):

Ma + Kx = F

其中M是质量矩阵(对角线),a是加速度(位移的二阶导数w.r.t.time),K是刚度矩阵,F是强迫函数。

如果你说你知道响应,你必须预先乘以响应函数的转置并尝试求解M.它是对角线,所以你有机会拍摄它。

答案 1 :(得分:0)

您是否以这样一种方式连接弹簧,使系统的行为接近线性? (例如,至少与乐器弹簧/琴弦一样接近线性?)这种行为是否随着时间的推移而变得一致? (例如,弹簧不会熔化或破裂。)如果是这样,LTI(线性时不变)系统理论可能适用。给定足够的测量值与LTI系统中的自由度数量,人们可能能够估计系统响应的零极点图,并从那里开始。或者像线性预测器这样的东西可能会有用。

答案 2 :(得分:0)

实际上,只要你知道质量等,就可以求解由此产生的微分方程组。

标准方法是使用Laplace Transform。特别是从一组线性微分方程开始。添加变量,直到有一组一阶线性微分方程。 (因此,如果等式中有y'',则添加等式z = y'并将y''替换为z'。)在表格中重写:

v' = Av + w

其中v是变量的向量,A是矩阵,w是标量向量。 (在w中结束的一个例子是引力。)

现在应用拉普拉斯变换得到

s L(v) - v(0) = AL(v) + s w

解决它以获得

L(v) = inv(A - I s)(s w + v(0))

其中inv反转矩阵,I是单位矩阵。应用拉普拉斯逆变换(如果您阅读拉普拉斯变换,您可以找到常见类型函数的逆表 - 获得实际遇到的函数的完整列表不应该那么难),并且您有解决方案。 (请注意,这些计算很快变得非常复杂。)

现在,您可以进行特定设置并解决未来行为。你也有能力(如果你真的仔细地做),弄清楚模型如何响应参数中的小扰动。但是你的问题是你不知道要使用的参数。 然而 能够在重复的时间内测量系统中的位置。

如果你把它放在一起,你可以做的就是这个。在多个点测量您的位置。首先估计参数的所有初始值,然后估计一秒钟之后的所有值。您可以调整参数(使用牛顿方法),以便在一秒钟之后接近值。从5秒后进行测量,并使用该初始估计作为起点,以优化5秒后发生的事情的计算。以较长的间隔重复以获得所有答案。

编写和调试这应该需要一些时间。 :-)我强烈建议调查这个Mathematica有多少知道如何为你做...