2012-06-30 22 views
4

假設我有幾個信號發生器,每個信號發生器都有一個特定的頻率。例如,發生器A每3秒產生一個數字+3,發生器B每5秒產生一個數字+4,等等。檢測用特定頻率生成的數據模式

我不知道有多少個信號發生器,我也不知道它們的頻率或生成的數字。但是我確實有一系列時間戳和所有這些發生器產生的數字。當然,時間戳可能會稍微偏離一點,例如我可能會看到發生器A在0.5,3.51,6.49等時生成+3。信號也可能關閉 - 我可能會看到+2.99,+ 3.01。我們可以假設他們沒有太多的事情。並非流中的所有數字都是由固定頻率信號發生器生成的。

是否有任何現有的算法可以用來找出流後面的生成器?我不期望找到所有的發電機,但我希望有儘可能多的發電機。

謝謝!

回答

0

階乘隱馬爾可夫模型可能適用於此任務(http://www.ee.columbia.edu/~sfchang/course/spr/papers/factorial-HMM-97.pdf)。還有無限階乘隱馬爾可夫模型(http://eprints.pascal-network.org/archive/00004287/01/nips08.pdf),它可能能夠自適應地檢測系統中的發電機數量。不幸的是,我不知道這些模型的任何可用的實現。

你也可以嘗試在數據的固定長度窗口上進行獨立組件分析(谷歌搜索應該找到一些實現)。