(57)【特許請求の範囲】
【請求項１】
外部から出力された実数であるシフト量ｍを入力して、前記シフト量ｍの整数部分の整数ａ及び前記シフト量ｍの小数部分の実数ｂを算出する整数小数分離部と、
前記整数小数分離部から出力された整数ａを入力し、該入力した整数ａに１を加算することにより整数ａ＋１を出力する整数加算部と、
前記整数小数分離部から出力された実数ｂを入力し、該入力した実数ｂを１から減算することにより実数１−ｂを出力する小数減算部と、
外部から出力されたｉ番目の離散信号を示す離散信号ｓ[ｉ]と前記整数加算部から出力された整数ａ＋１とを入力し、該入力した整数ａ＋１に基づいて該入力した離散信号ｓ[ｉ]をａ＋１サンプル分だけシフトすることにより、シフト済み離散信号ｓa+1[ｉ]を生成して出力する第１のシフト部と、
外部から出力された前記離散信号ｓ[ｉ]と前記整数小数分離部から出力された整数ａとを入力し、該入力した整数ａに基づいて該入力した離散信号ｓ[ｉ]をａサンプル分だけシフトすることにより、シフト済み離散信号ｓa[ｉ]を生成して出力する第２のシフト部と、
前記第１のシフト部から出力された前記シフト済み離散信号ｓa+1[ｉ]と前記整数小数分離部から出力された実数ｂとを入力し、前記シフト済み離散信号ｓa+1[ｉ]のサンプル位置ｉの信号強度ｓa+1[ｉ]に、該入力した実数ｂに基づいて生成された単調増加関数からなる係数Ｃｆ(ｂ)を乗算することにより、重み付け離散信号Ｃｆ(ｂ)ｓa+1[ｉ]を出力する第１の係数乗算部と、
前記第２のシフト部から出力されたシフト済み離散信号ｓa[ｉ]と前記小数減算部から出力された実数１−ｂを入力し、前記シフト済み離散信号ｓa[ｉ]のサンプル位置ｉの信号強度ｓa[ｉ]に、該入力した実数１−ｂに基づいて生成された単調増加関数からなる係数Ｃｆ(１−ｂ)を乗算することにより、重み付け離散信号Ｃｆ(１−ｂ)ｓa[ｉ]を出力する第２の係数乗算部と、
前記第１の係数乗算部から出力された重み付け離散信号Ｃｆ(ｂ)ｓa+1[ｉ]と前記第２の係数乗算部から出力された重み付け離散信号Ｃｆ(１−ｂ)ｓa[ｉ]とを入力して、該入力した重み付け離散信号Ｃｆ(ｂ)ｓa+1[ｉ]と該入力した重み付け離散信号Ｃｆ(１−ｂ)ｓa[ｉ]とを同一サンプル位置ｉ毎に加算することにより、合成信号Ｃｆ(１−ｂ)ｓa[ｉ]＋Ｃｆ(ｂ)ｓa+1[ｉ]を出力する合成部と
を備えることを特徴とする一次元信号シフト装置。
【請求項２】
前記第１のシフト部は、離散信号ｓ[ｉ]の値を格納するためのａ＋１個以上のバッファを備える第１のシフトレジスタを備え、前記第２のシフト部は、離散信号ｓ[ｉ]の値を格納するためのａ個以上のバッファを備える第２のシフトレジスタを備え、
前記第１のシフトレジスタは、前記入力した離散信号の値を左端のバッファｂaから格納し、離散信号が前記左端のバッファｂaへと入力されるタイミングで順次右側のバッファｂa-1、ｂa-2、…、ｂ0へと降順に前記入力した離散信号の値を格納し、前記入力した整数ａ＋１個分だけ離散信号を格納した時点から、前記左端のバッファｂaに格納した離散信号の値を出力して、離散信号が前記左端のバッファｂaへと入力されるタイミングで順次右側のバッファｂa-1、ｂa-2、…、ｂ0に格納された離散値を出力し、
前記第２のシフトレジスタは、前記入力した離散信号の値を左端のバッファｂa-1から格納し、前記入力した離散信号の値が前記左端のバッファｂa-1へと入力されるタイミングで順次右側のバッファｂa-2、ｂa-3、…、ｂ0へと降順に前記入力した離散信号の値を格納し、前記入力した整数ａ個分だけ離散信号を格納した時点から、前記左端のバッファｂa-1に格納した離散信号の値を出力して、離散信号が前記左端のバッファｂa-1へと入力されるタイミングで順次右側のバッファｂa-2、ｂa-3、…、ｂ0に格納された離散値を出力することを特徴とする請求項１に記載の一次元信号シフト装置。
【請求項３】
前記第１のシフト部及び前記第２のシフト部は、離散信号ｓ[ｉ]のデータの数であるＮ個のバッファｂ0、ｂ1、…、ｂN-2、ｂN-1を含むメモリを備え、前記バッファの各々は、それぞれ、アドレス０からアドレスＮ−１が付され、該アドレス０からアドレスＮ−１が付されたバッファｂ0、…、ｂN-1の各々は、それぞれ、離散信号ｓ[０]、…、ｓ[Ｎ−１]の値を格納し、
前記第１のシフト部の前記メモリは、前記入力した整数ａ＋１を用いて、アドレスａからアドレスＮ−１までのバッファｂa、…、ｂN-1に格納された離散信号の値ｓ[ａ]、…、ｓ[Ｎ−１]を読み出して順次出力し、前記第２のシフト部の前記メモリは、前記入力した整数ａを用いて、アドレスａからアドレスＮ−１までのバッファｂa-1、…、ｂN-1に格納された離散信号の値ｓ[ａ−１]、…、ｓ[Ｎ−１]を読み出して順次出力するか、又は
前記第１のシフト部の前記メモリは、前記入力した整数ａ＋１を用いて、離散信号ｓ[ａ]、ｓ[ａ＋１]、…、ｓ[Ｎ−１]、ｓ[０]、ｓ[１]、…、ｓ[ａ−１]となる順番で離散信号を読み出して出力し、前記第２のシフト部の前記メモリは、前記入力した整数ａを用いて、離散信号ｓ[ａ−１]、ｓ[ａ]、…、ｓ[Ｎ−１]、ｓ[０]、ｓ[１]、…、ｓ[ａ−２]となる順番で離散信号を読み出して出力することを特徴とする請求項１に記載の一次元信号シフト装置。
【請求項４】
前記第１のシフト部は、第１の離散フーリエ変換部と、第１のシフト量換算部と、第１の周波数毎乗算部と、第１の離散フーリエ逆変換部とを備え、前記第２のシフト部は、第２の離散フーリエ変換部と、第２のシフト量換算部と、第２の周波数毎乗算部と、第２の離散フーリエ逆変換部とを備え、
前記第１の離散フーリエ変換部及び前記第２の離散フーリエ変換部は、離散信号ｓ[ｉ]を入力し、入力した離散信号ｓ[ｉ]を周波数情報ｆ毎に離散フーリエ変換して、離散フーリエ変換信号Ｓ[ｆ]を出力し、
前記第１のシフト量換算部は、前記入力した整数ａ＋１に基づいて、周波数情報ｆ毎にシフト換算量ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)を出力し、
前記第２のシフト量換算部は、前記入力した整数ａに基づいて、周波数情報ｆ毎にシフト換算量ｅｘｐ(−ｊ・２πｆａ／Ｎ)を出力し、
前記第１の周波数毎乗算部は、前記第１の離散フーリエ変換部から出力された離散フーリエ変換信号Ｓ[ｆ]と前記第１のシフト量換算部から出力されたシフト換算量ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)を入力して、該入力した離散フーリエ変換信号Ｓ[ｆ]と該入力したシフト換算量ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)とを周波数情報ｆ毎に乗算することにより、シフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)を出力し、
前記第２の周波数毎乗算部は、前記第２の離散フーリエ変換部から出力された離散フーリエ変換信号Ｓ[ｆ]と前記第２のシフト量換算部から出力されたシフト換算量ｅｘｐ(−ｊ・２πｆａ／Ｎ)を入力して、該入力した離散フーリエ変換信号Ｓ[ｆ]と該入力したシフト換算量ｅｘｐ(−ｊ・２πｆａ／Ｎ)とを周波数情報ｆ毎に乗算することにより、シフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆａ／Ｎ)を出力し、
前記第１の離散フーリエ逆変換部は、前記第１の周波数毎乗算部から出力されたシフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)を周波数情報ｆ毎に入力し、周波数情報ｆ毎に入力した全てのシフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)を離散フーリエ逆変換することにより、シフト済み離散信号ｓa+1[ｉ]を出力し、
前記第２の離散フーリエ逆変換部は、前記第２の周波数毎乗算部から出力されたシフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆａ／Ｎ)を周波数情報ｆ毎に入力し、周波数情報ｆ毎に入力した全てのシフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆａ／Ｎ)を離散フーリエ逆変換することにより、シフト済み離散信号ｓa[ｉ]を出力することを特徴とする請求項１に記載の一次元信号シフト装置。
【請求項５】
前記係数Ｃｆ(ｂ)＝ｂであり、前記係数Ｃｆ(１−ｂ)＝１−ｂであることを特徴とする請求項１から４のいずれかに記載の一次元信号シフト装置。
【請求項６】
整数小数分離部が、外部から出力された実数であるシフト量ｍを入力して、前記シフト量ｍの整数部分の整数ａ及び前記シフト量ｍの小数部分の実数ｂを算出するステップと、
整数加算部が、前記整数小数分離部から出力された整数ａを入力し、該入力した整数ａに１を加算することにより整数ａ＋１を出力するステップと、
小数減算部が、前記整数小数分離部から出力された実数ｂを入力し、該入力した実数ｂを１から減算することにより実数１−ｂを出力するステップと、
第１のシフト部が、外部から出力されたｉ番目の離散信号を示す離散信号ｓ[ｉ]と前記整数加算部から出力された整数ａ＋１とを入力し、該入力した整数ａ＋１に基づいて該入力した離散信号ｓ[ｉ]をａ＋１サンプル分だけシフトすることにより、シフト済み離散信号ｓa+1[ｉ]を生成して出力するステップと、
第２のシフト部が、外部から出力された前記離散信号ｓ[ｉ]と前記整数小数分離部から出力された整数ａとを入力し、該入力した整数ａに基づいて該入力した離散信号ｓ[ｉ]をａサンプル分だけシフトすることにより、シフト済み離散信号ｓa[ｉ]を生成して出力するステップと、
第１の係数乗算部が、前記第１のシフト部から出力された前記シフト済み離散信号ｓa+1[ｉ]と前記整数小数分離部から出力された実数ｂとを入力し、前記シフト済み離散信号ｓa+1[ｉ]のサンプル位置ｉの信号強度ｓa+1[ｉ]に、該入力した実数ｂに基づいて生成された単調増加関数からなる係数Ｃｆ(ｂ)を乗算することにより、重み付け離散信号Ｃｆ(ｂ)ｓa+1[ｉ]を出力するステップと、
第２の係数乗算部が、前記第２のシフト部から出力されたシフト済み離散信号ｓa[ｉ]と前記小数減算部から出力された実数１−ｂを入力し、前記シフト済み離散信号ｓa[ｉ]のサンプル位置ｉの信号強度ｓa[ｉ]に、該入力した実数１−ｂに基づいて生成された単調増加関数からなる係数Ｃｆ(１−ｂ)を乗算することにより、重み付け離散信号Ｃｆ(１−ｂ)ｓa[ｉ]を出力するステップと、
合成部が、前記第１の係数乗算部から出力された重み付け離散信号Ｃｆ(ｂ)ｓa+1[ｉ]と前記第２の係数乗算部から出力された重み付け離散信号Ｃｆ(１−ｂ)ｓa[ｉ]とを入力して、該入力した重み付け離散信号Ｃｆ(ｂ)ｓa+1[ｉ]と該入力した重み付け離散信号Ｃｆ(１−ｂ)ｓa[ｉ]とを同一サンプル位置ｉ毎に加算することにより、合成信号Ｃｆ(１−ｂ)ｓa[ｉ]＋Ｃｆ(ｂ)ｓa+1[ｉ]を出力するステップと
を備えることを特徴とする方法。
【請求項７】
前記第１のシフト部は、離散信号ｓ[ｉ]の値を格納するためのａ＋１個以上のバッファを備える第１のシフトレジスタを備え、前記第２のシフト部は、離散信号ｓ[ｉ]の値を格納するためのａ個以上のバッファを備える第２のシフトレジスタを備え、
前記シフト済み離散信号ｓa+1[ｉ]を出力するステップは、
前記第１のシフトレジスタが、前記入力した離散信号の値を左端のバッファｂaから格納し、離散信号が前記左端のバッファｂaへと入力されるタイミングで順次右側のバッファｂa-1、ｂa-2、…、ｂ0へと降順に前記入力した離散信号の値を格納し、前記入力した整数ａ＋１個分だけ離散信号を格納した時点から、前記左端のバッファｂaに格納した離散信号の値を出力して、離散信号が前記左端のバッファｂaへと入力されるタイミングで順次右側のバッファｂa-1、ｂa-2、…、ｂ0に格納された離散値を出力するステップを含み、
前記シフト済み離散信号ｓa[ｉ]を出力するステップは、
前記第２のシフトレジスタが、前記入力した離散信号の値を左端のバッファｂa-1から格納し、前記入力した離散信号の値が前記左端のバッファｂa-1へと入力されるタイミングで順次右側のバッファｂa-2、ｂa-3、…、ｂ0へと降順に前記入力した離散信号の値を格納し、前記入力した整数ａ個分だけ離散信号を格納した時点から、前記左端のバッファｂa-1に格納した離散信号の値を出力して、離散信号が前記左端のバッファｂa-1へと入力されるタイミングで順次右側のバッファｂa-2、ｂa-3、…、ｂ0に格納された離散値を出力するステップを含むことを特徴とする請求項６に記載の方法。
【請求項８】
前記第１のシフト部及び前記第２のシフト部は、離散信号ｓ[ｉ]のデータの数であるＮ個のバッファｂ0、ｂ1、…、ｂN-2、ｂN-1を含むメモリを備え、前記バッファの各々は、それぞれ、アドレス０からアドレスＮ−１が付され、該アドレス０からアドレスＮ−１が付されたバッファｂ0、…、ｂN-1の各々は、それぞれ、離散信号ｓ[０]、…、ｓ[Ｎ−１]の値を格納し、
前記シフト済み離散信号ｓa+1[ｉ]を出力するステップは、前記第１のシフト部の前記メモリが、前記入力した整数ａ＋１を用いて、アドレスａからアドレスＮ−１までのバッファｂa、…、ｂN-1に格納された離散信号の値ｓ[ａ]、…、ｓ[Ｎ−１]を読み出して順次出力するステップを含み、前記シフト済み離散信号ｓa[ｉ]を出力するステップは、前記第２のシフト部の前記メモリが、前記入力した整数ａを用いて、アドレスａからアドレスＮ−１までのバッファｂa-1、…、ｂN-1に格納された離散信号の値ｓ[ａ−１]、…、ｓ[Ｎ−１]を読み出して順次出力するステップを含むか、又は
前記シフト済み離散信号ｓa+1[ｉ]を出力するステップは、前記第１のシフト部の前記メモリが、前記入力した整数ａ＋１を用いて、離散信号ｓ[ａ]、ｓ[ａ＋１]、…、ｓ[Ｎ−１]、ｓ[０]、ｓ[１]、…、ｓ[ａ−１]となる順番で離散信号を読み出して出力するステップを含み、前記シフト済み離散信号ｓa[ｉ]を出力するステップは、前記第２のシフト部の前記メモリが、前記入力した整数ａを用いて、離散信号ｓ[ａ−１]、ｓ[ａ]、…、ｓ[Ｎ−１]、ｓ[０]、ｓ[１]、…、ｓ[ａ−２]となる順番で離散信号を読み出して出力するステップを含むことを特徴とする請求項６に記載の方法。
【請求項９】
前記第１のシフト部は、第１の離散フーリエ変換部と、第１のシフト量換算部と、第１の周波数毎乗算部と、第１の離散フーリエ逆変換部とを備え、前記第２のシフト部は、第２の離散フーリエ変換部と、第２のシフト量換算部と、第２の周波数毎乗算部と、第２の離散フーリエ逆変換部とを備え、
前記シフト済み離散信号ｓa+1[ｉ]を出力するステップは、
前記第１の離散フーリエ変換部が、離散信号ｓ[ｉ]を入力し、入力した離散信号ｓ[ｉ]を周波数情報ｆ毎に離散フーリエ変換して、離散フーリエ変換信号Ｓ[ｆ]を出力ステップと、
前記第１のシフト量換算部が、前記入力した整数ａ＋１に基づいて、周波数情報ｆ毎にシフト換算量ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)を出力ステップと、
前記第１の周波数毎乗算部が、前記第１の離散フーリエ変換部から出力された離散フーリエ変換信号Ｓ[ｆ]と前記第１のシフト量換算部から出力されたシフト換算量ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)を入力して、該入力した離散フーリエ変換信号Ｓ[ｆ]と該入力したシフト換算量ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)とを周波数情報ｆ毎に乗算することにより、シフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)を出力するステップと、
前記第１の離散フーリエ逆変換部が、前記第１の周波数毎乗算部から出力されたシフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)を周波数情報ｆ毎に入力し、周波数情報ｆ毎に入力した全てのシフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)を離散フーリエ逆変換することにより、シフト済み離散信号ｓa+1[ｉ]を出力するステップとを含み、
前記シフト済み離散信号ｓa[ｉ]を出力するステップは、
前記第２の離散フーリエ変換部が、離散信号ｓ[ｉ]を入力し、入力した離散信号ｓ[ｉ]を周波数情報ｆ毎に離散フーリエ変換して、離散フーリエ変換信号Ｓ[ｆ]を出力するステップと、
前記第２のシフト量換算部が、前記入力した整数ａに基づいて、周波数情報ｆ毎にシフト換算量ｅｘｐ(−ｊ・２πｆａ／Ｎ)を出力するステップと、
前記第２の周波数毎乗算部が、前記第２の離散フーリエ変換部から出力された離散フーリエ変換信号Ｓ[ｆ]と前記第２のシフト量換算部から出力されたシフト換算量ｅｘｐ(−ｊ・２πｆａ／Ｎ)を入力して、該入力した離散フーリエ変換信号Ｓ[ｆ]と該入力したシフト換算量ｅｘｐ(−ｊ・２πｆａ／Ｎ)とを周波数情報ｆ毎に乗算することにより、シフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆａ／Ｎ)を出力するステップと、
前記第２の離散フーリエ逆変換部が、前記第２の周波数毎乗算部から出力されたシフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆａ／Ｎ)を周波数情報ｆ毎に入力し、周波数情報ｆ毎に入力した全てのシフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆａ／Ｎ)を離散フーリエ逆変換することにより、シフト済み離散信号ｓa[ｉ]を出力するステップと
を含むことを特徴とする請求項６に記載の方法。
【請求項１０】
前記係数Ｃｆ(ｂ)＝ｂであり、前記係数Ｃｆ(１−ｂ)＝１−ｂであることを特徴とする請求項６から９のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連続的な信号をサンプリングすることによって得られた離散信号をシフト（移動）する装置及び方法に関する。
【背景技術】
【０００２】
図７は、典型的な電力測定装置の構成を示す。図７には、電圧Ａ／Ｄ変換部７０１と、電流Ａ／Ｄ変換部７０２と、信号シフト装置７０３と、積和演算部７０４と、電力量表示部７０５とを備えた電力測定装置７００が示されている。
【０００３】
電圧Ａ／Ｄ変換部７０１は、アナログ電圧信号Ｖａを入力し、入力したアナログ電圧信号Ｖａをサンプリングおよび量子化して、ディジタル電圧信号Ｖｄを出力する。電流Ａ／Ｄ変換部７０２は、アナログ電流信号Ｉａを入力し、入力したアナログ電流信号Ｉａをサンプリングおよび量子化して、ディジタル電流信号Ｉｄを出力する。信号シフト装置７０３は、ディジタル電圧信号Ｖｄとディジタル電流信号Ｉｄとの位相のずれを調整するために、ディジタル電流信号Ｉｄとシフト量ｍとを入力し、ディジタル電流信号Ｉｄをシフト量ｍだけ時間的にシフトして、シフト済みディジタル電流信号Ｉｄ’を出力する。積和演算部７０４は、ディジタル電圧信号Ｖｄとシフト済みディジタル電流信号Ｉｄ’を入力し、ディジタル電圧信号Ｖｄとシフト済みディジタル電流信号Ｉｄ’とを積和演算して電力値Ｐを算出し、算出した電力値Ｐを出力する。電力量表示部７０５は、積和演算部７０４から出力された電力値Ｐを入力し、入力した電力値Ｐを表示する。積和演算部７０４は、下記の（式１）に従ってディジタル電圧信号Ｖｄとシフト済みディジタル電流信号Ｉｄ’とを積和演算して電力値Ｐを算出する。
【０００４】
【数１】
0005784986.tif 000002
【０００５】
ただし、Ｖｄ[ｉ]及びＩｄ’[ｉ]は、それぞれ、ｉ番目のディジタル電圧信号Ｖｄ及びｉ番目のシフト済みディジタル電流信号Ｉｄ’を示す。このように、典型的な電力測定装置において、正確に電力量を測定するためには、サンプリング毎のディジタル電圧信号Ｖｄとディジタル電流信号Ｉｄとの間の位相のずれを小さくする必要がある。
【０００６】
従来の信号シフト装置としては、シフトレジスタ等を用いて離散信号をサンプリング周期の整数倍でシフトするものがあった。例えば、特許文献１によると、サンプリングされた電流値をサンプリング周期の整数倍（特許文献１の図２では１倍）だけシフトする構成が記載されている。また、特許文献２によると、シフト量は離散値であり、Ａ／Ｄ変調器でサンプリングした周期の整数倍だけシフトする構成が記載されている（特許文献２においては、分解能は角度で示されているが、この分解能はＡ／Ｄ変換器のサンプリング周期を角度に換算したものであり、結局、シフト量はサンプリング周期の整数倍となる）。また、非特許文献１には、離散フーリエ変換を用いて、サンプリング周期の整数倍だけ離散信号をシフトする構成が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第２８１３５０８号公報
【特許文献２】特開２０００−２０６１６１号公報
【非特許文献】
【０００８】
【非特許文献１】E. Oran Bringham著、宮川洋、今井秀樹訳、「高速フーリエ変換」、科学技術出版社、p. 138、1979.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来の信号シフト装置は、離散信号をサンプリング周期の整数倍だけシフトするものであり、サンプリング周期の実数倍のシフトを実行することができなかった。従って、ディジタル電圧信号Ｖｄとディジタル電流信号Ｉｄとの間の実際の位相差がサンプリング周期の整数倍ではない場合に、当該位相差を正確に補正することができなかった。本発明は、このような従来の構成が有していた問題を解決するものであり、離散信号をサンプリング周期の実数倍シフトすることを実現することを目的とするものである。
【課題を解決するための手段】
【００１０】
上述のような問題を解決するために、本発明の請求項１に係る一次元信号シフト装置は、外部から出力された実数であるシフト量ｍを入力して、前記シフト量ｍの整数部分の整数ａ及び前記シフト量ｍの小数部分の実数ｂを算出する整数小数分離部と、前記整数小数分離部から出力された整数ａを入力し、該入力した整数ａに１を加算することにより整数ａ＋１を出力する整数加算部と、前記整数小数分離部から出力された実数ｂを入力し、該入力した実数ｂを１から減算することにより実数１−ｂを出力する小数減算部と、外部から出力されたｉ番目の離散信号を示す離散信号ｓ[ｉ]と前記整数加算部から出力された整数ａ＋１とを入力し、該入力した整数ａ＋１に基づいて該入力した離散信号ｓ[ｉ]をａ＋１サンプル分だけシフトすることにより、シフト済み離散信号ｓa+1[ｉ]を生成して出力する第１のシフト部と、外部から出力された前記離散信号ｓ[ｉ]と前記整数小数分離部から出力された整数ａとを入力し、該入力した整数ａに基づいて該入力した離散信号ｓ[ｉ]をａサンプル分だけシフトすることにより、シフト済み離散信号ｓa[ｉ]を生成して出力する第２のシフト部と、前記第１のシフト部から出力された前記シフト済み離散信号ｓa+1[ｉ]と前記整数小数分離部から出力された実数ｂとを入力し、前記シフト済み離散信号ｓa+1[ｉ]のサンプル位置ｉの信号強度ｓa+1[ｉ]に、該入力した実数ｂに基づいて生成された単調増加関数からなる係数Ｃｆ(ｂ)を乗算することにより、重み付け離散信号Ｃｆ(ｂ)ｓa+1[ｉ]を出力する第１の係数乗算部と、前記第２のシフト部から出力されたシフト済み離散信号ｓa[ｉ]と前記小数減算部から出力された実数１−ｂを入力し、前記シフト済み離散信号ｓa[ｉ]のサンプル位置ｉの信号強度ｓa[ｉ]に、該入力した実数１−ｂに基づいて生成された単調増加関数からなる係数Ｃｆ(１−ｂ)を乗算することにより、重み付け離散信号Ｃｆ(１−ｂ)ｓa[ｉ]を出力する第２の係数乗算部と、前記第１の係数乗算部から出力された重み付け離散信号Ｃｆ(ｂ)ｓa+1[ｉ]と前記第２の係数乗算部から出力された重み付け離散信号Ｃｆ(１−ｂ)ｓa[ｉ]とを入力して、該入力した重み付け離散信号Ｃｆ(ｂ)ｓa+1[ｉ]と該入力した重み付け離散信号Ｃｆ(１−ｂ)ｓa[ｉ]とを同一サンプル位置ｉ毎に加算することにより、合成信号Ｃｆ(１−ｂ)ｓa[ｉ]＋Ｃｆ(ｂ)ｓa+1[ｉ]を出力する合成部とを備えることを特徴とする。
【００１１】
本発明の請求項２に係る一次元信号シフト装置は、請求項１に記載の一次元信号シフト装置において、前記第１のシフト部は、離散信号ｓ[ｉ]の値を格納するためのａ＋１個以上のバッファを備える第１のシフトレジスタを備え、前記第２のシフト部は、離散信号ｓ[ｉ]の値を格納するためのａ個以上のバッファを備える第２のシフトレジスタを備え、前記第１のシフトレジスタは、前記入力した離散信号の値を左端のバッファｂaから格納し、離散信号が前記左端のバッファｂaへと入力されるタイミングで順次右側のバッファｂa-1、ｂa-2、…、ｂ0へと降順に前記入力した離散信号の値を格納し、前記入力した整数ａ＋１個分だけ離散信号を格納した時点から、前記左端のバッファｂaに格納した離散信号の値を出力して、離散信号が前記左端のバッファｂaへと入力されるタイミングで順次右側のバッファｂa-1、ｂa-2、…、ｂ0に格納された離散値を出力し、前記第２のシフトレジスタは、前記入力した離散信号の値を左端のバッファｂa-1から格納し、前記入力した離散信号の値が前記左端のバッファｂa-1へと入力されるタイミングで順次右側のバッファｂa-2、ｂa-3、…、ｂ0へと降順に前記入力した離散信号の値を格納し、前記入力した整数ａ個分だけ離散信号を格納した時点から、前記左端のバッファｂa-1に格納した離散信号の値を出力して、離散信号が前記左端のバッファｂa-1へと入力されるタイミングで順次右側のバッファｂa-2、ｂa-3、…、ｂ0に格納された離散値を出力することを特徴とする。
【００１２】
本発明の請求項３に係る一次元信号シフト装置は、請求項１に記載の一次元信号シフト装置において、前記第１のシフト部及び前記第２のシフト部は、離散信号ｓ[ｉ]のデータの数であるＮ個のバッファｂ0、ｂ1、…、ｂN-2、ｂN-1を含むメモリを備え、前記バッファの各々は、それぞれ、アドレス０からアドレスＮ−１が付され、該アドレス０からアドレスＮ−１が付されたバッファｂ0、…、ｂN-1の各々は、それぞれ、離散信号ｓ[０]、…、ｓ[Ｎ−１]の値を格納し、前記第１のシフト部の前記メモリは、前記入力した整数ａ＋１を用いて、アドレスａからアドレスＮ−１までのバッファｂa、…、ｂN-1に格納された離散信号の値ｓ[ａ]、…、ｓ[Ｎ−１]を読み出して順次出力し、前記第２のシフト部の前記メモリは、前記入力した整数ａを用いて、アドレスａからアドレスＮ−１までのバッファｂa-1、…、ｂN-1に格納された離散信号の値ｓ[ａ−１]、…、ｓ[Ｎ−１]を読み出して順次出力するか、又は前記第１のシフト部の前記メモリは、前記入力した整数ａ＋１を用いて、離散信号ｓ[ａ]、ｓ[ａ＋１]、…、ｓ[Ｎ−１]、ｓ[０]、ｓ[１]、…、ｓ[ａ−１]となる順番で離散信号を読み出して出力し、前記第２のシフト部の前記メモリは、前記入力した整数ａを用いて、離散信号ｓ[ａ−１]、ｓ[ａ]、…、ｓ[Ｎ−１]、ｓ[０]、ｓ[１]、…、ｓ[ａ−２]となる順番で離散信号を読み出して出力することを特徴とする。
【００１３】
本発明の請求項４に係る一次元信号シフト装置は、請求項１に記載の一次元信号シフト装置において、前記第１のシフト部は、第１の離散フーリエ変換部と、第１のシフト量換算部と、第１の周波数毎乗算部と、第１の離散フーリエ逆変換部とを備え、前記第２のシフト部は、第２の離散フーリエ変換部と、第２のシフト量換算部と、第２の周波数毎乗算部と、第２の離散フーリエ逆変換部とを備え、前記第１の離散フーリエ変換部及び前記第２の離散フーリエ変換部は、離散信号ｓ[ｉ]を入力し、入力した離散信号ｓ[ｉ]を周波数情報ｆ毎に離散フーリエ変換して、離散フーリエ変換信号Ｓ[ｆ]を出力し、前記第１のシフト量換算部は、前記入力した整数ａ＋１に基づいて、周波数情報ｆ毎にシフト換算量ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)を出力し、前記第２のシフト量換算部は、前記入力した整数ａに基づいて、周波数情報ｆ毎にシフト換算量ｅｘｐ(−ｊ・２πｆａ／Ｎ)を出力し、前記第１の周波数毎乗算部は、前記第１の離散フーリエ変換部から出力された離散フーリエ変換信号Ｓ[ｆ]と前記第１のシフト量換算部から出力されたシフト換算量ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)を入力して、該入力した離散フーリエ変換信号Ｓ[ｆ]と該入力したシフト換算量ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)とを周波数情報ｆ毎に乗算することにより、シフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)を出力し、前記第２の周波数毎乗算部は、前記第２の離散フーリエ変換部から出力された離散フーリエ変換信号Ｓ[ｆ]と前記第２のシフト量換算部から出力されたシフト換算量ｅｘｐ(−ｊ・２πｆａ／Ｎ)を入力して、該入力した離散フーリエ変換信号Ｓ[ｆ]と該入力したシフト換算量ｅｘｐ(−ｊ・２πｆａ／Ｎ)とを周波数情報ｆ毎に乗算することにより、シフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆａ／Ｎ)を出力し、前記第１の離散フーリエ逆変換部は、前記第１の周波数毎乗算部から出力されたシフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)を周波数情報ｆ毎に入力し、周波数情報ｆ毎に入力した全てのシフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)を離散フーリエ逆変換することにより、シフト済み離散信号ｓa+1[ｉ]を出力し、前記第２の離散フーリエ逆変換部は、前記第２の周波数毎乗算部から出力されたシフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆａ／Ｎ)を周波数情報ｆ毎に入力し、周波数情報ｆ毎に入力した全てのシフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆａ／Ｎ)を離散フーリエ逆変換することにより、シフト済み離散信号ｓa[ｉ]を出力することを特徴とする。
【００１４】
本発明の請求項５に係る一次元信号シフト装置は、請求項１から４のいずれかに記載の一次元信号シフト装置において、前記係数Ｃｆ(ｂ)＝ｂであり、前記係数Ｃｆ(１−ｂ)＝１−ｂであることを特徴とする。
【００１５】
本発明の請求項６に係る方法は、整数小数分離部が、外部から出力された実数であるシフト量ｍを入力して、前記シフト量ｍの整数部分の整数ａ及び前記シフト量ｍの小数部分の実数ｂを算出するステップと、整数加算部が、前記整数小数分離部から出力された整数ａを入力し、該入力した整数ａに１を加算することにより整数ａ＋１を出力するステップと、小数減算部が、前記整数小数分離部から出力された実数ｂを入力し、該入力した実数ｂを１から減算することにより実数１−ｂを出力するステップと、第１のシフト部が、外部から出力されたｉ番目の離散信号を示す離散信号ｓ[ｉ]と前記整数加算部から出力された整数ａ＋１とを入力し、該入力した整数ａ＋１に基づいて該入力した離散信号ｓ[ｉ]をａ＋１サンプル分だけシフトすることにより、シフト済み離散信号ｓa+1[ｉ]を生成して出力するステップと、第２のシフト部が、外部から出力された前記離散信号ｓ[ｉ]と前記整数小数分離部から出力された整数ａとを入力し、該入力した整数ａに基づいて該入力した離散信号ｓ[ｉ]をａサンプル分だけシフトすることにより、シフト済み離散信号ｓa[ｉ]を生成して出力するステップと、第１の係数乗算部が、前記第１のシフト部から出力された前記シフト済み離散信号ｓa+1[ｉ]と前記整数小数分離部から出力された実数ｂとを入力し、前記シフト済み離散信号ｓa+1[ｉ]のサンプル位置ｉの信号強度ｓa+1[ｉ]に、該入力した実数ｂに基づいて生成された単調増加関数からなる係数Ｃｆ(ｂ)を乗算することにより、重み付け離散信号Ｃｆ(ｂ)ｓa+1[ｉ]を出力するステップと、第２の係数乗算部が、前記第２のシフト部から出力されたシフト済み離散信号ｓa[ｉ]と前記小数減算部から出力された実数１−ｂを入力し、前記シフト済み離散信号ｓa[ｉ]のサンプル位置ｉの信号強度ｓa[ｉ]に、該入力した実数１−ｂに基づいて生成された単調増加関数からなる係数Ｃｆ(１−ｂ)を乗算することにより、重み付け離散信号Ｃｆ(１−ｂ)ｓa[ｉ]を出力するステップと、合成部が、前記第１の係数乗算部から出力された重み付け離散信号Ｃｆ(ｂ)ｓa+1[ｉ]と前記第２の係数乗算部から出力された重み付け離散信号Ｃｆ(１−ｂ)ｓa[ｉ]とを入力して、該入力した重み付け離散信号Ｃｆ(ｂ)ｓa+1[ｉ]と該入力した重み付け離散信号Ｃｆ(１−ｂ)ｓa[ｉ]とを同一サンプル位置ｉ毎に加算することにより、合成信号Ｃｆ(１−ｂ)ｓa[ｉ]＋Ｃｆ(ｂ)ｓa+1[ｉ]を出力するステップとを備えることを特徴とする。
【００１６】
本発明の請求項７に係る方法は、請求項６に記載の方法において、前記第１のシフト部は、離散信号ｓ[ｉ]の値を格納するためのａ＋１個以上のバッファを備える第１のシフトレジスタを備え、前記第２のシフト部は、離散信号ｓ[ｉ]の値を格納するためのａ個以上のバッファを備える第２のシフトレジスタを備え、前記シフト済み離散信号ｓa+1[ｉ]を出力するステップは、前記第１のシフトレジスタが、前記入力した離散信号の値を左端のバッファｂaから格納し、離散信号が前記左端のバッファｂaへと入力されるタイミングで順次右側のバッファｂa-1、ｂa-2、…、ｂ0へと降順に前記入力した離散信号の値を格納し、前記入力した整数ａ＋１個分だけ離散信号を格納した時点から、前記左端のバッファｂaに格納した離散信号の値を出力して、離散信号が前記左端のバッファｂaへと入力されるタイミングで順次右側のバッファｂa-1、ｂa-2、…、ｂ0に格納された離散値を出力するステップを含み、前記シフト済み離散信号ｓa[ｉ]を出力するステップは、前記第２のシフトレジスタが、前記入力した離散信号の値を左端のバッファｂa-1から格納し、前記入力した離散信号の値が前記左端のバッファｂa-1へと入力されるタイミングで順次右側のバッファｂa-2、ｂa-3、…、ｂ0へと降順に前記入力した離散信号の値を格納し、前記入力した整数ａ個分だけ離散信号を格納した時点から、前記左端のバッファｂa-1に格納した離散信号の値を出力して、離散信号が前記左端のバッファｂa-1へと入力されるタイミングで順次右側のバッファｂa-2、ｂa-3、…、ｂ0に格納された離散値を出力するステップを含むことを特徴とする。
【００１７】
本発明の請求項８に係る方法は、請求項６に記載の方法において、前記第１のシフト部は、前記第１のシフト部及び前記第２のシフト部は、離散信号ｓ[ｉ]のデータの数であるＮ個のバッファｂ0、ｂ1、…、ｂN-2、ｂN-1を含むメモリを備え、前記バッファの各々は、それぞれ、アドレス０からアドレスＮ−１が付され、該アドレス０からアドレスＮ−１が付されたバッファｂ0、…、ｂN-1の各々は、それぞれ、離散信号ｓ[０]、…、ｓ[Ｎ−１]の値を格納し、前記シフト済み離散信号ｓa+1[ｉ]を出力するステップは、前記第１のシフト部の前記メモリが、前記入力した整数ａ＋１を用いて、アドレスａからアドレスＮ−１までのバッファｂa、…、ｂN-1に格納された離散信号の値ｓ[ａ]、…、ｓ[Ｎ−１]を読み出して順次出力するステップを含み、前記シフト済み離散信号ｓa[ｉ]を出力するステップは、前記第２のシフト部の前記メモリが、前記入力した整数ａを用いて、アドレスａからアドレスＮ−１までのバッファｂa-1、…、ｂN-1に格納された離散信号の値ｓ[ａ−１]、…、ｓ[Ｎ−１]を読み出して順次出力するステップを含むか、又は前記シフト済み離散信号ｓa+1[ｉ]を出力するステップは、前記第１のシフト部の前記メモリが、前記入力した整数ａ＋１を用いて、離散信号ｓ[ａ]、ｓ[ａ＋１]、…、ｓ[Ｎ−１]、ｓ[０]、ｓ[１]、…、ｓ[ａ−１]となる順番で離散信号を読み出して出力するステップを含み、前記シフト済み離散信号ｓa[ｉ]を出力するステップは、前記第２のシフト部の前記メモリが、前記入力した整数ａを用いて、離散信号ｓ[ａ−１]、ｓ[ａ]、…、ｓ[Ｎ−１]、ｓ[０]、ｓ[１]、…、ｓ[ａ−２]となる順番で離散信号を読み出して出力するステップを含むことを特徴とする。
【００１８】
本発明の請求項９に係る方法は、請求項６に記載の方法において、前記第１のシフト部は、第１の離散フーリエ変換部と、第１のシフト量換算部と、第１の周波数毎乗算部と、第１の離散フーリエ逆変換部とを備え、前記第２のシフト部は、第２の離散フーリエ変換部と、第２のシフト量換算部と、第２の周波数毎乗算部と、第２の離散フーリエ逆変換部とを備え、前記シフト済み離散信号ｓa+1[ｉ]を出力するステップは、前記第１の離散フーリエ変換部が、離散信号ｓ[ｉ]を入力し、入力した離散信号ｓ[ｉ]を周波数情報ｆ毎に離散フーリエ変換して、離散フーリエ変換信号Ｓ[ｆ]を出力ステップと、前記第１のシフト量換算部が、前記入力した整数ａ＋１に基づいて、周波数情報ｆ毎にシフト換算量ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)を出力ステップと、前記第１の周波数毎乗算部が、前記第１の離散フーリエ変換部から出力された離散フーリエ変換信号Ｓ[ｆ]と前記第１のシフト量換算部から出力されたシフト換算量ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)を入力して、該入力した離散フーリエ変換信号Ｓ[ｆ]と該入力したシフト換算量ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)とを周波数情報ｆ毎に乗算することにより、シフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)を出力するステップと、前記第１の離散フーリエ逆変換部が、前記第１の周波数毎乗算部から出力されたシフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)を周波数情報ｆ毎に入力し、周波数情報ｆ毎に入力した全てのシフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆ（ａ＋１）／Ｎ)を離散フーリエ逆変換することにより、シフト済み離散信号ｓa+1[ｉ]を出力するステップとを含み、前記シフト済み離散信号ｓa[ｉ]を出力するステップは、前記第２の離散フーリエ変換部が、離散信号ｓ[ｉ]を入力し、入力した離散信号ｓ[ｉ]を周波数情報ｆ毎に離散フーリエ変換して、離散フーリエ変換信号Ｓ[ｆ]を出力するステップと、前記第２のシフト量換算部が、前記入力した整数ａに基づいて、周波数情報ｆ毎にシフト換算量ｅｘｐ(−ｊ・２πｆａ／Ｎ)を出力するステップと、前記第２の周波数毎乗算部が、前記第２の離散フーリエ変換部から出力された離散フーリエ変換信号Ｓ[ｆ]と前記第２のシフト量換算部から出力されたシフト換算量ｅｘｐ(−ｊ・２πｆａ／Ｎ)を入力して、該入力した離散フーリエ変換信号Ｓ[ｆ]と該入力したシフト換算量ｅｘｐ(−ｊ・２πｆａ／Ｎ)とを周波数情報ｆ毎に乗算することにより、シフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆａ／Ｎ)を出力するステップと、前記第２の離散フーリエ逆変換部が、前記第２の周波数毎乗算部から出力されたシフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆａ／Ｎ)を周波数情報ｆ毎に入力し、周波数情報ｆ毎に入力した全てのシフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆａ／Ｎ)を離散フーリエ逆変換することにより、シフト済み離散信号ｓa[ｉ]を出力するステップとを含むことを特徴とする。
【００１９】
本発明の請求項１０に係る方法は、請求項６から９のいずれかに記載の方法において、前記第１のシフト部は、前記係数Ｃｆ(ｂ)＝ｂであり、前記係数Ｃｆ(１−ｂ)＝１−ｂであることを特徴とする。
【発明の効果】
【００２０】
本発明に係る一次元信号シフト装置を用いることにより、シフト量がサンプリング周期の整数倍でなくても、離散信号を当該シフト量だけシフトした信号を高精度に生成することができる。また、本発明に係る一次元信号シフト装置においては、サンプリング周波数が高くなるほど、シフト量分だけシフトさせた信号の予測値の精度が高くなる。
【００２１】
図７に示される電力測定装置の信号シフト装置として本発明に係る一次元信号シフト装置を使用して、サンプリング周期の実数倍でシフトすることにより、特許文献１で示されるようなサンプリング周期の時間精度でシフトする従来の構成よりも、高い精度の電力測定値を得ることができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施例１に係る一次元信号シフト装置の構成を示す図である。
【図２】本発明の実施例１に係る一次元信号シフト装置の動作フロー図である。
【図３】本発明の実施例２に係る一次元信号シフト装置のシフト部３０１の構成を示す図である。
【図４】本発明の実施例３に係る一次元信号シフト装置のシフト部の構成４０１を示す図である。
【図５】本発明の実施例４に係る一次元信号シフト装置のシフト部の構成５０１を示す図である。
【図６】横軸をシフト量とし、縦軸を離散信号の信号強度としたグラフである。
【図７】典型的な電力測定装置の構成を示す図である。
【発明を実施するための形態】
【００２３】
（実施例１）
図１は、本発明の実施例１に係る一次元信号シフト装置の構成を示す。図１には、整数小数分離部１０１と、整数加算部１０２と、小数減算部１０３と、第１のシフト部１０４と、第１のシフト部１０５と、第１の係数乗算部１０６と、第２の係数乗算部１０７と、合成部１０８とを備えた一次元信号シフト装置１００が示されている。図２は、本発明の実施例１に係る一次元信号シフト装置１００の動作フロー図であり、以下、図１及び図２を用いて本発明の実施例１に係る一次元信号シフト装置１００の動作を説明する。
【００２４】
図２のｓ１０１で示されるように、整数小数分離部１０１は、外部から出力された実数であるシフト量ｍを入力し、入力したシフト量ｍを用いて、下記の（式２）及び（式３）に従って、シフト量ｍの整数部分の整数ａ及びシフト量ｍの小数部分の実数ｂを算出して出力する。
ａ＝ｆｌｏｏｒ(ｍ)                                （式２）
ｂ＝ｍ−ａ                                          （式３）
【００２５】
ここで、（式２）において、ｙ＝ｆｌｏｏｒ(ｘ)とすると、ｆｌｏｏｒ(ｘ)は０≦ｘ−ｙ＜１を満たす整数ｙを返す関数である。したがって、（式２）のａ＝ｆｌｏｏｒ(ｍ)においては、０≦ｍ−ａ＜１となる整数ａが算出される。また、（式２）及び（式３）より、０≦ｂ＜１となる。以下、シフト量ｍを実数とし、ａをシフト量ｍの整数部分の値とし、ｂをシフト量ｍの小数部分の値とする。
【００２６】
図２のｓ１０２で示されるように、整数加算部１０２は、整数小数分離部１０１から出力された整数ａを入力し、入力した整数ａに１を加算することにより整数ａ＋１を出力する。図２のｓ１０３で示されるように、小数減算部１０３は、整数小数分離部１０１から出力された実数ｂを入力し、入力した実数ｂを１から減算することにより実数１−ｂを出力する。
【００２７】
ｉを整数とし、ｓ[ｉ]はｉ番目の離散信号を示すと共にその信号強度も示すものとすると、図２のｓ１０４で示されるように、第１のシフト部１０４は、外部から出力された離散信号ｓ[ｉ]と整数加算部１０２から出力された整数ａ＋１とを入力し、入力した離散信号ｓ[ｉ]を、入力した整数ａ＋１に基づいて整数ａ＋１サンプル分だけシフトすることにより、シフト済み離散信号ｓa+1[ｉ]＝ｓ［ｉ＋(ａ＋１)］を生成して出力する。図２のｓ１０５で示されるように、第２のシフト部１０５は、外部から出力された離散信号ｓ[ｉ]と整数小数分離部１０１から出力された整数ａとを入力し、入力した離散信号ｓ[ｉ]を、入力した整数ａに基づいて整数ａサンプル分だけシフトすることにより、シフト済み離散信号ｓa[ｉ]＝ｓ［ｉ＋ａ］を生成して出力する。
【００２８】
図２のｓ１０６で示されるように、第１の係数乗算部１０６は、第１のシフト部１０４から出力されたシフト済み離散信号ｓa+1[ｉ]と整数小数分離部１０１から出力された実数ｂとを入力し、入力したシフト済み離散信号ｓa+1[ｉ]のサンプル位置ｉの信号強度ｓa+1[ｉ]に、入力した実数ｂに基づいて生成された係数Ｃｆ(ｂ)を乗算することにより、重み付け離散信号Ｃｆ(ｂ)ｓa+1[ｉ]を生成して出力する。ここで、Ｃｆ(ｐ)はｐの関数であり、単調増加関数である。Ｃｆ(ｐ)は、例えば、Ｃｆ(ｐ)＝ｐ（すなわち、Ｃｆ(ｐ)は、変数ｐをそのまま出力する関数）とすることができる。図２のｓ１０７で示されるように、第２の係数乗算部１０７は、第２のシフト部１０５から出力されたシフト済み離散信号ｓa[ｉ]と小数減算部１０３から出力された実数１−ｂを入力し、シフト済み離散信号ｓa[ｉ]のサンプル位置ｉの信号強度ｓa[ｉ]に、入力した実数１−ｂに基づいて生成された係数Ｃｆ(１−ｂ)を乗算することにより、重み付け離散信号Ｃｆ(１−ｂ)ｓa[ｉ]を生成して出力する。
【００２９】
図２のｓ１０８で示されるように、合成部１０８は、第１の係数乗算部１０６から出力された重み付け離散信号Ｃｆ(ｂ)ｓa+1[ｉ]と第２の係数乗算部１０７から出力された重み付け離散信号Ｃｆ(１−ｂ)ｓa[ｉ]とを入力して、入力した重み付け離散信号Ｃｆ(ｂ)ｓa+1[ｉ]と重み付け離散信号Ｃｆ(１−ｂ)ｓa[ｉ]とを同一サンプル位置ｉ毎に加算することにより、合成信号ｓ’[ｉ]＝Ｃｆ(１−ｂ)ｓa[ｉ]＋Ｃｆ(ｂ)ｓa+1[ｉ]を生成して出力する。
【００３０】
このようにして生成された合成信号ｓ’[ｉ]＝Ｃｆ(１−ｂ)ｓa[ｉ]＋Ｃｆ(ｂ)ｓa+1[ｉ]は、実数ｂの値に応じてｓa[ｉ]及びｓa+1[ｉ]に加わる重みが変化する。例えば、実数ｂが０．５よりも小さい場合（ｂ＜０．５）、真のシフト信号は、ｓa[ｉ]よりもｓa+1[ｉ]に近いと考えられるので、ｓa[ｉ]の重みを大きくした方が、合成信号が真のシフト信号に近くなると考えられる。Ｃｆ(ｐ)は単調増加関数であるため、ｓa[ｉ]と積算する重みＣｆ(１−ｂ)は、ｓa+1[ｉ]と積算する重みＣｆ(ｂ)よりも大きいので、妥当な重み付けが行われていると考えられる。
【００３１】
このような合成信号ｓ’[ｉ]を真のシフト信号の予測値として用いることにより、シフト量ｍがサンプリング周期の整数倍でなくサンプリング周期の実数倍であっても、実数であるシフト量ｍの整数部分の整数ａだけでなく、シフト量ｍの小数部分の実数ｂも真のシフト信号の予測値に反映させることが可能となる。これにより、真のシフト信号をより精細に予測することが可能となり、予測値の真のシフト信号からの誤差をより小さくすることができ、離散信号を当該シフト量だけシフトした信号を高精度に生成することができる。さらに、計算が簡単であるため、計算を早くすることができる、プログラム規模を小さくすることができる、低コストの一次元信号シフト装置を実現することができる、等の効果を奏することができる。特に、Ｃｆ(ｐ)＝ｐであれば、Ｃｆ(ｐ)を算出するために複雑な計算を要しないため、さらに格別な上記効果を奏することができる。
【００３２】
また、サンプリング周波数に対してサンプリング前の信号の最高周波数が小さい（例えば１／１０００以下）場合は、サンプル間の信号が直線に近くなるため、合成信号Ｃｆ(１−ｂ)ｓa[ｉ]＋Ｃｆ(ｂ)ｓa+1[ｉ]の真のシフト信号からの誤差は小さくなる。図６を参照して、この理由を説明する。図６は、横軸をシフト量とし、縦軸を離散信号の信号強度としたグラフである。Ｔをサンプリング周期とすると、図６において、離散信号の元の信号ｇ(ｉＴ＋ｔ)が示され、ｙ軸上には、ｉ＋ａ番目及びｉ＋(ａ＋１)番目の離散信号の信号強度ｓa[ｉ]及びｓa+1[ｉ]と、シフト量をｍとした場合の元の信号ｇ(ｉＴ＋ｔ)の真値ｇ(ｉＴ＋ｍ)と、シフト量ｍの予測値である合成信号ｓ’[ｉ]とが示されている。
【００３３】
図６に示されるように、離散信号ｓ[ｉ]をａ＋１サンプル分だけシフトした離散信号ｓa+1[ｉ]及び離散信号ｓ[ｉ]をａサンプル分だけシフトした離散信号ｓa[ｉ]は、シフト前の離散信号の隣同士の信号の値である。例えば、ｉ＝１０、ｍ＝３．２とすると、前述の（式２）及び（式３）からａ＝３、ｂ＝０．２となり、このときａ及びａ＋１だけシフトした離散信号は、それぞれシフト前の離散信号の１３（＝１０＋３）番目と１４（＝１０＋３＋１）番目というように、隣同士の信号となる。
【００３４】
図６において、合成信号ｓ’[ｉ]＝Ｃｆ(１−ｂ)ｓa[ｉ]＋Ｃｆｂｓa+1[ｉ]は、ｘ軸のシフト量ａＴに対応する信号強度ｓa[ｉ]とｘ軸のシフト量(ａ＋１)Ｔに対応する信号強度ｓa+1[ｉ]とを破線で結んだ「離散信号から予測した信号」の直線で示される。例えば、上記の通り、ｉ＝１０、ｍ＝３．２とし、Ｃｆ(ｐ)＝ｐとすると、ａ＝３、ｂ＝０．２となるため、予測値は、０．８ｓ13［１０］＋０．２ｓ14［１０］となる。この「離散信号から予測した信号」で示される直線は、サンプリング前の信号ｇ(ｉＴ＋ｍ)と異なるため、シフト量ｍの予測値と元の信号をｍサンプル分シフトさせた真値との間で予測誤差が生じていることがわかる。
【００３５】
しかしながら、サンプリング周波数に対してサンプリング前の信号の最高周波数が小さい（例えば１／１０００以下）場合は、ｓa[ｉ]とｓa+1[ｉ]との間でサンプリング前の信号が直線に近くなり、ｓa[ｉ]とｓa+1[ｉ]との間のサンプリング前の信号が「離散信号から予測した信号」の直線に近づく可能性が高くなるため、シフト量ｍの予測誤差が小さくなる可能性が高くなる。つまり、本発明の方法では、サンプリング周波数が高くなるほど、シフト量ｍの予測値の誤差が小さくなる可能性が高い。
【００３６】
（実施例２）
図３を用いて、本発明の実施例２に係る一次元信号シフト装置の構成を説明する。本実施例２は、図１に示される第１のシフト部１０４及び第２のシフト部１０５の構成を、図３に示されるシフト部３０１の構成としたものである。従って、実施例２に係る一次元信号シフト装置のシフト部３０１以外の動作は、実施例１に係る一次元信号シフト装置１００の動作と同様である。
【００３７】
図３には、シフトレジスタ３０２を有するシフト部３０１が示されている。シフトレジスタ３０２は、離散信号ｓ[ｉ]の値を格納するシフト量ｄ以上の数のバッファを備え、シフト量ｄ以上のバッファ量を確保可能に構成されている。ここで、第１のシフト部１０４のシフトレジスタの場合、シフト量ｄは整数ａ＋１であり、第２のシフト部１０５のシフトレジスタの場合、シフト量ｄは整数ａである。
【００３８】
シフト部３０１のシフトレジスタ３０２は、離散信号ｓ[ｉ]とシフト量ｄとを入力し、入力した離散信号ｓ[ｉ]の値をシフトレジスタ３０２の左端のバッファｂd-1から格納し、次の離散信号を入力するごとに、離散信号が左端のバッファｂd-1へと入力されるタイミングで順次右側のバッファ、すなわちバッファｂd-2、ｂd-3、…、ｂ0へと降順にシフトしていくように離散信号の値を格納していく。バッファｂ0に離散信号の値が格納された時点、すなわち離散信号の値がｄ個格納された時点から、左端のバッファｂd-1に格納した離散信号の値を出力し、離散信号が左端のバッファｂd-1へと入力されるタイミングでバッファｂd-2、ｂd-3、…、ｂ0に格納された離散信号の値を順次出力することにより、ｄサンプルだけシフトしたシフト済み離散信号ｓd[ｉ]を出力することができる。
【００３９】
（実施例３）
図４を用いて、本発明の実施例３に係る一次元信号シフト装置の構成を説明する。本実施例３は、図１に示される第１のシフト部１０４及び第２のシフト部１０５の構成を、図４に示されるシフト部４０１の構成としたものである。従って、実施例３に係る一次元信号シフト装置のシフト部４０１以外の動作は、実施例１に係る一次元信号シフト装置１００の動作と同様である。
【００４０】
実施例３は、離散信号ｓ[ｄ−１]、ｓ[ｄ]、…、ｓ[Ｎ−１]となる順番で離散信号ｓ[ｉ]を読み出す方法か、又は離散信号ｓ[ｄ−１]、ｓ[ｄ]、…、ｓ[Ｎ−１]、ｓ[０]、ｓ[１]、…、ｓ[ｄ−２]となる順番で離散信号ｓ[ｉ]を読み出す方法で実現される。
【００４１】
図４には、メモリ４０２を有するシフト部４０１が示されている。メモリ４０２はＮ個（Ｎは離散信号ｓ[ｉ]のデータの数）のバッファｂ0、ｂ1、…、ｂd-1、…、ｂN-2、ｂN-1を含み、各バッファｂ0、…、ｂN-1には、それぞれ、アドレス０からアドレスＮ−１が付されている。シフト部４０１は、離散信号ｓ[ｉ]とシフト量ｄ（第１のシフト部１０４の場合、シフト量ｄは整数ａ＋１であり、第２のシフト部１０５の場合、シフト量ｄは整数ａである）とを入力し、アドレス０からアドレスＮ−１のバッファｂ0、…、ｂN-1には、それぞれ、離散信号ｓ[０]、…、ｓ[Ｎ−１]の値が格納される。
【００４２】
図４（ａ）は、離散信号ｓ[ｄ−１]、ｓ[ｄ]、…、ｓ[Ｎ−１]となる順番で離散信号ｓ[ｉ]を読み出す構成を説明するための図である。図４（ａ）に示されるように、シフト部４０１は、入力したシフト量ｄを用いて、アドレスｄ−１からアドレスＮ−１までのバッファｂd-1、…、ｂN-1に格納された離散信号の値ｓ[ｄ−１]、…、ｓ[Ｎ−１]を読み出して順次出力する。これにより、離散信号ｓ[ｄ−１]、ｓ[ｄ]、…、ｓ[Ｎ−１]となる順番で離散信号ｓ[ｉ]を読み出すことが可能となり、ｄサンプル分だけシフトしたシフト済み離散信号ｓd[ｉ]を出力することができる。
【００４３】
図４（ｂ）は、離散信号ｓ[ｄ−１]、ｓ[ｄ]、…、ｓ[Ｎ−１]、ｓ[０]、ｓ[１]、…、ｓ[ｄ−２]となる順番で離散信号ｓ[ｉ]を読み出す構成を説明するための図である。図４（ｂ）に示されるように、シフト部４０１は、入力したシフト量ｄを用いて、アドレスｄ−１からアドレスＮ−１までのバッファｂd-1、…、ｂN-1に格納された離散信号の値を読み出し、その後、アドレス０からアドレスｄ−２までのバッファｂ0、…、ｂd-2に格納された離散信号の値を読み出すことにより、バッファｂd-1、…、ｂN-1、ｂ0、…、ｂd-2の順番で、これらのバッファに格納された離散信号の値を出力する。これにより、離散信号ｓ[ｄ−１]、ｓ[ｄ]、…、ｓ[Ｎ−１]、ｓ[０]、ｓ[１]、…、ｓ[ｄ−２]となる順番で離散信号ｓ[ｉ]を読み出すことが可能となり、ｄサンプル分だけシフトしたシフト済み離散信号ｓd[ｉ]を出力することができる。
【００４４】
（実施例４）
図５を用いて、本発明の実施例４に係る一次元信号シフト装置の構成を説明する。本実施例４は、図１に示される第１のシフト部１０４及び第２のシフト部１０５の構成を、図５に示されるシフト部５０１の構成としたものである。従って、実施例４に係る一次元信号シフト装置のシフト部５０１以外の動作は、実施例１に係る一次元信号シフト装置１００の動作と同様である。
【００４５】
図５には、離散フーリエ変換部５０２と、シフト量換算部５０３と、周波数毎乗算部５０４と、離散フーリエ逆変換部５０５とを備えたシフト部５０１が示されている。
【００４６】
離散フーリエ変換部５０２は、離散信号ｓ[ｉ]を入力し、入力した離散信号ｓ[ｉ]を以下の（式４）に従って周波数情報ｆ毎に離散フーリエ変換して、離散フーリエ変換信号Ｓ[ｆ]を出力する。
【００４７】
【数２】
0005784986.tif 000003
【００４８】
ただし、ｆは離散信号の周波数情報、ｅｘｐ(ｘ)はネーピア数ｅのｘ乗を表す関数、ｊは虚数単位、Ｎは離散信号の値の数である。
【００４９】
シフト量換算部５０３は、シフト量ｄ（第１のシフト部１０４の場合、シフト量ｄは整数ａ＋１であり、第２のシフト部１０５の場合、シフト量ｄは整数ａである）を入力し、周波数情報ｆ毎にシフト換算量ｅｘｐ(−ｊ・２πｆｄ／Ｎ)を算出して出力する。
【００５０】
周波数毎乗算部５０４は、離散フーリエ変換部５０２から出力された離散フーリエ変換信号Ｓ[ｆ]とシフト量換算部５０３から出力されたシフト換算量ｅｘｐ(−ｊ・２πｆｄ／Ｎ)を入力して、入力した離散フーリエ変換信号Ｓ[ｆ]とシフト換算量ｅｘｐ(−ｊ・２πｆｄ／Ｎ)とを周波数情報ｆ毎に乗算することにより、シフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆｄ／Ｎ)を算出して出力する。
【００５１】
離散フーリエ逆変換部５０５は、周波数毎乗算部５０４から出力されたシフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆｄ／Ｎ)を周波数情報ｆ毎に入力し、周波数情報ｆ毎に入力した全てのシフト済み離散フーリエ変換信号Ｓ[ｆ]ｅｘｐ(−ｊ・２πｆｄ／Ｎ)を以下の（式５）に従って離散フーリエ逆変換することにより、シフト済み離散信号ｓd[ｉ]を出力する。
【００５２】
【数３】
0005784986.tif 000004
【００５３】
このようにして、ｄサンプル分だけシフトしたシフト済み離散信号ｓd[ｉ]を出力することができる。
【符号の説明】
【００５４】
１００  一次元信号シフト装置
１０１  整数小数分離部
１０２  整数加算部
１０３  小数減算部
１０４  第１のシフト部
１０５  第２のシフト部
１０６  第１の係数乗算部
１０７  第２の係数乗算部
１０８  合成部
３０１、４０１、５０１  シフト部
３０２  シフトレジスタ
４０２  メモリ
５０２  離散フーリエ変換部
５０３  シフト量換算部
５０４  離散フーリエ逆変換部
７００  電力測定装置
７０１  電圧Ａ／Ｄ変換部
７０２  電流Ａ／Ｄ変換部
７０３  シフト装置
７０４  積和演算部
７０５  電力量表示部
【図１】
0005784986.tif 000005
【図２】
0005784986.tif 000006
【図３】
0005784986.tif 000007
【図４】
0005784986.tif 000008
【図５】
0005784986.tif 000009
【図６】
0005784986.tif 000010
【図７】
0005784986.tif 000011