2017-03-04 17 views
1

低周波デジタル信号のオン/オフを判断しようとしています。トランジションを正確に判断できるようになると、オンとオフを測定できます。Cのパルスのオンオフ時間を測定する

信号は0.5Hzから5Hzの間で動作しています。私は約30msごとにサンプルを取得します。これは、トランジションが発生したが、トランジションが行われている間は変化している、一般に非常に一貫性のある浮動小数点値です。残念ながら、移行は瞬間的ではありません。値が変化しているサンプルが2〜3個ある場合があり、サンプル間でサンプル値が決して同じではない場合は、常にわずかなジッタがあります。

私は大量のサンプルを取って並べ替え、それらを平均化し、平均以下の値を平均値以下に、平均値を平均化して平均化することを試みました。 99サンプルの平均値が50サンプルでなければならないので、これはうまくいきました。残念ながら、現実世界では、オンまたはオフ状態で完璧な平均値の両側に常に49の値を得ることはできません。

私は移動平均や指数関数平均を使用する必要がありますか? DFT? FFT?私はまた、前のサンプルと次のサンプルを比較しようとしましたが、それはほぼ同じです。しかし、私はまだ移行が起こったと言う正確な価値を得ることに問題があります。

例は次のようになります

デバイスは、 "不明" 状態であり、サンプルは次のようになり:

  • S0 - 45.1156987295826
  • S1 - 45.1156987295826
  • S2 - 67.7942377495463
  • S3 - 67.7942377495463
  • S4 - 60.9886569872958
  • S5 - 49.4682395644283
  • S6 - 45.1156987295826

S0とS1がオフ状態であり、S2及びS3がオン状態であるが、オフ状態に向かっS4及びS5傾向ことを確認するために非常に簡単ですS4とS5はどちらの状態に属していますか?あなたは時定数0.5付近ので、低域通過フィルタを試してみてください

おかげで、 ダグ

+0

私たちが助けることができない信号(理想的なプロット)を見せてください.... – Spektre

+0

@Spektre:合法的な入力信号の定義が1つのプロット(または2つ)が示すものとは多すぎるとプロットがそれほど助けにならない(誤解を招くことさえあります)。 – hotpaw2

+0

ありがとうございます。プロットが役立つかもしれません。私はゲンゴにしようとします。 – AeroClassics

答えて

1

を(FYI、データは、私は非常に非常に迅速に移行シミュレートされたデバイスを使用しています。このきれいになることはありません)いくつかのジッタを取り除くために、数秒で完了します。次に、各発症の最も急峻な部分のローパスフィルタ結果の1次導関数のピークを探します。必要であれば、第1差のサンプル間にこのピークを補間する(2次または3次)。

ノイズ "ジッタ"のおおよその大きさを事前に知っている場合は、誤検出を防ぐためにこのジッタより高いスレッショルドを使用する必要があります。

逐次比較:任意のしきい値を設定することもできます。結果の遷移決定を調べて、信号定義基準(0.5〜5 Hzのすべてまたはほとんどのパルス幅)を満たしているかどうかを確認します。条件が満たされる(または最大化される)まで、しきい値を上下に調整します。遷移しきい値の範囲がわかれば、最大のノイズ耐性の中央値を選択します。

+0

私はこの+1にぶつかりましたが、あなたの提案を理解するために努力していますが、おそらく答えはここにあります。私は今日、K平均クラスタリングを試みましたが、私はまだこれが助けになるとは確信していません。多分トレンド分析が正しいアプローチですが、データポイントはごくわずかです。元の投稿にデータの例を追加します。 – AeroClassics

関連する問題