ディジタル信号の同期演算処理方法及び同期演算処理プログラム
【課題】
ディジタル信号の同期演算処理において、アナログ入力信号周波数とサンプリング周波数の比である同期周期が整数でない場合であっても、与えられたサンプル周波数を変えることなく、誤差の少ないディジタル信号の同期演算処理方法及び同期演算処理プログラムを提供することである。
【解決手段】
ディジタル信号の同期演算処理に関して、アナログ入力信号周波数とサンプリング周波数との比、すなわち、同期周期を整数部と小数部に分け、前記整数部と小数部の数値を直接重みとしてサンプリング周期だけ離れたサンプル値に対する同期演算処理に用いる。ディジタル信号同期演算処理プログラムは、計算機上で、サンプリング周期ごとに連続して前記ディジタル信号同期演算処理を行う。
ディジタル信号の同期演算処理において、アナログ入力信号周波数とサンプリング周波数の比である同期周期が整数でない場合であっても、与えられたサンプル周波数を変えることなく、誤差の少ないディジタル信号の同期演算処理方法及び同期演算処理プログラムを提供することである。
【解決手段】
ディジタル信号の同期演算処理に関して、アナログ入力信号周波数とサンプリング周波数との比、すなわち、同期周期を整数部と小数部に分け、前記整数部と小数部の数値を直接重みとしてサンプリング周期だけ離れたサンプル値に対する同期演算処理に用いる。ディジタル信号同期演算処理プログラムは、計算機上で、サンプリング周期ごとに連続して前記ディジタル信号同期演算処理を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、信号成分の抽出あるいは除去を行うディジタル信号処理とディジタル信号処理プログラムに関する。
【背景技術】
【0002】
ディジタル信号処理の分野において、信号成分に同期した演算処理が望まれている。
【0003】
例えば、従来の同期加算処理では、同期信号である、インパルス信号に対応して、インパルス応答を発生させ、信号のSN比を増加させるために、前記インパルス応答を必要な回数だけ加算する処理が行われる(例えば、非特許文献1から3を参照)。
【0004】
前記同期加算法を利用したものとして、心電図、心磁図を同期検出するために使用し、その具体的装置に関する技術がある(特許文献1)。
【0005】
また、同期減算法に関して、装置の信号処理として、同一の刺激を2回ずつ繰り返して加えて、続けた2回の刺激で同期減算して随意筋電のみを抽出するもので、考えは上記同期加算処理と同様な技術がある(特許文献2)。なお、同期減算処理については二つのサンプル値間の補間値を求める処理と等価である。
【0006】
前記同期演算処理では、いずれも同期演算処理をしたいアナログ信号周波数fpとサンプリング周波数fsの比(数1)が問題になる。
【0007】
【数1】
【0008】
前記の同期演算処理は、いずれもディジタル信号処理の同期周期Npが整数であるとみなした処理であり、同期周期Npが整数でない場合には同期演算処理に誤差を生ずる。
【0009】
前記の同期周期Npが大きい場合、すなわちサンプリング周波数が相対的に十分大きい場合には、同期周期Npの小数点以下を四捨五入で丸める影響は同期演算処理に対して小さいと見なせる場合がある。
【0010】
一方、前記同期周期Npが小さい場合、すなわちサンプリング周波数が相対的に十分大きくない場合には、同期周期Npの小数点以下を四捨五入で丸める整数化の影響は同期演算処理に対して無視できなくなる。すなわち、同期周期Npを整数化することにより同期演算処理に誤差を生じる。
【0011】
前記ディジタル信号の同期演算処理に誤差が生じる場合、従来技術では、サンプル値間を補間して見かけ上のサンプリング周波数を大きな値にして対処することが行われている。
【0012】
しかし、前記信号サンプリングに関する補間処理は複雑な計算を伴うので、高い周波数に対して実時間で処理することや、計算能力が低い装置では処理することが困難であるという課題がある。
【0013】
したがって、前記信号サンプリングに関する補間処理を用いずに、与えられたサンプル条件のみを使用して、ディジタル信号への同期演算処理の精度を高める技術が望まれている。
【非特許文献1】宮川洋他著、「ディジタル信号処理」、電子情報通信学会偏、1975
【非特許文献2】小澤慎治著、「ディジタル信号処理」、実教出版、1979
【非特許文献3】島村徹也、黒岩世進伸、“ピッチ同期加算処理を用いた雑音低減に基づくLPC分析、”信学論、Vol.J87−A、pp.458−469、2004
【特許文献1】特公平7−67440号公報
【特許文献2】特開2004−255104号公報
【発明の開示】
【発明が解決しようとする課題】
【0014】
ディジタル信号の同期演算処理において、処理の対象とするアナログ信号周波数fpとサンプリング周波数fsの比、すなわち同期周期(前記数1)が整数でない場合であっても、与えられたサンプリング周波数を変えることなく、誤差の少ないディジタル信号の同期演算処理方法及び同期演算処理プログラムを提供することである。
【課題を解決するための手段】
【0015】
本発明に係るディジタル信号の同期演算処理は、対象とするアナログ信号周波数とサンプリング周波数との比が整数にならないときであっても、サンプリング周波数を変えることなく、同期周期を(数2)に示すように整数部と小数部に分け、前記整数部と小数部の数値を重みとして用いて、直接サンプリング周期だけ離れたサンプル値に対する同期演算処理を行うことを特徴とする。
【0016】
【数2】
【0017】
同期加算処理あるいは同期減算処理の場合には、任意の時刻にサンプリングされた二つのサンプル値x(N)とx(N+1)を小数部の数値Fにより適切な重みを付けて利用して、同期周期Npに関するサンプル値x(Np)を求め、前記二つのディジタル信号に対し同期加算あるいは同期減算処理を行うことが特徴である。
【0018】
また、累積加算処理あるいは累積減算処理の場合は、任意の時刻にサンプリングされたNまたはN+1だけ離れた2点間の対応するサンプル値を1周期にわたり同期加算あるいは同期減算する。その際、対応するサンプル値を小数部の数値Fにより調整し、平均としてNp離れた2点間の累積同期加算あるいは累積同期減算を行うことが特徴である。
【0019】
特に、累積同期加算については、補間値を求める処理では精度に限界がある。同期周期に相当する2点間を1周期にわたって同期加算し、平均的に同期周期が理論値の値にすることが特徴である。
【0020】
ディジタル信号同期演算処理プログラムは、計算機上で、サンプリング周期ごとに連続して前記ディジタル信号同期演算処理を行うことを特徴としている。
【発明の効果】
【0021】
本発明により、与えられたサンプリング周波数のみを利用して、同期周期、すなわち(数1)、が非整数であることによる同期演算処理の精度に対する誤差を小さくすることができる。
【発明を実施するための最良の形態】
【0022】
本発明を実施するための同期演算処理システムのブロック図を図1に示す。前記同期演算処理システムは、図2に示される計算機上で外部記憶装置に格納されたディジタル信号同期演算処理プログラムである。ただし、同期演算処理プログラムが動作する計算機であれば、図2の構成に限定されない。
【0023】
図1と図2を関連付けて説明する。同期演算処理プログラムは、予め外部記憶装置8に格納されている。動作時には計算機システムバス5を通じてメモリ7に読み込まれて計算機のインターフェイス6と演算装置9を活用して、本発明に係る同期演算処理を行う。
【0024】
入力部1は、時刻tにおける周波数fpのアナログ信号x(t)を、インターフェイスを通じて外部記憶装置8やメモリ7の一部に一時蓄えたりして、前記同期演算処理プログラムの入力信号として使用する。また、演算処理の対象となるアナログ信号は、入力として予め外部記憶装置8に格納されていてもよい。
【0025】
サンプリング処理部2では、前記アナログ入力信号x(t)は、サンプリング周波数はfsで、ディジタル信号x(n)にサンプリングされる。サンプリング後の信号x(n)は,外部記憶装置8の一部やメモリ7の一部に一時期的に格納される。
【0026】
同期処理部3は、前記サンプリングされたディジタル信号x(n)に対して、計算機の演算装置9とメモリ7や外部記憶装置8を活用して、対象とするアナログ信号周波数とサンプリング周波数との比である同期周期が整数にならないときであっても、サンプリング処理部2でのサンプリング周波数を変えてサンプリング処理を再実施することなく、サンプリング周波数1周期だけ離れた2点のサンプル値を整数部と小数部に分け、前記整数部と小数部の数値を直接重みとして用いることを特徴とする同期演算処理を行う。
【0027】
同期加算あるいは同期減算の場合、小数部の数値を何桁で表現するかで精度がほぼ決まる。例えば、小数以下を2桁とした場合、x(Np)は、以下で決定される。
【0028】
【数3】
【0029】
この処理は、2点x(N)とx(N+1)の補間値を求めることに相当する。また、累積同期加算あるいは累積同期減算の場合は、1周期離れた2点間のサンプル値x(n)とx(n+N)を1周期分お互いに対応するサンプル値を(100−F)周期分にわたり加減算し、F周期分は、対応する2点のサンプル値をx(n)とx(n+N+1)として加減算する。なお、(100−F)とFが可能な場合は約分し、上記の同期演算処理もできるだけ平均化されるように行い、平均として1周期がNpになるようにする。例えば、約分した結果が9/2になった場合は、4周期と1周期、5周期と1周期というような処理を行う。
【0030】
前記同期演算処理後の結果y(n)は、出力部4により外部記憶装置8に格納される。格納されるデータの形式は、単純に、あるnの値に対するy(n)の値を記述すればよい。
【実施例1】
【0031】
第1の実施例として、図3にシステム関数が(数4)で示されるノッチ型くし形フィルタ10の同期減算処理を示す。
【0032】
【数4】
【0033】
fpが100Hz、fsが1025Hzであったとすると、Npは10.25となり、(数1)により、Nは10であり、Fは25となる。まず、このとき同期減算処理を次の二式(数5)及び(数6)と(数7)すなわち(数8)および(数9)で実現した場合の特性を比較する。
【0034】
【数5】
【0035】
【数6】
【0036】
【数7】
【0037】
【数8】
【0038】
【数9】
【0039】
(数5)は、Np=10.25を整数化したN=10、すなわちNp=10を使用して、x(Np)の値を近似して、ノッチ型くし形フィルタ(数6)を実現している。
【0040】
図5に本発明の実施例に係る同期演算処理プログラムに関するアルゴリズムのフローを示す。図5におけるフローでは、まず演算回数(S1)を設定する。変数nは、サンプル時点に関する離散時間の変数であり、演算回数Mは、アナログ入力信号を処理するために十分な値にする必要がある。同期周期の計算(S2)後、前記同期周期の整数部Nと小数部Fを求める(S3)。図5におけるフローでは、同時に同期減算処理(S4)乃至(S6)と累積同期加算処理(S7)乃至(S9)を行うものであるが、二つの処理(S4)乃至(S6)または(S7)乃至(S9)を単独で行うフローであってもよい。また、以下の実施例の演算精度は小数点以下2桁とするが、これに限らず小数点以下3桁以上であっても単純に拡張が可能である。
【0041】
一方、(数8)では、図5に示される演算(S2)の結果(S3)において、整数部N=10の数値だけでなく、小数部の数値F=25を考慮する。図5(S5)では、x(n−10)の重みは3/4、x(n−11)の重みは1/4となり、x(Np)の値を求めてノッチ型くし形フィルタ(数9)を実現する。
【0042】
図6に入力信号x(n)=sin{2π×(100/1025)n}(図6中実線)と前記(数6)と(数9)で示されるシステム関数を持つ、それぞれのくし形フィルタの出力信号を示す。前者のフィルタ出力は点線で、後者のフィルタ出力は破線で示されている。理想的にはノッチ型フィルタは、完全に同期して減算処理を行った場合、その出力はゼロになる。本発明に係る(数9)を利用するくし形フィルタ(図6中破線)が、よりゼロ出力に近い誤差の少ない値を得られている。
【実施例2】
【0043】
次に、第2の実施例として、図4にシステム関数が(数10)で示される共振型くし形フィルタ12の累積同期加算処理を示す。
【0044】
【数10】
【0045】
累積同期加算処理として、前記実施例1と同様の条件、すなわちNp=10.25をN=10で近似する、すなわちNp=10を用いる処理(数11)及び(数12)と、小数部F=25を用いる処理(数13)及び(数14)を比較する。
【0046】
【数11】
【0047】
【数12】
【0048】
【数13】
【0049】
【数14】
【0050】
この場合、図5(S8)において、Np=10に対応する処理が(100−F)=75周期である。それに対し、Np=11に対応する処理がF=25周期となるので、Np=10の処理(数13)を3周期分演算後、Np=11の処理(数14)を1周期分として同期加算すればよい。
【0051】
前記同期加算処理を必要な周期だけ繰り返し計算することで累積同期加算処理の平均化を実現している。なお、(数13)及び(数14)では、1周期離れた対応する2点のサンプル値を1周期にわたって同期加算することが特徴である。
【0052】
図7に入力信号x(n)=sin{2π×(100/1025)n}を示す。前記実施例1と同様に信号周波数fpは100Hz、サンプリング周波数fsは1025Hzの周期信号である。
【0053】
図8は、N=10で近似した同期周期で累積同期加算処理を行う共振型くし形フィルタの出力信号である。一方、図9は、小数部F=25を用いて、前記同期加算を必要な周期だけ繰り返し計算する、本発明に係る累積同期加算処理を行う共振型くし形フィルタの出力信号である。
【0054】
以下、図8と図9を比較する。(数11)では、同期が少しずれているため累積値y(n)はビートを打つ特性になる。一方、(数13)及び(数14)では、y(n)は直線的に増加していく。理想的には、周期入力信号に対する累積加算の共振型くし形フィルタの出力は、完全に同期が取れている場合、信号振幅が直線的に増加することが分かっている。したがって、本発明に係る累積同期加算処理は、ほぼ完全に同期が取れているといえる。
【実施例3】
【0055】
また、入力信号として一楽音信号を使用した場合の同期減算処理に関する実施例を示す。図10は、ピアノD6の基本周波数fp=1174.65Hzとその倍音成分の入力信号である。前記入力信号をノッチ型くし形フィルタ(数4)で同期減算処理する出力信号を図11と図12に示す。サンプリング周波数は44.1kHzであるので、およそ同期周期Np=37.5である。さらに、同期周期の値を整数として近似するとN=38である。図11の出力信号は、従来技術と同様に整数として近似した同期演算を行うノッチ型くし形フィルタの出力信号であり、図12の出力信号は、本発明に係る同期周期の小数部F=5を考慮した同期演算を行うノッチ型くし形フィルタの出力信号である。次に、得られた二つの同期方法による同期減算処理出力を比較する。
【0056】
図13は、二つの方法による同期減算処理に関するフィルタ出力信号のパワーを比較している。同期周期に少数部F=5を用いる同期減算処理は、より少ないパワーであり、パワーが信号振幅の2乗に比例することを考えると、本発明に係る同期方法を利用するくし形フィルタの方が、よりゼロ出力に近い誤差の少ない信号が得られているといえる。
【実施例4】
【0057】
最後に、入力信号として一楽音信号を使用した場合の累積同期加算処理に関する実施例を示す。図14は、ピアノC8の基本周波数fp=4185.98Hzとその倍音成分の入力信号である。前記入力信号に対する共振型くし形フィルタ(数10)を用いて累積同期加算を行う。サンプリング周波数は、fs=44.1kHzである。したがって、同期周期は、およそNp=10.3であり、整数として近似する同期周期N=10である。
【0058】
図15は、N=10で近似した同期周期で累積同期加算処理を行う共振型くし形フィルタの出力信号である。一方、図16は、小数部F=3を用いて、前記同期加算を必要な周期だけ繰り返し計算する、本発明に係る累積同期加算処理を行う共振型くし形フィルタの出力信号である。
【0059】
以下、図15と図16を比較する。近似された同期周期を用いる同期演算では、同期が少しずれているため累積値はビートが顕著になる。一方、本発明に係る同期周期を用いる同期演算では、累積値はビートが少なく、ほぼ直線的に増加していく。理想的には、周期入力信号に対する累積加算の共振型くし形フィルタの出力は、完全に同期が取れている場合、入力信号が定常周期信号であれば、信号振幅が直線的に増加することが分かっている。したがって、本発明に係る累積同期加算処理は、ほぼ同期が取れているといえる。ただし、実施例4の入力信号(図14)は,周期的減衰信号であり、その累積値は最終的に飽和する。そのため、図16において、サンプル数が大きくなると次第に直線増加から外れている。
【0060】
本発明により、サンプリング周波数を変えることなく、精度の良い同期加算および減算処理、または累積同期加算及び減算処理が行え、実音に対する特定周波数信号成分の抽出や除去に有効である。
【図面の簡単な説明】
【0061】
【図1】本発明に係る同期演算処理システムのブロック図である。
【図2】同期演算処理システムを実施するための計算機の概要図である。
【図3】本発明の実施例1に係る同期減算処理を行うノッチ型くし形フィルタの模式図である。
【図4】本発明の実施例2に係る累積同期加算処理を行う共振型くし形フィルタの模式図である。
【図5】本発明の実施例1と実施例2に係る同期演算処理のアルゴリズムを表すフローである。
【図6】本発明の実施例1に係る同期減算処理の入出力信号である。
【図7】本発明の実施例2に係る累積同期加算処理の入力信号である。
【図8】本発明の実施例2に係る図7の入力信号に対する同期周期を近似した累積同期加算処理の出力信号である。
【図9】本発明の実施例2に係る図7の入力信号に対する同期周期の小数部を考慮した累積同期加算処理の出力信号である。
【図10】本発明の実施例3に係る一楽音信号に対する同期減算処理の入力信号である。
【図11】本発明の実施例3に係る図10の入力信号に対する同期周期を近似した同期減算処理の出力信号である。
【図12】本発明の実施例3に係る図10の入力信号に対する同期周期の小数部を考慮した同期減算処理の出力信号である。
【図13】本発明の実施例3に係る一楽音信号に対する同期減算処理の二つの同期周期に対する出力信号のパワーである。
【図14】本発明の実施例4に係る一楽音信号に対する累積同期加算処理の入力信号である。
【図15】本発明の実施例4に係る図14の入力信号に対する同期周期を近似した累積同期加算処理の出力信号である。
【図16】本発明の実施例4に係る図14の入力信号に対する同期周期の小数部を考慮した累積同期加算処理の出力信号である。
【符号の説明】
【0062】
1 入力部
2 サンプリング処理部
3 同期処理部
4 出力部
5 計算機システムバス
6 インターフェイス
7 メモリ
8 外部記憶装置
9 演算装置
10 ノッチ型くし形フィルタ
11 縦列構成くし形フィルタシステム
12 共振型くし形フィルタ
13 並列構成くし形フィルタシステム
【技術分野】
【0001】
本発明は、信号成分の抽出あるいは除去を行うディジタル信号処理とディジタル信号処理プログラムに関する。
【背景技術】
【0002】
ディジタル信号処理の分野において、信号成分に同期した演算処理が望まれている。
【0003】
例えば、従来の同期加算処理では、同期信号である、インパルス信号に対応して、インパルス応答を発生させ、信号のSN比を増加させるために、前記インパルス応答を必要な回数だけ加算する処理が行われる(例えば、非特許文献1から3を参照)。
【0004】
前記同期加算法を利用したものとして、心電図、心磁図を同期検出するために使用し、その具体的装置に関する技術がある(特許文献1)。
【0005】
また、同期減算法に関して、装置の信号処理として、同一の刺激を2回ずつ繰り返して加えて、続けた2回の刺激で同期減算して随意筋電のみを抽出するもので、考えは上記同期加算処理と同様な技術がある(特許文献2)。なお、同期減算処理については二つのサンプル値間の補間値を求める処理と等価である。
【0006】
前記同期演算処理では、いずれも同期演算処理をしたいアナログ信号周波数fpとサンプリング周波数fsの比(数1)が問題になる。
【0007】
【数1】
【0008】
前記の同期演算処理は、いずれもディジタル信号処理の同期周期Npが整数であるとみなした処理であり、同期周期Npが整数でない場合には同期演算処理に誤差を生ずる。
【0009】
前記の同期周期Npが大きい場合、すなわちサンプリング周波数が相対的に十分大きい場合には、同期周期Npの小数点以下を四捨五入で丸める影響は同期演算処理に対して小さいと見なせる場合がある。
【0010】
一方、前記同期周期Npが小さい場合、すなわちサンプリング周波数が相対的に十分大きくない場合には、同期周期Npの小数点以下を四捨五入で丸める整数化の影響は同期演算処理に対して無視できなくなる。すなわち、同期周期Npを整数化することにより同期演算処理に誤差を生じる。
【0011】
前記ディジタル信号の同期演算処理に誤差が生じる場合、従来技術では、サンプル値間を補間して見かけ上のサンプリング周波数を大きな値にして対処することが行われている。
【0012】
しかし、前記信号サンプリングに関する補間処理は複雑な計算を伴うので、高い周波数に対して実時間で処理することや、計算能力が低い装置では処理することが困難であるという課題がある。
【0013】
したがって、前記信号サンプリングに関する補間処理を用いずに、与えられたサンプル条件のみを使用して、ディジタル信号への同期演算処理の精度を高める技術が望まれている。
【非特許文献1】宮川洋他著、「ディジタル信号処理」、電子情報通信学会偏、1975
【非特許文献2】小澤慎治著、「ディジタル信号処理」、実教出版、1979
【非特許文献3】島村徹也、黒岩世進伸、“ピッチ同期加算処理を用いた雑音低減に基づくLPC分析、”信学論、Vol.J87−A、pp.458−469、2004
【特許文献1】特公平7−67440号公報
【特許文献2】特開2004−255104号公報
【発明の開示】
【発明が解決しようとする課題】
【0014】
ディジタル信号の同期演算処理において、処理の対象とするアナログ信号周波数fpとサンプリング周波数fsの比、すなわち同期周期(前記数1)が整数でない場合であっても、与えられたサンプリング周波数を変えることなく、誤差の少ないディジタル信号の同期演算処理方法及び同期演算処理プログラムを提供することである。
【課題を解決するための手段】
【0015】
本発明に係るディジタル信号の同期演算処理は、対象とするアナログ信号周波数とサンプリング周波数との比が整数にならないときであっても、サンプリング周波数を変えることなく、同期周期を(数2)に示すように整数部と小数部に分け、前記整数部と小数部の数値を重みとして用いて、直接サンプリング周期だけ離れたサンプル値に対する同期演算処理を行うことを特徴とする。
【0016】
【数2】
【0017】
同期加算処理あるいは同期減算処理の場合には、任意の時刻にサンプリングされた二つのサンプル値x(N)とx(N+1)を小数部の数値Fにより適切な重みを付けて利用して、同期周期Npに関するサンプル値x(Np)を求め、前記二つのディジタル信号に対し同期加算あるいは同期減算処理を行うことが特徴である。
【0018】
また、累積加算処理あるいは累積減算処理の場合は、任意の時刻にサンプリングされたNまたはN+1だけ離れた2点間の対応するサンプル値を1周期にわたり同期加算あるいは同期減算する。その際、対応するサンプル値を小数部の数値Fにより調整し、平均としてNp離れた2点間の累積同期加算あるいは累積同期減算を行うことが特徴である。
【0019】
特に、累積同期加算については、補間値を求める処理では精度に限界がある。同期周期に相当する2点間を1周期にわたって同期加算し、平均的に同期周期が理論値の値にすることが特徴である。
【0020】
ディジタル信号同期演算処理プログラムは、計算機上で、サンプリング周期ごとに連続して前記ディジタル信号同期演算処理を行うことを特徴としている。
【発明の効果】
【0021】
本発明により、与えられたサンプリング周波数のみを利用して、同期周期、すなわち(数1)、が非整数であることによる同期演算処理の精度に対する誤差を小さくすることができる。
【発明を実施するための最良の形態】
【0022】
本発明を実施するための同期演算処理システムのブロック図を図1に示す。前記同期演算処理システムは、図2に示される計算機上で外部記憶装置に格納されたディジタル信号同期演算処理プログラムである。ただし、同期演算処理プログラムが動作する計算機であれば、図2の構成に限定されない。
【0023】
図1と図2を関連付けて説明する。同期演算処理プログラムは、予め外部記憶装置8に格納されている。動作時には計算機システムバス5を通じてメモリ7に読み込まれて計算機のインターフェイス6と演算装置9を活用して、本発明に係る同期演算処理を行う。
【0024】
入力部1は、時刻tにおける周波数fpのアナログ信号x(t)を、インターフェイスを通じて外部記憶装置8やメモリ7の一部に一時蓄えたりして、前記同期演算処理プログラムの入力信号として使用する。また、演算処理の対象となるアナログ信号は、入力として予め外部記憶装置8に格納されていてもよい。
【0025】
サンプリング処理部2では、前記アナログ入力信号x(t)は、サンプリング周波数はfsで、ディジタル信号x(n)にサンプリングされる。サンプリング後の信号x(n)は,外部記憶装置8の一部やメモリ7の一部に一時期的に格納される。
【0026】
同期処理部3は、前記サンプリングされたディジタル信号x(n)に対して、計算機の演算装置9とメモリ7や外部記憶装置8を活用して、対象とするアナログ信号周波数とサンプリング周波数との比である同期周期が整数にならないときであっても、サンプリング処理部2でのサンプリング周波数を変えてサンプリング処理を再実施することなく、サンプリング周波数1周期だけ離れた2点のサンプル値を整数部と小数部に分け、前記整数部と小数部の数値を直接重みとして用いることを特徴とする同期演算処理を行う。
【0027】
同期加算あるいは同期減算の場合、小数部の数値を何桁で表現するかで精度がほぼ決まる。例えば、小数以下を2桁とした場合、x(Np)は、以下で決定される。
【0028】
【数3】
【0029】
この処理は、2点x(N)とx(N+1)の補間値を求めることに相当する。また、累積同期加算あるいは累積同期減算の場合は、1周期離れた2点間のサンプル値x(n)とx(n+N)を1周期分お互いに対応するサンプル値を(100−F)周期分にわたり加減算し、F周期分は、対応する2点のサンプル値をx(n)とx(n+N+1)として加減算する。なお、(100−F)とFが可能な場合は約分し、上記の同期演算処理もできるだけ平均化されるように行い、平均として1周期がNpになるようにする。例えば、約分した結果が9/2になった場合は、4周期と1周期、5周期と1周期というような処理を行う。
【0030】
前記同期演算処理後の結果y(n)は、出力部4により外部記憶装置8に格納される。格納されるデータの形式は、単純に、あるnの値に対するy(n)の値を記述すればよい。
【実施例1】
【0031】
第1の実施例として、図3にシステム関数が(数4)で示されるノッチ型くし形フィルタ10の同期減算処理を示す。
【0032】
【数4】
【0033】
fpが100Hz、fsが1025Hzであったとすると、Npは10.25となり、(数1)により、Nは10であり、Fは25となる。まず、このとき同期減算処理を次の二式(数5)及び(数6)と(数7)すなわち(数8)および(数9)で実現した場合の特性を比較する。
【0034】
【数5】
【0035】
【数6】
【0036】
【数7】
【0037】
【数8】
【0038】
【数9】
【0039】
(数5)は、Np=10.25を整数化したN=10、すなわちNp=10を使用して、x(Np)の値を近似して、ノッチ型くし形フィルタ(数6)を実現している。
【0040】
図5に本発明の実施例に係る同期演算処理プログラムに関するアルゴリズムのフローを示す。図5におけるフローでは、まず演算回数(S1)を設定する。変数nは、サンプル時点に関する離散時間の変数であり、演算回数Mは、アナログ入力信号を処理するために十分な値にする必要がある。同期周期の計算(S2)後、前記同期周期の整数部Nと小数部Fを求める(S3)。図5におけるフローでは、同時に同期減算処理(S4)乃至(S6)と累積同期加算処理(S7)乃至(S9)を行うものであるが、二つの処理(S4)乃至(S6)または(S7)乃至(S9)を単独で行うフローであってもよい。また、以下の実施例の演算精度は小数点以下2桁とするが、これに限らず小数点以下3桁以上であっても単純に拡張が可能である。
【0041】
一方、(数8)では、図5に示される演算(S2)の結果(S3)において、整数部N=10の数値だけでなく、小数部の数値F=25を考慮する。図5(S5)では、x(n−10)の重みは3/4、x(n−11)の重みは1/4となり、x(Np)の値を求めてノッチ型くし形フィルタ(数9)を実現する。
【0042】
図6に入力信号x(n)=sin{2π×(100/1025)n}(図6中実線)と前記(数6)と(数9)で示されるシステム関数を持つ、それぞれのくし形フィルタの出力信号を示す。前者のフィルタ出力は点線で、後者のフィルタ出力は破線で示されている。理想的にはノッチ型フィルタは、完全に同期して減算処理を行った場合、その出力はゼロになる。本発明に係る(数9)を利用するくし形フィルタ(図6中破線)が、よりゼロ出力に近い誤差の少ない値を得られている。
【実施例2】
【0043】
次に、第2の実施例として、図4にシステム関数が(数10)で示される共振型くし形フィルタ12の累積同期加算処理を示す。
【0044】
【数10】
【0045】
累積同期加算処理として、前記実施例1と同様の条件、すなわちNp=10.25をN=10で近似する、すなわちNp=10を用いる処理(数11)及び(数12)と、小数部F=25を用いる処理(数13)及び(数14)を比較する。
【0046】
【数11】
【0047】
【数12】
【0048】
【数13】
【0049】
【数14】
【0050】
この場合、図5(S8)において、Np=10に対応する処理が(100−F)=75周期である。それに対し、Np=11に対応する処理がF=25周期となるので、Np=10の処理(数13)を3周期分演算後、Np=11の処理(数14)を1周期分として同期加算すればよい。
【0051】
前記同期加算処理を必要な周期だけ繰り返し計算することで累積同期加算処理の平均化を実現している。なお、(数13)及び(数14)では、1周期離れた対応する2点のサンプル値を1周期にわたって同期加算することが特徴である。
【0052】
図7に入力信号x(n)=sin{2π×(100/1025)n}を示す。前記実施例1と同様に信号周波数fpは100Hz、サンプリング周波数fsは1025Hzの周期信号である。
【0053】
図8は、N=10で近似した同期周期で累積同期加算処理を行う共振型くし形フィルタの出力信号である。一方、図9は、小数部F=25を用いて、前記同期加算を必要な周期だけ繰り返し計算する、本発明に係る累積同期加算処理を行う共振型くし形フィルタの出力信号である。
【0054】
以下、図8と図9を比較する。(数11)では、同期が少しずれているため累積値y(n)はビートを打つ特性になる。一方、(数13)及び(数14)では、y(n)は直線的に増加していく。理想的には、周期入力信号に対する累積加算の共振型くし形フィルタの出力は、完全に同期が取れている場合、信号振幅が直線的に増加することが分かっている。したがって、本発明に係る累積同期加算処理は、ほぼ完全に同期が取れているといえる。
【実施例3】
【0055】
また、入力信号として一楽音信号を使用した場合の同期減算処理に関する実施例を示す。図10は、ピアノD6の基本周波数fp=1174.65Hzとその倍音成分の入力信号である。前記入力信号をノッチ型くし形フィルタ(数4)で同期減算処理する出力信号を図11と図12に示す。サンプリング周波数は44.1kHzであるので、およそ同期周期Np=37.5である。さらに、同期周期の値を整数として近似するとN=38である。図11の出力信号は、従来技術と同様に整数として近似した同期演算を行うノッチ型くし形フィルタの出力信号であり、図12の出力信号は、本発明に係る同期周期の小数部F=5を考慮した同期演算を行うノッチ型くし形フィルタの出力信号である。次に、得られた二つの同期方法による同期減算処理出力を比較する。
【0056】
図13は、二つの方法による同期減算処理に関するフィルタ出力信号のパワーを比較している。同期周期に少数部F=5を用いる同期減算処理は、より少ないパワーであり、パワーが信号振幅の2乗に比例することを考えると、本発明に係る同期方法を利用するくし形フィルタの方が、よりゼロ出力に近い誤差の少ない信号が得られているといえる。
【実施例4】
【0057】
最後に、入力信号として一楽音信号を使用した場合の累積同期加算処理に関する実施例を示す。図14は、ピアノC8の基本周波数fp=4185.98Hzとその倍音成分の入力信号である。前記入力信号に対する共振型くし形フィルタ(数10)を用いて累積同期加算を行う。サンプリング周波数は、fs=44.1kHzである。したがって、同期周期は、およそNp=10.3であり、整数として近似する同期周期N=10である。
【0058】
図15は、N=10で近似した同期周期で累積同期加算処理を行う共振型くし形フィルタの出力信号である。一方、図16は、小数部F=3を用いて、前記同期加算を必要な周期だけ繰り返し計算する、本発明に係る累積同期加算処理を行う共振型くし形フィルタの出力信号である。
【0059】
以下、図15と図16を比較する。近似された同期周期を用いる同期演算では、同期が少しずれているため累積値はビートが顕著になる。一方、本発明に係る同期周期を用いる同期演算では、累積値はビートが少なく、ほぼ直線的に増加していく。理想的には、周期入力信号に対する累積加算の共振型くし形フィルタの出力は、完全に同期が取れている場合、入力信号が定常周期信号であれば、信号振幅が直線的に増加することが分かっている。したがって、本発明に係る累積同期加算処理は、ほぼ同期が取れているといえる。ただし、実施例4の入力信号(図14)は,周期的減衰信号であり、その累積値は最終的に飽和する。そのため、図16において、サンプル数が大きくなると次第に直線増加から外れている。
【0060】
本発明により、サンプリング周波数を変えることなく、精度の良い同期加算および減算処理、または累積同期加算及び減算処理が行え、実音に対する特定周波数信号成分の抽出や除去に有効である。
【図面の簡単な説明】
【0061】
【図1】本発明に係る同期演算処理システムのブロック図である。
【図2】同期演算処理システムを実施するための計算機の概要図である。
【図3】本発明の実施例1に係る同期減算処理を行うノッチ型くし形フィルタの模式図である。
【図4】本発明の実施例2に係る累積同期加算処理を行う共振型くし形フィルタの模式図である。
【図5】本発明の実施例1と実施例2に係る同期演算処理のアルゴリズムを表すフローである。
【図6】本発明の実施例1に係る同期減算処理の入出力信号である。
【図7】本発明の実施例2に係る累積同期加算処理の入力信号である。
【図8】本発明の実施例2に係る図7の入力信号に対する同期周期を近似した累積同期加算処理の出力信号である。
【図9】本発明の実施例2に係る図7の入力信号に対する同期周期の小数部を考慮した累積同期加算処理の出力信号である。
【図10】本発明の実施例3に係る一楽音信号に対する同期減算処理の入力信号である。
【図11】本発明の実施例3に係る図10の入力信号に対する同期周期を近似した同期減算処理の出力信号である。
【図12】本発明の実施例3に係る図10の入力信号に対する同期周期の小数部を考慮した同期減算処理の出力信号である。
【図13】本発明の実施例3に係る一楽音信号に対する同期減算処理の二つの同期周期に対する出力信号のパワーである。
【図14】本発明の実施例4に係る一楽音信号に対する累積同期加算処理の入力信号である。
【図15】本発明の実施例4に係る図14の入力信号に対する同期周期を近似した累積同期加算処理の出力信号である。
【図16】本発明の実施例4に係る図14の入力信号に対する同期周期の小数部を考慮した累積同期加算処理の出力信号である。
【符号の説明】
【0062】
1 入力部
2 サンプリング処理部
3 同期処理部
4 出力部
5 計算機システムバス
6 インターフェイス
7 メモリ
8 外部記憶装置
9 演算装置
10 ノッチ型くし形フィルタ
11 縦列構成くし形フィルタシステム
12 共振型くし形フィルタ
13 並列構成くし形フィルタシステム
【特許請求の範囲】
【請求項1】
ディジタル信号の同期演算処理であって、対象とするアナログ信号周波数とサンプリング周波数との比が整数にならないとき、サンプリング周波数を変えることなく、前記アナログ信号周波数とサンプリング周波数との比の値を整数部と小数部に分け、前記整数部と小数部の数値を重みとして直接用いて、サンプリング周期だけ離れたサンプル値に対して直ちにディジタル信号同期演算処理行うことを特徴とするディジタル信号同期演算処理方法。
【請求項2】
請求項1に記載のディジタル信号同期演算処理方法であって、任意の時刻にサンプリングされた二つのディジタル信号に対し同期加算あるいは同期減算処理を行うことを特徴とするディジタル信号同期演算処理方法。
【請求項3】
請求項1に記載のディジタル信号同期演算処理方法であって、任意の時刻にサンプリングされたディジタル信号に対し累積同期加算あるいは累積同期減算を行うことを特徴とするディジタル信号同期演算処理方法。
【請求項4】
請求項1乃至請求項3に記載のディジタル信号同期演算処理方法であって、サンプリング周期ごとに連続して前記ディジタル信号同期演算処理を行うことを特徴とするディジタル信号同期演算処理プログラム。
【請求項1】
ディジタル信号の同期演算処理であって、対象とするアナログ信号周波数とサンプリング周波数との比が整数にならないとき、サンプリング周波数を変えることなく、前記アナログ信号周波数とサンプリング周波数との比の値を整数部と小数部に分け、前記整数部と小数部の数値を重みとして直接用いて、サンプリング周期だけ離れたサンプル値に対して直ちにディジタル信号同期演算処理行うことを特徴とするディジタル信号同期演算処理方法。
【請求項2】
請求項1に記載のディジタル信号同期演算処理方法であって、任意の時刻にサンプリングされた二つのディジタル信号に対し同期加算あるいは同期減算処理を行うことを特徴とするディジタル信号同期演算処理方法。
【請求項3】
請求項1に記載のディジタル信号同期演算処理方法であって、任意の時刻にサンプリングされたディジタル信号に対し累積同期加算あるいは累積同期減算を行うことを特徴とするディジタル信号同期演算処理方法。
【請求項4】
請求項1乃至請求項3に記載のディジタル信号同期演算処理方法であって、サンプリング周期ごとに連続して前記ディジタル信号同期演算処理を行うことを特徴とするディジタル信号同期演算処理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2010−56688(P2010−56688A)
【公開日】平成22年3月11日(2010.3.11)
【国際特許分類】
【出願番号】特願2008−217313(P2008−217313)
【出願日】平成20年8月26日(2008.8.26)
【出願人】(304027349)国立大学法人豊橋技術科学大学 (391)
【公開日】平成22年3月11日(2010.3.11)
【国際特許分類】
【出願日】平成20年8月26日(2008.8.26)
【出願人】(304027349)国立大学法人豊橋技術科学大学 (391)
[ Back to top ]