检测以特定频率生成的数据模式

时间:2012-06-30 19:24:04

标签: statistics machine-learning signal-processing

假设我有几个信号发生器,每个信号发生器都有一个特定的频率。例如,发电机A每3秒产生一个数字+3,发电机B每5秒产生一个数字+4,等等。

我不知道有多少信号发生器,我也不知道它们的频率或生成的数字。但我确实有一系列时间戳和所有这些发生器产生的数量。当然时间戳可能会稍微偏离,例如我可能会看到发电机A在0.5,3.51,6.49等处产生+3。信号也可能关闭 - 我可能会看到+ 2.99,+ 3.01。我们可以假设他们并没有太多关闭。并非流中的所有数字都是由固定频率信号发生器生成的。

我是否可以使用任何现有算法来查找流后面的生成器?我不希望找到所有的发电机,但我希望尽可能多。

谢谢!

1 个答案:

答案 0 :(得分:0)

因子隐马尔可夫模型可能适用于此任务(http://www.ee.columbia.edu/~sfchang/course/spr/papers/factorial-HMM-97.pdf)。还有无限因子隐马尔可夫模型(http://eprints.pascal-network.org/archive/00004287/01/nips08.pdf),它可能能够自适应地检测系统中的发电机数量。不幸的是,我不知道这些模型的任何可用实现。

您还可以在数据的固定长度窗口上尝试独立分量分析(谷歌搜索应该找到许多实现)。