• ベストアンサー

波形のタイプを判定

グラフを書いた時に、 その波形が画像で示されるもののようなタイプになっているかを判定するには どのようにすれば(どのようなソフトを使えば)よいでしょうか? 少し考えてみましたが、 まず考えうる波形のパターンをたくさん用意してその中のどれに一番近いか、 というようなやり方をするのかな などとも思いましたが、 他にもやり方はあるのでしょうか? どうぞよろしくお願いいたします。

  • ding2
  • お礼率97% (101/104)

質問者が選んだベストアンサー

  • ベストアンサー
noname#221368
noname#221368
回答No.2

 波形がどれだけ似てるかを判定するソフトの決定版は、たぶんないです。というのは「似てる」という人間的な判定基準が、そもそもアイマイだからです。問題状況に応じてケースバイケースに処理されるのが実情でしょう。  という訳で以下、一般的な話です。  例えば質問文にあげられている波形の例は、かなり明確な周期性を持っています(フリーハンドで適当に描くと、そうなりますよね?(^^))。こういう場合は、フーリエ変換を行って(FFTすると良くいわれます)、振幅スペクトルを調べます。そうするとスペクトル分布と卓越周波数が概ね等しければ、超概ね似た波形というファジーな(^^;)判断ができます。 ※フーリエ変換のフリープログラムは、けっこうたくさん転がっています(^^)。  もう一つ良く使われるのは、相互相関係数です。これは対象波形をg(t),基準波形をf(t)としたとき、   A=∫g(t)・f(t) dt   B=(∫g(t)・g(t) dt)^(1/2)   C=(∫f(t)・f(t) dt)^(1/2)   Cor=A/B/C で計算します。  相互相関係数Corは必ず -1≦Cor≦+1 の値を取り、f(t)とg(t)の形が完全に相似なら±1です。-1の場合は、f(t)とg(t)の正負が逆転した相似です。通常は0.5≦|Cor|なら「けっこう似ている」というファジーな判断をします。 ※相互相関プログラムは、ちょっとお高い波形解析ソフトには必ず付いていますが、じつはExcelの数式を使えば、A,B,Cの値はすぐ出せます(^^)。

ding2
質問者

お礼

ありがとうございます。 お礼をつけるのが遅くなってしまい申し訳ありません。 やはりそのあたりの手法になりますよね。 私のケースの場合に 何とかそれなりにうまくやれるかどうか考えてみます。

その他の回答 (2)

  • masudaya
  • ベストアンサー率47% (250/524)
回答No.3

問題がどうなれば良いのか分かりませんが, マッチトフィルタという考え方も良いかもしれません. 相互相関をディジタル的に各時間ごとに算出します. 欲しい信号よりも十分に高いサンプリングで信号を サンプリングしておきます.その値を入れたメモリを用意して 入ってきた信号をおなじサンプリングレートでサンプリングして 順々にシフトレジスタに入れていきます. メモリに入っている内容とシフトレジスタに入っている内容を かけ算して,総和を取ると相互相関の係数に比例します. これだと,出力の相互相関の値だけを見て判定することが可能 (いくつ以上ならOKとか)になります. 詳しくはMatched Filterやマッチドフィルタ,マッチトフィルタ,整合フィルタ 等で調べてみてください.

ding2
質問者

お礼

ありがとうございます。 時間をかけて色々と試してみます。

  • Nebusoku3
  • ベストアンサー率38% (1441/3774)
回答No.1

指紋認証ソフトを応用できるかもしれません。(自分では未実施。アイデアのみ) >まず考えうる波形のパターンをたくさん用意してその中のどれに一番近いか、というようなやり方をするのかな・・・ ↓ 指紋の代わりに、その方法がつかえるのではないでしょうか。 参考URL: サイト自体の検証はしておりませんのでソフトの安全性はご自分でご確認ください。(しつこいのが有るかもしれません) http://jp.softyp.com/fingerprint-authentication-downloads.html https://sourceforge.net/projects/biometricsdk/ http://fvs.sourceforge.net/ http://ffpis.sourceforge.net/

ding2
質問者

お礼

ありがとうございます。 指紋認証はほぼ完全に一致しているかどうかを見る技術で、 今やりたいと思っていることは グラフの変化のだいたいの傾向がそのタイプであるかどうかを見る、 という少しファジーなことですので 指紋認証ソフトを利用するのは少しきびしいかもしれません。

関連するQ&A

  • ニコニコ動画 音の波形 ♪

    今ニコニコ動画に投稿しようと おもっている動画があるのですが、 その前に「音の波形」ような、 ボリュームを表わすモノを動画に付け加えたい と思っています.. しかし、その波形の作り方も分からなければ 作れたとしても、どうやって画像や動画に合成 すればいいかわかりません。 AviUtlというフリーソフト(?)を使えば 波形は作れるそうなのですがそれを どうやって他の動画、画像と合わせればいいのでしょう? 一緒に添付たこの動画のような感じの波形を作り、 墓の画像と合わせたいのですがどうしたらいいのでしょうか? なるべくフリーソフトで作成していきたいと思っています。 親切で、この事について良く知っているような方が いましたら是非是非教えてください... (。_。*)))(((*。_。) 待ってます..

  • 波形編集・・・

    波形編集ソフトの中で、人の声や楽器の音などを細かく分けたりできるソフトってあるんですか?

  • PWM波形をAM波形に変換するツール(ソフト等)

    オシロスコープはYOKOGAWAのDLM2024を使用しています。 マイコン制御で出力されているPWM波形をオシロスコープで表示させています。 また、オシロスコープのデーターをUSBメモリへwdf形式、csv形式でUSBメモリへ保存し、 PC上でエクセルを使用してグラフ表示ができています。 ここで、PWM波形では変化がわかりにくいので、これをAM波形に変換したいと考えています。 1.オシロスコープからのPWM波形のデーターファイルを読み込ませてAM波形を表示するようなソフトを探しています。 2.その他の方法でもかまいませんので、PC上でこれを行う方法(エクセルのマクロ等で可能であれば)。 3.オシロスコープ上の設定でオシロスコープへ表示する方法。 いずれかをご存知でしたらお教えください。 番号の小さい順に希望しています(1番が見つかれば助かります)。

  • ■緊急■任意の数値データの波波形と微分波形■

    ■緊急■でお願い致します(期限は原則、後4日間しか有りません)。 はじめまして宜しくお願い致します。 探しているのは■任意の数値データの波波形と微分波形■を表示できるシフトです。 具体例で説明させて頂きます。 ・x軸データ:1、2、3、4、5、6、7、8、9、10 ・y軸元データ:38、25、30、17、26、29、6、22、8、17 だとします。 ・x軸データは予め規定された数値 ・y軸元データはx軸データ毎に観測された数値  です。 表示(2次元グラフ化)したいのは ・x軸データを横軸 として ・y軸元データを縦軸に波状波形として表示し、かつ、 縦軸にy軸元データ波状波形の微分波形を表示させたいです。 EXCELでできると思っていましたがどうしても私にはできませんでした。 そこで、できれば、フリーソフトでできるものを探しています。 (グーグルなどの検索で2日間探しましたが見つかりませんでした) フリーソフトで存在しないのであれば有料ソフトでも案内お願い致します。 ★深刻度★このソフトが見つからないと失業しそうです。

  • VSCD の音声波形表示について

    無料版のVSCD は音声波形表示はできないでしょうか。 また、他に動画の音声の波形表示が可能なWindows10で使用できる無料のソフトはありますでしょうか。

  • 非定常波形のフィルタリング

    構造物の振動計測で加速度波形を測定します。アナログ波形を200Hzほどでデジタルサンプリングします。計測対象周波数帯域は5Hz以上なのですが、測定データには2Hz以下の低周波成分が混じります。高価な計測機器であればハイパスフィルタで3Hz未満をカットしてしまえばいいのですが、あいにく手持ちの機器には10Hz以上を通すハイパスの設定しかありません。 そこでAD変換をしてサンプリングした後に後処理で3Hz以下をカットしたいと思います。手始めに全体をFFTして低周波成分の係数を除いて逆変換してみました。ところが低周波ノイズは非定常で、すなわち時刻暦波形の中で低周波ノイズが入っている部分と入っていない部分があります。それを全体一括で扱うと言うのは無理があります。ハードウェアでアナログフィルタをかけるように波形の中のその場その場でフィルタをかけて低周波成分が混じっている部分のみカットするということが出来ればうれしいです。 1.こういう場合、どのような手法が取られるのでしょうか? 2.あるいは10万円程度以下のソフトでこういった処理の出来るソフトはありませんか?   振動に限らず、音声や通信など他分野のソフトでも結構です。 よろしくお願いします。

  • CPUの波形が0%と100%を行き来する

    グローバル ┌┴─────┐ │WEBサーバ│ └┬─────┘ ローカル ┌┴────┐ │DBサーバ│ └─────┘ 両方 windows 2003 server 添付の画像の通りDBサーバのCPU波形が急に変りました。 1日のPVが155万から130万に激減りしました。 DBサーバのCPU波形がどうも臭うのですが 原因がわかりません。 プロセスタブにてCPUを使っているのはsqlservr.exeでCPU使用率が100と0を行き来しています。 0%の時にプロセス自体は落ちていませんでした。 このような波形になる考えられる原因はなんでしょうか。 過去事例などないでしょうか。 宜しくお願い致します。

  • 英語のMP3データと自声の波形比較ソフトを探してます

    英語の発音を練習しております。 以下の操作が可能な、フリー・有料、どちらでもよいのですが、 このようなソフトありますでしょうか? ここでも検索したりしたのですが、ぴったり合ったのが 探し出せませんでした。 また、フリーソフトの場合は使用方法も教えていただければ、 助かります。 ・波形表示できる上段と下段がある。 (1)自分で用意した英語のMP3の音声データをソフトに取り込んで上段で波形表示 (2)マイクからリアルタイムに波形を下段に表示する (3)結果、(1)と(2)で比較、確認できる (3)で波形比較する場合は、 リアルタイムは無理で、録音した音声データとしか、比較できないのでしょうか? 以上、よろしくお願いいたします。

  • iアプリで連続して判定を行うときの誤動作。

    iアプリで低次元イベント処理?をしてます。 public void processEvent( int type , int param ){  if( imageIndex == SS ){   if( ( type == Display.KEY_PRESSED_EVENT ) && ( param == Display.KEY_SOFT1 ) )    toMenu(); ・・・・ のようにボタンの押し判定をしたいのです。 このプログラムは画像をpaintメソッドの中で書き換える だけのプログラムでボタンの判定によって 画像を書き換えて一種のXMBのように動作させようとしています。 iアプリのメニュー部分の試作なんです。 ただ、連続してボタン判定が行われてしまうので困っています。 今、画像ごとに画像番号があり、その画像番号をif文で判定して 画像切り替えを行うのですが、if文の中で プロセスイベントのでかいくくり{  ・・・  if(ログイン画面){   決定ボタン→ログインしたメニュー画像へ   このとき、ログインフラグ・メニューフラグtrueへ。  }  if(画像番号1){   ソフトキー1なら    → メニューに戻る  }  if(画像番号2){   ソフトキー1なら    → メニュー戻る  }  if(ログインフラグ){   if(ソフトキー1)    投稿画像画面へ   「その他」   ・上下左右が押されたら画像切り替える。   ・決定ボタンが押されたらメニューフラグはfalse  } } 少しわかりにくいですが上のような略で説明しますと ・投稿画面ではソフトキー1でメニューに戻る ・その他のメニューではソフトキー1でメニューに戻る これが問題なのですが ・メニューではソフトキー1で投稿画面にいく。 このようにプログラムをすると 各種メニュー、または投稿画面を表示しているときに ソフトキー1でメニューに戻ろうとすると その結果、メニューでソフトキー1が押されたように判定され その結果再び投稿画面にいく。 以下ずっと続く。 という風になってしまい、投稿画面から出れなくなってしまいます。 このような状況を解決する方法はありますか? わかりにくいところがあればお答えしますので よろしくお願いします。

    • ベストアンサー
    • Java
  • (C#)ファイルに書き込みできるかの判定

    C#2.0を使って書き込みができるファイルかどうかを判定する方法を探しております。書き込み可能ファイルであっても、以下のパターン2のような場合には書き込みができないわけですが、パターン1なのかパターン2なのかをC#のコードにより判別したいと考えています。 (パターン1) テキストエディタ1でファイル1を開き、その状態でテキストエディタ2で同じファイル1を開く。エディタ2でファイルを変更・保存してエディタ1をアクティブにすると、他のソフトで変更された旨の表示が出て、変更を反映することができる。 (パターン2) 例えばexcelでCSVファイルを開き、同じCSVファイルをテキストエディタで開く。その状態ではエディタによりファイルを変更・保存することができない。 ご存じの方がいらっしゃいましたらご教授お願いします。