波形データが入った配列データを引数で渡すと、波形の形を返す関数を作りたいのですがどのように作ったらいいでしょうか。
例えば100Hzの10秒間のデータ(Int[1000])を引数で渡すと、その配列データが表す波形の形をstringで返すと言うような物が作りたいです。
例)
String Zukei = ZukeiHantei(Int[]);
■結果
Zukei ==> "山なりの波形"
とか
Zukei ==> "ぐちゃぐちゃの波形"
みたいな感じに作りたいです。
言語は出来ればCかC#かVBだとありがたいです。
■2017/12/27編集
すみません1次元配列データで"図形"はありえませんでした。
波形の形が例えば山なりとか、ぐちゃぐちゃとか、そういった感じで答えが返ってくる事を望んでいます。
ゆくゆくは応用して、音声データや体動データを読み込んだ時に、目的の音や体動の波形の形を見つけたり、ノイズがのっかっているところを識別して解析処理の際読み飛ばしたり非解析区間に設定したりと言った使い方がしたいです。
どのようなデータが入力されたら”三角形”と判断するのでしょうか?
なかなか厄介そうなご質問ですね...たとえばある音声データが与えられたとして、それを「三角波だ」とか「矩形波だ」とか判定したいということでしょうか?
はい。例えば音声データでも、体動データでも、波形の形が認識出来るようにしたいです。波形の形が正弦波なら、正弦波とか山なりの波形とか出力されるような事を望んています。周波数特性も一種類の周波数帯ではなく混在した物を認識出来るようにしたいです。例えばFFTなどを使ってまずスペクトルを出してそこから識別?みたいな感じになるでしょうか
「山なり」とか「矩形波」とかを定義するとこから始めるべきでしょう。定義できればやり方は色々あると思います。例えば「適当な正弦波と重ねて、差が?%以内なら、正弦波」とする、みたいにです。
そこは当然そうです。ただこの手の処理でしきい値を決めて判定させる処理はナンセンスだと思います。それだとほんの僅かでもしきい値から外れた波形は外れてしまい、逆に当てはまる物は何でも拾ってしまいます。それらを補う為の例外対応用の判定文しだいでプログラムも膨大になってしまう恐れがあり避けたいところです。
↑YES/NOで白黒つけたらそうなっちゃうでしょけど、AIみたく"正弦波っぽさ80%"ならいーじゃん。
回答1件
あなたの回答
tips
プレビュー