(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
従来、交流波形の周波数を測定する第一の周波数測定方法としては、波形の値が零となる零クロス点を見つけて零クロス点から次の零クロス点までの時間幅を図形的に求めてその時間幅を周期とみなしてその逆数として周波数を求めるものがある。
【0003】
上記第一の周波数測定方法では、零クロス点周辺にノイズ成分が含まれている場合、正しく周期測定ができない。特に、インバーター機器などの最近のパワーエレクトロニクス技術の普及の結果、電源波形に含まれるノイズ成分は増大する方向にある。
【0004】
そこで、このようなノイズ成分の影響を受けない従来の第二の周波数測定方法として、波形データの周波数スペクトルから演算で周波数を求めるものがある(例えば、特許第2505707号(特許文献1)参照)。
【0005】
上記第二の周波数測定方法では、周波数スペクトルを算出するのにFFT演算を使うが、リアルタイム性に欠けており、そのままの形ではオンラインでの使用はできなかった。また、周波数の測定精度を上げるためには、交流波形の数サイクルに渡る波形に窓関数を掛けてFFT演算をしなければならないが、演算結果を波形の急激な変化に追従させるには無理があった。
【0006】
一般に時間幅Tのデータをフーリエ解析(FFT(高速フーリエ変換)またはDFT(離散フーリエ変換))して周波数成分分析を行なった場合、もとの波形に含まれる振動成分が商用周波数成分一つだけの場合でもそれがFFTによって得られる各スペクトルの周波数(FFTのBIN周波数という)からずれていると多数のスペクトルに分解される。
【0007】
例えば、100msecのデータをFFT分析して10Hz毎の周波数スペクトルを算出した場合、商用周波数成分が51Hzとしたときに得られる結果は、50Hz周辺に出現する多数のスペクトルで表現されることになる。
【0008】
そもそもフーリエ変換の解析結果は、そこに各周波数成分が有ることを保証するものではなく、解析結果の周波数成分の波形の和がそのデータの区間で元の波形にもっとも近い(二乗平均誤差が最小になる)ことを示しているだけである。
【0009】
上記特許文献1には、一個の周波数成分が複数のスペクトルに分散した場合、元の波形の周波数が幾らだったのかを算出する方法が書かれている。
【0010】
この特許文献1は、被測定信号の周波数F
Xを(式5)で算出するもので、減衰発散係数F
Yも得ることができる。
【0011】
【数1】
ただし、 F
X :被測定信号の周波数
F
Y :被測定信号の減衰発散係数
V
1 〜V
n :被測定信号の複素周波数成分
F
1 〜F
n :複素周波数成分V
1 〜V
n の各周波数
【0012】
ここで、波形を表す複素関数f(t)は、実用上は実数関数であるが、時間tの関数であり、次の(式6)のように複素フーリエ級数で表現できるものである。
【0013】
【数2】
【0014】
ただし、V
kは第k番目の複素周波数成分、T[sec]は観測データが存する時間幅である。周波数スペクトルの間隔を△f[Hz]とすると、△f=1/Tの関係がある。また、第k番目のスペクトルの周波数F
k[Hz]は、
F
k=k△f=k/T
であり、角周波数ω
k[rad/sec]とは、
ω
k=k△ω=2πk△f
の関係がある。
【0015】
この第二の周波数測定方法によれば、確かに特定時間断面における周波数成分の中心周波数を荒いサンプリング波形データ(例えば32サンプル/交流の1サイクル程度)でも精度よく求めることができる。
【発明の概要】
【発明が解決しようとする課題】
【0017】
しかしながら、上記第二の周波数測定方法(特許文献1)では、特定の時間断面での値だけではなく、周波数の変化をリアルタイムで観測したい場合、一定の時間間隔(例えば2msec毎)で何度もこの手法を適用してFFTを繰り返さねばならず、処理時間が掛かるためにリアルタイム性を持たせることには難点があった。
【0018】
また、上記第二の周波数測定方法を装置に実装するには、FFTプログラムを組み込む必要があり、種類豊富な演算専用チップを使用する場合、チップ専用のマシン語を習得して直接プログラミングすることは困難なので、どうしてもC言語のようなある程度規格化された高級言語を使わざるを得なかったが、高速性が要求されるFFT演算に高級言語を用いることは、高速性が犠牲になるので好ましいことではない。
【0019】
そこで、この発明の課題は、交流波形の2サイクル〜4サイクル程度で、かつ、交流波形の1サイクルあたり数十サンプルといった比較的低いサンプリング周波数によりサンプリングされたサンプリング波形データからその交流波形の周波数を高速かつ高精度に測定できるフーリエ解析による周波数測定方法および周波数測定装置を提供することにある。
【課題を解決するための手段】
【0020】
上記課題を解決するため、第1の発明のフーリエ解析による周波数測定方法は、
交流電圧波形または交流電流波形を表す被測定信号のサンプリング波形データに対して窓関数演算部により窓関数を掛ける第1ステップと、
上記第1ステップで上記窓関数を掛けた上記サンプリング波形データに対してフーリエ変換部によりフーリエ変換を行う第2ステップと、
上記第2ステップで得られた複素周波数成分の絶対値が最大のものを中心とする中心複素周波数成分と、その中心複素周波数成分に隣接する低周波数側および高周波数側にあってかつ上記窓関数の持つ周波数成分の個数と少なくとも同じ個数かまたはそれ以上の個数の隣接する低周波数側および高周波数側の複素周波数成分とを(式1)に代入して周波数演算部により演算することによって、上記被測定信号の周波数F
Xと減衰発散係数F
Yを求める第3ステップと、
上記第3ステップで得られた上記被測定信号の周波数F
Xと減衰発散係数F
Yの有効性を(式2)に基づいて判定部により判定する第4ステップと
を有することを特徴とする。
【0021】
ただし、窓関数演算部については後述の方法により、フーリエ変換を先に実施して、その結果得られる複素スペクトル間の簡単な演算で最初に窓関数を掛けたと同じ効果を奏する手法を適用しても良い。
【0022】
【数3】
【0023】
【数4】
ただし、 V
k :時間幅T[秒]の被測定信号のV(t)をフーリエ変換して得られる
k/T[Hz]の複素周波数成分(ここでk=1,2,…)
V
m :上記複素周波数成分のうち絶対値が最大のもの
n :窓関数に含まれる直流成分を除く周波数成分の個数と同じか、
または、その周波数成分の個数よりも大きい整数
F
X :被測定信号の周波数
F
Y :被測定信号の減衰発散係数
T :被測定信号のサンプリング波形データの演算対象部分の時間幅
V
min:(式1)の演算結果の有効性を判定するための閾値
【0024】
上記構成によれば、交流電圧波形または交流電流波形を表す被測定信号のサンプリング波形データに窓関数を掛けた後、窓関数を掛けたサンプリング波形データに対してフーリエ変換を行って、そのフーリエ変換により得られた複素周波数スペクトル値の絶対値が最大のものを中心とする中心複素周波数成分と、その中心複素周波数成分に隣接する低周波数側および高周波数側にあってかつ上記窓関数の持つ周波数成分の個数と少なくとも同じ個数かまたはそれ以上の個数の隣接複素周波数成分とを(式1)に代入して、上記被測定信号の周波数と減衰発散係数を求める。また、上記被測定信号の周波数F
Xと減衰発散係数F
Yの有効性を(式2)に基づいて判定して、(式2)の条件を満たさないなら周波数F
Xと減衰発散係数F
Yの演算結果を無効にすることで、量子化誤差等の影響によって不安定になった計算結果を除外できる。これにより、交流波形の2サイクル〜4サイクル程度で、かつ、交流波形の1サイクルあたり数十サンプルといった比較的低いサンプリング周波数によりサンプリングされたサンプリング波形データからその交流波形の周波数を高速かつ高精度に測定できる。特に、窓関数に含まれる周波数成分の個数相当分だけのスペクトルを演算に用いているので、不要な周波数成分を算出する必要がなく、フーリエ変換に際してFFTを用いて全周波数成分(例えば256サンプルデータなら128個の複素スペクトルデータ)を算出する必要がなく、DFTを用いて必要な周波数成分(窓関数内の周波数成分が1個なら中心周波数成分のスペクトル1個と低周波数側および高周波数側にそれぞれ1個〜2個、全部で3個〜5個のスペクトルで十分)のみを算出することで演算速度を遥かに高速化することができたのである。
【0025】
また、第2の発明の周波数測定装置は、
交流電圧波形または交流電流波形を表す被測定信号のサンプリング波形データに窓関数を掛ける窓関数演算部と、
上記窓関数演算部で上記窓関数を掛けた上記サンプリング波形データに対してフーリエ変換を行うフーリエ変換部と、
上記フーリエ変換部で得られた複素周波数成分の絶対値が最大のものを中心とする中心複素周波数成分と、その中心複素周波数成分に隣接する低周波数側および高周波数側にあってかつ上記窓関数の持つ周波数成分の個数と少なくとも同じ個数かまたはそれ以上の個数の隣接する低周波数側および高周波数側の複素周波数成分とを(式1)に代入して演算することによって、上記被測定信号の周波数F
Xと減衰発散係数F
Yを求める周波数演算部と、
上記周波数演算部で上記(式1)により得られた上記被測定信号の周波数F
Xと減衰発散係数F
Yの有効性を(式2)に基づいて判定する判定部と
を備えたことを特徴とする。
【0026】
【数5】
【0027】
【数6】
ただし、 V
k :時間幅T[秒]の被測定信号のV(t)をフーリエ変換して得られる
k/T[Hz]の複素周波数成分(ここでk=1,2,…)
V
m :上記複素周波数成分のうち絶対値が最大のもの
n :窓関数に含まれる直流成分を除く周波数成分の個数と同じか、
または、その周波数成分の個数よりも大きい整数
F
X :被測定信号の周波数
F
Y :被測定信号の減衰発散係数
T :被測定信号のサンプリング波形データの演算対象部分の時間幅
V
min:(式1)の演算結果の有効性を判定するための閾値
【0028】
上記構成によれば、第1の発明と同様の効果を奏する。
【0029】
また、第3の発明のフーリエ解析による周波数測定方法は、
交流電圧波形または交流電流波形を表す被測定信号のサンプリング波形データに対してフーリエ変換部によりフーリエ変換を行う第1ステップと、
上記第1ステップで得られた複素周波数成分のデータに対して窓関数効果演算部により(式4)による演算を行って、上記第1ステップの前に上記被測定信号のサンプリング波形データに(式3)で表された窓関数を掛けた演算結果と同等の演算結果を得る第2ステップと、
上記第2ステップで得られた複素周波数成分の絶対値が最大のものを中心とする中心複素周波数成分と、その中心複素周波数成分に隣接する低周波数側および高周波数側にあってかつ上記窓関数の持つ周波数成分の個数と少なくとも同じ個数かまたはそれ以上の個数の隣接する低周波数側および高周波数側の複素周波数成分とを(式1)に代入して周波数演算部により演算することによって、上記被測定信号の周波数F
Xと減衰発散係数F
Yを求める第3ステップと、
上記第3ステップで得られた上記被測定信号の周波数F
Xと減衰発散係数F
Yの有効性を(式2)に基づいて判定部により判定する第4ステップと
を有することを特徴とする。
【0030】
【数7】
【0031】
【数8】
ただし、 V
k :時間幅T[秒]の被測定信号のV(t)をフーリエ変換して得られる
k/T[Hz]の複素周波数成分(ここでk=1,2,…)
V
m :上記複素周波数成分のうち絶対値が最大のもの
n :窓関数に含まれる直流成分を除く周波数成分の個数と同じか、
または、その周波数成分の個数よりも大きい整数
F
X :被測定信号の周波数
F
Y :被測定信号の減衰発散係数
T :被測定信号のサンプリング波形データの演算対象部分の時間幅
V
min:(式1)の演算結果の有効性を判定するための閾値
【0032】
【数9】
【0033】
【数10】
ただし、 w(t):窓関数
α:窓関数の直流成分の係数
β、γ、δ:窓関数の各周波数成分の係数
C
k :窓関数を掛けない状態でフーリエ変換した結果の
k/T[Hz]成分のフーリエ係数
C’
k :上記窓関数w(t)を掛けてフーリエ変換した結果の
k/T[Hz]成分のフーリエ係数
【0034】
上記構成によれば、交流電圧波形または交流電流波形を表す被測定信号のサンプリング波形データに対してフーリエ変換を行った後、フーリエ変換で得られた複素周波数成分のデータに対して窓関数効果演算部により(式4)による演算を行って、フーリエ変換の前に被測定信号のサンプリング波形データに(式5)で表された窓関数を掛けた演算結果と同等の演算結果を得るので、第1の発明と同様の効果を奏する。また、最初に窓関数を掛ける必要がないので、1サンプル毎に周波数を算出する必要がある場合に再帰的DFTを利用することによって、演算速度を飛躍的に改善できる。
【0035】
また、第4の発明の周波数測定装置は、
交流電圧波形または交流電流波形を表す被測定信号のサンプリング波形データに対してフーリエ変換を行うフーリエ変換部と、
上記フーリエ変換部で得られた複素周波数成分のデータに対して(式4)による演算を行って、上記フーリエ変換前に上記被測定信号のサンプリング波形データに(式3)で表された窓関数を掛けた演算結果と同等の演算結果を得る窓関数効果演算部と、
上記窓関数効果演算部で得られた複素周波数成分の絶対値が最大のものを中心とする中心複素周波数成分と、その中心複素周波数成分に隣接する低周波数側および高周波数側にあってかつ上記窓関数の持つ周波数成分の個数と少なくとも同じ個数かまたはそれ以上の個数の隣接する低周波数側および高周波数側の複素周波数成分とを(式1)に代入して演算することによって、上記被測定信号の周波数F
Xと減衰発散係数F
Yを求める周波数演算部と、
上記周波数演算部で上記(式1)により得られた上記被測定信号の周波数F
Xと減衰発散係数F
Yの有効性を(式2)に基づいて判定する判定部と
を備えたことを特徴とする。
【0036】
【数11】
【0037】
【数12】
ただし、 V
k :時間幅T[秒]の被測定信号のV(t)をフーリエ変換して得られる
k/T[Hz]の複素周波数成分(ここでk=1,2,…)
V
m :上記複素周波数成分のうち絶対値が最大のもの
n :窓関数に含まれる直流成分を除く周波数成分の個数と同じか、
または、その周波数成分の個数よりも大きい整数
F
X :被測定信号の周波数
F
Y :被測定信号の減衰発散係数
T :被測定信号のサンプリング波形データの演算対象部分の時間幅
V
min:(式1)の演算結果の有効性を判定するための閾値
【0038】
【数13】
【0039】
【数14】
ただし、 w(t):窓関数
α:窓関数の直流成分の係数
β、γ、δ:窓関数の各周波数成分の係数
C
k :窓関数を掛けない状態でフーリエ変換した結果の
k/T[Hz]成分のフーリエ係数
C’
k :上記窓関数w(t)を掛けてフーリエ変換した結果の
k/T[Hz]成分のフーリエ係数
【0040】
上記構成によれば、第3の発明と同様の効果を奏する。
【発明の効果】
【0041】
以上より明らかなように、この発明によれば、交流電圧波形または交流電流波形を表す被測定信号の2サイクル〜4サイクル程度で、かつ、交流波形の1サイクルあたり数十サンプルといった比較的低いサンプリング周波数によりサンプリングされたサンプリング波形データからでも、被測定信号の周波数を高速かつ高精度に測定することができるフーリエ解析による周波数測定方法および周波数測定装置を実現することができる。
【発明を実施するための形態】
【0043】
この発明のフーリエ解析による周波数測定方法および周波数測定装置について、まず、特許第2505707号(特許文献1)に記載された数式(1)であって本明細書における(式5)の算出根拠について説明し、その後に上述の課題を解決する手段および実施形態の詳細を説明する。
【0044】
いま、交流波形を表す複素関数f(t)を、
とし、複素関数f(t)が一個の周波数成分として、
を持っていたとする。このときの未知の角周波数成分ω
xが、
ω
x=2πF
k または F
k=ω
x/2π
のように解析周波数F
kのいずれかと一致している場合は、その成分のみが検出され、他の成分は零なので(式5)が成り立つのは明らかである。
【0045】
そうでない場合、複素関数f(t)の解析結果は、(式5)のように複数の複素周波数成分(スペクトル成分)の和で表されるが、無限個の計算はできないので、何らかの窓関数を掛けることで第k1個目から第k2個目(k2>k1)までのスペクトルを除く他のスペクトルを十分小さくし、第k1個目から第k2個目までのスペクトルで充分な精度でかつ角周波数ω
xが複素数の範囲において、次の(式7)が成立するものとする。
【0047】
この(式7)は時間tが−tでも成立するので、次の(式8)が得られる。
【0049】
上記(式7)と(式8)の辺々を掛け合わせると、次の(式9)となる。ここで、(式9)の右辺の第二項のΣの記号の下部の式は、「kおよびlが異なる整数値で、かつ、k1以上k2以下となる全ての組み合わせの総和」を示すものとする。
【0051】
上記(式9)の左辺のA
2および右辺の第一項が時間tに関係しない定数項であるので、右辺の第二項も定数であることが判る。また、△ω=2π/Tのため、区間t=[0、T]で積分すると、
で表される複素数ベクトルは、原点の周りを(k-l)周(ただし、k≠l)するので、そのベクトル和は零になり、区間t=[0、T]での時間積分値が零であることが判る。
【0052】
すなわち、(式9)の両辺を時刻t、観測区間[0、T]で積分すると、次の(式10)および(式11)で表現できるが、(式11)の右辺の第二項が零になることが判る。
【0055】
それ故、(式9)の右辺の第二項は、時間tに関係ない定数であって、その時間積分値が零であることから、もともと常に零であることが判る。よって、(式9)は、
【0057】
一方、(式7)の両辺をtで微分することにより、次の(式12)が得られる。
【0059】
この(式12)に(式8)の両辺を掛け合わせると、(式13)が得られる。
【0061】
この(式13)の右辺の第二項も(式9)と同様の理由で零になる。
【0062】
また、左辺のA
2は各周波数成分の二乗和なので、以下の(式14)が得られる。
【0064】
ただし、波形自体が0値で無入力状態であれば当然のことながら、その周波数を求めることは意味がない。よって、波形の実効値がある値以下なら(式14)での計算結果も無効であると判断する機能も必要である。一般に歪波の実効値は、各周波数成分の実効値の二乗和の平方根で計算されるが、(式14)の分母は丁度その実効値ベクトルの二乗値になっている。それ故、この点については、(式14)の分母の絶対値がA/D変換器の分解能に比して十分に大きな値であることを保証することで足る。
【0065】
一方、(式14)と同様の考え方で(式8)の両辺を掛け合わせる代わりに(式12)の辺々を二乗して整理することで次の(式15)も得られる。
【0067】
(式15)でも同様の結果が得られるが、この場合は得られるのがω
xの二乗値であり、その平方根は2個出てくるので、別途判別する必要がある。(式14)の方が簡単で使い勝手が良いので、通常は(式14)または角周波数の代わりに単に周波数で表現した(式5)を使う。等号を用いているが、(式5)や(式14)で等号が成り立つのは、第k1番目〜第k2番目(k1<k2)以外の周波数成分が十分小さく無視できる場合に限る。
【0068】
一般に、交流波形の周波数がBIN周波数からずれていると、そのスペクトラムは多数の周波数成分に散逸するが、窓関数を掛けるとそれを一定の範囲内に抑えることができる。窓関数は、4〜5桁程度の精度が必要な場合は4サイクル分のサンプリング波形データにハニング窓を掛け、6〜8桁の精度が必要な場合は8サイクル分のサンプリング波形データにナットール窓やブラックマン・ハリス窓を掛ける。
【0069】
以上が(式5)および(式14)の導出の根拠であるが、この計算をPLD(プログラマブルロジックデバイス)などで実現しようとすると、各周波数成分を求めるFFT(高速フーリエ変換)演算などが複雑で実施困難である。DSP(Digital Signal Processor:デジタル・シグナル・プロセッサ)のような演算専用チップを用いると(式5),(式14)の計算も実施可能であるが、高速性を重視したマシン語によるプログラミングは困難である。このような演算専用チップを用いた計算で高速性を出すためには、例えばC言語のような高級言語によって記述されたソフトウェアをコンパイルして使用するのは効率的ではなく、アセンブリ言語やマシン語で記述するのが適切である。しかしながら、様々な演算用チップが市販されているので、それらを統一的に同じソースコードでプログラミングすることは不可能で、個別にソフトウェアを開発し、多大な時間を掛けてデバッグしているのが現状であった。
【0070】
<フーリエ変換方式について>
商用周波数の交流波形からその周波数を求める場合は、FFT解析結果のスペクトルの周波数の一つが50Hzまたは60Hzに一致するように、サンプリング周波数とFFT演算を行うデータの時間幅(データの個数)とを選定し、商用周波数に近くかつ最も大きな複素周波数成分のスペクトルとその前後に1本か2本のスペクトルを選んでそれらの複素数値を後述する(式1)に代入すれば良いので、敢えてFFT演算を行ってすべての周波数成分を求める必要はなく、DFT(離散フーリエ変換)演算で十分である。
【0071】
例えば、50Hzの交流波形を64サンプル/交流1サイクルのサンプリングで256個のサンプリング波形データを得て、それにFFT演算を施すと128本のスペクトルが得られるが、この場合のスペクトル間の周波数間隔は50×64/256=12.5Hzである。
【0072】
ハニング窓関数を用いた場合、交流波形v(t)は以下の(式16)のように表現できるが、これは(式17)のように3つの周波数成分に分解できる。
【0073】
【数25】
ただし、fは交流波形の周波数、Tは観測波形データの時間幅である。
【0074】
したがって、この3本のスペクトルを表す複素数値を(式5)に代入すれば、商用周波の交流波形から周波数が算出できる。万一、それが本来の周波数(例えば50Hz)からずれていれば、この3本のスペクトルの外側にも零でないスペクトルが現れる。それが、(式5)の演算対象から外れると誤差が発生する。その場合、中心周波数の両側に1本ではなく2本または3本のスペクトルを演算対象とすると誤差は小さくなる。
【0075】
一般的に窓関数の例としては、以下の(式18)の形をしており、定数成分α以外にM個(M=1〜3程度の整数)の周波数成分を持っている。そのため、それが正弦波交流波形の式と掛け合わされると、その個数M×2個の側帯波を生ずることになる。それ故、それら全てを(式5)の演算対象にすれば精度上問題のない結果が得られることが判る。当然のことながら、測定対象の波形は周波数変動するのであるから、その変動幅も考慮する必要がある。
【0078】
[係数値の具体例]
・ハニング窓の場合
【0084】
これらの式から明らかなように、例えばハニング窓では周波数成分は直流分αを含めて2個であるので、これを用いて交流波形の周波数成分を分析する場合は、中心周波数のスペクトル(中心複素周波数成分)と、その中心周波数のスペクトルによりも低周波数側の1本のスペクトル(隣接する低周波数側の複素周波数成分)と、高周波数側の1本のスペクトル(隣接する高周波数側の複素周波数成分)の計3本のスペクトルが得られれば計算可能である。また、ブラックマン・ハリス窓やナットール窓では計7本である。
【0085】
しかるに、スペクトルの本数が増えるとDFTの演算量が増えるので、計算速度が遅くなってしまう。また、スペクトル間の周波数間隔を狭めようとするとデータの時間幅を大きくしなければならず、そうなると周波数の急変に追従させることが難しくなる。そのため、本発明者は、追従性が要求される用途では、スペクトルの本数を極力絞って計算速度と追従性能を改善し、また、追従性能を要求されない用途では、窓関数を考慮したDFTの計算部分をあらかじめ実行しておき、実時間ではより簡単な計算式で周波数を算出する方法を考えた。すなわち、高速性・高追従性を有する方法と、高速性・高精度を実現できる方法とを考案し検証した。
【0086】
次に、スペクトルの本数を極力絞って計算速度と追従性能を改善する方法について説明する。
【0087】
サンプリング波形データの時間幅を交流波形の本来の周期の2倍にとり、交流波形2サイクル分のサンプリング波形データについて3本のスペクトルを計算する。交流波形の本来の周波数が50Hzの場合は、25Hz、50Hz、75Hzの3本のスペクトルをDFTの計算式(式19)によって計算すると、次の(式20)に示す計算結果となる。
【0088】
【数30】
ここで、k=1,2,3である。
【0090】
しかし、直流成分や2次高調波成分などが含まれていると、それが(式20)での計算結果に誤差として含まれ、それを分離することはできない。
【0091】
そのような場合には、サンプリング波形データを交流波形の周期の4倍から8倍に渡って収集し、中心周波数の前後の2〜4本、計5〜9本のスペクトルについて(式20)の計算を行えばよい。
【0092】
ただし、そうすると、スペクトルの本数やデータ数が共に2〜4倍になるので、演算に必要な時間は4〜16倍になってしまい、演算速度の低下が避けられない。
【0093】
そのような場合には、係数計算を先に済ませておいて、メモリーに保存しておくことで高速演算を可能にする方法が必要となる。
【0094】
このように、本発明のフーリエ解析による周波数測定方法は、第1ステップで交流電圧波形または交流電流波形を表す被測定信号のサンプリング波形データに窓関数を掛けた後、第2ステップで窓関数を掛けたサンプリング波形データに対してフーリエ変換を行って、第3ステップでそのフーリエ変換により得られた複素周波数成分の絶対値が最大のものを中心とする中心複素周波数成分と、その中心複素周波数成分に隣接する低周波数側および高周波数側にあってかつ上記窓関数の持つ周波数成分の個数と少なくとも同じ個数かまたはそれ以上の個数の隣接する低周波数側および高周波数側の複素周波数成分とを次の(式1)に代入して、上記被測定信号の周波数と減衰発散係数を求める。さらに、第4ステップで被測定信号の周波数F
Xと減衰発散係数F
Yの有効性を次の(式2)によって判定して、(式2)の条件を満たさないなら周波数F
Xと減衰発散係数F
Yの演算結果を無効にすることで、量子化誤差等の影響によって不安定になった計算結果を除外できる。これにより、交流波形の2サイクル〜4サイクル程度で、かつ、交流波形の1サイクルあたり数十サンプルといった比較的低いサンプリング周波数によりサンプリングされたサンプリング波形データからその交流波形の周波数を高速かつ高精度に測定することができる。
【0096】
【数33】
ただし、 V
k :時間幅T[秒]の被測定信号のV(t)をフーリエ変換して得られる
k/T[Hz]の複素周波数成分(ここでk=1,2,…)
V
m :上記複素周波数成分のうち絶対値が最大のもの
n :窓関数に含まれる直流成分を除く周波数成分の個数と同じか、
または、その周波数成分の個数よりも大きい整数
F
X :被測定信号の周波数
F
Y :被測定信号の減衰発散係数
T :被測定信号のサンプリング波形データの演算対象部分の時間幅
V
min:(式1)の演算結果の有効性を判定するための閾値
【0097】
ところで、窓関数を掛けることは、周波数スペクトルを一定の周波数範囲に収め、本発明における周波数の演算式における演算項数を限定するうえで必要なステップであるが、先に窓関数を掛けてその後にフーリエ変換することに限定する必要はなく、先にフーリエ変換を行ってその結果に対して例えば(式4)による演算を行うことでも同様の効果を得ることができる。
【0098】
その根拠について以下に説明する。例えば、角周波数ω
0が、
で表され、サンプリング波形データの時間幅Tを商用周波の周期の4倍にとって窓関数w(t)を掛けた場合、フーリエ係数C'
kは以下の(式21)のようになる。ここで、f(t)は交流波形を表す複素関数、w(t
n)は窓関数、Nはデータ個数である。
【0100】
窓関数w(t
n)としてハニング窓を用いた場合、それを代入すると以下の(式22)のように変形できる。
【0102】
これは、ハニング窓を掛けた場合のFFTの結果のフーリエ係数C’
kと、窓関数を掛けない場合のFFTの結果のフーリエ係数C
kとの間に以下の(式23)の関係があることを示している。
【0104】
同様に、(式3)の窓関数w(t)に対して(式4)が成立する。これらの結果は、必ずしも先に窓関数を掛けてからフーリエ変換する必要がないことを示しており、使用する窓関数をフーリエ変換後に選択することも可能であることや複数の窓関数の効果の違いを調べる場合にその度毎にフーリエ変換し直す必要がないことを示している。また、最初に窓関数を掛ける必要がなければ再帰的DFTが利用でき、1サンプル毎に周波数を算出する必要がある場合は演算速度が飛躍的に改善される。
【0107】
よって、本発明では、窓関数を掛ける順序(フーリエ変換の前または後)を限定しないこととする。
【0108】
<フィルタリング方式について>
一方、本発明者は、上記(式1)が観測値f(t)を用いて例えば(式24)のような形になれば、簡単な論理デバイスでも実現可能と考えて理論式を検討し、各係数を算出して
図3に示すブロック構成で周波数演算機能を実現した。
【0110】
図3の構成は、入力部の二乗演算と出力部の割り算以外は、一般のフィルターなどで良く使用される演算回路であるので、それらのファームウエアがそのまま利用できる。この手法も結局は(式1)を変形したものであり、原理は同じであるが、演算の手順が異なるので周波数変化時の過渡特性は異なっている。
【0111】
上記(式1)を用いるには、サンプリング波形データからDFTやFFTなどの手法で複素周波数成分を求める手順が必要であり、元の波形データには窓関数を掛けることが必要であった。しかし、これでは毎回窓関数を掛けてFFTをする必要が有り、演算時間が掛かってリアルタイム性が悪いので、本発明者は、(式1)を時間関数上に展開したのである。
【0112】
複素フーリエ級数展開の式から(式1)のV
kは、次の(式25)〜(式28)のように表現できる。
【0114】
例えば、60Hz±10Hz程度の商用周波数の波形データをサンプリング周波数1920Hz(32サンプル/サイクル)で8サイクル分サンプリングし、256個のサンプリング波形データからDFTやFFTによって60/8=7.5Hz毎に得られる周波数成分スペクトルのうちの60Hzを中心とする1本と、その前後のそれぞれ3本のスペクトル(計7本のスペクトル)から(式5)で周波数を求めるものとする。
【0115】
この場合、データ個数はN=256、サンプリング波形データの時間幅はT=0.1333…[sec]であり、各スペクトルは7.5Hz、15Hz、22.5Hz、30Hz、37.5Hz、45Hz、52.5Hz、60Hz、67.5Hz、75Hz、82.5Hz、90Hz、…が得られる。このうちの37.5Hz〜82.5Hz(k=5〜11)の周波数成分スペクトルを用いて基本波の周波数を算出する。
【0116】
ところで、次数の異なる高調波の周波数成分の和の実効値の二乗は、各次数の周波数成分の実効値の二乗和に等しいので、(式1)の各周波数成分は以下の(式29)で表現できる。この(式29)の右辺の括弧内は倍角公式を用いて(式30)のように変形できる。
【0118】
よって、(式1)の分子は(式31)で表現できると共に、
【0120】
(式1)の分母は(式32)で表現できることが判る。
【0122】
上記(式31)および(式32)でΣ記号による加算演算の順序を入れ替えている点は重要である。この入れ替えによって、これまで各周波数におけるDFT演算を各波形データに対して行ってその結果を加算していたものが、各周波数におけるDFT演算の係数を先に加算して置いておき、後で波形データに掛け合わせることができるので、毎回時間のかかる演算をする必要がなく、実際のオンライン演算での演算時間を短縮することができる。
【0123】
ここで、(式1)の分子の式の係数をA
nで表し、分母の式の係数をB
nで表すと、(式33)および(式34)が得られる。
【0126】
この(式33)、(式34)の値は前もって計算しておくことのできる値である。実際の計算では、これに更に窓関数W(2πn/N)を掛けて、(式35)や(式36)の値を計算しておく。
【0128】
【数47】
ただし、Wは窓関数であり、例えばハニング窓の場合は(式37)のようになるが、これ以外の窓関数を用いてもよい。
【0130】
求める周波数F
Xと減衰発散係数F
Yは、上記(式35),(式36)の係数を用いて、次の(式38)で算出できる。上記(式35),(式36)は、入力される波形データによって変化する値ではないので、最初に一回係数A
nと係数B
nを計算するだけで済む。その計算された係数A
nと係数B
nをメモリー部に記憶して次の計算で読み出して用いる。なお、上記(式35),(式36)の計算結果を不揮発性メモリーに保存しておいてもよい。
【0131】
【数49】
ただし、 F
X :被測定信号の周波数
F
Y :被測定信号の減衰発散係数
f(t
1)〜f(t
n):被測定信号の観測値(nは2以上の整数)
t
1 〜t
n :被測定信号のサンプリング波形データの時間
【0132】
また、基本波成分の実効値V
Xは、次の(式39)で表現できる。
【0134】
基本波成分が減衰・発散波形であった場合、√2V
Xは、t=T/2における瞬間の波形の振幅を表す。
【0135】
ところで、被測定信号の波形の振幅がA/D変換器の最下位ビット付近の値程度にまで零に近くなった場合は、(式38)の分母も零に近くなり、量子化誤差等の影響によって計算結果が不安定になる。
【0136】
(式38)の演算結果に5桁の精度を求めるなら、分子・分母とも5桁の有効桁数が必要である。そのため、次の(式40)によって分母の値を評価し、一定値以下なら周波数の計算結果を無効と判定することが必要である。
【0137】
【数51】
ただし、 f
min:(式38)の演算結果の有効性を判定するための閾値
【0138】
また、上記(式35),(式36)で考慮されている周波数成分の下限はk1/T、上限はk2/Tであるので、実際に計算可能な周波数の範囲は、
である(ただし、Tは波形の観測時間幅、Mは窓関数の片側の側帯波の個数)。
【0139】
また、被測定信号の波形の周波数が変化している場合は、減衰・発散波形でもないのに(式38)の計算結果で減衰発散係数F
Yの値が零にならないことがある。その場合、周波数の計算結果のF
X値も十分な精度が得られない。したがって、被測定信号の周波数F
Xの値にも、その上限の閾値を設けて、計算結果の妥当性をチェックすることが必要である。すなわち、上記(式40)および次の(式41)を満たさない(式38)の計算結果は無効と判定しなければならない。
【0140】
【数52】
ただし、 F
XMAX:周波数測定限界(上限)閾値
F
XMIN:周波数測定限界(下限)閾値
F
YMAX:減衰発散係数の許容限界閾値
【0141】
以下、この発明のフーリエ解析による周波数測定方法および周波数測定装置を図示の実施の形態により詳細に説明する。窓関数の処理をフーリエ変換の後で実施する手法については、手順が前後するだけなので説明を省略する(この場合、窓関数演算部は窓関数効果演算部となる)。
【0142】
〔第1実施形態〕
図1はこの発明の第1実施形態のフーリエ解析による周波数測定方法を用いた周波数測定装置の要部ブロック図を示している。
【0143】
この第1実施形態の周波数測定装置は、
図1に示すように、被測定信号の一例としての交流電圧または交流電流が入力される入力変換器1と、入力変換器1により変換された電圧信号をA/D変換するA/D変換器2と、A/D変換器2により変換されたサンプリング波形データを記憶するメモリー部3と、メモリー部3に記憶されたサンプリング波形データに対して被測定信号の周波数と減衰発散係数を求める処理装置4と、処理装置4により求められた被測定信号の周波数と減衰発散係数を表示する表示器5を備えている。
【0144】
上記処理装置4は、被測定信号のサンプリング波形データに窓関数を掛ける窓関数演算部4aと、窓関数演算部4aで窓関数を掛けたサンプリング波形データに対してフーリエ変換を行うフーリエ変換部4bと、フーリエ変換部4bで得られた複素周波数成分の絶対値が最大のものを中心とする中心複素周波数成分と、その中心複素周波数成分に隣接する低周波数側および高周波数側にあってかつ上記窓関数の持つ周波数成分の個数と少なくとも同じ個数かまたはそれ以上の個数の隣接する低周波数側および高周波数側の複素周波数成分とを上記(式1)に代入して、上記被測定信号の周波数と減衰発散係数を求める周波数演算部4cと、周波数演算部4cで得られた上記被測定信号の周波数と減衰発散係数の有効性を上記(式2)によって判定する判定部4dとを有する。
【0145】
上記周波数測定装置は、A/D変換器付マイクロコンピュータボードを使用し、そのマイクロコンピュータでソフトウェアを実行することにより演算部を実現している。また、マイクロコンピュータボードにメモリー部3を実装しており、表示器5に用いられたディスプレー端末に演算結果を表示している。
【0146】
この構成は実施形態の一例であり、これらが一筐体に収められていても良く、また有線や無線による通信回線を経由して遠隔地で演算結果を表示しても良い。
【0147】
なお、本発明は、主に商用周波電源の周波数を時々刻々観測することを目的としているが、指数関数的な減衰波形または発散波形でその減衰係数や発散係数を求めることもできる。
【0148】
図4は上記周波数測定装置により測定された周波数の変化の検出例を示している。正弦波の周期が短くなっているところでは、周波数の検出結果が高くなっている。
図4において、横軸は時間[sec]を表し、縦軸は周波数[Hz]を表している。また、測定された周波数は、3スペクトルで算出したものを実線でプロットし、7スペクトルで算出したものを破線でプロットしている。
【0149】
また、
図5は
図4に示す周波数変化の要部の拡大図である。
図5において、横軸は時間[sec]を表し、縦軸は周波数[Hz]を表している。また、測定された周波数は、3スペクトルで算出したものを実線でプロットし、7スペクトルで算出したものを破線でプロットしている。この
図5の縦の補助線が20msec間隔であり、周波数が50Hzの交流波形の1サイクルに相当する。
図5に示す周波数算出結果のプロットは、3スペクトル方式の場合は各点の前後の1サイクルデータから算出し、7スペクトル方式の場合は各点の前後の3サイクルデータから算出している。
【0150】
〔第2実施形態〕
図2はこの発明の第2実施形態のフーリエ解析による周波数測定方法を用いた周波数測定装置の要部ブロック図を示している。この第2実施形態の周波数測定装置は、フィルタリング方式の周波数測定を行う処理装置を除いて第1実施形態の周波数測定装置と同一の構成をしており、同一構成部には同一参照番号を付している。
【0151】
この第2実施形態の周波数測定装置は、
図2に示すように、被測定信号の一例としての交流電圧または交流電流が入力される入力変換器1と、入力変換器1により変換された電圧信号をA/D変換するA/D変換器2と、A/D変換器2により変換されたサンプリング波形データを記憶するメモリー部3と、メモリー部3に記憶されたサンプリング波形データに対して被測定信号の周波数と減衰発散係数を求める処理装置14と、処理装置14により求められた被測定信号の周波数と減衰発散係数を表示する表示器5を備えている。
【0152】
上記処理装置14は、被測定信号のサンプリング波形データを(式38)に代入して、被測定信号の周波数と減衰発散係数を求める周波数演算部14aと、周波数演算部14aで得られた被測定信号の周波数と減衰発散係数の有効性を(式40),(式41)によって判定する判定部14bとを有する。
【0153】
図3は周波数測定装置の周波数演算部14aの構成を示している。
【0154】
この周波数演算部14aは、
図3に示すように、サンプリング波形データを表す関数f(k)が入力される乗算器30と、1サイクル分遅延させるn−1個の遅延器31と、n個の乗算器32と、n−1個の加算器33と、n個の乗算器34と、n−1個の加算器35と、除算器36とを有する。上記n個の乗算器32は、入力側から順に関数f(n)〜f(1)に係数A
n,A
n-1,A
n-2,A
n-3,…,A
1を掛ける。また、上記n個の乗算器34は、入力側から順に関数f(n)〜f(1)に係数B
n,B
n-1,B
n-2,B
n-3,…,B
1を掛ける。
【0155】
上記周波数演算部14aにおいて、入力されたサンプリング波形データを表す関数f(k)が乗算器30によりf(k)×f(k)が演算してf(k)
2を出力して、f(k)
2がn−1個の遅延器31により順次遅延される。これにより、f(k)
2がk=1〜nまで揃うと、最終的に除算器36の出力に基本波成分の周波数出力F[Hz]が出力される。このとき、n−1個の加算器35のうちの最終段の加算器35から基本波成分の実効値の二乗値に比例した実効値
2出力が出力される。
【0156】
以降、次のサンプリング波形データであるf(k)が周波数演算部14aに入力される毎に(式38)の演算が行われることになる。
【0157】
図6は上記第1実施形態の周波数測定装置と第2実施形態の周波数測定装置の周波数測定結果の比較例を示しており、詳しくは、第1実施形態の(式1)による演算結果(破線のグラフ)と第2実施形態の(式38)による演算結果(実線のグラフ)とを比較したものである。1回の周波数演算には共に商用周波数の8サイクル分にあたる256個のサンプリング波形データを用いている。
【0158】
一般に周波数分解能を上げるにはサンプリング波形データの時間幅を長くする必要があるが、データの時間幅を長くすれば周波数の変化に対する追従性能が悪くなる。しかしながら、この発明のフーリエ解析による周波数測定方法および周波数測定装置は、データの時間幅を長くしても追従性が低下しないことが判明した。
【0159】
この発明のフーリエ解析による周波数測定方法によれば、交流波形の1サイクルについて32サンプル程度の荒いサンプリング周波数でも、6桁程度の精度で周波数が算出できる。特許文献1の特許第2505707号においては演算式の証明がされておらず、定性的にその特徴を利用しているだけであったが、本発明においては、(式1)の正当性を完全に証明している。
【0160】
さらに、(式1)の正当性の証明に合わせて、フィルタリング方式への理論展開を行っている。このフィルタリング方式は、演算部の計算式が簡単で高速演算が可能な上、ソフトウェアの検証も簡単である。
【0161】
上記第1実施形態のフィルタリング方式の演算は、オフラインで事前に実施可能な係数の演算とリアルタイムで使用する周波数演算式とに分かれており、個別にデバッグできるので、FFT演算プログラムを組み込みソフトウェアに実装する場合のような難解さを回避できる。周波数演算式の部分のみ毎回演算が必要であるが、フィルターの計算などでよく用いられるブロック図に即した演算ができれば良く、また、係数は事前にメモリー部内に置いておくことができる。掛け算の回数で評価するならNポイントのデータに対して4N回の掛け算で済むので、従前の特許文献1の(式5)の方式で毎回FFT演算の後に周波数演算するより、遥かに高速に周波数を算出できる。さらに、(式5)の方式と同程度の精度でかつそれより追従性が良い。
【0162】
この追従性は、(式35)、(式36)において、k2を幾らにするかによって決まる。k2の値を大きくすれば追従性は良くなる。近接する2次高調波成分が含まれている場合、その影響による演算誤差が増えるが、データの時間幅を長くすることで周波数分解能を向上させられるので、近接する二次高調波成分による影響を回避できる。また、このフィルタリング方式の周波数測定方法では、演算するデータの時間幅を長くしても、演算結果の周波数の変化に対する追従性能は、殆ど低下しないことが判明し、精度、追従性共に優れた演算手法と言える。
【0164】
上記第1,第2実施形態では、入力変換器1とA/D変換器2とメモリー部3と処理装置4,14と表示器5を備えた周波数測定装置について説明したが、周波数測定装置はこれに限らず、入力変換器とA/D変換器とメモリー部や表示器を有しない周波数測定装置でもよく、その場合、所定のサンプリング波形データが直接入力されて、被測定信号の周波数F
Xと減衰発散係数F
Yを求めると共にその有効性を判定する。
【0165】
この発明の具体的な実施の形態について説明したが、この発明は上記第1,第2実施形態に限定されるものではなく、この発明の範囲内で種々変更して実施することができる。
【0166】
また、この発明の周波数測定方法は、
交流電圧波形または交流電流波形を表す被測定信号のサンプリング波形データを(式38)に代入して周波数演算部により演算することによって、上記被測定信号の周波数と減衰発散係数を求める第1ステップと、
上記第1ステップで得られた上記被測定信号の周波数と減衰発散係数の有効性を(式40),(式41)によって判定部により判定する第2ステップと
を有することを特徴とする。
【0171】
【数57】
ただし、 F
X :被測定信号の周波数
F
Y :被測定信号の減衰発散係数
f(t
1)〜f(t
n):被測定信号の観測値(nは2以上の整数)
t
1 〜t
n :被測定信号のサンプリング波形データの時間
T :被測定信号のサンプリング波形データの時間幅
f
min:(式38)の演算結果の有効性を判定するための閾値
F
XMAX:周波数測定限界(上限)
F
XMIN:周波数測定限界(下限)
F
YMAX:減衰発散係数の許容限界
W(t):窓関数
N :データ個数
【0172】
また、この発明の周波数測定装置は、
交流電圧波形または交流電流波形を表す被測定信号のサンプリング波形データを(式38)に代入して演算することによって、上記被測定信号の周波数と減衰発散係数を求める周波数演算部と、
上記周波数演算部で得られた上記被測定信号の周波数と減衰発散係数の有効性を(式40),(式41)によって判定する判定部と
を有することを特徴とする。
【0177】
【数62】
ただし、 F
X :被測定信号の周波数
F
Y :被測定信号の減衰発散係数
f(t
1)〜f(t
n):被測定信号の観測値(nは2以上の整数)
t
1 〜t
n :被測定信号のサンプリング波形データの時間
T :被測定信号のサンプリング波形データの時間幅
f
min:(式38)の演算結果の有効性を判定するための閾値
F
XMAX:周波数測定限界(上限)
F
XMIN:周波数測定限界(下限)
F
YMAX:減衰発散係数の許容限界
W(t):窓関数
N :データ個数