牛、豚、鶏、どれか一つ食べられなくなるとしたら?

発振機から10V、100kHzの波を発信して分岐した後、片方は直接パソコンに、片方は試料を通してパソコンに送りこみます。そして、電圧の強度を1000点程、1μsごとに取り込み強度の違いから位相差を
測定しようと思うのですが、100kHzとなると、1周期が10μsで1周期につき10点しか取れません。
これでは位相差の詳しい測定は不可能です。

そこで10周期以上取り込んだ後に、フーリエ変換すると良いというヒントは得られたのですが、その方法がいまいち分かりません。どなたか、フーリエ変換の式と位相差の求め方をご教授下さい。

A 回答 (2件)

 こんにちわ。



 信号の角周波数は既知なので、これをω0とします。今、発振器の信号が
 a(t) = A cos(ω0t + θa)
であるとすれば、角周波数ω0でのみフーリエ変換すれば良いので、
 Xa = (1/T)∫(0~T) a(t)exp(-jω0t) dt (ただし、T=2π/ω0)
となり、Xa は複素数なので
 arg(Xa) = θa
になります。同様に、試料を通った後の信号を
 b(t) = B cos(ω0t + θb)
とすれば、
 Xb = (1/T)∫(0~T) b(t)exp(-jω0t) dt
となり
 arg(Xb) = θb
になります。従って、位相差は
 θa - θb = arg(Xa) - arg(Xb)
で求まります。

 計測したサンプリングデータについて離散的に上記演算を行う場合は、1周期ではなく、10周期以上フーリエ変換したほうが良いでしょう。信号周期がサンプリング周期の整数倍でないと、切取窓による誤差が出ますから、窓関数を考慮するかフーリエ変換長を長くして、切取誤差の影響を小さくします。

 もし、信号b(t)の位相が、時々刻々と変化する場合は、フーリエ変換による方法は適していません。このような場合は、ヒルベルト変換フィルタを用いて瞬時位相を求めるほうが良いでしょう。もしこの方法に興味があるのでしたら、補足で要求してください。
    • good
    • 0
この回答へのお礼

ありがとうございました。

実のところ、質問の内容が濃すぎて返事がないと思っていたのですが、どうもありがとうございました。ようやく、光が見えた気がします。これから頂いたアドバイスを元に
計算したいと思います。

A=入れた電圧の値
ω0=2πf
t=それぞれの取った点の番号(1000点全部でとったなら1
  から1000まで)

でいいんでしょうか?

お礼日時:2003/11/12 18:37

 ω0=2πf (fは信号の周波数) です。


 測定したデータを、a(k) (kは0~N-1まで)、サンプリング周期を ts とすると、離散的フーリエ変換は
 Xa = (1/N)Σ(k=0~N-1) a(k)exp(-jω0・ts・k)
になります。

 Nを1000にした場合、約100周期分の変換ですから、ω0と実際の発振器のωが1%もずれていると大きな誤差が出ます。ω0とωが一致したとき、|Xa|が最大になるので、周波数誤差が見込まれる場合は、Nやω0をいろいろ変えて試したほうが良いかも知れません。
    • good
    • 0
この回答へのお礼

再度ありがとうございます。

Xaという複素数の偏角がそのデータの
位相でもう一つのデータと比較すればいいんですね。
これからやってみます。
ありがとうございました。

お礼日時:2003/11/13 13:57

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


おすすめ情報