SPICEで学ぶ電気回路の基礎 講座
How to use > 目次       他のページへは目次のリンクよりジャンプして下さい


8. 非正弦波の解析
 周期性があるが正弦波ではない波形は、非正弦波またはひずみ波と呼ばれる。ひずみ波に対する電気回路の応答を考えるときは、ひずみ波をフーリエ級数というものに展開して解析される。
さらに非周期的な正弦波ではない波形の場合は、フーリエ変換という方法が使われるが、こちらは本講座の範囲を超えるので詳細は述べず、SPICEによるFFT解析方法を提示するのみとする。
8.1 フーリエ級数展開
フーリエ級数の展開公式
フランスの数学者・物理学者であるフーリエ(1768〜1830)により最初に考えられた。最終的にまとめられたのは、「ある周期的な関数は、その周期の整数倍の周期をもつ正弦波と余弦波の足し合わせで表すことができる。」というものである。厳密な数学から周期関数には、「その微係数が区間的に連続で、かつ積分可能でなければならない」という条件(ディリクレの条件)が付くが、これは、「逆戻りして輪を描くような曲線」のようなものを指していて、工学では一般的に取り扱わないので通常はこだわらなくてよい。
余弦波は正弦波の位相がずれたものであるので、もっと簡単に言うと、「周期的な関数は、複数の振幅や位相の違う正弦波の足し合わせで表される。」
数式では、以下のように表される。

任意の周期関数をf(t)とすると、周期Tとして

   f(t+nT)=f(t)   (n=整数)

このf(t)は、つぎのフーリエ級数に展開できる。ただし、ω=2π/Tである。

    

     

(8.2)式に示す各係数an, bnをそれぞれ正弦係数余弦係数、また、まとめてフーリエ係数という。

(8.1)式のフーリエ級数の各項のうち、b0を直流分、a1・sinωt+b1・cosωtを基本波、a2・sin2ωt+b2・cos2ωtを第2高調波、an・sin(nωt)+bn・cos(nωt)(ただしn≧2)を第n高調波という。

わかりやすく言い換えると、ひずみ波に含まれるもっとも低い周波数成分を基本波基本波の2倍の周波数成分を第2高調波、3倍の周波数成分を第3高調波、・・・という。ひずみ波によっては、基本波+第2高調波+第4高調波+第6高調波+・・・などと奇数次の高調波を含まないというような場合もあるので、何番目の高調波ではなく基本波の何倍の周波数であるかで高調波の次数が決まることを覚えておく必要がある。

以上をまとめると、周期的に変化する正弦波ではない任意のひずんだ波形は、最初に記した条件が満たされれば、三角関数(正弦波、余弦波)を基本とする(8.1)式のフーリエ級数で表される。
周波数スペクトル 上式(8.1)(8.2)を三角関数の公式を使って変形したものが、式(8.3)である。これは、正弦波のみでフーリエ級数を表している。
このとき、c0=b0を直流分、c1・sin(ωt+θ1)を基本波、c2・sin(2ωt+θ2)を第2高調波、cn・sin(nωt+θn)を第n高調波という。この式の変形で計算が簡単になるわけではないが、より各高調波の関係が明確にわかるようになる。つまり、解析したい周期関数と同じ周波数の正弦波が基本波であり、その倍の周波数の正弦波が第2高調波、そのn倍の周波数の正弦波が第n高調波を示していることがわかる。なお、式(8.3)において、n=0のときのθは式の表記上の都合で90°となっているが(sin90°=1)、直流分なので位相が90°ではない。

   

図8.1の全波整流波を例に、Cnとθnを計算で求め、周波数を横軸にしてグラフ化したものが図8.2(a)(b)である。
この表示方法を、周波数スペクトル、(a)を振幅スペクトル、(b)を位相スペクトルという。

図8.1 正弦波ではない(ひずみ波)周期的な波形
(これは全波整流波形の例)
図8.2(a) 振幅スペクトル
図8.2(b) 位相スペクトル
偶関数と奇関数 解析したい関数 f(t) の波形 が、全く意味のない波形ではなく、ある対称性を持っている場合、フーリエ係数が多少簡単に求められることがある。

●偶関数(偶対称)のとき  f(t)=f(-t) :y軸について線対称の関数

 図8.3 偶関数の例
 (さらにこの場合は周期関数である必要あり)
 
つまり、式(8.1)において正弦(sin)の項はなくなり、余弦(cos)の項だけで表される。式(8.3)ではcn=bn,θn=90°となる。

●奇関数(奇対称)のとき  f(t)=-f(-t) :原点について点対称の関数。

 図8.4 奇関数の例
 (さらにこの場合は周期関数である必要あり)

つまり、式(8.1)において正弦(sin)の項だけで表される。直流成分は0である。式(8.3)ではcn=an,θn=0°となる。
表8.1 各種非正弦波のフーリエ級数展開の式
波形名称
波   形
フーリエ級数展開式
半波整流波
全波整流波
矩形波
方形波
三角波
のこぎり波
SPICEによる確認: 半波整流波の合成
SPICE回路図ファイル Fourier_series_1.sch (TopSpice 8 回路図ファイル)
クリックで拡大
回路図の作成 半波整流波をフーリエ級数展開すると、表8.1の式で表されます。この式の各周波数をそれぞれ1個の正弦波信号源で作成し、それら波形を合計すれば級数展開の逆を行うことになり、目標とするひずみ波に近い波形が得られるはずです。この回路は、フーリエ級数展開の計算結果が元の波形になるかどうかの確認です。
0〜1Vの振幅で基本周波数1kHzとして、展開された直流分と基本波、各高調波を信号源8個によって表します。式ではn=1〜6までに相当します。その各信号をE素子(アナログビヘイビア)を使って足し合わせます。なお、cosは正弦波信号源の初期位相を90°として作っています。直流分+基本波+第2高調波+第4高調波+第6高調波をout1、それにさらに第8,10,12高調波を加算した出力をout2としました。(一度にこれだけの信号源を簡単に用意できるところがバーチャルの良さです。)
解析の設定と実行
基本波の3周期分0〜3msまで過渡解析を行います。ある程度の精度が必要なので、過渡解析の最大ステップ時間を1/3000の1usとしています。
解析結果の検討 波形グラフの1段目が、加算前の各波形です。第12高調波まで加えた波形は、大分希望の波形に近づいています。
SPICEによる確認: 矩形波の合成
SPICE回路図ファイル Fourier_series_2.sch (TopSpice 8 回路図ファイル)
クリックで拡大
回路図の作成 次は上記と同じことを矩形波を最終目標として行います。基本周波数は、1kHzとしました。なお、直流分は直流電源をわざわざ1個用意しないで、基本波のオフセット電圧を0.5Vとしています。表8.1の式では、n=0〜11までに相当します。出力のout1は、直流分〜第7高調波まで、out2はそれに第15高調波までを加算、out3はさらにそれに第23高調波までを加算したものです。
解析の設定と実行
基本波の2周期分0〜2msまで過渡解析を行います。ある程度の精度が必要なので、過渡解析の最大ステップ時間を1/4000の500nsとしています。
解析結果の検討 波形グラフの1段目が、加算前の各波形です。第23高調波(n=11)まで加えた波形でも、まだ希望の波形からは遠いようです。参考書によるとひずみが大きいのでn=100でも細かい振動(ギブスの現象)が残るようです。
8.2 非正弦波に対する回路応答
非正弦波入力時の回路解析の考え方 前項までで周期的な非正弦波が、フーリエ級数展開により、複数の正弦波の足し合わせで表されることがわかったが、このような非正弦波を任意の回路に入力したときの回路応答を考える。
電気回路が、線形性をもつ(入力した電圧や電流に比例した出力が得られる)という条件のもとでは、フーリエ級数展開した個々の正弦波の回路応答を考えて、最終的にそれらを足し合わせると結果が得られる(図8.6)。


非正弦波入力時の回路解析の例  非正弦波の例として、全波整流波形(下図8.7(a))をRC直列回路(下図8.7(b))に入力し、キャパシター両端に現れる電圧波形を求める。
図8.7(a) 回路に入力する全波整流波
図8.7(b) RC直列回路

表8.1にあるように、全波整流波をフーリエ級数展開すると、

(参考として、(8.6)式の求め方を、別ページに示す。)

直流電圧2Vm/πについて考えると、回路に流れる電流は0なので、キャパシタ電圧は、

基本波以降について考えると、加えられる電圧は、

従ってキャパシタ電圧は、フェーザ表示で表して

時間の関数に戻して


(この結果の式が正しいかどうかを、以下でSPICEにより確かめる。)
SPICEによる確認: 非正弦波入力結果の確認
SPICE回路図ファイル Fourier_Full_Wave_Rec_RC.sch (TopSpice 8 回路図ファイル)
クリックで拡大
回路図の作成 上記で求めた式(8.7)が正しいかどうかをSPICEで確認します。
各定数を、以下のように決めます。
R=100Ω, C=4.7uF, Vm=1V, f=1kHz(ω=2πf)
回路図の上側のブロックは、RC直列回路にアナログ・ビヘイビア記述で全波整流波を入力しています。V(out1)がSPICEにより計算された結果を示します。
回路図の下側のブロックは、フーリエ級数展開で求めた式(8.7)を、正弦波信号源で表したものです。
8.1節のSPICE確認と同様の考え方で、式(8.7) について、n=1〜8を代入して、キャパシタ電圧の直流分および基本波成分、第2高調波〜第7高調波成分の係数を求めます。これらの成分を足し合わせたものが、最終的なキャパシタ電圧に近い値となるはずです。
解析の設定と実行
(過渡解析)
過渡解析を0〜6msまで行います。表示は、ほぼ定常状態となった部分のみを取り出すために4〜6msとしています。
解析結果の検討 SPICEが過渡解析を行った計算結果の波形V(out1)と、フーリエ級数展開の計算で求めた係数を信号源に入力して得た波形V(out2)が上図のように、一致しました。計算が合っていたことが確認できました。
8.3 非正弦波の実効値と電力
ひずみ波の実効値
 正弦波の場合と同様に、ひずみ波を回路に入力したときの消費電力を知りたい場合がある。ひずみ波は、基本波に高調波が加わったもので表されることがわかったので、基本波のみの場合より消費電力は大きくなると予想される。
まず、電圧電流の実効値を求める。

 ひずみ波 f(t) が、式(8.3)のようにフーリエ級数展開されたとする。計算しやすくするため、以下のように式(8.3)の直流分を別に書く。

実効値は、その定義から二乗平均平方根とも呼ばれる、時間的に変動している信号の平均を示すひとつの方法である。まず、f(t) の二乗を求める。


ここで、第3項の式の変形は以下の三角関数の公式を使っている。


この結果を、1周期にわたって平均する(二乗平均)。上式の第2項は正弦波の平均なので0となる。第3項は、n≠mにおいては余弦波の平均となりすべて0となる。n=mにおいてのみ、cos(0)=1となり0以外の値をとる。

したがって、実効値は以下のように表される。
------ (8.8)

式(8.3)に示すように、b0は直流成分であり、anとbnは第n高調波の振幅である。つまり

ひずみ波の電力
 次にひずみ波の消費電力を求める。ひずみ波の電圧と電流が以下の式で表されるとする。θnは各周波数ごとの電圧電流間の位相差を示す。

瞬時電力 p (W) は以下のように計算される。

第4項の式の変形は、前項で述べた三角関数の公式を使っている。
瞬時電力の時間平均である平均電力P(W)を求める。
上式の第2項と第3項は正弦波の平均なので0となる。第4
項は、n≠mにおいては余弦波の平均となりすべて0となる。n=mにおいてのみ、cos(0-θm)となり0以外の値をとる。
------ (8.9)



これより、ひずみ波の電力は以下のように正弦波交流の電力を高調波まで拡張したものと言える。


ひずみ率
 周期性をもつひずみ波が、正弦波からどの程度ひずんでいるかを示すひとつの基準にひずみ率がある。
ひずみ率は、ひずみ成分が多いほど100%に近づいていく。正弦波はひずみ率0%である。



ここで、以下のような矩形波のひずみ率を求めてみる。


この波形をフーリエ級数展開した式は


したがって、ひずみ率は以下のように45.0%と求められる。


SPICEによる確認: ひずみ波の実効値と平均電力
SPICE回路図ファイル Fourier_Power_0.sch (TopSpice 8 回路図ファイル)
クリックで拡大
回路図の作成 LCR直列回路にひずみ波電圧を入力したときの、実効値電圧、実効値電流、回路で消費される平均電力をそれぞれ求めてみます。ひずみ波はv=1+sinωt+cos2ωt、基本周波数f=1kHzとします。計算簡略化のために、R=1Ω,1/ωC=2,ωL=1とします。ひずみ波の入力信号電圧は、これまで同様、信号源2つを足し算して作ります。
解析の設定と実行 過渡解析を行いますが、瞬時値ではなく実効値、平均電力をSPICEの関数、それぞれRMS,AVGを使って計算させるので、十分時間が経過して定常状態となったグラフが必要です。過渡解析は、0〜50msまで行い、表示は30m〜50msとします。正確な値に近づけるには、ある程度の分解能が必要です。最大時間ステップを50msの1/50000の1usとしました。
解析結果の検討 瞬時値電圧は、v=1+sinωt+cos2ωtなので、(8.8)式により、実効値電圧は
Ve=√(1^2+1/2(1^2+1^2))=√2=1.414213... → SPICEでは1.4142
また、瞬時値電流は、基本波と第2高調波別々の計算結果を合成して、
i=1/√2・sin(ωt+45°)+1/√2・sin(2ωt-45°)となる。したがって、(8.8)式より実効値電流は、
Ie=√(1/2(1/2+1/2))=1/√2=0.707106... → SPICEでは0.7071
平均電力は、(8.9)式より
P=1/2(1/√2・cos45°+1/√2・cos(-45°))=1/2×(1/2+1/2)=0.5 → SPICEでは0.500
SPICEでは、t=50msの値をカーソルを使って読み取ります。
SPICEによる確認: フーリエ級数展開とひずみ率
SPICE回路図ファイル Distortion_Rate_1.sch (TopSpice 8 回路図ファイル)
クリックで拡大
回路図の作成 上記で計算した矩形波を電圧信号源で発生させます。
解析の設定と実行 過渡解析を行います。そのとき同時にフーリエ解析の設定を行います。これは、元祖バークレーSPICEについていた機能で、過渡解析結果の指定された信号をフーリエ級数展開し、表にして出力ファイルに表示するというものです。一部の市販SPICEでは、次項のFFTがあれば不要ということで機能がついていないものもあるようですが、PSpice,LTspice,TopSpiceではこの機能が残されています。基本周波数と第何次高調波まで計算させるか、出力変数を指定します。ここでは基本周波数1kHz、第15高調波まで、出力V(out)としたいので、コマンドとしては、以下のようになります。
.FOUR 1000 15 V(out)
過渡解析の設定で注意すべきは、級数展開計算精度に直接影響するので、
  (1)(最大)時間ステップを小さく設定すること(PSpiceなどでは出力ファイルへの印刷時間間隔)、また、
  (2)解析終了時間をなるべく大きくとること、です。
級数展開の計算は、過渡解析終了時間の手前1周期分についてのみ行われますが、そのときの目標波形は、十分時間が経過した状態で過渡的な変化がなくなった定常状態である必要があるからです。
解析結果の検討 素上記の数式から導いた理論値は、
直流分 0.5V,基本波 0.6366V,第3高調波 0.2122V,第5高調波 0.1273V,第7高調波 0.09094V・・・
ひずみ率は、48.34・・% (n=7では44.99900%) となっています。
出力ファイルに表形式で示されているSPICEの計算結果は、
直流分 0.500V,基本波 0.6366V,第3高調波 0.2122V,第5高調波 0.1273V,第7高調波 0.09095V・・・
ひずみ率は、44.999%(n=7であるため)です。
出力ファイルを見るには、波形表示プログラムのメニューから、Tools->Browse Output Fileとクリックします。
SPICEによる確認: 高速フーリエ変換(Fast Fourier Translation:FFT)
SPICE回路図ファイル Distortion_Rate_2.sch (TopSpice 8 回路図ファイル)
クリックで拡大
回路図の作成 前項で使った同じ回路を使用します。
解析の設定と実行 FFTを行う場合は、基本的には事前にフーリエ解析の設定は必要ありません。過渡解析の設定のみ行い、結果の波形に対してFFTを行うという手順になります。SPICEのFFT解析自体で、設定項目はありません。FFT機能は、元祖バークレーSPICEにはなく、一般的に商用SPICEの波形表示プログラムに付けられた機能です。
TopSpiceでは、波形表示プログラムにおいて、Toransform->FFTと選んでください(上記回路図ファイルでは設定済み)。あとは表示された結果のグラフの希望する部分を拡大するだけです。
ただしFFTを行う場合、過渡解析の設定において、以下の注意点があります。
まず、フーリエ級数展開と同じ理由で、計算精度を上げるため、
  (1)時間ステップまたは最大時間ステップを小さく設定すること。
また、フーリエ変換のアルゴリズム上の理由で
  (2)過渡解析終了時間を、基本波周期の正確な整数倍とすること、
さらに、これも級数展開と同じ理由で、目標波形は、十分時間が経過した状態で過渡的な変化がなくなった定常状態である必要があるので、
  (3)解析終了時間をなるべく大きくとること、です。
解析結果の検討 上記の結果のグラフからカーソルを使って、各周波数の振幅値を読み取ると、
直流分 0.500V,基本波 0.6366V,第3高調波 0.2122V,第5高調波 0.1273V,第7高調波 0.09094V・・・
波形の一部拡大の方法は、「+」キーを押すとカーソル形状が変わるので、目標部分の対角線をドラッグします。

Home | What's Simulation | How to use | Links | Books | Services | About us | Contact us | Blog

Copyright(C) 2011 SimCircuit Technologies Co., Ltd.