電子書籍の厳選無料作品が豊富!

2点質問させて下さい。

縦480x横640の画像(チャート)データ
を480のファイルに1ファイル640個のデータとして保存して
その1ファイルにある特定の周波数がどのくらい
含まれているかを抽出する作業をExcelにて行っております。
(将来的にはソフト制御を考えています)

特定の周波数を抜き出す方法として
データに対して、抽出したい周波数の正弦波との積を取り
そのデータを積分して値を求めようと考えておりますが
その特定の周波数の値を変化させた時に、結果がマイナス値
が出てくる場合があります。
私の認識ですと、マイナス値が出てくる事は無いと思って
いたのですが、これは私の方法が間違っているのでしょうか?

ちなみに各種データは次のとおりで求めています。
サンプリング周期 Δt [s] = 1 / 640 = 0.0015625
ω(特定周波数10Hzの場合)= 2*PI()*10Hz= 62.8
正弦波          = sin(サンプリング時間xω)

また、上記の周波数成分を抜き出すのと似ていますが
ある範囲だけの周波数成分(バンドパスフィルタ?)の
ような事を行いたい場合どのようにすればよいかご教授
していただけないでしょうか?参考になる書籍、HPなど
でも紹介していただけるとありがたいです。

自分なりに勉強しているのですが、なかなか進まないので
ほとほと困り果ててます
どうぞ皆様のお知恵をおかしください。
よろしくお願いします。

A 回答 (3件)

>特定の周波数を抜き出す方法


フーリエ変換により得られます。

>結果がマイナス値が出てくる場合があります。私の認識ですと、
>マイナス値が出てくる事は無いと思っていたのですが、
>これは私の方法が間違っているのでしょうか?
位相検波(quadruture phase detection)を行なっていない限り、±ωは区別できませんので必ず出てきます。方法が間違っているわけではありません。

>ある範囲だけの周波数成分(バンドパスフィルタ?)の
>ような事を行いたい
求められる周波数はNyquistの定理により自動的に帯域が決まっています。Δt=0.0015625sならば周波数帯域が-320~+320Hzになります。
    • good
    • 0
この回答へのお礼

shun0914さん
回答ありがとうございます。

お礼日時:2007/11/14 20:38

>cosの成分も掛け合せて積分を取り、


>その絶対値どうしを足し合わせる事で始めて取り出したい
>周波数成分の大きさが取り出せるという事になるのでしょうか
まあ、イメージ的にはそんな感じです。
正確には、
(sinをかけて積分したもの)^2 + (cosをかけて積分したもの)^2
の平方根が、その周波数成分の大きさです。
    • good
    • 0
この回答へのお礼

rabbit_catさん
かさねての回答ありがとうございました。

お礼日時:2007/11/14 20:37

>私の認識ですと、マイナス値が出てくる事は無いと思って


いたのですが、
>これは私の方法が間違っているのでしょうか?
データの位相と掛け算した正弦波の位相が180度くらいずれていたら当然マイナスになります。
例えば、データが -sin(ωt) のとき、正弦波sin(ωt)をかければ、マイナスになりますね。
つまり、
結果の絶対値が大きい=その周波数成分が大きい
ってことです。

で、この方法ですが、いわゆる離散フーリエ変換(あるいは離散正弦変換)そのものですね。
離散フーリエ変換とか、FFTとかいった言葉を知っていらっしゃるのでしょうか?
もし、まったく予備知識なしに、正弦波をかけて積分してみよう、って考え付いたとすると、なかなかのセンスですね。
    • good
    • 0
この回答へのお礼

rabbit_catさん回答ありがとうございました。
>データの位相と掛け算した正弦波の位相が180度くらいずれていた>ら当然マイナスになります。
>結果の絶対値が大きい=その周波数成分が大きい
位相のずれでのマイナス値だったのですね、よくわかりました。
ただ、位相があるということは、sinの成分を掛け合わせるだけでなく
cosの成分も掛け合せて積分を取り、その絶対値どうしを足し合わせる事で始めて取り出したい周波数成分の大きさが取り出せるという事に
なるのでしょうか?
質問ばかり多くて申し訳ありません。

この問題にあたってフーリエ変換という言葉は調べたときに
知ってはいるのですが、始めて使用しているといった具合で
今回の方法も、新フーリエの冒険というサイトで調べて参考にさせていただきました。

お礼日時:2007/11/13 05:19

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