(58)【調査した分野】(Int.Cl.,DB名)
係数の乗算処理が含まれるフィードバック演算処理部を有する2次のIIRディジタルフィルタからなり、中心周波数より大きい周波数領域では負、前記中心周波数より小さい周波数領域では正、前記中心周波数では零になる位相特性を有し、前記係数を変化させることにより前記中心周波数が変化する帯域通過フィルタと、
前記帯域通過フィルタに入力される入力信号から当該入力信号と同一の位相を有する同相信号と前記入力信号と直交する位相を有する矩位相信号を生成する第1の信号生成手段と、
前記帯域通過フィルタから出力される出力信号から当該出力信号と同一の位相を有する同相信号と前記出力信号と直交する位相を有する矩位相信号を生成する第2の信号生成手段と、
前記第1の信号生成手段で生成される2つの信号と前記第2の信号生成手段で生成される2つの信号を用いて前記入力信号と前記出力信号との位相差を示す情報を生成する位相差情報生成手段と、
前記位相差を示す情報に基づいて、前記位相差が零のときには前記係数を維持し、前記位相差が正のときには前記係数を減少させ、前記位相差が負のときには前記係数を増大させる制御値を算出し、その制御値を前記帯域通過フィルタの前記係数に設定する係数制御手段と、を備え、
前記係数は、前記帯域通過フィルタの中心周波数の三角関数を含み、
前記係数制御手段は、
前記位相差を示す情報に対して所定の積分演算を行う積分演算手段と、
前記積分演算手段で算出される積分演算値を前記帯域通過フィルタの中心周波数として前記係数を演算し、その演算値を前記制御値として前記帯域通過フィルタの前記係数に設定する係数演算手段と、
を含む、ことを特徴とする、信号検出装置。
係数の乗算処理が含まれるフィードバック演算処理部を有する2次のIIRディジタルフィルタからなり、中心周波数より大きい周波数領域では負、前記中心周波数より小さい周波数領域では正、前記中心周波数では零になる位相特性を有し、前記係数を変化させることにより前記中心周波数が変化する帯域通過フィルタと、
前記帯域通過フィルタに入力される入力信号から当該入力信号と同一の位相を有する同相信号と前記入力信号と直交する位相を有する矩位相信号を生成する第1の信号生成手段と、
前記帯域通過フィルタから出力される出力信号から当該出力信号と同一の位相を有する同相信号と前記出力信号と直交する位相を有する矩位相信号を生成する第2の信号生成手段と、
前記第1の信号生成手段で生成される2つの信号と前記第2の信号生成手段で生成される2つの信号を用いて前記入力信号と前記出力信号との位相差を示す情報を生成する位相差情報生成手段と、
前記位相差を示す情報に基づいて、前記位相差が零のときには前記係数を維持し、前記位相差が正のときには前記係数を減少させ、前記位相差が負のときには前記係数を増大させる制御値を算出し、その制御値を前記帯域通過フィルタの前記係数に設定する係数制御手段と、を備え、
前記係数は、前記帯域通過フィルタの中心周波数の三角関数を含み、
前記係数制御手段は、
前記位相差を示す情報に対して所定の積分演算を行う積分演算手段と、
所定の周波数変化範囲を量子化した周波数毎に予め算出された複数の前記係数を記憶する係数記憶手段と、
前記積分演算手段の積分演算値を前記量子化された周波数に変換する周波数変換手段と、
前記係数記憶手段から前記周波数変換手段で変換された周波数に対応する係数を読み出し、前記制御値として前記帯域通過フィルタの前記係数に設定する係数設定手段と、
を含む、ことを特徴とする、信号検出装置。
【発明を実施するための形態】
【0020】
本発明の実施の形態を、添付図面を参照して具体的に説明する。
【0021】
本発明に係る信号検出装置は、周波数が未知である交流信号(正弦波信号)、若しくは周波数が時間的に変化する交流信号を検出するのに好適な装置である。このような交流信号の検出を要する技術分野としては、例えば、エッチングやCVD(Chemical Vapor Deposition)を用いて半導体基板や液晶基板の加工を行うプラズマ処理装置に高周波電力を供給する高周波電力供給システムや電力系統に連系して電力を供給する分散型電源などの分野がある。
【0022】
高周波電力供給システムでは、基板加工によって負荷インピーダンスが大きく変動するため、基板加工中の負荷に入力される交流電圧又は交流電流の基本周波数や高調波周波数を検出し、その検出値を高周波電源やインピーダンス整合器にフィードバックして当該高周波電力供給システムの出力制御や事故防止制御が行われる。また、分散型電源では、電力系統の電圧又は電流の基本周波数や高調波周波数を検出し、その検出値を分散型電源にフィードバックして当該分散型電源に内蔵されているインバータの出力信号の位相を電力系統の交流信号の位相に一致させる制御が行われる。
【0023】
図1は、本発明に係る信号検出装置の第1実施形態のブロック構成を示す図である。
図2は、
図1に示す信号検出装置1に含まれる帯域通過フィルタ2の周波数特性を示す図である。
図3は、
図1に示す信号検出装置1の各処理ブロックに含まれる構成要素を示す図である。
【0024】
信号検出装置1は、フィードバック演算処理部とフィードフォワード演算処理部を有するIIR(Infinite Impulse Response)ディジタルフィルタで構成される帯域通過フィルタ(バンドパスフィルタ)2を備える。信号検出装置1は、帯域通過フィルタ2の伝達関数H(z)(下記の(1)式参照)の係数a
1を変化させることによって周波数が未知若しくは周波数が時間的に変化する入力信号(正弦波信号)を検出する構成に特徴を有する。
【0025】
信号検出装置1は、ディジタル演算処理により帯域通過フィルタ2の入力信号S
inの位相θ
in(=2πf
in・t)(f
inは入力信号S
inの周波数。以下、「入力周波数」という。)と出力信号S
outの位相(θ
in−ψ)(ψは入力信号S
inと出力信号S
outの位相のずれ分)の位相差ψを示す情報を算出し、その算出値が「0」となるように帯域通過フィルタ2の伝達関数H(z)の係数a
1を変化させる制御をする。この制御をすることにより、信号検出装置1は、帯域通過フィルタ2の中心周波数f
cを入力周波数f
inに合わせて帯域通過フィルタ2から正確に入力信号S
inと同一の位相を有する信号を出力する。
【0026】
信号検出装置1は、入力信号S
inと出力信号S
outの位相差ψを示す情報を算出する処理を行うための処理ブロックとして、第1直交化器3、第2直交化器4及び位相差算出器5を備える。第1直交化器3は、入力信号S
inから当該入力信号S
inに対して同位相と矩位相(入力信号S
inに対して90°遅れた位相)の互いに直交する2つの信号を生成する。第2直交化器4は、出力信号S
outから当該出力信号S
outに対して同位相と矩位相の互いに直交する2つの信号を生成する。以下の説明では、第1直交化器3で生成される同位相の信号を「第1同相信号」と称し、第2直交化器4で生成される同位相の信号を「第2同相信号」と称する。また、第1直交化器3で生成される矩位相の信号を「第1矩相信号」と称し、第2直交化器4で生成される矩位相の信号を「第2矩相信号」と称する。
【0027】
位相差算出器5は、第1直交化器3で生成される第1同相信号及び第1矩相信号と第2直交化器4で生成される第2同相信号及び第2矩相信号を用いて入力信号S
inと出力信号S
outの位相差を示す情報(以下、この情報を「位相差情報」という。)を算出する。
【0028】
信号検出装置1は、位相差算出器5で算出される位相差情報を用いて帯域通過フィルタ2の伝達関数H(z)の係数a
1に設定すべき値を算出し、帯域通過フィルタ2内の当該係数a
1に設定する処理ブロックとして積分器6を備える。
【0029】
信号検出装置1は、CPU(Central Processing Unit)、ROM(Read Only Memory)及びRAM(Random Access Memory)を含むマイクロコンピュータによって構成される。信号検出装置1は、そのマイクロコンピュータが予め設定されたプログラムを実行することによって帯域通過フィルタ2、第1直交化器3、第2直交化器4、位相差算出器5及び積分器6の各機能ブロックの演算処理を行う。なお、信号検出装置1をFPGA(Field Programmable Gate Array)で実現することも可能である。
【0030】
帯域通過フィルタ2は、下記(1)式で示される離散システムの伝達関数H(z)を有する2次のIIRディジタルフィルタで構成されている。
【0032】
(1)式に示す伝達関数H(z)の振幅特性M(f)と位相特性θ(f)は下記(2),(3)式で表わされる。
【0034】
上記(2),(3)式から,帯域通過フィルタ2の中心周波数が「f
c」であることが分かる.従って,係数a
1を変化させることによって帯域通過フィルタ2の中心周波数f
cが変化する。
【0035】
帯域通過フィルタ2は、
図2に示す周波数特性を有している。同図に示す周波数特性は、周波数fをサンプリング周波数f
sで正規化した正規化周波数f
n(=f/f
s)が「0.2」となる周波数に帯域通過フィルタ2の中心周波数f
c=0.2×f
sを設定し、パラメータrを「0.96」として計算した例を示している。なお、特性Aが振幅特性であり、特性Bが位相特性である。
【0036】
図2に示すように、帯域通過フィルタ2は、正規化周波数f
nが「0.2」のときに「0」となり、f
n>0.2の領域で負の値、f
n<0.2の領域で正の値となる位相特性を有している。すなわち、入力周波数f
inが帯域通過フィルタ2の中心周波数f
cと同一のとき、帯域通過フィルタ2の出力信号S
outは入力信号S
inと同位相になり、f
in>f
cの領域では遅れ位相(正の位相)となり、f
in<f
cの領域では進み位相(負の位相)となる位相特性を有している。
【0037】
従って、帯域通過フィルタ2の入力信号S
inの位相θ
in(=2πf
in・t)と出力信号S
outの位相θ
out(=2πf
in・t−ψ)との位相差ψ(=θ
in−θ
out)の状態が分かれば、入力信号S
inの入力周波数f
inに対する帯域通過フィルタ2の中心周波数f
cの相対的な位置関係が分かる。入力周波数f
inと中心周波数f
cの相対的な位置関係が分かれば、位相差ψの状態に応じて帯域通過フィルタ2の伝達関数H(z)の係数a
1を変化させることにより、帯域通過フィルタ2の中心周波数f
cを入力信号S
inの入力周波数f
inに合わせることができる。すなわち、位相差ψが「0」であれば、係数a
1を維持する、ψ>0(遅れ位相)であれば、係数a
1を小さくする、ψ<0(進み位相)であれば、係数a
1を大きくする、という制御をすることによって、帯域通過フィルタ2の中心周波数f
cを入力信号S
inの入力周波数f
inに合わせることができる。
【0038】
本実施形態では、ψの正負の符号とsin(ψ)の正負の符号は一致するから、位相差ψを示す情報としてM・sin(ψ)(Mは、0<Mの定数)を算出し、その算出値を用いて当該算出値の正負の符号に応じた係数a
1の変化値を設定する。第1直交化器3、第2直交化器4及び位相差算出器5はM・sin(ψ)で表わされる位相差情報を算出し、積分器6はその位相差情報に基づいて係数a
1を変化させる制御値を算出する。
【0039】
従って、本実施形態では、上記(1)式に示す伝達関数H(z)の係数a
1は、
図3の変数a
1[k](kは離散時間を表すインデックス番号)となっている。変数a
1[k]は、帯域通過フィルタ2に入力信号S
inをサンプリング周期T
s(=1/f
s)でサンプリングした離散値x[k](ディジタルデータ。以下、「入力データx[k]」という。)が入力される毎に積分器6から帯域通過フィルタ2に設定される。
【0040】
帯域通過フィルタ2における演算処理は、
図3に示すように、加算器2a,2b、乗算器2c,2d及び遅延素子2e,2fによって構成されるフィードバック演算処理のパートと、遅延素子2e、乗算器2g,2i,2h及び加算器2jによって構成されるフィードフォワード演算処理のパートとで構成される。フィードバック演算処理のパートは上記(1)式の分母の演算処理を行なう部分であり、フィードフォワード演算処理のパートは上記(1)式の分子の演算処理を行なう部分である。
【0041】
図3において、帯域通過フィルタ2から出力される離散値(ディジタルデータ。以下、「出力データ」という。)をy[k]、w点のデータをw[k]、ある時点でのa
1[k]をa
1とすると、
w[k]=x[k]+a
1・w[k-1]−r
2・w[k-2]
y[k]=(1−r
2)・w[k]+(1−r)・a
1・w[k-1]
である。両式のz変換の式は、
W(z)=X(z)+a
1・z
-1・W(z)−r
2・z
-2・W(z)
Y(z)=(1−r
2)・W(z)+(r−1)・a
1・z
-1・W(z)
であるから、
X(z)=(1−a
1・z
-1+r
2・z
-2)・W(z)
Y(z)={(1−r
2)+(r−1)・a
1・z
-1}・W(z)
より、
H(z)=Y(z)/X(z)
={(1-r
2)+(r-1)・a
1・z
-1}/(1-a
1・z
-1+r
2・z
-2)…(4)
となる。(4)式と(1)式を対比すると、b
0=(1−r
2)、b
1=(r−1)・a
1、a
2=−r
2であるから、
図3は、(1)式に示す伝達関数H(z)の演算処理を示している。
【0042】
従って、帯域通過フィルタ2では、入力データx[k]が入力される毎に上記(1)式が演算され、その演算値が出力データy[k]として出力される。
【0043】
第1直交化器3と第2直交化器4は、
図3に示すように、伝達関数H
r(z)=z
-1の演算処理と伝達関数H
i(z)=z
-2−1の演算処理を行う部分を有し、各演算処理部分から演算結果を出力する1入力2出力型の演算器である。伝達関数H
r(z)=z
-1の演算処理部分(第1直交化器3では遅延素子3aの部分、第2直交化器4では遅延素子4aの部分)は、入力信号と同位相の信号を出力する部分である。伝達関数H
i(z)=z
-2−1の演算処理部分(第1直交化器3では遅延素子3a,3b及び加算器3cの部分、第2直交化器4では遅延素子4a,4b及び加算器4cの部分)は、入力信号と矩位相の信号を出力する部分である。
【0044】
伝達関数H
r(z)に入力されるデータがv[k]=V・cos(ω・k)(ω=2π・f)で表わされる正弦波であるとすると、伝達関数H
r(z)から出力されるデータu
r[k]は、
u
r[k]=v[k-1]=V・cos{ω・(k−1)} …(5)
であるから、伝達関数H
r(z)の演算処理部分からは入力から1サンプル遅延した信号と同位相の信号が出力される。
【0045】
一方、伝達関数H
i(z)から出力されるデータu
i[k]はu
i[k]=v[k-2]−v[k]=V・[cos{ω・(k−2)}−cos(ω・k)]である。cos(α)−cos(β)=2sin{(α+β)/2}・sin{(α−β)/2}よりcos{ω・(k−2)}−cos(ω・k)=2sin(ω)・sin{ω・(k−1)}であるから、伝達関数H
i(z)から出力されるデータu
i[k]は、
u
i[k]=2V・sin(ω)・sin{ω・(k−1)} …(6)
となる。従って、伝達関数H
i(z)の演算処理部分からは入力から1サンプル遅延した信号と矩位相の信号が出力される。
【0046】
帯域通過フィルタ2に入力される入力データx[k]と帯域通過フィルタ2から出力される出力データy[k]が、
x[k]=A
1・cos(2π・f
n・k)=A
1・cos(ω
n・k)
y[k]=A
2・cos(ω
n・k−ψ)
f
n=f
in/f
s
ω
n=2π・f
n
A
1,A
2:振幅(A
1,A
2>0,)
で表わされるとすると、上記(5),(6)式より、第1直交化器3の遅延素子3aからx
r[k]=x[k-1]=A
1・cos{ω
n・(k−1)}のデータ(第1同相信号のデータ)が出力され、加算器3cからx
i[k]=x[k-2]−x[k]=2A
1・sin(ω
n)・sin{ω
n・(k−1)}のデータ(第1矩相信号のデータ)が出力される。また、第2直交化器4の遅延素子4aからy
r[k]=y[k-1]=A
2・cos{ω
n・(k−1)−ψ}のデータ(第2同相信号のデータ)が出力され、加算器4cからy
i[k]=y[k-2]−y[k]=2A
2・sin(ω
n)・sin{ω
n・(k−1)−ψ}のデータ(第2矩相信号のデータ)が出力される。
【0047】
位相差算出器5は、
図3に示すように、e[k]=y
r[k]・x
i[k]−x
r[k]・y
i[k]を演算する演算器である。乗算器5aはx
r[k]・y
i[k]の演算を行い、乗算器5bはy
r[k]・x
i[k]の演算を行い、加算器5cは、乗算器5bの乗算結果から乗算器5aの乗算結果を減算する。
【0048】
乗算器5a,5bの演算値は、
y
r[k]・x
i[k]=A
2・cos[ω
n・(k-1)-ψ]・2A
1・sin(ω
n)・sin[ω
n・(k-1)]
=2A
1・A
2・sin(ω
n)・cos[ω
n・(k-1)-ψ]・sin[ω
n・(k-1)}
x
r[k]・y
i[k]=A
1・cos[ω
n・(k-1)]・2A
2・sin(ω
n)・sin[ω
n・(k-1)-ψ]
=2A
1・A
2・sin(ω
n)・cos[ω
n・(k-1)]・sin[ω
n・(k-1)-ψ]
である。2A
1・A
2・sin(ω
n)=M(定数)とすると、
y
r[k]・x
i[k]=M・cos[ω
n・(k-1)-ψ]・sin[ω
n・(k-1)}
x
r[k]・y
i[k]=M・cos[ω
n・(k-1)]・sin[ω
n・(k-1)-ψ]
であるから、位相差算出器5の演算結果e[k]は、
e[k]=M・[cos[ω
n・(k-1)-ψ]・sin[ω
n・(k-1)]-cos[ω
n・(k-1)]・sin[ω
n・(k-1)-ψ]]
となる。そして、cos(α)・sin(β)-cos(β)・sin(α)=sin(β-α)より、
e[k]=M・sin[ω
n・(k-1)-ω
n・(k-1)+ψ]
=M・sin(ψ) …(7)
となる。
【0049】
振幅A
1,A
2は、0<A
1、0<A
2であり、0<f
n<0.5より0<ω
n<πであるから、0<Mである。従って、位相差算出器5は、帯域通過フィルタ2に入力データx[k]が入力される毎に、上述した位相差ψを示す情報であるM・sin(ψ)を演算する。この演算値は符号を反転して積分器6に入力される。
【0050】
本実施形態では、第1直交化器3で帯域通過フィルタ2の入力信号S
inと同相の第1同相信号及び入力信号S
inと矩位相の第1矩相信号を算出し、第2直交化器4で帯域通過フィルタ2の出力信号S
outと同相の第2同相信号及び出力信号S
outと矩位相の第2矩相信号を算出する。そして、第1矩相信号x
i[k]と第2同相信号y
r[k]の乗算値から第1同相信号x
r[k]と第2矩相信号y
i[k]の乗算値を減算することによって得られるM・sin(ψ)で表わされる値を入力信号S
inと出力信号S
outの位相差ψを示す情報としている。このため、M・sin(ψ)を算出する位相差算出器5は、2つの乗算器5a,5bと1つの加算器5cだけで構成することができる。
【0051】
正弦波信号同士の位相を比較する方法として、例えば、(a)両信号を乗算して低域通過フィルタに通す、(b)両信号の乗算値の最大値と最小値の平均を取る、(c)両信号のゼロクロス点の時間差を計測する、などの方法が知られている。(a)の方法は、乗算器以外に低域通過フィルタが必要になる、低域通過フィルタによって応答が遅れるなどの不利がある。(b)の方法は、精度が良くない、応答が遅れるなどの不利がある。(c)の方法は、精度が良くないなどの不利がある。これらの方法に対し、本実施形態に係る位相差算出器5は2つの乗算器5a,5bと1つの加算器5cだけで構成されるので、応答遅れがなく、良好な精度で位相差に関する情報が得られるという利点がある。
【0052】
積分器6は、位相差算出器5から符号を反転して入力される−e[k]=−M・sin(ψ)のデータを積分し、所定のゲインK
iを乗じて帯域通過フィルタ2の係数a
1の更新値a
1[k]を算出する演算器である。
図3において、加算器6a及び遅延素子6bは周知の積分演算を行う処理部であり、乗算器6cはその積分値にゲインK
iを乗じる処理部である。
【0053】
上述したように、M・sin(ψ)=0であれば、帯域通過フィルタ2の中心周波数f
cは入力周波数f
inと同一の状態であり、M・sin(ψ)>0であれば、帯域通過フィルタ2の中心周波数f
cは入力周波数f
inより小さい状態であり、M・sin(ψ)<0であれば、帯域通過フィルタ2の中心周波数f
cは入力周波数f
inより大きい状態である。M・sin(ψ)>0であれば、帯域通過フィルタ2の係数a
1に対して、係数a
1の現在値よりも大きい値をフィードバックすれば、帯域通過フィルタ2の係数a
1に含まれるθ
c=2π(f
c/f
s)をθ
in=2π(f
in/f
s)に収束させることができる。逆に、M・sin(ψ)<0であれば、帯域通過フィルタ2の係数a
1の現在値よりも小さい値をフィードバックすれば、帯域通過フィルタ2の係数a
1に含まれるθ
c=2π(f
c/f
s)をθ
inに収束させることができる。
【0054】
M・sin(ψ)の値は、帯域通過フィルタ2の中心周波数f
cと入力周波数f
inとのずれ分を表しているから、M・sin(ψ)の符号を逆にして積分制御を行う制御値を算出すれば、その算出値を帯域通過フィルタ2の伝達関数H(z)の係数a
1へのフィードバック制御値とすることができる。従って、積分器6は、位相差算出器5から入力される−e[k]を積分した後、ゲインK
iを乗ずることによって制御値a
1[k]を算出し、その算出値a
1[k]を帯域通過フィルタ2の伝達関数H(z)の係数a
1に設定している。なお、制御値a
1[k]はa
1[k]=2r・cos(θ
c[k])、θ
c[k]=2π(f
c[k]/f
s)(f
c[k]は時点kでの帯域通過フィルタ2の中心周波数)である。
【0055】
次に、本発明に係る信号検出装置1の作用について説明する。
【0056】
信号検出装置1では、帯域通過フィルタ2に入力データx[k]=A
1・cos(ω
n・k)が入力されると、帯域通過フィルタ2から出力データy[k]=A
2・cos(ω
n・k−ψ)が出力される。第1直交化器3、第2直交化器4及び位相差算出器5により入力信号S
inと
出力信号S
outの位相差ψを示すデータe[k]=M・sin(ψ)=2A
1・A
2・sin(ω
n)・sin(ψ)が算出される。積分器6でこのデータe[k]を用いて帯域通過フィルタ2の伝達関数H(z)の係数a
1を更新する制御値a
1[k]が算出される。この制御値a
1[k]は、帯域通過フィルタ2の係数a
1に設定され、次の入力データx[k+1]に対する出力データy[k+1]の演算処理では、上記(1)
式に示す帯域通過フィルタ2の伝達関数H(z)の特性が変化する。以下、入力データx[k](k=2,3,…)が入力される毎に、帯域通過フィルタ2の伝達関数H(z)の係数a
1が制御値a
1[k]=2r・cos{2π(f
c[k]/f
s)}(k=2,3,…)に変更されて出力データy[k](k=2,3,…)の演算処理が行われる。
【0057】
帯域通過フィルタ2の伝達関数H(z)の係数a
1は、入力データx[k]が入力される毎にa
1[k]=2r・cos{2π(f
c[k]/f
s)}に更新されるが、この制御値a
1[k]は、位相差ψが「0」に近付くように変化する。そして、位相差ψが「0」になると、a
1[k]=2r・cos{2π(f
in/f
s)}に維持されるので、帯域通過フィルタ2の伝達関数H(z)の係数a
1は2r・cos{2π(f
in/f
s)}に収束する。これにより、帯域通過フィルタ2の中心周波数f
cは、入力信号S
inの入力周波数f
inに変更され、帯域通過フィルタ2からは入力信号S
inと同一の位相の出力信号S
outが出力される。
【0058】
従って、本実施形態に係る信号検出装置1によれば、PLLのように信号発生器を必要とせず、周波数が未知の入力信号S
inや周波数が時間的に変化する入力信号S
inを正確に検出することができる。
【0059】
次に、本発明に係る信号検出装置の第2実施形態について説明する。
【0060】
図4は、本発明に係る信号検出装置の第2実施形態のブロック構成を示す図である。
図5は、
図4に示す信号検出装置1’の各処理ブロックに含まれる構成要素を示す図である。
【0061】
第1実施形態は、位相差算出値5の算出値e[k]を用いて帯域通過フィルタ2の係数a
1の制御値a
1[k]を生成していたが、第2実施形態は、位相差算出値5の算出値e[k]を用いて帯域通過フィルタ2の中心周波数f
cの制御値f[k]を生成し、更にその制御値f[k]を用いて帯域通過フィルタ2の係数a
1の制御値a
1[k]を生成するものである。
【0062】
第1実施形態では,第1直交化器3、第2直交化器4及び位相差算出器5で算出したe[k]=M・sin(ψ)をもとに、ψがψ<0、ψ>0、ψ=0のいずれであるかを判定し、その判定結果に応じてe[k]から係数a
1を増減させる制御値a
1[k]を演算していた。すなわち、M・sin(ψ)>0であれば、係数a
1を減少させ、M・sin(ψ)<0であれば、係数a
1を増大させるために、積分器6でe[k]=M・sin(ψ)の符号を反転して積分演算とゲインK
iの乗算を行って制御値a
1[k]を生成していた。
【0063】
第2実施形態は、係数a
1=2r・cos{2π(f
c/f
s)}の中心周波数f
cを制御対象の変数f
xとし、第1直交化器3、第2直交化器4及び位相差算出器5で算出したe[k]を係数a
1=2r・cos{2π(f
x/f
s)}の周波数f
xを増減させる制御値として利用する。第2実施形態は、e[k]から生成した制御値f[k]によって係数a
1内の周波数f
xを増減させることによって係数a
1の値を増減させ、位相差ψが0となる係数a
1に収束させる。
【0064】
第2実施形態は、第1実施形態に対し、位相差算出器5の算出値e[k]=M・sin(ψ)から積分値を算出し、その積分値を係数a
1=2r・cos{2π(f
x/f
s)}の「f
x」に代入して係数a
1の制御値a
1[k]を演算する処理ブロックを有する点が異なる。
【0065】
図4,
図5に示す第2実施形態に係る信号検出装置1’は、
図1,
図3に示す第1実施形態に係る信号検出装置1に対して積分器6と帯域通過フィルタ2との間に、積分器6の演算結果s[k]を係数a
1=2r・cos{2π(f
x/f
s)}の周波数f
xに代入して係数a
1の制御値a
1[k]を演算する係数演算器7を追加した点が異なる。
【0066】
第2実施形態では、M・sin(ψ)>0のときは、係数a
1を減少させるために周波数f
xを減少し、M・sin(ψ)<0のときは、係数a
1を増大させるために周波数f
xを増大する必要があるので、積分器6では、位相差算出値5の算出値e[k]の符号を反転することなく積分演算とゲインK
iの乗算を行うようにしている。具体的には、位相差算出値5の算出値e[k]は符号を反転させることなく加算器6aに入力されている。
【0067】
図5に示す信号検出装置1’では、第1直交化器3、第2直交化器4及び位相差算出器5で、
図3に示す信号検出装置1と同様にe[k]=M・sin(ψ)が算出される。そして、積分器6でe[k]の積分演算を行った後、ゲインK
iを乗じて制御値f[k]が算出され、更に係数演算器7でその制御値f[k]を用いて制御値a
1[k]=2r・cos{2π(f[k]/f
s)}が算出され、その制御値a
1[k]が帯域通過フィルタ2のフィードバック演算処理部の係数a
1に設定される。
【0068】
第2実施形態でも第1実施形態と同様に、帯域通過フィルタ2の伝達関数H(z)の係数a
1が、入力データx[k]が入力される毎に位相差ψが「0」に近付くように変化し、位相差ψが「0」になると、そのときの係数a
1に維持される。従って、第2実施形態でも帯域通過フィルタ2の中心周波数f
cが入力信号S
inの入力周波数f
inに変更され、帯域通過フィルタ2から入力信号S
inと同一の位相の出力信号S
outを出力することができる。
【0069】
第2実施形態も第1実施形態と同様にPLLのように信号発生器を必要とせず、周波数が未知の入力信号S
inや周波数が時間的に変化する入力信号S
inを正確に抽出することができる。また、第2実施形態では、帯域通過フィルタ2の伝達関数H(z)の係数a
1に含まれる中心周波数f
cを示す周波数fを直接制御して係数a
1を位相差ψ=0の値に収束させるので、入力信号S
inの周波数の情報も取得することができる利点がある。
【0070】
次に、本発明に係る信号検出装置の第3実施形態について説明する。
【0071】
上述した第1実施形態は、位相差算出値5の算出値e[k]の符号を反転して積分器6で積分演算をした値を帯域通過フィルタ2の係数a
1の制御値a
1[k]として、帯域通過フィルタ2の係数a
1に直接設定する構成である。一方、上述した第2実施形態は、位相差算出値5の算出値e[k]を積分器6で積分演算をした値を帯域通過フィルタ2の中心周波数f
cの制御値f[k]とし、その制御値f[k]を用いて係数演算器7で係数a
1の制御値a
1[k]を演算した後、その制御値a
1[k]を帯域通過フィルタ2の係数a
1に設定する構成である。
【0072】
第1,第2実施形態では、帯域通過フィルタ2の中心周波数f
cが入力信号S
inの周波数f
inに収束した後、帯域通過フィルタ2の係数a
1[k]から入力信号S
inの周波数f
inを求めるためには、
f
in=(f
s/2π)・cos
-1[a
1[k]/(2r)] …(8)
の演算をする必要がある。第2実施形態では、積分器6の積分演算値を帯域通過フィルタ2の中心周波数f
cとしているので、
f
in=2r・cos[2π・f
c[k]/(f
s)] …(9)
の演算でも入力信号の周波数f
inを求ることができる。
【0073】
帯域通過フィルタ2の係数a
1[k]は、中心周波数f
cを変数とした三角関数で表わされる係数であるのに対し、第1,第2実施形態は、位相差算出器5の算出値e[k]に応じて帯域通過フィルタ2の係数a
1[k]を変化させる考え方である。このため、第1,第2実施形態で入力信号S
inの周波数f
inを求めようとすると、上記のように、逆三角関数若しくは三角関数の演算処理回路が必要になる。位相検出装置1,1’に逆三角関数若しくは三角関数の演算処理回路を設けると、帯域通過フィルタ2の最大動作周波数が低下するという問題が生じる。更に逆三角関数若しくは三角関数の演算処理回路を、FPGA等の論理回路で構成する場合は、回路規模が大きくなるという問題があり、CPUによる演算回路で構成する場合は、CPUに実行させるプログラム規模が大きくなるという問題がある。
【0074】
第3実施形態は、逆三角関数若しくは三角関数の演算処理回路を設けることなく、入力信号S
inの周波数f
inを求めることができる構成としたものである。第1,2実施形態は、
図6の点線で示すように、帯域通過フィルタ2の中心周波数f
cを位相差算出器5の算出値e[k]に応じた任意の周波数に変化させて入力信号S
inの周波数f
inに収束させるという考え方である。これに対し、第3実施形態は、同図の実線で示すように、帯域通過フィルタ2の中心周波数f
cを変化させる範囲を予め設定し、その中心周波数変化範囲f
cmin〜f
cmaxにおける周波数の変化値をN個の離散値f
cj=f
cmin+j・(f
cmax−f
cmin)/N(jは、中心周波数変化範囲内の分割範囲の番号。)とし、帯域通過フィルタ2の中心周波数f
cを位相差算出器5の算出値e[k]に応じた周波数の離散値f
cjで変化させて入力信号の周波数f
inに収束させるという考え方である。
【0075】
図6の例では、f
d=(f
c/f
s)=0.05〜0.35を中心周波数変化範囲f
cmin〜f
cmaxとしている。f
c=60Hz、f
s=300Hzとすると、f
cmin=15Hz、f
cmax=105Hzである。
図6では、作図の関係で分割数Nを「9」としているが、実際の分割数Nは、検出精度(周波数分解能)を考慮した適切な値に設定される。例えば、周波数分解能を1Hzとすると、分割数Nは「90」となる。
【0076】
第3実施形態では、周波数f
cjに対応するN個の係数a
1jが予めメモリに記憶されており、積分器6の積分演算値をN個の周波数f
cjのいずれかに量子化し、量子化した周波数f
cjに対応する係数a
1jをメモリから読み出して帯域通過フィルタ2の係数a
1に設定する構成となっている。
【0077】
図7は、本発明に係る信号検出装置の第3実施形態のブロック構成を示す図である。
【0078】
図7は、
図4に示す信号検出装置1’に対して、係数演算器7を量子化器8、アドレス変換器9及び係数演算器7’に変更した点が異なる。係数演算器7’は、上述した周波数f
cjに対応するN個の係数a
1jを記憶するメモリ7aを有する。係数a
1j(j=0,1,2,…N−1)は、
a
1j=2r・cos[2π(f
cj/f
s)] …(10)
f
cj=f
cmin+j・(f
cmax−f
cmin)/N
の演算式によって予め算出されている。
【0079】
係数演算器7’は、アドレス変換器9からアドレスAD
jが入力される毎に、メモリ7aからアドレスAD
jに格納されている係数a
1jを読み出し、帯域通過フィルタ2の係数a
1に設定する。
【0080】
量子化器8は、積分器6から出力される積分制御値(位相差算出器5の出力e[k]=M・sin(ψ)を積分した後、ゲインK
iを乗じた値)をN個の周波数f
cjのいずれかに量子化する。積分器6から出力される積分制御値をE[k]とし、周波数分解能をB=(f
cmax−f
cmin)/Nとすると、量子化器8は、
f
cj[k]=B・[round[E[k]/B]] …(11)
j=round[E[k]/B]−2
の演算処理を行うことにより、積分制御値E[k]の量子化値f
cj[k]を算出する。なお、(11)式において、round(x)は、引数xを四捨五入して指定桁数に丸めるROUND関数である。
【0081】
図6の例では、B=(f
cmax−f
cmin)/N=90/9=10Hzであるから、例えば、E[k]=42の場合、round[E[k]/B]=4、j=2となるから、量子化器8からはf
c2[k]=40Hzの量子化値が算出される。
【0082】
アドレス変換器9は、量子化器8で算出された量子化値f
cj[k]をメモリ7aにおける当該量子化値f
cj[k]に対応する係数a
1jが格納されたアドレスAD
jに変換する。アドレス変換器9で変換されたアドレスAD
jは係数算出器7’に入力される。
【0083】
第3実施形態に係る信号検出装置1”では、帯域通過フィルタ2に入力データx[k]=A
1・cos(ω
n・k)が入力される毎に、位相差算出器5が入力信号S
inと
出力信号S
outの位相差ψを示すデータe[k]=M・sin(ψ)=2A
1・A
2・sin(ω
n)・sin(ψ)を算出し、積分器6がこのデータe[k]を積分した後、ゲインKiを乗じて帯域通過フィルタ2の中心周波数の制御値f
c'を算出する。更に量子化器8がその中心周波数の制御値f
c'を予め設定された周波数f
cjに量子化し、アドレス変換器9が量子化された周波数f
cjをアドレスAD
jに変換して係数演算器7'に入力する。そして、係数変換器7'がメモリ7aの
アドレスADjに格納されている係数a
1jを読み出し、次の入力データx[k+1]に対する係数a
1[k+1]として帯域通過フィルタ2の係数a
1に設定する。
【0084】
従って、次の入力データx[k+1]に対する出力データy[k+1]の演算処理では、上記(1)に示す帯域通過フィルタ2の伝達関数H(z)の特性が変化する。以下、入力データx[k](k=2,3,…)が入力される毎に、帯域通過フィルタ2の係数a
1が制御値a
1[k](k=2,3,…)に変更されて出力データy[k](k=2,3,…)の演算処理が行われる。
【0085】
帯域通過フィルタ2の係数a
1は、入力データx[k]が入力される毎に、予め設定された係数a
1[k]が位相差ψを「0」に近付けるようにステップ状に変化する。そして、帯域通過フィルタ2の中心周波数f
cjが入力周波数f
inと同一の分割範囲に収束すると、帯域通過フィルタ2の係数a
1はその中心周波数f
cjに対応する係数a
1jに維持される。従って、帯域通過フィルタ2からは入力信号S
inとの位相差がほぼ「0」の出力信号S
outが出力される。
【0086】
第3実施形態では、帯域通過フィルタ2の中心周波数f
cが収束したときの周波数f
inが積分器6の出力を量子化した周波数f
cjによって得られるので、第1,2実施形態のように逆三角関数若しくは三角関数の演算をすることなく、積分器6の出力から入力信号の周波数f
inを得ることができる。
【0087】
第3実施形態は、帯域通過フィルタ2の中心周波数f
cjを入力周波数f
inと同一の分割範囲に収束させるので、収束した中心周波数f
cjと入力周波数f
inとの間に周波数の誤差Δfが生じる。この誤差Δfは、中心周波数変化範囲の分割数Nを大きくすれば、すなわち、周波数分解能Bを小さくすれば、低減でき、入力周波数
inの検出精度を高めることができる。しかし、周波数分解能Bを小さくすると、それに応じてメモリ7aに記憶する係数a
1jが増加するので、メモリ7aの容量が増大するという問題が生じる。
【0088】
この問題に対しては、
図8に示すように、量子化器8の出力にローパスフィルタ10を設けることによって解消することができる。量子化器6に設定する周波数分解能B2を所望の検出精度を得るための周波数分解能B1のM倍にしたい場合、ローパスフィルタ10としてM個のデータの移動平均を演算するローパスフィルタを設けるとよい。
【0089】
例えば、所望の検出精度を得るための周波数分解能B1を0.09(分割数N=1000)とすると、中心周波数f
cの収束値が入力周波数f
inに一致しない場合は、帯域通過フィルタ2の中心周波数f
cは入力周波数f
inを挟んで0.09Hzのピッチで振動する状態となる。一方、周波数分解能B2を0.9(分割数N=100)にすると、帯域通過フィルタ2の中心周波数f
cは入力周波数f
inを挟んで0.9Hzのピッチで振動する状態となる。すなわち、分割数Nが「100」の場合は、量子化器8から出力される中心周波数f
cj[k]の収束状態における振動幅は、分割数Nが「1000」の場合に比べてほぼ10倍となり、検出精度はほぼ1/10に低下する。
【0090】
これに対し、量子化器8の後段に10個のデータの移動平均を演算するローパスフィルタ10を設けると、量子化器8から出力される中心周波数f
cj[k]の列がローパスフィルタ10により10個単位で平均化されるので、中心周波数f
cj[k]の振動幅が抑制される。例えば、量子化器8から出力される中心周波数f
cj[k]が入力周波数f
inを挟んで上下に交互に振動する場合、10個単位の平均値は、ほぼ「0」になると考えられるので、振動幅はローパスフィルタ10がない場合よりも1桁は小さくなると考えられる。
【0091】
従って、所望の検出精度を得るための分割数Nを1/Mに低減し、量子化器8の後段にM個のデータの移動平均を演算するローパスフィルタ10を設ければ、周波数の検出精度を低下させることなくメモリ7aに格納すべき係数a
1jの数を低減でき、メモリ7aのメモリ容量を低減するができる。
【0092】
なお、第1乃至第3実施形態では、信号検出装置1,1’,1”に入力信号S
inとしてディジタルデータx[k]が入力されるものとして説明したが、信号検出装置1,1’,1”が適用される高周波電力供給システムや分散型電源では、負荷の電圧信号や電力系統の電圧信号をアナログ信号で検出し、その検出信号を信号検出装置1,1’,1”に入力する構成であるので、帯域通過フィルタ2の入力段にアナログ信号をディジタル信号に変換するA/D変換器を設ける必要がある。
【0093】
また、電力系統の電圧信号を検出する場合、その検出信号には基本周波数f
p(日本では50Hz若しくは60Hz)以外に高調波成分が含まれている場合があり、基本周波数f
pの電圧信号を検出するために帯域通過フィルタ2の中心周波数f
cを基本周波数f
pに収束させる制御をする場合には高調波成分が悪影響を与える。n次高調波成分の電圧信号を検出するために帯域通過フィルタ2の中心周波数f
cをn次高調波(n×f
p)に収束させる制御をする場合は、n次高調波成分の以外の高調波成分と基本周波数成分が悪影響を与える。
【0094】
また、高周波電力供給システムでも基本周波数以外に高調波成分が含まれている場合があり、上記と同様の問題がある。更に、高周波電力供給システムでは、周波数の異なる複数の高周波電力を同時に負荷に供給する場合があり、この場合は、上記の問題に加えて、一方の高周波電圧を検出するために帯域通過フィルタ2の中心周波数f
cをその高周波電圧の周波数に収束させる制御を行うと、他方の高周波電圧の周波数と高調波成分がその制御に悪影響を与える場合が生じる。
【0095】
周波数が未知である交流信号や周波数が時間的に変化する交流信号を検出する場合、一般にセンサで検出した交流信号には目的とする周波数の信号以外に高調波成分や他の周波数の信号が含まれる。それらの信号が帯域通過フィルタ2の中心周波数f
cを目的とする周波数に収束させる制御に悪影響を与えることを防止するために、
図9〜
図11に示す構成にするとよい。
【0096】
図9〜
図11に示す構成は、帯域通過フィルタ2と同一の伝達関数H(z)を有する1又は2以上の帯域通過フィルタ2’を当該帯域通過フィルタ2の前段に縦列接続し、積分器6又は係数演算器7,7’から出力される係数a
1[k]を帯域通過フィルタ2’の係数a
1にもフィードバックするようにしたものである。