本文にスキップする

Select your region & language

Global

Region

「波形とFFT-4」4. 位相を cos と sin で表す(実部・虚部)

4.位相を cos と sin で表す(実部・虚部)

今までは cos 波、sin 波を見てきました。この波形を観測すると周波数 f が一定で、t=0 の時点で位相差があります。この位相差を【初期位相】と言いますが、この位相を表す方法を今回は考えてみましょう。
結論を先に言えば、
「観測される波形 Kcos(2πft+θ)はAcos2πf+Bsin2πf として振幅 A、B で表される」ということです。sin 波も同様に表せます。
これがわかるとフーリエ級数そしてその先のパワースペクトルがぐーんと近づいてきます。

cos、sin は円運動をしている球体の影の時間経過を描いたものとして習いました。これを図1に示します。

図1 円運動をしている球体の影の時間経過

  • 図1 円運動をしている球体の影の時間経過

cos、sin は図1の波形を記号で表したものですから、数式に cos、sin がでてきましたらこの波形を思い描き、数式をことばに置き換えて理解していきましょう。
早速ですが、三角関数の基本公式の1つに

       cos(a+b)=cosa cosb−sina sinb       ・・・(1)

があります。
位相 θ、振幅 K、周波数 f の cos 波を式(1)に代入してみます。

       a=2πft、 b=θ(初期位相)

とすると、

       Kcos(2πft+θ)=K{cosθcos2πft−sinθsin2πft}

ここで sin θ、cos θ は定数ですから、Kcosθ=A、Ksinθ=B と置くと

       Kcos(2πft+θ)=Acos2πft−Bsin2πft ・・・(2)
       tanθ=sinθ/cosθ=B/A、 ・・・(2‘)
       A=Kcosθ、 B=Ksinθ
       A^2+B^2=K^2*{(cosθ)^2+(sinθ)^2}=K^2 ・・・(2“)

式(2)の左辺は観測される波形です。よって式(2)は「観測される波形(この場合は初期位相 θ のある cos 波です)は、cos の振幅 A と sin の振幅 B で表すことができる」ことがわかりました。
余裕があれば右辺と左辺をそれぞれ計算して同じになることを確かめてみてください。
逆に A、B がわかると、実際に観測される波形の cos の振幅K、位相 θ を求めることがでます。
図2は t=0のときの K、θ、と A,B の関係を図示したものです。
図2 初期位相のあるcos波
       𝑓(𝑡)=𝐾 cos⁡(2𝜋𝑓𝑡+𝜃)=𝐴 cos⁡2 𝜋𝑓𝑡−𝐵 sin⁡2𝜋𝑓𝑡

  • FFTアナライザーはA、Bを求めている。そしてA、BよりK、θを計算し表示している。𝐾=√(𝐴^2+𝐵^2 )	𝑡𝛼𝑛𝜃=𝐵/𝐴
    FFTアナライザーはA、Bを求めている。そしてA、BよりK、θを計算し表示している。𝐾=√(𝐴^2+𝐵^2 ) 𝑡𝛼𝑛𝜃=𝐵/𝐴

実際「FFTアナライザーは周波数fの A と B を求めている」のです。
そして A、B は A+jB と複素数で表示され、A を【実部(Real part)】、B を【虚部(Imaginary part)】といい、測定画面ではそれぞれイニシャルをとり Real、Imag の文字を表示しています。実部と虚部は【複素フーリエスペクトル】、略して【フーリエスペクトル】といいます。
いきなり複素数になってしまいましたが、式(2)の A、B と同じで表現を変えて表したものです。実部は cos の項、虚部は sin の項と考えるとわかりやすいでしょう。
求められた A と B からさらに計算で実際の波形の振幅 K【Mag】と位相 θ【Phase】を求めることができますが、これはフーリエスペクトルの表示方法の1つといえます。
さらに、K の代わりに K^2 に注目し「信号量の2乗の次元を持った量」を【パワー】と称し、K^2 は周波数fの【パワースペクトル】といいます。
パワースペクトルは一般的に対数を取って 10LogK^2、または平方根をとって √K^2(=K)で表示されます。√K^2 はパワースペクトルのリニア表示といいます。

図3は任意の振幅の 100Hz の cos 波を DS2000 シリーズでトリガ機能をかけて測定し、Real、Imag、K、θ、10LogK^2を表示した画面を示します。
データの相互の関連も計算しています。また複素数のことも補足説明しましたので参考ください。

図3

  • 図3

任意の振幅で100Hzのcos波を入力し適当なレベルでトリガーをかけて測定しました。cos波なのでわかりやすくするため片振幅(0-P)表示としています。また、位相のX軸は拡大しみやすくしています。

測定データを読み取ると次のようになります。

左上:TIME波形(ピーク値)            0.876V
左下:パワースペクトル(0-P表示)         -1.14dBV
中上:リニア表示のパワースペクトル(0-P表示)   0.877
中下:位相                    65.7deg
右上:実部(0-P表示)               0.361V
右下:虚部(0-P表示)               0.799V

このデータから、今回の話に沿ってデータの関連をみていきますと、次のようになります。
FFT(高速フーリエ変換)で求まるのは図3右上、右下のデータA、Bです。

       A(実部)=0.350V、B(虚部)=0.804V

これより入力波形の振幅K、初期位相θは;

       𝐾=√(〖0.361〗^2+〖0.799〗^2 )=0.876" " (𝑉)
       𝜃=𝑡𝛼𝑛^(−1) (0.799/0.361)=65.6 (𝑑ⅇ𝑔)

この値は図3の中上、中下データに表示されています。TIME波形は;

       𝑓(𝑡)=0.876 cos⁡(2𝜋𝑓𝑡+𝜃)  𝜃=65 (𝑑ⅇ𝑔)

であることになります。パワースペクトルは;

       10 log⁡〖𝐾^2 〗=20 log⁡0.876=−1.15 (𝑑𝐵𝑉)

補足説明

実部、虚部について

実部、虚部は複素関数にでてくる用語です。オイラーの公式は;

      𝑒^((𝑗𝜙) )=cos⁡𝜙+𝑗 sin⁡𝜙 ・・・・・・(3)
      𝑒^((−𝑗𝜙) )=cos⁡𝜙−𝑗 sin⁡𝜙 ・・・・・・(4)

      𝑒:自然対数の底(=2.718・・・・・・)、 𝑗: 𝑗2=-1 となる値

オイラーの公式は指数関数も包含しているため複素指数関数といわれます。複素指数関数はcosとsinが複素数を表すjで合体されて、cosとsinを同時に扱えて便利な記号です。jのつかない数Aは【実数】、jの付いた数jBは【虚数】といいます。また、jのつかない項Aを【実部】、jの付いた項Bを【虚部】といいます。FFTアナライザーの場合、実部はcosの項、虚部はsinの項と理解してしまっていいでしょう。

さて、式(2)に相当する複素関数式は;

      𝐾𝑒^𝑗(2𝜋𝑓𝑡+𝜃) =𝐾 cos⁡(2𝜋𝑓𝑡+𝜃)+𝑗𝐾 sin⁡(2𝜋𝑓𝑡+𝜃) ・・・・・・(5)
      𝑡=0のときは;
      𝐾𝑒^((𝑗𝜃) )=𝐾 cos⁡𝜃−𝑗𝐾 sin⁡𝜃=𝐴+𝑗𝐵 ・・・・・・ ・・ ・・ ・(6)
      また;
      𝐾𝑒^((−𝑗𝜃) )=𝐾 cos⁡𝜃−𝑗𝐾 sin⁡𝜃=𝐴−𝑗𝐵・・・・・・ ・・ ・・ ・(7)

式(6)、式(7)は複素平面(ガウス平面:X軸は実部、Y軸は虚部)では実に対して対称の関係になり【共役複素数】といわれています。 下図4は式(6)(7)を複素平面(ガウス平面)で表わしたものです

      𝑓(𝑡)=𝐾ⅇ^((𝑗𝜃) )=𝐾 cos⁡𝜃+𝑗𝐾 sin⁡𝜃=𝐴+𝑗𝐵
      𝐴=𝐾 cos⁡𝜃 、𝐵=𝐾 sin⁡𝜃 、𝑡𝛼𝑛𝜃=𝐵/𝐴
      𝐾=√(𝐴^2+𝐵^2 )

図4

  • 図4

式(2)と式(6)(7)を比べてみましょう。極性±を無視するとどちらもA、B、K、θの関係は同じ関係にあることがわかります。FFT(高速フーリエ変換)の演算は複素数の計算になりますが、cosの項A、sinの項Bを求めていると思えば、FFTアナライザーを理解したようなものです。

表示データを保存するときパワースペクトルの保存をよく行いますが、これは K^2 のデータが保存されます。よって再生されたパワースペクトルK^2 からは A、B、位相 θ が求まりませんので式(2)で時間波形に戻すことができません。フーリエスペクトルでは A、B が保存されます。
測定画面で表示される「Mag」でもパワースペクトルとフーリエスペクトルでは保存データに違いが発生することに注意が必要です。

ポイント

  1. 観測される波形 Kcos(2πft+θ) は
    「Acos2πft+Bsin2πft」で表せる。
    Kcos(2πft+θ)=Acos2πft+Bsin2πft
      K^2=A^2+B^2、 tanθ=B/A
  2. FFTアナライザーは周波数 f の A、B を求めている。

(2007年3月22日発行メールマガジンより抜粋)