JP7263271B2 - 演算装置およびプログラム - Google Patents

演算装置およびプログラム Download PDF

Info

Publication number
JP7263271B2
JP7263271B2 JP2020006128A JP2020006128A JP7263271B2 JP 7263271 B2 JP7263271 B2 JP 7263271B2 JP 2020006128 A JP2020006128 A JP 2020006128A JP 2020006128 A JP2020006128 A JP 2020006128A JP 7263271 B2 JP7263271 B2 JP 7263271B2
Authority
JP
Japan
Prior art keywords
period candidate
value
interval
fundamental
difference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020006128A
Other languages
English (en)
Other versions
JP2020118684A (ja
Inventor
幸宏 神谷
敬泰 佐々木
保胤 奥間
Original Assignee
株式会社Cdsi
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社Cdsi filed Critical 株式会社Cdsi
Publication of JP2020118684A publication Critical patent/JP2020118684A/ja
Application granted granted Critical
Publication of JP7263271B2 publication Critical patent/JP7263271B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は演算装置およびプログラムに関する。
周波数解析を行なう技術としては一般的にDFT(Discrete Fourier Transform:離散フーリエ変換)やそれを高速に実行するFFT(Fast Fourier Transform:高速フーリエ変換)といった方法が知られている。
特開2017-119285号公報 特開2005-207870号公報 特開2003-232674号公報 特開平7-311227号公報
DFTやFFTを用いた周波数解析においては、事前に入力される波形の基本周波数が分かっていなければ結果が保証されないという問題がある。また、計算コストも高いという問題がある。
このため、ある程度長い期間の情報を入力することで誤差を最小化するであるとか、経験的な値を適用するであるとか、事前に波形を確認して基本周波数と思われる周波数を推測するといった方法によって誤差を最小化する試みが行われてきた。
1つの側面では、本発明は、入力される波の基本周期を容易に把握することを目的とする。
上記目的を達成するために、開示の周期フィルタが提供される。この周期フィルタは、入力される離散時間信号から、予め割り当てられたそれぞれの時間長が異なる基本周期候補区間に含まれる連続した離散点をパラレルに出力ポートへ出力する複数の信号出力部と、各信号出力部により出力される信号の値を、出力ポート毎にそれぞれ足し合わせることで基本周期候補区間毎の累積値を算出する加算部と、基本周期候補区間毎の累積値の頂点の軌跡により生じる傾きの差分を基礎に基本周期を導出する演算を実行する演算部と、を有している。
1態様では、入力される波の基本周期を容易に把握することができる。
第1の実施の形態の集積回路を示す図である。 第1の実施の形態の周期フィルタの一例を示す図である。 加算器の処理を説明する図である。 加算器の処理を説明する図である。 第1の実施の形態の周期フィルタの処理を説明するフローチャートである。 第1の実施の形態の周期フィルタの処理を説明するフローチャートである。 基本周期を正確に識別できることを説明する図である。 基本周期を正確に識別できることを説明する図である。 基本周期を正確に識別できることを説明する図である。 基本周期を正確に識別できることを説明する図である。 基本周期を正確に識別できることを説明する図である。 傾斜したARSスペクトルを説明する図である。 第2の実施の形態の周期フィルタの一例を示す図である。 第2の実施の形態の第1演算部および第2演算部の処理の概要を説明する図である。 第2演算を説明する図である。 第2演算を説明する図である。 第2演算を説明する図である。 第2演算の応用例を説明する図である。 第2演算の応用例を説明する図である。 第2の実施の形態の周期フィルタの処理を説明するフローチャートである。 第2の実施の形態の周期フィルタの処理を説明するフローチャートである。 第2の実施の形態の周期フィルタの処理の第1の実施例を説明する図である。 第2の実施の形態の周期フィルタの処理の第1の実施例を説明する図である。 第2の実施の形態の周期フィルタの処理の第2の実施例を説明する図である。 第2の実施の形態の周期フィルタの処理の第3の実施例を説明する図である。 第3の実施の形態の周期フィルタの処理を説明するフローチャートである。 第3の実施の形態の周期フィルタの処理を説明するフローチャートである。 第3の実施の形態の周期フィルタの処理の実施例を説明する図である。 第3の実施の形態の周期フィルタの変形例の処理を説明するフローチャートである。 第3の実施の形態の周期フィルタの変形例の処理を説明するフローチャートである。
以下、実施の形態の集積回路を、図面を参照して詳細に説明する。
以下の図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲等に限定されない。
実施の形態において単数形で表される要素は、文面で明らかに示されている場合を除き、複数形を含むものとする。
<第1の実施の形態>
図1は、第1の実施の形態の集積回路を示す図である。
集積回路1は、送信部(Transmitter)2と、受信部(Receiver)3と、ADC(Analog Digital Converter)4と、周期フィルタ(周期決定部)5とを有している。
送信部2は、周期を測定する対象(測定対象)にアンテナ21を介して電磁波や音声、超音波などの周期信号(電磁波等)を発信する。送信部2と受信部3との組み合わせは、図示したものに限定されず、例えば、送信側がスピーカで受信側がマイクであってもよい。
測定対象としては、例えば、生体の心拍および呼吸によって生じる体表面の偏位等が挙げられる。測定対象は1つでもよいし、図1に示すように複数でもよい。
受信部3は、測定対象周波数の偏差を検出する。測定対象周波数を検出した波形には、ノイズ(η)が乗っている。
ADC4は、受信部3が受信したアナログ値をデジタル値(離散時間信号)に変換する。
なお、集積回路1が有する機能の一部または全部をソフトウェアで実現してもよい。
機能の一部をソフトウェアで実現する場合には、コンピュータ上でそのソフトウェアを動作させてもよい。
なお、受信部3は、実数、虚数を分離する機能を備えていてもよい。その場合、ADC4は、実数、虚数それぞれをデジタル値に変換するようになっていてもよい。
実施の形態の周期フィルタ5は、基本周期の違いによって重なった波を分離して周期スペクトルを出力する。この周期フィルタ5は、入力される波についての事前情報がなくても波を分離することができる。
なお、周期フィルタ5は、FPGA(Field-Programmable gate array)等で専用回路を生成してもよいし、DSP(Digital Signal Processor)で実現することもできる。
図2は、第1の実施の形態の周期フィルタの一例を示す図である。
周期フィルタ5は、k(k=1・・・V)個の標本化回路(図面においてはv(v=1、2、・・・V)個のSPC:Serial Parallel Converterと表記する場合もある)5a1、5a2、・・・、5aVと、標本化回路5a1、5a2、・・・、5aVに対応するv(v=1、2、・・・V)個の積算器(Accumulator)として機能する加算器5b1、5b2、・・・、5bVと、最大値検出部5cとを有している。
標本化回路5a1、5a2、・・・、5aVは、それぞれ入力される離散時間信号を標本化してパラレル出力する。より具体的には、標本化回路5a1、5a2、・・・、5aVは入力される離散時間信号から、予め割り当てられた、それぞれの時間長が異なる区間(基本周期候補区間)に含まれる連続した離散点を抽出してパラレルに出力する。
すなわち、基本周期候補区間において抽出する離散点の数(サンプル数)は、標本化回路5a1、5a2、・・・、5aVそれぞれで異なる。より具体的には、これらの標本化回路5a1、5a2、・・・、5aVは、予め割り当てられた周期の範囲に応じて抽出された、異なるサンプル数を出力ポートから繰り返し出力する。
例えばADC4の出力が144サンプルである場合であり、標本化回路5a1に設定された予測される周期の範囲が3サンプルである場合、連続する3サンプルを48回繰り返し出力する。また、標本化回路5a2に設定された予測される周期の範囲が4サンプルである場合、連続する4サンプルを36回繰り返し出力する。なお、繰返し出力する回数を標本化回路5a1、5a2、・・・、5aVで一律にしてもよい。
本実施の形態では、標本化回路5a1、5a2、・・・、5aVのうち、標本化回路5a1のサンプル数が最も少なく、標本化回路5a2、5a3と順々に1つずつサンプル数を増やしている。
加算器5b1、5b2、・・・、5bVは、標本化回路5a1、5a2、・・・、5aVの出力ポートからそれぞれ入力される各サンプルの値を、同一ポート毎に足し合わせる。
加算器5b1、5b2、・・・、5bVは、それぞれに保存している値と新たに入力される値を加算して加算結果を更新する。
最大値検出部5cは、加算器5b1、5b2、・・・、5bVの演算結果の絶対値を比較し、最も大きな加算結果の絶対値を出力した加算器5b1、5b2、・・・、5bVに値を出力した標本化回路5a1、5a2、・・・、5aVに設定された区間(標本化される最初の離散点と最後の離散点の間)の長さにより決定される距離を基本周期であると判断して出力する。
なお、演算結果の絶対値の比較方法については、特に限定されないが、例えば加算器5b1、5b2、・・・、5bVの演算結果を、加算の回数で割った平均値の絶対値を比較器で比較するようにしてもよい。他の例では、例えば加算器5b1、5b2、・・・、5bVの全ての演算結果を正規化して比較するようにしてもよい。
図3および図4は、加算器の処理を説明する図である。
図3は、予測される周期の範囲が8サンプルである場合を例示しており、標本化回路5aXの出力ポート数は「8」である。このとき、パラメータg(予測される周期を1区間の長さとして入力波形を分割した場合に、入力波形の初めから数えた該当区間の順番)=0、1、2、3の場合の各出力ポートそれぞれの値(出力値)はほぼ等しく、同じ波形が出現している。このため同一の出力ポート毎に出力される信号の値をそれぞれ足し合わせることで、振幅の値が大きな波形となる。従って、8サンプルが1周期であると判断することができる。
図4は、予測される周期の範囲が7サンプルである場合を例示しており、標本化回路5aYの出力ポート数は「7」である。このとき、パラメータg=0、1、2、3の場合の各出力ポートそれぞれの値(出力値)は異なりバラバラの値となる。このため同一ポート毎に値を足し合わせると互いに打ち消しあい、振幅の値が小さな波形となる。
このように、周期が一致している波の離散値を足してくと、どんどん絶対値が大きくなっていく。周期が一致していない波の離散値を足していっても互いに打ち消し合うため絶対値は大きくならない。従って、絶対値が最も大きくなる加算器に対応する標本化回路の抽出区間の長さを検出することにより、基本周期を容易に発見することができる。
また、最大値検出部5cは、最も大きな積算結果を1となるように全ての積算結果の絶対値を正規化し、正規化された積算結果の絶対値と、0以上1以下の閾値とを比較して、入力される離散時間信号に含まれる信号の数と、それぞれの周期と、を判定することができる。
次に、周期フィルタ5の処理を、フローチャートを用いて説明する。なお、以下に示す処理は一例であり、一部の処理を省略してもよい。一部の処理を他の処理に置き換えてもよい。処理と処理の間に他の処理を実行してもよい。一部の処理の順序を入れ替えてもよい。
図5および図6は、周期フィルタの処理を説明するフローチャートである。
[ステップS1] 周期フィルタ5は、以下の演算に使用する標本化回路の個数Vを設定する。その後、ステップS2に遷移する。
[ステップS2] 周期フィルタ5は、パラメータv=1に設定する。その後、ステップS3に遷移する。
[ステップS3] 周期フィルタ5は、v番目の標本化回路の出力ポート数をu(v)に決定する。その後、ステップS4に遷移する。
[ステップS4] 周期フィルタ5は、全ての要素が0の1行u(v)の配列w(v)を作成する。その後、ステップS5に遷移する。
[ステップS5] 周期フィルタ5は、パラメータg=1、k=1を設定する。その後、ステップS6に遷移する。
[ステップS6] 周期フィルタ5は、累積する標本化回路出力の個数Gを決定する。その後、ステップS7に遷移する。
[ステップS7] 加算器5b1、5b2、・・・、5bVは、v番目の標本化回路に入力サンプルx[k]からx[k+u-1]までを入力する。得られた出力を1行u(v)の配列x(g)とする。その後、ステップS8に遷移する。
[ステップS8] 加算器5b1、5b2、・・・、5bVは、以下の演算を行う。W(v)=W(v)+x(g)、k=g・u(v)。その後、ステップS9に遷移する。
[ステップS9] 周期フィルタ5は、以下の演算を行う。g=g+1。その後、ステップS10に遷移する。
[ステップS10] 周期フィルタ5は、パラメータgが個数G以下か否かを判断する。パラメータgが個数G以下である場合(ステップS10のYes)、ステップS7に遷移する。パラメータgが個数Gより大きい場合(ステップS10のNo)、ステップS11に遷移する。
[ステップS11] 周期フィルタ5は、以下の演算を行う。W(v)=W(v)/g。その後、ステップS12に遷移する。
[ステップS12] 最大値検出部5cは、配列W(v)の要素のうち、絶対値が最大の要素を特定し、その要素の値をp(v)とする。その後、ステップS13に遷移する。
[ステップS13] 周期フィルタ5は、以下の演算を行う。v=v+1。その後、ステップS14に遷移する。
[ステップS14]周期フィルタ5は、パラメータvが個数V以下か否かを判断する。パラメータvが個数V以下である場合(ステップS14のYes)、ステップS3に遷移する。パラメータvが個数Vより大きい場合(ステップS14のNo)、ステップS15に遷移する。
[ステップS15] 周期フィルタ5は、p(1)からp(V)のうち、最大となる値を特定し、その値をp1とする。このp1が1となるようにp(1)からp(V)までを正規化し、得られた値を、それぞれP(1)からP(V)として1行V列の行列P=[P(1),P(2),・・・,P(V)]を作る。その後、ステップS16に遷移する。
[ステップS16] 周期フィルタ5は、閾値Q(0<Q≦1)を設定する。その後、ステップS17に遷移する。
[ステップS17] 周期フィルタ5は、行列Pの要素のうち、閾値Qを超えるものを全て選択する。選択された要素数をNとする。
[ステップS18] 周期フィルタ5は、行列Pの要素のうち、閾値Qを超える要素の番号をV1,・・・V1として記録する。
[ステップS19] 周期フィルタ5は、要素数Nを信号数として出力する。また、周期フィルタ5は、それぞれの周期としてV1,・・・V1を出力する。また、周期フィルタ5は、推定基本波形としてW(V1),・・・W(V1)とする。その後、図5および図6の処理を終了する。
図7~図11は、基本周期を正確に識別できることを説明する図である。
図7に示すように、1周期を31サンプルと仮定した場合と、1つの0を付加して1周期を32サンプルに仮定した場合を例示する。
図8に示すように、1周期を31サンプルと仮定した場合と、32サンプルと仮定した場合では、周期が少しずつずれていく。
図9は、図8のアナログ波形に対する周期フィルタ5のステップS15における1行V列の行列P=[P1P(2)・・・P(39)]を示している。1周期を31サンプルと仮定した場合の絶対値が最も大きい。従って周期フィルタ5は、31サンプルの長さにより決定される距離を、基本周期であると判断して出力する。
図10は、受信部3が受信したアナログ波形の一例を示している。
図10に示すアナログ波形は、図8に示すアナログ波形に比べてノイズが加わり、一見では基本周期の特定が難しい。
図11は、アナログ波形に対する周期フィルタ5のステップS15における1行V列の行列P=[P1P(2)・・・P(39)]を示している。
1周期を31サンプルと仮定した場合と、32サンプルと仮定した場合が大きく突出しているが、1周期を32サンプルに仮定した場合の値が最も大きい。従って周期フィルタ5は、32サンプルの長さにより決定される距離を、基本周期であると判断して出力する。このように、周期フィルタ5によれば、僅かな周期の違いであっても基本周期を容易に検出することができる。すなわち、通常、隣り合った波を区別することや、波形のよく似た高相関の波を分離することはとても難しく、同時に、検出される波と検出されない波が隣り合っている場合でもここまで明確に区別することは困難である。
これに対し、図11に示すように、実施の形態の周期フィルタ5によれば、図10に示す信号を入力した場合に正しく周期が検出できることを示していることと、高相関の二つの波である31サンプルの波と32サンプルの波について同時に入力された場合でもそれを明確に区別できること、それ以外の波については明らかに検出されていないことなどが示されている。
以上述べたように、集積回路1によれば、標本化回路5a1、5a2、・・・、5aVと加算器5b1、5b2、・・・、5bV、および最大値検出部5cとを有する周期フィルタ5を備え、入力として離散時間信号を用いて、入力波形を構成する一つ又は複数の波形の周期を求めることができる。
従って、波形の情報を事前に取得しなくても、単純な標本化と足し合わせの組み合わせによる方法を用いて、1つまたは複数の入力波形を解析することができる。また、高い相関を持った異なる基本周波数の波形が同時に存在する場合に、これらを区別して出力できる。
また、周期フィルタ5は、FFTやDFT等一般的な周波数解析方法と比較して低周波域の解像度が特に高くなる。このため、より高精度に基本周期を求めることができる。
また、固定小数点演算が可能なことや、加算処理を主に用いて演算を行なうことから、高速且つ高精度、並びに、低計算資源での周期解析を実現できる。
また、異なる基本周期の波形が複数合成された入力波形を解析し、各波形の基本周期並びに1/n倍周期の高調波の周期を求めることができる。
また、上記異なる基本周期の波形は、相関の高い波形であっても良い。
また、上記異なる基本周期の波形は、周波数帯域が隣接する、若しくは重なった波形であっても良い。
また。周期フィルタ5により特定された基本周期を用いてFFT解析を行なうことも出来る。
なお、周期フィルタ5が行なった処理が複数の装置によって分散処理されるようにしてもよい。例えば、一つの装置が、標本化処理を行ない、他の装置が、その出力されたパラレル値を用いて基本周期を特定するようにしても良い。
<第2の実施の形態>
次に、第2の実施の形態の集積回路について説明する。
以下、第2の実施の形態の集積回路について、前述した第1の実施の形態との相違点を中心に説明し、同様の事項については、その説明を省略する。
第1の実施の形態の周期フィルタ5は、比較的少ないサンプル数を抽出してパラレルに出力する標本化回路(以下、少SPCとも言う)から比較的多いサンプル数を抽出してパラレルに出力する標本化回路(以下、多SPCとも言う)を多数実装することができる。少SPCの出力ポートから出力される各サンプルの値の加算結果の累積値は、多SPCの出力ポートから出力される各サンプルの値の加算結果の累積値より大きくなる。そのため、標本化回路の出力をそのまま累積すると、少SPCの累積数が多いので、傾斜したARSスペクトル(周期に対する各標本化回路の出力ポートから出力される値の累積値)が得られる。
図12は、傾斜したARSスペクトルを説明する図である。
縦軸は各標本化回路の出力ポートから出力される値の累積値を示している。横軸は周期を示している。
出力ポートの数が少ない標本化回路ほど、出力数が多いので、左側にいくほど標本化回路の出力の累積値が多くなる。
この問題を解決するため、例えば、標本化回路の出力を累積したあと、累積数で割って平均する方法が考えられる。これにより累積数の差がなくなり、ARSスペクトルが平らになる。
しかしながら、標本化回路の数と同じ数の割り算を実行すると、演算量がその分大幅に増えることになる。また、平均をとったとしてもS/N比が低いとき、今度はARSスペクトルが右肩上がりとなってしまう。このようにARSスペクトルが傾斜していると、ピーク検出がうまくいかない場合がある。第2の実施の形態の周期フィルタは、この問題を解決することを目的の1つとしている。
図13は、第2の実施の形態の周期フィルタの一例を示す図である。
第2の実施の形態の周期フィルタ50は、第1演算部5dと第2演算部5eとを有している。第1演算部5dと第2演算部5eは、基本周期候補区間毎の累積値の頂点の軌跡により生じる傾きの差分を基礎に基本周期を導出する演算を実行する。
図14は、第2の実施の形態の第1演算部および第2演算部の処理の概要を説明する図である。
第1演算部5dは、ARSスペクトルの値の右側から左側の値の差分(以下、左差分と言う)を演算する。また、第1演算部5dは、ARSスペクトルの値の左側から右側の値の差分(以下、右差分と言う)を演算(第1演算)する。
図14に示す例では、ARSスペクトルの値を識別する(1)~(6)の符号を付している。そして、左差分、右差分の演算式を示している。図14に示す例では、隣接する値同士の差分を演算しているが、1以上の間隔を開けて左差分及び右差分を演算するようにしてもよい(この例については後述する)。
そして、第2演算部5eは、求めた左差分及び右差分を用いて第2演算を行う。具体的には、第2演算部5eは、第1演算で演算した間隔だけ左差分と右差分をずらして左差分と右差分を足し合わせる演算を行う。例えば、隣接するARSスペクトルの値同士で右差分と左差分を演算した場合は、第2演算部5eは、1つ分、左差分と右差分をずらして左差分と右差分を足し合わせる演算を行う。これにより、ARSスペクトルの傾斜が相殺され、ピークが浮き上がってより分かり易くなる。
図15~図17は、第2演算を説明する図である。
図15に示すARSスペクトルは、ピークが1つのケースである。図15中アスタリスクで示したARSスペクトルの値がピーク値である。左差分及び右差分を用いて第2演算を行うことでピークを検出することができる。
図16に示すARSスペクトルは、ピークが2つのケースである。図16中アスタリスクで示したARSスペクトルの値がピーク値である。この場合も図15に示す場合と同様に左差分及び右差分を用いて第2演算を行うことでピークを検出することができる。
図17に示すARSスペクトルは、ピークが3つのケースである。図17中アスタリスクで示したARSスペクトルの値がピーク値である。この場合も図15に示す場合と同様に左差分及び右差分を用いて第2演算を行うことでピークを検出することができる。
図18および図19は、第2演算の応用例を説明する図である。
図18に示すARSスペクトルは、図17に示すARSスペクトルと同様に、ピークが3つのケースである。
前述したように、第2演算部5eは、1以上の間隔を開けて左差分及び右差分を演算するようにしてもよい。図18に示す例では、第2演算部5eは、1つの間隔を開けて左差分及び右差分を第1演算している。このような第1演算を行った場合、第2演算部5eは、2つ分、左差分と右差分をずらして左差分と右差分を足し合わせる演算を行う。
また、複数のスペクトル間で差分をとることにより、隣り合った信号も検出することができる。
図20および図21は、第2の実施の形態の周期フィルタの処理を説明するフローチャートである。
[ステップS21] 周期フィルタ50は、以下の演算に使用する標本化回路の個数Vを設定する。その後、ステップS22に遷移する。
[ステップS22] 周期フィルタ50は、パラメータv=1に設定する。その後、ステップS23に遷移する。
[ステップS23] 周期フィルタ50は、v番目の標本化回路の出力ポート数をu(v)に決定する。その後、ステップS24に遷移する。
[ステップS24] 周期フィルタ50は、全ての要素が0の1行u(v)の配列W(v)を作成する。その後、ステップS25に遷移する。
[ステップS25] 周期フィルタ50は、パラメータg=1、k=1を設定する。その後、ステップS26に遷移する。
[ステップS26] 周期フィルタ50は、累積する標本化回路出力の個数Gを決定する。その後、ステップS27に遷移する。
[ステップS27] 加算器5b1、5b2、・・・、5bVは、v番目の標本化回路に入力サンプルx[k]からx[k+u-1]までを入力する。得られた出力を1行u(v)の配列X(g)とする。その後、ステップS28に遷移する。
[ステップS28] 加算器5b1、5b2、・・・、5bVは、以下の演算を行う。W(v)=W(v)+X(g)、k=g・u(v)。その後、ステップS29に遷移する。
[ステップS29] 周期フィルタ50は、以下の演算を行う。g=g+1。その後、ステップS30に遷移する。
[ステップS30] 周期フィルタ50は、パラメータgが個数G以下か否かを判断する。パラメータgが個数G以下である場合(ステップS30のYes)、ステップS27に遷移する。パラメータgが個数Gより大きい場合(ステップS30のNo)、ステップS31に遷移する。
[ステップS31] 周期フィルタ50は、以下の演算を行う。v=v+1。その後、ステップS32に遷移する。
[ステップS32]周期フィルタ50は、パラメータvが個数V以下か否かを判断する。パラメータvが個数V以下である場合(ステップS32のYes)、ステップS23に遷移する。パラメータvが個数Vより大きい場合(ステップS32のNo)、ステップS33に遷移する。
[ステップS33] 周期フィルタ50は、p(1)からp(V)のうち、最大となる値を特定し、その値をp1とする。このp1が1となるようにp(1)からp(V)までを正規化し、得られた値を、それぞれP(1)からP(V)として1行V列の行列P=[P(1),P(2),・・・,P(V)]を作成する。その後、ステップS34に遷移する。
[ステップS34] 第1演算部5dは、行列Pについて第1演算を実行する。また、第2演算部5eは、第2演算を実行する。そして、1行(V-2)列の行列P0=[P0(2),P0(3),・・・,P0(V-1)]を作成する。その後、ステップS35に遷移する。
[ステップS35] 周期フィルタ50は、行列P00の要素のうち、S/N比がs[dB](Sは0を超える任意の実数)以上の要素の番号(要素番号)をV1,・・・V1として記録する。その後、ステップS36に遷移する。
[ステップS36] 周期フィルタ50は、要素数Nを信号数として出力する。また、周期フィルタ50は、それぞれの周期としてV1,・・・V1を出力する。また、周期フィルタ50は、推定基本波形としてW(V1),・・・W(V1)とする。その後、図20および図21の処理を終了する。
以下、実際の計測結果を用いて第2の実施の形態の周期フィルタ50の処理を説明する。
図22および図23は、第2の実施の形態の周期フィルタの処理の第1の実施例を説明する図である。
図22(a)は、第1の実施例のARSスペクトルを示している。1周期を51サンプル、52サンプル、102サンプル、104サンプルと仮定した場合が大きく突出している。
図22(b)は、図22(a)に示すARSスペクトルに対し周期フィルタ50が第1演算を施した演算結果を示している。傾斜が取り除かれ、大きく突出しているサンプルがより強調されている。
図23は、図22(b)の第1演算の演算結果に対し第2演算を実行した演算結果を示している。
図24は、第2の実施の形態の周期フィルタの処理の第2の実施例を説明する図である。
図24(a)は、第2の実施例のARSスペクトルを示している。第2の実施例では、累積値が大きく突出する複数の連続したサンプル(101~105)が存在する。また、連続したサンプルから少し離れた位置に大きく突出するサンプル(108)が存在する。
図24(b)は、図24(a)に示すARSスペクトルに対し周期フィルタ50が第1演算を施した演算結果を示している。第2の実施例のようなARSスペクトルに対しても傾斜が取り除かれ、大きく突出しているサンプルがより強調されている。
第2の実施の形態の集積回路によれば、さらに、比較的簡易な演算によりピークを容易かつ確実に検出することができる。
<第3の実施の形態>
次に、第3の実施の形態の集積回路について説明する。
以下、第3の実施の形態の集積回路について、前述した第1の実施の形態および第2の実施の形態との相違点を中心に説明し、同様の事項については、その説明を省略する。
第2の実施の形態の集積回路の処理においては、ノイズによって少し孤立した箇所に存在するサンプルは、相対的に累積値が大きくなる。
図25は、第2の実施の形態の周期フィルタの処理の第3の実施例を説明する図である。
第3の実施例は、S/N比の低い入力(受信部3が受信したアナログ値)に対して周期フィルタ50が処理を行った場合を示している。
図25(a)は、第3の実施例のARSスペクトルを示している。第3の実施例では、累積値が大きく突出する複数の連続したサンプル(101~105)が存在する。また、連続したサンプルから少し離れた位置に大きく突出するサンプル(108)が存在する。
図25(b)は、図25(a)に示す第3の実施例のARSスペクトルに対し周期フィルタ50が第1演算を施した演算結果を示している。
S/N比の低い入力の場合、周期フィルタ50が第1処理を施しても、サンプル(101~105及び108)の他に、本来は存在しないはずのサンプル(127)が検出されていることがわかる。このようなS/N比の低い入力の場合、検出されたサンプルが、信号であるのか、ノイズであるのかの判断が難しい場合がある。
第3の実施の形態の集積回路は、以下の処理を実行することにより、ノイズの影響を低減させて、ピークとノイズを容易に見分けられるようにすることを目的の1つとしている。
図26および図27は、第3の実施の形態の周期フィルタの処理を説明するフローチャートである。第3の実施の形態の周期フィルタの処理では、新たにステップS42、S43、S57、S58の処理が追加されている。
[ステップS41] 周期フィルタ50は、以下の演算に使用する標本化回路の個数Vを設定する。その後、ステップS42に遷移する。
[ステップS42] 周期フィルタ50は、パラメータm=1に設定する。その後、ステップS43に遷移する。
[ステップS43] 周期フィルタ50は、繰り返し回数Mの入力を受け付ける。その後、ステップS44に遷移する。
[ステップS44] 周期フィルタ50は、パラメータv=1に設定する。その後、ステップS45に遷移する。
[ステップS45] 周期フィルタ50は、v番目の標本化回路の出力ポート数をu(v)に決定する。その後、ステップS46に遷移する。
[ステップS46] 周期フィルタ50は、全ての要素が0の1行u(v)の配列W(v)を作成する。その後、ステップS47に遷移する。
[ステップS47] 周期フィルタ50は、パラメータg=1、k=1を設定する。その後、ステップS48に遷移する。
[ステップS48] 周期フィルタ50は、累積する標本化回路出力の個数Gを決定する。その後、ステップS49に遷移する。
[ステップS49] 加算器5b1、5b2、・・・、5bVは、v番目の標本化回路に入力サンプルx[k]からx[k+u-1]までを入力する。得られた出力を1行u(v)の配列X(g)とする。その後、ステップS50に遷移する。
[ステップS50] 加算器5b1、5b2、・・・、5bVは、以下の演算を行う。W(v)=W(v)+X(g)、k=g・u(v)。その後、ステップS51に遷移する。
[ステップS51] 周期フィルタ50は、以下の演算を行う。g=g+1。その後、ステップS52に遷移する。
[ステップS52] 周期フィルタ50は、パラメータgが個数G以下か否かを判断する。パラメータgが個数G以下である場合(ステップS52のYes)、ステップS49に遷移する。パラメータgが個数Gより大きい場合(ステップS52のNo)、ステップS53に遷移する。
[ステップS53] 周期フィルタ50は、以下の演算を行う。v=v+1。その後、ステップS54に遷移する。
[ステップS54]周期フィルタ50は、パラメータvが個数V以下か否かを判断する。パラメータvが個数V以下である場合(ステップS54のYes)、ステップS45に遷移する。パラメータvが個数Vより大きい場合(ステップS54のNo)、ステップS55に遷移する。
[ステップS55] 周期フィルタ50は、p(1)からp(V)のうち、最大となる値を特定し、その値をp1とする。このp1が1となるようにp(1)からp(V)までを正規化し、得られた値を、それぞれP(1)からP(V)として1行V列の行列P=[P(1),P(2),・・・,P(V)]を作成する。その後、ステップS56に遷移する。
[ステップS56] 第1演算部5dは、行列Pについて第1演算を実行する。また、第2演算部5eは、第2演算を実行する。そして、1行(V-2)列の行列P0=[P0(2),P0(3)・・・,P0(V)]を作成する。その後、ステップS57に遷移する。
[ステップS57] 周期フィルタ50は、行列P0を積算した行列P00を作成する。その後、ステップS58に遷移する。
[ステップS58] 周期フィルタ50は、パラメータmが繰返し回数M以下か否かを判断する。パラメータmが繰返し回数M以下である場合(ステップS58のYes)、ステップS44に遷移する。パラメータmが繰返し回数Mより大きい場合(ステップS58のNo)、ステップS59に遷移する。
[ステップS59] 周期フィルタ50は、行列P00の要素のうち、S/N比がs[dB](Sは0を超える任意の実数)以上の要素の番号(要素番号)をV1,・・・V1として記録する。その後、ステップS60に遷移する。
[ステップS60] 周期フィルタ50は、要素数Nを信号数として出力する。また、周期フィルタ50は、それぞれの周期としてV1,・・・V1を出力する。また、周期フィルタ50は、推定基本波形としてW(V1),・・・W(V1)とする。その後、図26および図27の処理を終了する。
この処理により、ノイズの影響を抑え、S/N比の低い入力であっても、一つまたは複数の信号を検出することができる。
図28は、第3の実施の形態の周期フィルタの処理の実施例を説明する図である。
図28(a)は、繰返し回数M=5の場合の処理結果を示している。図28(b)は、繰返し回数M=10の場合の処理結果を示している。
前述したように、S/N比の低い入力の場合、第1処理を施しても、図25(b)においてはサンプル(101~105及び108)の他に本来は存在しないはずのサンプル(127)の値が検出されていたところ、第3の実施の形態の周期フィルタの処理を施すことにより、信号に対するノイズの値が相対的に小さくなり、サンプル(127)がノイズであることが容易に判断できる。
<変形例>
図29および図30は、第3の実施の形態の周期フィルタの変形例の処理を説明するフローチャートである。前述した第3の実施の形態の周期フィルタの処理とは、ステップS50aの処理が異なっている。
[ステップS50a] 加算器5b1、5b2、・・・、5bVは、以下の演算を行う。W(v)=W(v)×X(g)、k=g・u(v)。その後、ステップS51に遷移する。
この処理により、計算資源の消費が少ない足し算及び引き算のみを用いて、ノイズの影響を抑えつつ、一つまたは複数の複数の信号を検出することができる。また、強度比の大きな信号を検出したい場合であっても、信号とノイズを明確に区別することができる。
以上、本発明の演算装置およびプログラムを、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
また、本発明は、前述した各実施の形態のうちの、任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、周期フィルタ5が有する機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記憶装置には、ハードディスクドライブ、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクには、DVD、DVD-RAM、CD-ROM/RW等が挙げられる。光磁気記録媒体には、MO(Magneto-Optical disk)等が挙げられる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD-ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)等の電子回路で実現することもできる。
1 集積回路
2 送信部
3 受信部
4 ADC
5、50 周期フィルタ
5a1、5a2、・・・、5aV 標本化回路
5b1、5b2、・・・、5bV 加算器
5c 最大値検出部
5d 第1演算部
5e 第2演算部

Claims (2)

  1. 入力される離散時間信号から、予め割り当てられたそれぞれの時間長が異なる基本周期候補区間に含まれる連続した離散点をパラレルに出力ポートへ出力する複数の信号出力部であって、前記基本周期候補区間の時間長の順番に並べたときに隣接する信号出力部の前記基本周期候補区間に含まれる連続した離散点の数の差が全て等しい複数の信号出力部と、
    前記各信号出力部により出力される信号の値を前記出力ポート毎にそれぞれ足し合わせた加算値を求め、当該加算値の前記基本周期候補区間毎の最大値を前記基本周期候補区間毎の累積値として算出する加算部と、
    前記基本周期候補区間を前記時間長の順番に並べたときの、二つの基本周期候補区間の順番の差を基本周期候補区間の間隔とし、各基本周期候補区間について、当該基本周期候補区間の累積値から、当該基本周期候補区間から一定の間隔だけ前の順番の基本周期候補区間の累積値を減算して第1差分を演算し、当該基本周期候補区間の累積値から、当該基本周期候補区間から一定の間隔だけ後の順番の基本周期候補区間の累積値を減算して第2差分を演算する第1演算部と、各基本周期候補区間の第1差分及び第2差分を足し合わせる第2演算部と、を備え、前記第2演算部の演算値のうち、S/N比が一定値以上の演算値に対応する基本周期候補区間を基本周期として出力する演算部と、
    を有することを特徴とする演算装置。
  2. コンピュータに、
    入力される離散時間信号から、予め割り当てられたそれぞれの時間長が異なる基本周期候補区間に含まれる連続した離散点をパラレルに出力ポートへ出力する複数の信号出力部であって、前記基本周期候補区間の時間長の順番に並べたときに隣接する信号出力部の前記基本周期候補区間に含まれる連続した離散点の数の差が全て等しい複数の信号出力部により出力される信号の値を前記出力ポート毎にそれぞれ足し合わせた加算値を求め、当該加算値の前記基本周期候補区間毎の最大値を前記基本周期候補区間毎の累積値として算出し、
    前記基本周期候補区間を前記時間長の順番に並べたときの、二つの基本周期候補区間の順番の差を基本周期候補区間の間隔とし、各基本周期候補区間について、当該基本周期候補区間の累積値から、当該基本周期候補区間から一定の間隔だけ前の順番の基本周期候補区間の累積値を減算して第1差分を演算し、
    当該基本周期候補区間の累積値から、当該基本周期候補区間から一定の間隔だけ後の順番の基本周期候補区間の累積値を減算して第2差分を演算し、
    各基本周期候補区間の第1差分及び第2差分を足し合わせた演算値のうち、S/N比が一定値以上の演算値に対応する基本周期候補区間を基本周期として出力する、
    処理を実行させることを特徴とするプログラム。
JP2020006128A 2019-01-25 2020-01-17 演算装置およびプログラム Active JP7263271B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019010861 2019-01-25
JP2019010861 2019-01-25

Publications (2)

Publication Number Publication Date
JP2020118684A JP2020118684A (ja) 2020-08-06
JP7263271B2 true JP7263271B2 (ja) 2023-04-24

Family

ID=71890810

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020006128A Active JP7263271B2 (ja) 2019-01-25 2020-01-17 演算装置およびプログラム

Country Status (1)

Country Link
JP (1) JP7263271B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4282697B2 (ja) 2006-08-11 2009-06-24 エバック株式会社 ホース及びその製造方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04282697A (ja) * 1991-03-12 1992-10-07 Mazda Motor Corp 雑音制御装置
JP2006113002A (ja) * 2004-10-18 2006-04-27 Nsk Ltd 機械設備の異常診断システム
JP5012587B2 (ja) * 2008-03-07 2012-08-29 日本電気株式会社 信号抽出装置および信号抽出方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4282697B2 (ja) 2006-08-11 2009-06-24 エバック株式会社 ホース及びその製造方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
「MATLAB-matlabでピーク検出(56997)|teratail」、Online、2017.7.19、2021.11.8検索、インターネット<URL http://web.archive.org/web/20170718172242/https://teratail.com/questions/56997>
Ritsuki KOKUBO, Yukihiro KAMIYA、"A Novel Period Estimation Method for Periodic Signals Suitable for Vital Sensing"、ICBSP 19: Proceedings of the 2019 4th International Conference on Biomedical Imaging, Signal Proces、その他、2019.10発行、pp.18-25

Also Published As

Publication number Publication date
JP2020118684A (ja) 2020-08-06

Similar Documents

Publication Publication Date Title
JP3521654B2 (ja) 脈拍計
JP5101316B2 (ja) 基本周波数の高調波及び分数調波の抑制を用いたピッチ抽出
US20100110834A1 (en) Apparatus and method of detecting target sound
US7076433B2 (en) Apparatus and program for separating a desired sound from a mixed input sound
NL8400552A (nl) Systeem voor het analyseren van menselijke spraak.
WO2018010107A1 (zh) 判断脉搏波是否有效的方法及装置
TWI576834B (zh) 聲頻訊號的雜訊偵測方法與裝置
CN110974189A (zh) 脉搏波的信号质量检测方法及装置、设备、系统
CN107303177A (zh) 一种心电图t波、p波的检测方法及系统
JP2000510310A (ja) 均一でディスクリートなフーリエ変換フィルタパラメータエンコーダ
US10585130B2 (en) Noise spectrum analysis for electronic device
JP7263271B2 (ja) 演算装置およびプログラム
CN101897578B (zh) 一种动脉压信号逐拍分割方法
JP2007081455A (ja) 音源位置・受音位置推定方法、その装置、そのプログラム、およびその記録媒体
KR101008022B1 (ko) 유성음 및 무성음 검출방법 및 장치
JP5975880B2 (ja) フォルマントの速い抽出のための複数の並列複素フィルタを用いる音声認識
JP2016500847A (ja) デジタルプロセッサベースの複素音響共鳴デジタル音声分析システム
KR100561555B1 (ko) 레이더 펄스의 분석방법
KR100911689B1 (ko) 실시간 음악 비트 주기 추출 방법 및 실시간 음악 비트주기 추출 장치
JP5700850B2 (ja) 遅延推定方法とその方法を用いたエコー消去方法と、それらの装置とプログラムとその記録媒体
JPH10253758A (ja) 周波数推定方法、周波数推定装置、ドップラソナーおよび潮流計
JP2006343252A (ja) 信号検出方法及び信号検出装置
JP4381383B2 (ja) 判別装置、判別方法、プログラム、及び記録媒体
KR20190035059A (ko) 비정상 심전도 신호 정보 출력 디바이스 및 방법
KR100484505B1 (ko) 신호에 포함된 고주파 잡음 제거를 위한 컷오프 주파수 결정 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200118

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200118

AA64 Notification of invalidation of claim of internal priority (with term)

Free format text: JAPANESE INTERMEDIATE CODE: A241764

Effective date: 20200225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200309

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201204

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20210201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210329

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210917

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20210917

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20210929

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20211012

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20211112

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20211124

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220218

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220415

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220524

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20220621

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20220816

C302 Record of communication

Free format text: JAPANESE INTERMEDIATE CODE: C302

Effective date: 20220822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220831

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20221220

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20230110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230214

C302 Record of communication

Free format text: JAPANESE INTERMEDIATE CODE: C302

Effective date: 20230217

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20230307

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20230404

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20230404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230412

R150 Certificate of patent or registration of utility model

Ref document number: 7263271

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150