プロが教えるわが家の防犯対策術!

こんにちは。ギザギザになっている波形をきれいな波形にしたいのですが、方法が思い浮かばず困っています。

たとえば、このような式のデータがあったとします。
COS(2*3.1419*100*時間)+0.1*COS(2*3.1419*500*時間)-0.2*SIN(2*3.1419*800*時間)-0.1*COS(2*3.1419*10000*時間)+0.4*SIN(2*3.1419*25000*時間)

欲しい波形:COS(2*3.1419*100*時間)+0.1*COS(2*3.1419*500*時間)-0.2*SIN(2*3.1419*800*時間)
ノイズ:-0.1*COS(2*3.1419*10000*時間)+0.4*SIN(2*3.1419*25000*時間)
だと思ってください。

この波形をきれいな波形にしたいのですが、どのような方法で行うのがよいのでしょうか?
移動平均を取ってみたのですが、上手くいかず、困っています。参考になりそうなサイトの情報でも構いませんので何か手がかりをください。
よろしくお願いします。

A 回答 (5件)

移動化平均なら1.5周期程度以上の時間をかければ


概ね軽減できると思いますが、1回だと効果のある周
波数にムラがありますよね。
3/4掛けか2/3掛けくらいで時間を変えて平均を
3回くらいでかけておけば割と広い範囲で効果を得ら
れると思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。1回だとかなりムラがありました(>_<)3/4くらいでまぁまぁの波形がでました。ありがとうございます。

お礼日時:2004/10/27 08:07

cos(2πωt)の周波数f=2πωなので、欲しい波形の周波数成分以外の周波数成分をカットしてやればいいですね。


質問のデータの場合、ノイズは高い周波数になっているので、高周波成分削除(ローパスフィルタ)になります。
波形データをフーリエ変換→高周波成分削除→逆フーリエ変換でいいと思います。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。高周波カットなのに、ローなのですね。数学世界は難しいです。

お礼日時:2004/10/27 08:05

No.1の方の回答が一番適切だと思いますが、それに対する質問者の反応がいまいちだったので補足します。


FFT(高速フーリエ変換)をご存知でしょうか。
今提示されている式は「信号成分」と「ノイズ分」は時間軸で記載されていますがこれをFFT解析することで周波数軸のデータに変換できます。ノイズは例えば信号成分に対し離れた周波数の場合に多いのでこの特性を利用して、周波数軸データからノイズの周波数成分をフィルタ関数などで取り除きます。
この後元の時間軸データに戻す作業がiFFT解析です。

もし、ノイズ成分が信号成分の周波数と近いならばNo.2の方の平均方法が適切です。
ノイズは一般にランダム性が強いので平均化でかなり取り除けるはずです。

前者のFFTソフトについてはVectorなど紹介されていますので探してみてください。

以上、参考まで。
    • good
    • 0
この回答へのお礼

ご親切な回答ありがとうございます。フーリエは軸を変えてしまう方法だったのですね<名前しか知らなかったので、、、(^^;
実際のノイズ成分はまだ解析していないので欲しいデータの周波数に近いかどうかわかりませんが、試してみたいと思います。ありがとうございました。

お礼日時:2004/10/22 22:20

5回サンプリングして最大値、最小値を除いた3つのデータの平均値をとるとか。

簡単ですが、だめですよね?

スムージングで検索。参考URLがヒット。
このサンプルプログラムの言語ってQBASICなのか?
なんか、もっともらしい方法みたいな感じですよね。

参考URL:http://www.civil.kumamoto-u.ac.jp/taishin/matsu/ …
    • good
    • 1
この回答へのお礼

回答ありがとうございます。参考URL見せていただきました。やりたいことはこんな感じです。2・3次多項式適合法orフーリエ変換を使えばよいのですね。<といっても、やり方がわかりませんが(T-T)ありがとうございました。

お礼日時:2004/10/21 13:44

FTしていらん成分切ってからIFTするとか.

    • good
    • 0
この回答へのお礼

回答ありがとうございます。
いらない成分・・・?(^^;

お礼日時:2004/10/21 13:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!