- 締切済み
hilbert(ヒルベルト)変換について教えてください.
こんにちは. ある時系列実験データ(f0[Hz]の周波数成分の振幅が周期的に変化する信号にノイズが含まれている)の包絡線を求めるために,hilbert変換を用いています.しかし,求めた信号をスペクトル解析するとf0[Hz]や1/2*f0[Hz],2*f0[Hz]などが含まれます.ヒルベルト変換によって,このような問題が生じるのでしょうか? それとも,他に原因があるのでしょうか. また,包絡線を求める良い方法がありましたらご紹介いただけないでしょうか. よろしくお願いします.
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- stomachman
- ベストアンサー率57% (1014/1775)
これはAMラジオの検波と同じことをやりたいんですね。 ヒルベルト変換てのは要するに局所的に重み付き平均を作るわけですから、余計な周波数成分だって出ますよね。 w=2πf0 とおくと、データは p(t) = A(t) sin(wt+α) + noise(t) です。このときA(t)の帯域とf0とがかなり違っているのでない限り、包絡線そのものが定義できないでしょう。だから、A(t)はf0よりうんと低い周波数であると考えていいと思います。さらにノイズが小さくて、また信号A(t)や搬送周波数f0とはかけ離れた周波数帯域にあるんなら、データp(t)に対してフーリエ変換をやって、包絡線A(t)の帯域以外をカットしてやれば良い。逆に言えば、A(t)の帯域だけを取り出すband path filterを構成して、それをp(t)に畳み込み積分すれば良い訳です。もっと手抜きをするなら、安いラジオと同様、|p(t)|をtについて適当に平滑化(f0が消える程度)してやれば概ね|A(t)|が得られます。 欲しい結果の精度、データの帯域、ノイズのレベルによっては、処理の仕方を色々工夫しなくちゃダメでしょうね。
補足
stomachman先生,回答ありがとうございます.御礼の返事が遅れまして申し訳ありません(メールがきませんでした,言い訳じみてますが). さて,さらに教えていただきたいのですが,人工的にパソコン上で作ったデータ(ノイズあり,無し)ではこのような成分は出ません.しかし,ファンクションジェネレータからの信号をAD変換してPCに取り込んだデータの場合,A(t)=constant.の場合でもf0Hzの成分が卓越します.これは,どのような影響が考えられますでしょうか. 余談ですが,実験で得ようとしているデータは位相遅れが生じると使えないので,フィルタは考えていません.時間変化をきれいに見せるために積算平均は使っていますが. お忙しい中大変恐縮ですが,アドバイスの程よろしくお願い致します.