(57)【特許請求の範囲】
【請求項１】
所定の周波数の正弦波信号のレベルを示すディジタル値を所定の周期毎に出力ディジタル値として出力することで正弦波データを生成するディジタル正弦波データ生成器において、
１周期前における出力ディジタル値に前記正弦波信号の周波数に応じて定まる定数を乗算した第１参照値を生成する乗算手段と、
２周期前における出力ディジタル値を反転させた第２参照値を生成する反転手段と、
前記乗算手段により生成された前記第１参照値と前記反転手段により生成された前記第２参照値とを加算して現時点における出力ディジタル値を生成する加算手段と、
前記第１参照値を「０」に、また前記第２参照値を前記正弦波信号の周波数に応じて定まる初期値にそれぞれリセットするリセット手段と、
このリセット手段によるリセットが行われてからの経過時間を計時する計時手段と、
前記加算手段で生成された前記出力ディジタル値の極性が正から負に変化したことを検出する極性変化検出手段と、
前記出力ディジタル値の絶対値が所定の基準値以下である低レベル状態であることを検出するレベル確認手段と、
前記計時手段により計時された経過時間が所定時間を超えている状態において、前記極性変化検出手段により極性変化が検出された際に前記レベル確認手段により前記低レベル状態であることが検出されていたならば前記リセット手段にリセットを行わせるリセット制御手段とを具備したことを特徴とするディジタル正弦波データ生成器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばボタン電話システムの主装置などに用いられ、例えば内線端末などに供するために用いられるトーン信号を生成するための正弦波データを生成するディジタル正弦波データ生成器に関する。
【０００２】
【従来の技術】
ボタン電話システムにおいて交換機能を有している主装置は、近年の高機能化および小型化の要求のために、その主要部はディジタル化されている。
【０００３】
ところでこの種の装置では、内線や局線へと送出するためのトーン信号を発生する機能が必要とされ、そのトーン信号の元となる正弦波信号を生成する正弦波生成器が設けられる。
【０００４】
また、内線や局線を介して到来したビジートーンやＤＴＭＦ信号などの各種のトーン信号を検出することが必要とされ、これらのトーン信号を検出するトーン検出回路が設けられる。
【０００５】
これらの正弦波生成器やトーン検出回路は従来、アナログ回路により実現されていたため、回路規模が大きく、集積化も困難であるという不具合があった。また、他の部分はディジタル化されているために、それらの部分とのインタフェースのためにはコーデックも設けなければならず、さらなる回路規模の増大を招いていた。
【０００６】
これらの正弦波生成器やトーン検出回路は、トラヒックの理論によると収容回線１００回線当り８つが必要となるが、このような複数のトーン検出回路を全てアナログ回路により構成していることは、回路規模の縮小の大きな妨げとなってしまっていた。
【０００７】
なお、ＤＳＰ（Digital Signal Processor）を用いてディジタル処理により正弦波生成やトーン検出を行うことも可能ではあるが、プログラム作成の手間が多大である上に、依然として回路規模が大きく、コストや消費電力も大きいという不具合がある。
【０００８】
【発明が解決しようとする課題】
以上のように従来は、正弦波信号の生成やトーン信号の検出はアナログ回路によって実現されていたため、回路規模の増大による大型化やコスト上昇、ならびに消費電力の増大などの不具合があった。
【０００９】
本発明はこのような事情を考慮してなされたものであり、その目的とするところは、簡易なディジタル回路により、集積化による小型化、低コスト化および低消費電力化を実現可能なディジタル正弦波データ生成器を提供することにある。
【００１０】
【発明が解決しようとする課題】
以上の目的を達成するために第１の発明は、所定の周波数の正弦波信号のレベルを示すディジタル値を所定の周期毎に出力ディジタル値として出力することで正弦波データを生成するディジタル正弦波データ生成器において、１周期前における出力ディジタル値に前記正弦波信号の周波数に応じて定まる定数を乗算した第１参照値を生成する、例えばラッチ回路と乗算器とからなる乗算手段と、２周期前における出力ディジタル値を反転させた第２参照値を生成する、例えば２つのラッチ回路と乗算器とからなる反転手段と、前記乗算手段により生成された前記第１参照値と前記反転手段により生成された前記第２参照値とを加算して現時点における出力ディジタル値を生成する例えば加算器などの加算手段と、前記第１参照値を「０」に、また前記第２参照値を前記正弦波信号の周波数に応じて定まる初期値にそれぞれリセットする例えば初期化部などのリセット手段と、このリセット手段によるリセットが行われてからの経過時間を計時する例えばタイマなどの計時手段と、前記加算手段で生成された前記出力ディジタル値の極性が正から負に変化したことを検出する、例えばラッチ回路および比較部よりなる極性変化検出手段と、前記出力ディジタル値の絶対値が所定の基準値以下である低レベル状態であることを検出する、例えば基準データレジスタおよび比較部からなるレベル確認手段と、前記計時手段により計時された経過時間が所定時間を超えている状態において、前記極性変化検出手段により極性変化が検出された際に前記レベル確認手段により前記低レベル状態であることが検出されていたならば前記リセット手段にリセットを行わせる例えばＡＮＤゲートなどのリセット制御手段とを備えた。
【００１１】
このような手段を講じたことにより、１周期前における出力ディジタル値に所望の正弦波信号の周波数に応じて定まる定数が乗算された第１参照値と、２周期前における出力ディジタル値が反転された第２参照値とが加算されることで、前記正弦波信号のレベルを示すディジタル値が求められる。そして前回のリセットが行われてからの経過時間が所定時間を超えている状態において、前記出力ディジタル値の極性が正から負に変化した際に、前記出力ディジタル値の絶対値が所定の基準値以下である低レベル状態である状態となったことに応じて、第１参照値および第２参照値は「０」および前記正弦波信号の周波数に応じて定まる初期値にそれぞれリセットされる。従って、このようなディジタル処理により実現可能な処理によってのみ正弦波データの生成が行え、また定期的なリセットは前回のリセットが行われてからの経過時間が所定時間を超えている状態において、前記出力ディジタル値の極性が正から負に変化した際に、前記出力ディジタル値の絶対値が所定の基準値以下である低レベル状態である状態となったときにのみ行われ、リセットによる正弦波のひずみが低減される。
【００２４】
【発明の実施の形態】
以下、図面を参照して本発明のいくつかの実施形態につき説明する。
【００２５】
図１は本発明の正弦波データ生成器およびトーン検出回路を備えたボタン電話システムの要部構成を示すブロック図である。
【００２６】
このボタン電話システムは同図に示すように、主装置１に、複数（最大ｉ個）の内線端末２（2-1〜2-i）を任意に接続して構成されている。
【００２７】
主装置１はさらに、タイムスイッチ１１、複数（ｊ個）の局線インタフェース回路１２（12-1〜12-j）、複数（ｉ個）の内線インタフェース回路１３（13-1〜13-i）、ＣＰＵ１４、ＲＯＭ１５、ＲＡＭ１６、データハイウェイインタフェース部１７、正弦波データ生成器１８およびトーン検出回路１９を備えており、タイムスイッチ１１、局線インタフェース回路１２、内線インタフェース回路１３、正弦波データ生成器１８およびトーン検出回路１９は、ＰＣＭハイウェイ２０を介して互いに接続されている。
【００２８】
またタイムスイッチ１１、局線インタフェース回路１２、内線インタフェース回路１３およびデータハイウェイインタフェース部１７は、データハイウェイ２１を介して互いに接続されている。さらに、ＣＰＵ１４、ＲＯＭ１５、ＲＡＭ１６およびデータハイウェイインタフェース部１７は、ＣＰＵローカルバス２２を介して互いに接続されている。
【００２９】
タイムスイッチ１１は、ＣＰＵ１４の制御に基づいてＰＣＭハイウェイ２０上のタイムスロットの入れ替えを行なうことによって、局線インタフェース回路１２および内線インタフェース回路１３を任意に交換接続する。
【００３０】
局線インタフェース回路１２には、公衆回線や専用線などの局線Ｌ（L-1〜L-j）が必要に応じて接続される。局線インタフェース回路１２は、接続された局線Ｌに関する局線インタフェース動作を行なう。局線インタフェース動作とは、局線Ｌを介して到来する音声信号（アナログ）のＰＣＭ信号への変換、タイムスイッチ１１を介して与えられるＰＣＭ信号の音声信号（アナログ）への変換、局線Ｌの状態監視や、局線Ｌを介して接続された網に対する種々の信号の送出などである。また局線インタフェース回路１２は、上記局線インタフェース動作に係わる種々の制御情報の授受を、データハイウェイ２１、データハイウェイインタフェース部１７およびＣＰＵローカルバス２２を介してＣＰＵ１４との間で行なう。
【００３１】
内線インタフェース回路１３には、内線端末２が必要に応じて接続される。内線インタフェース回路１３は、接続された内線端末に関する内線インタフェース動作を行なう。内線インタフェース動作は、内線端末２から出力されるＰＣＭ信号のＰＣＭハイウェイ２０への送出、タイムスイッチ１１を介して与えられるＰＣＭ信号のＰＣＭハイウェイ２０からの抽出、内線端末２の状態監視や、内線端末２に対する種々の信号の送出などである。また内線インタフェース回路１３は、上記内線インタフェース動作に係わる種々の制御情報の授受を、データハイウェイ２１、データハイウェイインタフェース部１７およびＣＰＵローカルバス２２を介してＣＰＵ１４との間で行なう。
【００３２】
ＣＰＵ１４は、ＲＯＭ１５に格納されている動作プログラムに基づいた処理を行うことで、タイムスイッチ１１、局線インタフェース回路１２および内線インタフェース回路１３のそれぞれを総括制御し、ボタン電話装置における主装置としての動作を実現する。
【００３３】
ＲＯＭ１５は、ＣＰＵ１４の動作プログラムや、その他の永続的に使用される各種のデータを記憶している。
【００３４】
ＲＡＭ１６は、ＣＰＵ１４が各種の処理を行なう上で必要な各種の情報を記憶しておくためのものである。
【００３５】
データハイウェイインタフェース部１７は、データハイウェイ２１とＣＰＵローカルバス２２との間でのデータの授受を行う。
【００３６】
（第１の実施形態）
この実施形態は、図１における正弦波データ生成器１８に関するものである。
【００３７】
図２は本実施形態における正弦波データ生成器１８の具体的な構成を示すブロック図である。
【００３８】
この図に示すように本実施形態における正弦波データ生成器１８は、加算器３１、ラッチ回路３２，３３、乗算器３４，３５、出力処理部３６、ラッチ回路３７、比較部３８、基準データレジスタ３９、比較部４０、タイマ４１、ＡＮＤゲート４２および初期化部４３を有している。
【００３９】
加算器３１は、乗算器３４の出力値と乗算器３５の出力値とを加算し、加算値を正弦波データの現在値として出力する。なおこの加算器３１の出力値は、信号レベルを示すデータ部と極性を示す符号とからなる。
【００４０】
ラッチ回路３２には、加算器３１の出力値が入力されている。このラッチ回路３２は、ＰＣＭハイウェイ２０でのフレーム周期に同期し、かつ同一周波数ｆｓ（例えば８ＫＨｚ）のクロック信号に応じたタイミングで加算器３１の出力値を取り込んで保持する。そしてラッチ回路３２は、保持している値を常時出力する。
【００４１】
ラッチ回路３３には、ラッチ回路３２の出力値が入力されている。このラッチ回路３３は、周波数ｆｓのクロック信号に応じたタイミングでラッチ回路３２の出力値を取り込んで保持する。そしてラッチ回路３３は、保持している値を常時出力する。
【００４２】
かくして、ラッチ回路３２およびラッチ回路３３は、加算器３１からの出力を１フレーム周期分ずつ遅延させ、１フレーム前および２フレーム前における出力値をそれぞれ出力する。
【００４３】
乗算器３４は、所望の正弦波周波数およびラッチ回路３２，３３に与えられる信号の周波数ｆｓに応じて決まる定数２cos(w)を、ラッチ回路３２の出力値に乗算し、その結果得られる値を加算器３１に与える。
【００４４】
乗算器３５は、ラッチ回路３３の出力値に「−１」を乗じることで、データを反転させた上で、その結果得られる値を加算器３１に与える。
【００４５】
加算器３１の出力値は、所定周波数の正弦波信号を示す正弦波データにおける現在値として、ＰＣＭハイウェイ２０上で割り当てられたタイムスロットへと出力処理部３６により出力される。
【００４６】
ラッチ回路３７には、加算器３１の出力値のうちの符号が入力されている。このラッチ回路３７は、周波数ｆｓのクロック信号に応じたタイミングで加算器３１の出力値の符号を取り込んで保持する。そしてラッチ回路３７は、保持している符号を出力する。すなわちラッチ回路３７は、加算器３１からの出力のうちの符号を１フレーム周期分遅延させ、１フレーム前における加算器３１からの出力値のうちの符号を出力する。
【００４７】
比較部３８には、ラッチ回路３７が出力する符号と加算器３１の出力値のうちの符号とが入力されている。比較部３８は、ラッチ回路３７が出力する符号が「正」で、かつ加算器３１の出力値のうちの符号が「正」であるときにのみ「Ｈ」レベルを出力する。
【００４８】
基準データレジスタ３９は、所定の基準値ＡＢＳを示す基準値データを記憶しており、この基準値データを常時出力する。
【００４９】
比較部４０には、基準データレジスタ３９が出力する基準値データと加算器３１の出力値のうちのデータとが入力されている。比較部４０は、これらの２つのデータが示す値を比較し、加算器３１の出力値のうちのデータが示す値が基準値以下であるときにのみ「Ｈ」レベルを出力する。
【００５０】
タイマ４１は、ＡＮＤゲート４２の出力が「Ｈ」レベルとなったことに応じてクリアされる。そしてタイマ４１は、クリアされた時点からの経過時間をカウントして所定のリセット周期をカウントし終わったならば、次にクリアされるまでの間のみ出力を「Ｈ」とする。
【００５１】
ＡＮＤゲート４２には、比較部３８、比較部４０およびタイマ４１のそれぞれの出力が与えられている。そしてＡＮＤゲート４２は、比較部３８、比較部４０およびタイマ４１のそれぞれの出力が全て「Ｈ」であるときにのみ「Ｈ」レベルを出力する。
【００５２】
初期化部４３には、ＡＮＤゲート４２の出力が与えられている。そして初期化部４３は、ＡＮＤゲート４２の出力が「Ｈ」となったことに応じて、ラッチ回路３２およびラッチ回路３３の保持値を所定の初期値に初期化する。
【００５３】
次に、以上のように構成された正弦波データ生成器１８の動作につき説明する。
【００５４】
最初にラッチ回路３２の保持値を「０」に、かつラッチ回路３３の保持値を所望の正弦波周波数と振幅とに応じて決まる定数Ａsin(w)に設定しておく。そうすると、加算器３１の出力は−Ａsin(w)となる。
【００５５】
以後、クロック信号のタイミングでラッチ回路３２，３３の保持値が更新されることにより、加算器３１の出力値も変化される。
【００５６】
このとき加算器３１の出力値Ｙ(h)は、クロック信号の１周期前および２周期前の加算器３１の出力値をそれぞれＹ(h-1)，Ｙ(h-2)と示すならば、
Ｙ(h)＝Ｙ(h-1)×２cos(w)−Ｙ(h-2)
となり、所望の正弦波周波数の正弦波信号をｆｓなるサンプリング周波数でサンプリングした際のレベル値が出力値Ｙとして現れることとなる。
【００５７】
すなわち、加算器３１の出力は、−Ａsin(w)を初期値として定数２cos(w)および定数Ａsin(w)により定まる周波数と、定数Ａsin(w)により定まる振幅とを有した図３に示すような正弦波信号をｆｓなるサンプリング周波数でサンプリングして示した正弦波データとなる。そしてこの正弦波データは、出力処理部３６によって適切なタイミングでＰＣＭハイウェイ２０へと送出される。この正弦波データは、例えばタイムスイッチ１１での出力の断続制御によって任意のトーン信号を生成するために使用される。
【００５８】
ところで出力値Ｙはディジタル値であるが、そのビット数は有限である。このため、乗算器３４の出力はまるめられた結果となっており、正規の値との誤差が生じている。そしてこのような誤差は、繰り返しの演算により蓄積されて行くこととなる。
【００５９】
そこで、ラッチ回路３７、比較部３８、基準データレジスタ３９、比較部４０、タイマ４１、ＡＮＤゲート４２および初期化部４３により構成されるリセット回路によって、ラッチ回路３２，３３の保持値のリセットを行うこととしている。
【００６０】
すなわち、まずタイマ４１では、出力値Ｙの誤差が許容できる範囲に収まる時間を考慮して適切に設定されたリセット周期を計時しており、このリセット周期を計時し終わると、以降に出力を「Ｈ」とする。従って、ＡＮＤゲート４２の出力は、タイマ４１がリセット周期を計時し終わるまでは「Ｈ」となることはない。
【００６１】
一方、比較部３８では、現在の出力値Ｙ(h)と、ラッチ回路３７に保持された１フレーム前の出力値Ｙ(h-1)の符号とを比較し、出力値Ｙの符号が正から負に変化するか否かを監視している。そして出力値Ｙ(h-1)の符号が正で、かつ出力値Ｙ(h)の符号が負となったならば、出力値Ｙの符号が正から負に変化したことになるので、比較部３８は出力を「Ｈ」とする。
【００６２】
また比較部４０は、出力値Ｙの符号を除くデータ、すなわち出力値Ｙの絶対値と、基準データレジスタ３９に保持された基準値データが示す基準値ＡＢＳとを比較している。そして出力値Ｙの絶対値が基準値ＡＢＳ以下であるときに、比較部４０は出力を「Ｈ」とする。なお基準値ＡＢＳは、リセット後の出力値Ｙの初期値である−Ａsin(w)よりも小さな適切な値に設定される。
【００６３】
かくして、タイマ４１がリセット周期を計時し終わった後、出力値Ｙの符号が正から負に変化した直後の出力値Ｙの絶対値が基準値ＡＢＳ以下であるときにのみ、ＡＮＤゲート４２の全ての入力が「Ｈ」となり、ＡＮＤゲート４２の出力が「Ｈ」となる。
【００６４】
そしてＡＮＤゲート４２の出力が「Ｈ」となったことに応じて初期化部４３は、ラッチ回路３２の保持値を「０」に、かつラッチ回路３３の保持値を定数Ａsin(w)にそれぞれ初期化する。
【００６５】
また、ＡＮＤゲート４２の出力が「Ｈ」となったことに応じてタイマ４１もリセットされ、新たなリセット周期の計時が開始される。
【００６６】
このようにして、出力値Ｙは定期的に−Ａsin(w)にリセットされることとなり、誤差は一定範囲内に抑えられる。
【００６７】
そして本実施形態では、出力値Ｙが正から負に変化した直後にリセットすることとしているので、出力値Ｙが正レベルから−Ａsin(w)までという通常は生じ得ない急峻な変化をしてしまうことが防止される。これにより波形のひずみを低減でき、この正弦波データを用いて生成されたトーンに生じるブツ音を低減できる。
【００６８】
ところで、出力値Ｙの符号が正から負に変化した直後の出力値Ｙは、必ず０〜−Ａsin(w)の範囲となるが、この値が−Ａsin(w)に近いほどリセット後の出力値Ｙがほぼ同レベルとなってしまい、例えば図４に示すように波形がひずんでしまう。
【００６９】
しかしながら本実施形態では、リセットの実行を出力値Ｙの絶対値がＡsin(w)よりも小さく設定された基準値ＡＢＳ以下である場合に限定しているので、上述のような原因による波形のひずみを低減でき、この正弦波データを用いて生成されたトーンに生じるブツ音を低減できる。
【００７０】
なお、基準値ＡＢＳを小さくするほど波形のひずみを低減することが可能であるが、リセット実行の条件が整う確率が低下してリセット周期が長くなりすぎてしまうおそれがあるので、それらのバランスを考慮して基準値ＡＢＳを適切に設定することが望ましい。
【００７１】
（第２の実施形態）
この実施形態は、図１におけるトーン検出回路１９に関するものである。
【００７２】
図５は本実施形態におけるトーン検出回路１９の具体的な構成を示すブロック図である。
【００７３】
この図に示すように本実施形態におけるトーン検出回路１９は、速度変換部５１、圧縮／リニア変換部５２、演算処理部５３、絶対値変換部５４、ピーク検出部５５、加算部５６、判定部５７、レジスタ５８、ＣＰＵインタフェース５９、カウンタ６０およびリセット信号生成部６１を有している。
【００７４】
速度変換部５１は、ＰＣＭハイウェイ２０に接続されている。速度変換部５１は、ＰＣＭハイウェイ２０上で１／ｆｓのフレーム周期（例えば１２５μｓ）で多重化されている多数のチャネルのうちの所定の１チャネルを抽出し、速度を低下させて連続したデータとする。すなわち、速度変換部５１は１／ｆｓの周期で値が変化して行くＰＣＭ信号を再生する。
【００７５】
圧縮／リニア変換部５２には、速度変換部５１から出力されるＰＣＭ信号が与えられる。このＰＣＭ信号は、所定の圧縮方式により圧縮されている。そこで圧縮／リニア変換部５２は、速度変換部５１から出力されるＰＣＭ信号を伸長して、リニアなＰＣＭ信号に戻す。
【００７６】
演算処理部５３は、圧縮／リニア変換部から与えられるＰＣＭ信号を用いて後に詳述する積和演算を複数の着目周波数のそれぞれについて行って、その積和演算の結果を絶対値変換部５４へと与える。
【００７７】
絶対値変換部５４は、演算処理部５３の出力値の絶対値を算出する。
【００７８】
ピーク検出部５５は、絶対値変換部５４からの出力値のピーク値を着目周波数毎に検出する。
【００７９】
加算部５６は、ピーク検出部５５で検出された着目周波数毎のピーク値の和を算出する。
【００８０】
判定部５７は、カウンタ６０が所定の繰り返し演算回数Ｎをカウントし終えた際の加算部５６からの出力値に基づいて、検出対象としているトーン信号の有無を判定する。判定部５７は、その判定結果を示す判定データを出力する。
【００８１】
レジスタ５８は、判定部５７が出力する判定データを記憶保持する。
【００８２】
ＣＰＵインタフェース５９は、レジスタ５８に記憶保持されている判定データを所定のタイミングでＣＰＵローカルバス２２へと送出する。
【００８３】
カウンタ６０には、周波数ｆｓのクロック信号が与えられている。カウンタ６０は、この周波数ｆｓのクロック信号を繰り返し演算回数Ｎまで巡回的にカウントする。カウンタ６０は、所定の繰り返し演算回数Ｎをカウントし終えた際には、カウントアップ信号を判定部５７およびリセット信号生成部６１のそれぞれへと与える。
【００８４】
リセット信号生成部６１は、カウンタ６０からカウントアップ信号が与えられたことに応じて、演算処理部５３およびピーク検出部５５の動作状態を所定の初期状態にリセットするためのリセット信号を出力する。
【００８５】
図６は図５中の演算処理部５３の具体的構成を示すブロック図である。
【００８６】
この図に示すように演算処理部５３は、減算器７１、加算器７２、直列接続されたｐ個のフリップフロップ（ＦＦ）７３（73-1，73-2…，73-j）、直列接続されたｐ個のフリップフロップ（ＦＦ）７４（74-1，74-2…，74-j）、係数発生器７５および乗算器７６を有してなる。
【００８７】
減算器７１には、圧縮／リニア変換部５２の出力値が入力されている。また減算器７１には、最終段のフリップフロップ74-jの出力値が入力されている。そして減算器７１は、圧縮／リニア変換部５２の出力値からフリップフロップ74-jの出力値を減算し、その減算値を出力する。
【００８８】
加算器７２には、減算器７１の出力値が入力されている。また加算器７２には、乗算器７６の出力値が入力されている。そして加算器７２は、これらの２つの値を加算し、その加算値を出力する。この加算器７２の出力値は、積和演算の結果の値として絶対値変換部５４へと出力される。
【００８９】
フリップフロップ７３のうちの最上段のフリップフロップ73-1には、加算器７２の出力値が入力されている。また各フリップフロップ７３には、フレーム周波数ｆｓのｐ倍の周波数をもったクロック信号が与えられている。かくしてフリップフロップ７３は、加算器７２の出力値をフレーム周期の１／ｐの周期で順次転送していく。各フリップフロップ７３の保持値は、リセット信号生成部６１から出力されるリセット信号によってリセットされる。
【００９０】
フリップフロップ７４のうちの最上段のフリップフロップ74-1には、フリップフロップ７３のうちの最終段のフリップフロップ73-jの出力値が入力されている。また各フリップフロップ７４には、フレーム周波数ｆｓのｐ倍の周波数をもったクロック信号が与えられている。かくしてフリップフロップ７４は、フリップフロップ73-jの出力値をフレーム周期の１／ｐの周期で順次転送していく。各フリップフロップ７４の保持値は、リセット信号生成部６１から出力されるリセット信号によってリセットされる。
【００９１】
係数発生器７５は、ｐ個の着目周波数のそれぞれに応じた係数を、フレーム周波数ｆｓのｐ倍の周波数をもったクロック信号に同期したタイミングで変化させつつ順次出力する。すなわち係数発生器７５は、１フレーム期間をｐ等分した各期間にそれぞれ別の着目周波数に応じた係数を出力する。
【００９２】
乗算器７６は、フリップフロップ73-jの出力値に係数発生器７５が出力する係数を乗算する。
【００９３】
図７は図５中のピーク検出部５５の具体的な構成を示すブロック図である。
【００９４】
この図に示すようにピーク検出部５５は、比較器８１、セレクタ８２および直列接続されたｐ個のフリップフロップ（ＦＦ）８３（83-1，83-2…，83-j）を有してなる。
【００９５】
比較器８１には、絶対値変換部５４の出力値と、フリップフロップ８３のうちの最終段のフリップフロップ83-jの出力値とがそれぞれ与えられる。そして比較器８１は、これら２つの値を比較し、絶対値変換部５４の出力値のほうがフリップフロップ83-jの出力値よりも大きい場合に「Ｈ」レベルをセレクタ８２へと与える。
【００９６】
セレクタ８２には、絶対値変換部５４の出力値とフリップフロップ83-jの出力値とがそれぞれ与えられる。そしてセレクタ８２は、比較器８１から「Ｈ」レベルが与えられているときには絶対値変換部５４の出力値を、また比較器８１から「Ｌ」レベルが与えられているときにはフリップフロップ83-jの出力値をそれぞれ選択して出力する。
【００９７】
フリップフロップ８３のうちの最上段のフリップフロップ83-1には、セレクタ８２の出力値が入力されている。また各フリップフロップ８３には、フレーム周波数ｆｓのｐ倍の周波数をもったクロック信号が与えられている。かくしてフリップフロップ８３は、セレクタ８２の出力値をフレーム周期の１／ｐの周期で順次転送していく。そして各フリップフロップ８３のそれぞれの出力は、各着目周波数に関するピーク値として個々に加算部５６へと与えられる。なお各フリップフロップ８３の保持値は、リセット信号生成部６１から出力されるリセット信号によってリセットされる。
【００９８】
次に以上のように構成されたトーン検出回路１９の動作につき説明する。
【００９９】
なおここでは、３０５Ｈｚ〜６４０Ｈｚの周波数帯域内のいずれかの周波数を持つＢＴ（Busy Tone）信号を検出することとして動作を説明する。
【０１００】
このようなＢＴ信号の検出を行う場合、着目周波数は３０５Ｈｚ〜６４０Ｈｚの帯域内の４個の周波数ｆ１，ｆ２，ｆ３，ｆ４に設定される。
【０１０１】
従って、フリップフロップ７３，７４，８１，８３の数は、それぞれ４個である。またこれらのフリップフロップ７３，７４，８１，８３に与えられるクロック信号の周波数はｆｓの４倍であり、ｆｓが８ＫＨｚであるとするならば３２ＫＨｚとなる。
【０１０２】
ＰＣＭハイウェイ２０の伝送データに多重化されている多数のチャネルのうちのＢＴ信号の検出対象となるチャネルが速度変換部５１により抽出される。ＰＣＭハイウェイ２０では各チャネルのシリアルデータが時分割多重されているので、速度変換部５１により抽出されるデータはバースト状に存在している。そこでこの抽出されたデータは、速度変換部５１によりパラレル変換および速度低減がなされて、フレーム周期毎に１サンプリング値に相当するデータ（ただしここでは圧縮されている）が存在する連続したデータに変換される。
【０１０３】
このように連続データに変換されたデータは、次に圧縮／リニア変換部５２により伸長されて信号レベルを直接的に示すデータに戻された後、演算処理部５３に与えられる。
【０１０４】
かくして演算処理部５３では、１フレーム期間に渡り１つのサンプリング値が減算器７１へと与えられる。
【０１０５】
一方、演算処理部５３から絶対値変換部５４へと出力するべき値、すなわち演算処理部５３での積和演算結果となる加算器７２の出力値（以下、積和演算値と称する）は、フレーム期間の１／４の周期毎にフリップフロップ73-1〜73-kおよびフリップフロップ74-1〜74-kを順次転送されていく。
【０１０６】
かくして、フリップフロップ７３の最終段（ここでは４段目）のフリップフロップ73-kおよびフリップフロップ７４の最終段（ここでは４段目）のフリップフロップ74-kのそれぞれの出力値は、１フレーム周期前および２フレーム周期前の加算器７２の出力値となる。
【０１０７】
かくして減算器７１では、圧縮／リニア変換部５２から与えられるサンプリング値から、２フレーム周期前における積和演算値が減算される。ただし、圧縮／リニア変換部５２から与えられるサンプリング値は１フレーム周期の間は同一値であるのに対し、フリップフロップ74-kの出力値は後述するように１フレーム周期を４等分したそれぞれの期間で異なる値となる。従って、減算器７１の出力値も１フレーム周期を４等分したそれぞれの期間で異なる値となる。
【０１０８】
一方、乗算器７６では、１フレーム周期前における積和演算値に係数発生器７５が出力する係数が乗算される。ここで係数発生器７５は、フレーム周波数の４倍の周波数を持つクロック信号に同期して４つの着目周波数のそれぞれに応じた係数を順次出力する。すなわち１フレーム周期を４等分し、着目周波数ｆ１，ｆ２，ｆ３，ｆ４のそれぞれに応じた係数を順に出力する。またフリップフロップ７３も４段構成であり、転送クロックとして係数発生器７５に与えられるのと同一のクロック信号を用いているから、フリップフロップ73-kの出力値は、１フレーム周期を４等分したそれぞれの期間で異なる値となる。
【０１０９】
かくして乗算器７６では、１フレーム周期を４等分したそれぞれの期間で異なる乗算が行われるのであって、その出力値も１フレーム周期を４等分したそれぞれの期間で異なる。
【０１１０】
加算器７２には減算器７１および乗算器７６のそれぞれから、１フレーム周期を４等分したそれぞれの期間で異なる値が与えられるので、加算器７２では各タイミングで２つの値が加算される。
【０１１１】
このようにして図８に示すように、１フレーム周期内において４回の積和演算処理が時分割に行われる。そして１フレーム周期を４等分したそれぞれの期間では、１番目の期間は第１の着目周波数ｆ１に応じた係数Ｋ(f1)が関わる値を用いて、２番目の期間は第２の着目周波数ｆ２に応じた係数Ｋ(f2)が関わる値を用いて、３番目の期間は第３の着目周波数ｆ３に応じた係数Ｋ(f3)が関わる値を用いて、そしての期間は第４の着目周波数ｆ４に応じた係数Ｋ(f4)が関わる値を用いて、それぞれ積和演算処理が行われるのである。すなわち、各着目周波数に関する積和演算処理が時分割に行われる。なお、図８において各値の末尾に付してある「_ｆ１」「_ｆ２」「_ｆ３」「_ｆ４」の表記は、その値が着目周波数ｆ１、ｆ２、ｆ３、ｆ４のいずれに関するものであるかを示している。
【０１１２】
そして各着目周波数に関する積和演算による出力値Ｖ(h)は、圧縮／リニア変換部５２から与えられるサンプリング値をＸ(h)、フリップフロップ73-kの出力値をＶ(h-1)、フリップフロップ74-kの出力値をＶ(h-2)、そして係数発生器７５が発生する係数をＫとそれぞれ示すならば、
Ｖ(h)＝Ｘ(h)−Ｖ(h-2)＋Ｖ(h-1)×Ｋ(f)
となる。
【０１１３】
なお、Ｋ(f)は着目周波数に応じて決まるものであって、
Ｋ(f)＝２cos（２×π×ｋ(f)／Ｎ(f)）
となる。
【０１１４】
ここで、ｋは着目周波数に応じて決まる定数である。またＮ(f)は着目周波数に応じて決まる積和演算の繰り返し回数（サンプル点数）である。これら定数ｋおよび繰り返し回数Ｎ(f)は、着目周波数をｆtone、積和演算の繰り返し周波数をｆｓと示すと、
ｆtone／ｆｓ≒ｋ(f)／Ｎ(f)
なる関係を満たし、かつそれぞれが整数となるように設定される。
【０１１５】
このようにして求められる出力値Ｖは、積和演算を繰り返すに従って増減を繰り返すこととなるが、入力信号中に着目周波数の成分が存在する場合にのみ、出力値Ｖのピーク値が増大していく。
【０１１６】
図９は周波数ｆｘを着目周波数としての積和演算を行い、かつ入力信号周波数をｆｘ、ｆｙ、ｆｚと変化させた場合の出力値Ｖの変化を示す図である。
【０１１７】
この図から明らかなように、着目周波数と同一周波数ｆｘを入力した場合には、出力値Ｖのピーク値は増大していくが、他の周波数ｆｙ，ｆｚを入力したときには出力値Ｖのピーク値は増大しない。
【０１１８】
従って、ある程度の期間に渡って積和演算を繰り返した後の出力値Ｖのピーク値に基づいて、着目周波数が入力信号中に存在するか否かを判定することが可能となるのである。
【０１１９】
しかし、出力値Ｖのピーク値は、図９からも分かるように正および負の双方に生じ得る。そこで出力値Ｖは、絶対値変換部５４により絶対値に変換された上で、ピーク検出部５５によりピーク値が検出される。
【０１２０】
ピーク検出部５５では、このピーク値の検出は以下のようにして行われる。
【０１２１】
すなわち絶対値変換部５４の出力値は、比較器８１に与えられ、フリップフロップ83-kの出力値と比較される。
【０１２２】
ここでフリップフロップ83-1〜83-kでは、セレクタ８２の出力値をフレーム期間の１／４の周期毎に順次転送しているので、最終段のフリップフロップ83-kの出力値は１フレーム周期前のセレクタ８２の出力値である。
【０１２３】
かくして、絶対値変換部５４の出力値は比較器８１にて、１フレーム周期前のセレクタ８２で選択された値と比較されるのである。そしてこの比較器８１での比較の結果、絶対値変換部５４の出力値とフリップフロップ83-kの出力値とのうちで大きい方の値がセレクタ８２によって選択される。ここでセレクタ８２により選択された値は、フリップフロップ83-1に入力されてフリップフロップ83-1〜83-kを順次転送されることとなる。
【０１２４】
このようにして、フリップフロップ83-1〜83-kには各着目周波数に関しての絶対値変換部５４の出力値のピーク値がそれぞれ保持されるのである。そこで、フリップフロップ83-1〜83-kのそれぞれの出力値が各着目周波数に関しての積和演算結果のピーク値として加算部５６に個々に与えられる。
【０１２５】
このようにしてピーク検出部５５から与えられるｐ個のピーク値は、加算部５６にて互いに加算されて、これにより求められる各ピーク値の総和値が判定部５７へと与えられる。
【０１２６】
さて、以上のように演算処理部５３による積和演算が繰り返し行われている最中において、カウンタ６０ではその積和演算が実行された回数をカウントするために、周波数がフレーム周波数ｆｓであるクロック信号のカウントを行っている。そして所定の繰り返し回数Ｎをカウンタ６０がカウントし終えたならば、カウンタ６０から判定部５７およびリセット信号生成部６１へとカウントアップ信号が与えられる。
【０１２７】
このようにしてカウントアップ信号がカウンタ６０から与えられると判定部５７は、その時点における加算部５６の出力値が所定のしきい値を超えているか否かを確認することで、検出対象としているＢＴ信号が入力信号中に含まれているか否かを判定する。
【０１２８】
すなわち、ＢＴ信号が到来しているのであれば、着目周波数の全てが含まれているのであるから、各着目周波数のそれぞれに関する積和演算値のピーク値がいずれも大きな値となる。つまり、図１０に示すような周波数スペクトルが検出されてことと等価となる。
【０１２９】
さて、各着目周波数に関する積和演算の結果は、図１０に示しているようにある程度のバンド幅を持った周波数スペクトルとなる。そしてそのバンド幅は、積和演算の繰り返し回数により決まる。
【０１３０】
そこで隣接する着目周波数に関して求められる周波数スペクトルどうしが図１０に示すように適度に重なり合うように各着目周波数に関する積和演算の繰り返し回数を設定しておく。
【０１３１】
そうすることによって、各着目周波数のそれぞれに関する積和演算値のピーク値を加算部５６で加算することで、図１０に示すような各着目周波数のスペクトルの和が求められることとなり、図１１に示すような感度分布で各周波数の信号を検出することとなる。
【０１３２】
すなわち、着目周波数と同一周波数の信号が到来しているときはもちろんのこと、着目周波数どうしの中間の周波数の信号が到来しているときにも加算部５６の出力値が十分に大きな値となるのであり、図１１に示すような周波数特性のバンドパスフィルタを通したのと同様な結果が得られる。
【０１３３】
従って、加算部５６の出力値が一定値以上であるならば、図１１に示すような帯域内の信号、すなわちＢＴ信号が到来していると判定することができるのである。
【０１３４】
そして判定部５７での判定結果を示す判定データは、レジスタ５８に記憶保持された上で、ＣＰＵインタフェース５９により所定のタイミングでＣＰＵローカルバス２２へと送出され、ＣＰＵ１４へと通知される。
【０１３５】
なお、この判定部５７による判定処理と並行して、カウントアップ信号がカウンタ６０から与えられことに応じてリセット信号生成部６１から演算処理部５３およびピーク検出部５５へとリセット信号が与えられる。これにより、演算処理部５３のフリップフロップ73-1〜73-k，74-1〜74-kおよびピーク検出部５５のフリップフロップ83-1〜83-kがリセットされ、新たな積和演算処理および積和演算値のピーク値検出が開始される。
【０１３６】
ところで、積和演算を繰り返す回数は着目周波数毎で異なり、理論的には個々の着目周波数に応じた繰り返し回数の積和演算により得られた値を用いての判定を判定部５７にて行うことになる。
【０１３７】
しかしながら、各着目周波数にそれぞれ応じた繰り返し回数Ｎ(f)をとり得る値のうちである基準回数に最も近い値に設定し、かつカウンタ６０がカウントする繰り返し回数Ｎを上記基準回数に設定しておく。このことにより、上述のようにカウンタ６０が繰り返し回数Ｎをカウントし終えた時点における各着目周波数に関する積和演算値のピーク値に基づいての判定を判定部５７にて行うことが可能となる。
【０１３８】
なぜならば、図９からも分かるように繰り返し回数が多少変化しても、積和演算結果のピーク値は大きくは変化しないのであるから、繰り返し回数Ｎ(f)との差が少ない繰り返し回数Ｎの時点でのピーク値であっても、ＢＴ信号の有無の判定精度にはほとんど影響しないためである。
【０１３９】
なお繰り返し回数Ｎは、検出対象トーン（ここではＢＴ信号）の継続時間中に少なくとも１回は、Ｎ回の積和演算を完了することが可能なように適切に設定される。
【０１４０】
このように本実施形態によれば、各フレームにおける入力信号のレベルから２フレーム周期前の積和演算値を減算して得られた値と、１フレーム周期前の積和演算値に着目周波数に応じた係数を乗算して得られた値とを加算することで行う積和演算処理を所定の繰り返し回数に渡り行い、そのピーク値を検出することで、Ｇｏｅｒｔｚｅｌアルゴリズムを利用して着目周波数をそれぞれ中心周波数とする複数の周波数スペクトルを演算する。その周波数スペクトルのバンド幅は積和演算の繰り返し回数と積和演算に用いる係数とにより決まるので、隣接する周波数スペクトルどうしが重なるように設定した上で、各周波数スペクトルを合成することで１つのバンドパスフィルタを構成し、ＢＴ信号の検出を行っている。
【０１４１】
従って、基本的なディジタル回路によるディジタル処理により容易に行うことが可能な処理のみによりＢＴ信号の検出を行うことが可能であり、集積化によって小型化を図ることが可能である。
【０１４２】
また本実施形態では、各着目周波数のピーク値を加算することで各周波数スペクトルを合成するようにしているので、着目周波数どうしの中間の周波数に関しても十分な感度を得ることが可能であるために、後述の第３実施形態の場合に比べて着目周波数の間隔を大きくすることができる。この結果、ある周波数帯域をカバーするのに必要な着目周波数の数を減らすことが可能となり、積和演算処理の多重数を低減できることから、構成の簡易化と処理速度の低減を図ることが可能となり、簡易に実現することが可能となる。
【０１４３】
また本実施形態によれば、１フレーム期間をｐ等分して、ｐ個の着目周波数のそれぞれに関する積和演算処理を時分割で処理するようにしているので、演算処理部５３における減算器７１、加算器７２、乗算器７６を各着目周波数で共用することが可能であり、個別に設ける場合に比べてさらに回路規模を縮小することが可能である。
【０１４４】
また本実施形態によれば、各着目周波数に関する積和演算の繰り返し回数Ｎ(f)をある基準回数に最も近い値に設定した上で、ＢＴ信号の有無の判定に用いる積和演算値を上記基準回数の積和演算により得られた値としているので、加算部５６では各着目周波数に関するピーク値の最新の値を単純に加算すれば良く、個々の繰り返し回数Ｎ(f)の管理を行う必要がないので、さらに構成を簡易とすることが可能である。
【０１４５】
（第３の実施形態）
この実施形態は、図１におけるトーン検出回路１９に関するものである。
【０１４６】
図１２は本実施形態におけるトーン検出回路１９の具体的な構成を示すブロック図である。なお、図１および図５と同一部分には同一符号を付し、その詳細な説明は省略する。
【０１４７】
この図に示すように本実施形態におけるトーン検出回路１９は、速度変換部５１、圧縮／リニア変換部５２、演算処理部５３、絶対値変換部５４、ピーク検出部５５、レジスタ５８、ＣＰＵインタフェース５９、カウンタ６０、リセット信号生成部６１、しきい値比較部９１および判定部９２を有している。
【０１４８】
すなわち本実施形態においてトーン検出回路１９は、前記第２実施形態における加算部５６および判定部５７に代えてしきい値比較部９１および判定部９２を備えたものとなっている。
【０１４９】
しきい値比較部９１は、ピーク検出部５５で検出された各着目周波数のピーク値をそれぞれ所定のしきい値と比較し、その比較結果を判定部９２へと通知する。
【０１５０】
判定部９２は、カウンタ６０が所定の繰り返し演算回数Ｎをカウントし終えた際のしきい値比較部９１からの通知内容に基づいて、検出対象としているトーン信号の有無を判定する。判定部９２は、その判定結果を示す判定データを出力する。
【０１５１】
図１３はしきい値比較部９１の具体的な構成を示すブロック図である。
【０１５２】
この図に示すようにしきい値比較部９１は、ｐ個の比較回路１０１(101-1，101-2…，101-k）としきい値レジスタ１０２とから構成されている。
【０１５３】
各比較回路１０１には、ピーク検出部５５で検出された各着目周波数のピーク値がそれぞれ入力されている。また各比較回路１０１には、しきい値レジスタ１０２に記憶保持されたしきい値が共通に与えられている。そして各比較回路１０１はそれぞれ、ピーク値をしきい値と比較し、ピーク値がしきい値よりも大きいか否かを判定部９２へと通知する。
【０１５４】
しきい値レジスタ１０２は、予め設定された所定のしきい値を記憶保持しており、このしきい値を常時出力する。
【０１５５】
かくして本実施形態のトーン検出回路１９は、各着目周波数に関するピーク値を加算するのではなく、それらを個々にしきい値と比較する。そして判定部９２では、各着目周波数に関するピーク値のいずれか１つでもしきい値を超えているとしきい値比較部９１で判定されたならば、ＢＴ信号が到来していると判定する。
【０１５６】
さて、前述した第２実施形態の場合、各着目周波数のスペクトルを合成しているために高調波の影響を受けやすく、検出精度が低くなるおそれがある。
【０１５７】
しかしながら本実施形態によれば、各着目周波数のスペクトルを合成すること無しに個々にしきい値と比較するので、高調波の影響を受けること無しに精度良くＢＴ信号の検出を行うことが可能である。
【０１５８】
ただし本実施形態の場合には、着目周波数どうしの中間の周波数については感度が低くなってしまうことから、このような中間の周波数についての感度低下を小さく抑えるためには例えば図１４に示すように前述した第２実施形態の場合よりも着目周波数の密度を高める必要がある。従って、ある周波数帯域をカバーするのに必要な着目周波数の数が増えることなり、積和演算処理の多重数が増加することから、処理速度の上昇が必要となる。
【０１５９】
（第４の実施形態）
この実施形態は、図１におけるトーン検出回路１９に関するものである。
【０１６０】
図１５は本実施形態におけるトーン検出回路１９の具体的な構成を示すブロック図である。なお、図１、図５および図１２と同一部分には同一符号を付し、その詳細な説明は省略する。
【０１６１】
この図に示すように本実施形態におけるトーン検出回路１９は、速度変換部５１、圧縮／リニア変換部５２、演算処理部５３、絶対値変換部５４、ピーク検出部５５、レジスタ５８、カウンタ６０、リセット信号生成部６１、しきい値比較部９１、判定部９２、しきい値比較部１１１、マトリクス部１１２、レジスタ１１３およびＣＰＵインタフェース１１４を有している。
【０１６２】
すなわち本実施形態においてトーン検出回路１９は、前記第３実施形態におけるトーン検出回路１９の構成に加えてしきい値比較部１１１、マトリクス部１１２およびレジスタ１１３を備えるとともに、前記第３実施形態におけるＣＰＵインタフェース５９に代えてＣＰＵインタフェース１１４を備えたものとなっている。
【０１６３】
また本実施形態では、ＢＴ信号検出用に３０５Ｈｚ〜６４０Ｈｚの周波数帯域内に設定された複数の着目周波数の他に、ＤＴＭＦ（Dual Tone Multi Frequency）信号の要素となり得る周波数（例えば６９７Ｈｚ、７７０Ｈｚ、８５２Ｈｚ、９４１Ｈｚ、１２０９Ｈｚ、１３３６Ｈｚ、１４７７Ｈｚ、１６３３Ｈｚの８周波数）にそれぞれ設定された着目周波数が用いられる。従って、ＢＴ信号検出用の着目周波数が上述の第３実施形態に示すように８周波数であるとするならば、着目周波数の数ｐは「１６」となる。
【０１６４】
従って、ピーク検出部５５の出力は１６本となる。そしてこの１６本の出力のうちのＢＴ信号検出用の着目周波数に関する８本がしきい値比較部９１に、また残りの８本、すなわちＤＴＭＦ信号検出用の着目周波数に関する８本がしきい値比較部１１１にそれぞれ入力される。
【０１６５】
しきい値比較部１１１は、しきい値比較部９１と同様な構成を有する。そしてしきい値比較部１１１は、ＤＴＭＦ信号検出用の着目周波数に関するピーク検出部５５からの各出力値を所定のしきい値と比較し、ピーク検出部５５からの各出力値がしきい値より大きいか否かをマトリクス部１１２に対してそれぞれ通知する。
【０１６６】
マトリクス部１１２は、カウンタ６０が繰り返し演算回数Ｎをカウントし終えた際のしきい値比較部９１からの通知内容に基づいて、ＤＴＭＦ信号の到来の有無の判定および到来しているＤＴＭＦ信号の種類の識別を行う。マトリクス部１１２は、その判定結果を示す判定データを出力する。
【０１６７】
レジスタ１１３は、マトリクス部１１２が出力する判定データを記憶保持する。
【０１６８】
ＣＰＵインタフェース１１４は、レジスタ５８およびレジスタ１１３にそれぞれ記憶保持されている判定データを所定のタイミングでＣＰＵローカルバス２２へと送出する。
【０１６９】
かくしてこのトーン検出回路１９では、ＢＴ信号の検出は前述の第３実施形態の場合と全く同様になされる。そしてこのＢＴ信号の検出と並行して、図１６に示すようにＤＴＭＦ信号の各要素周波数に関する周波数スペクトルが求められる。なお、ＤＴＭＦ信号は、要素周波数のうちの２つの組み合わせによりなるものであり、中間の周波数の検出を行う必要はないので、求める周波数スペクトルのバンド幅は周波数の許容偏差をカバーできる程度であればよい。
【０１７０】
そしてピーク検出部５５からのＤＴＭＦ信号検出用の着目周波数に関する出力値のそれぞれをしきい値比較部１１１にてしきい値と比較し、その結果いずれか２つの出力値がしきい値以上となっていればＤＴＭＦ信号が到来していることが分かり、かつそのしきい値以上となっている２つの出力値がいずれの要素周波数に対応するものであるかを判定することで到来しているＤＴＭＦ信号の種類を判定することが可能であるので、そのような判定がマトリクス部１１２により行われる。
【０１７１】
このように本実施形態によれば、若干の構成を付加するだけで、トーン検出回路１９にてＢＴ信号の検出とＤＴＭＦ信号の検出との双方を行うことが可能である。
【０１７２】
なお、本発明は前記各実施形態に限定されるものではない。例えば前記各実施形態では、本発明のディジタル正弦波データ生成器およびトーン検出回路をボタン電話システムに用いられるものとして例示して説明しているが、例えば電話端末装置などのような他の装置に適用されるものとして実現することも可能である。
【０１７３】
また前記第１実施形態では、１つの周波数の正弦波データのみを生成するものとなっているが、複数の周波数の正弦波データを時分割に発生するようにしても良い。すなわち、ラッチ回路３２およびラッチ回路３３を図６に示すフリップフロップ７３およびフリップフロップ７４と同様に多段構成とするとともに、乗算器３４にて乗算する係数を図６に示す係数発生器７５と同様なものを用いて時分割に発生するようにすればよい。そして初期化部４３は、複数段のラッチ回路３３のそれぞれに設定する定数Ａsin(w)を各正弦波周波数と振幅とに応じてそれぞれ異なる値とする。
【０１７４】
また前記第２乃至第４の実施形態では、積和演算の繰り返し回数Ｎ(f)が着目周波数に応じて異なるにも拘わらずに、同一回数の積和演算による積和演算値のピーク値を用いてトーン信号の検出を行うこととしているが、着目周波数毎にＮ(f)回の積和演算による積和演算値のピーク値を順次取得して記憶しておき、全ての着目周波数に関する積和演算値が取得できるのを待って、それらを用いてのトーン信号の検出を行うようにしても良い。このようにするならば、積和演算の繰り返し回数Ｎ(f)の設定の自由度が高くなり、それを検出精度をより向上させるように設定するなどの処置をとることが可能となる。
【０１７５】
また前記第２乃至第４実施形態では、演算処理部５３、絶対値変換部５４およびピーク検出部５５では、各着目周波数に関する処理を時分割で行っているが、別々の処理系を設けておのおので並行に処理を行うことも可能である。この場合、前記第２乃至第４実施形態に比べて構成は若干複雑となるが、処理速度は低くて済む。
【０１７６】
また前記第２乃至第４実施形態では、１チャネルに関してのトーン検出のみを行うものを例示しているが、複数チャネルに関するトーン検出を時分割に行うようにしても良い。この場合、変数ｐを着目周波数の数と時分割処理するチャネル数との積とすれば良い。またこの場合には、加算部５６、判定部５７、しきい値比較部９１、判定部９２、しきい値比較部１１１およびマトリクス部１１２も時分割処理を行うこととする。収容回線が１００回線であり、８チャネル分のトーン検出回路が必要とされるのであれば、この８チャネル分を時分割処理することで単一のトーン検出回路１９を設けるだけで良くなり、回路規模の縮小とそれに伴うコスト低減および小型化促進ならびに消費電力の低減に大きく寄与する。
【０１７７】
また前記第２乃至第４の実施形態では、演算処理部５３およびピーク検出部５５では、各着目周波数に関する値をそれぞれ保持しておくために多段接続したフリップフロップ７３，７４，８３を用いるようにしているが、ＲＡＭやＦＩＦＯメモリなどを用いるようにしても良い。着目周波数の数ｐや多重処理するチャネル数が大きく、フリップフロップの段数が非常に大きくなってしまう場合には、これらのメモリを用いた方が回路規模が縮小できる場合がある。
【０１７８】
また前記第２乃至第４の実施形態では、変数ｎを「１」として、乗算器７６では１フレーム周期前の積和演算値に係数を乗算し、かつ減算器７１では２フレーム周期前の積和演算値を入力値から減算することとしているが、変数ｎは任意であって良く、例えば「２」として乗算器７６へは２フレーム周期前の積和演算値を、かつ減算器７１には４フレーム周期前の積和演算値をそれぞれ与えるようにしても良い。そしてこのような場合には、例えば奇数番目のフレームと偶数番目のフレームとでそれぞれ異なる着目周波数に関する処理を行うようにするなどの処置をとることも可能である。
【０１７９】
また前記第４の実施形態では、ＢＴ信号の検出に関しては前記第３実施形態と同一の構成を用いたものとなっているが、前記第２実施形態と同一の構成を用いることも可能である。
【０１８０】
このほか、本発明の要旨を逸脱しない範囲で種々の変形実施が可能である。
【０１８１】
【発明の効果】
第１の発明によれば、所定の周波数の正弦波信号のレベルを示すディジタル値を所定の周期毎に出力ディジタル値として出力することで正弦波データを生成するディジタル正弦波データ生成器において、１周期前における出力ディジタル値に前記正弦波信号の周波数に応じて定まる定数を乗算した第１参照値を生成する乗算手段と、２周期前における出力ディジタル値を反転させた第２参照値を生成する反転手段と、前記乗算手段により生成された前記第１参照値と前記反転手段により生成された前記第２参照値とを加算して現時点における出力ディジタル値を生成する加算手段と、前記第１参照値を「０」に、また前記第２参照値を前記正弦波信号の周波数に応じて定まる初期値にそれぞれリセットするのリセット手段と、このリセット手段によるリセットが行われてからの経過時間を計時する計時手段と、前記加算手段で生成された前記出力ディジタル値の極性が正から負に変化したことを検出する極性変化検出手段と、前記出力ディジタル値の絶対値が所定の基準値以下である低レベル状態であることを検出するレベル確認手段と、前記計時手段により計時された経過時間が所定時間を超えている状態において、前記極性変化検出手段により極性変化が検出された際に前記レベル確認手段により前記低レベル状態であることが検出されていたならば前記リセット手段にリセットを行わせるリセット制御手段とを備えたので、このようなディジタル処理により実現可能な処理によってのみ正弦波データの生成が行え、簡易なディジタル回路により、集積化による小型化、低コスト化および低消費電力化を実現可能で、しかもひずみの少ない正弦波データを生成することが可能なディジタル正弦波データ生成器を提供できる。
【図面の簡単な説明】
【図１】本発明の正弦波データ生成器およびトーン検出回路を備えたボタン電話システムの要部構成を示すブロック図。
【図２】本発明の第１実施形態における正弦波データ生成器１８の具体的な構成を示すブロック図。
【図３】図２に示す正弦波データ生成器１８が生成する正弦波データが示す正弦波を示す図。
【図４】リセット時の最大のひずみの発生の様子を示す図。
【図５】本発明の第２実施形態におけるトーン検出回路１９の具体的な構成を示すブロック図。
【図６】図５中の演算処理部５３の具体的構成を示すブロック図。
【図７】図５中のピーク検出部５５の具体的な構成を示すブロック図。
【図８】図５中の演算処理部５３で行われる積和演算の様子を示す図。
【図９】周波数ｆｘを着目周波数としての積和演算を行い、かつ入力信号周波数をｆｘ、ｆｙ、ｆｚと変化させた場合の出力値Ｖの変化を示す図。
【図１０】図５に示すトーン検出回路１９にて各着目周波数に関して検出される周波数スペクトルを並べて示した図。
【図１１】図１０に示す各周波数スペクトルを合成した様子を示す図。
【図１２】本発明の第３実施形態におけるトーン検出回路１９の具体的な構成を示すブロック図。
【図１３】図１２中のしきい値比較部９１の具体的な構成を示すブロック図。
【図１４】図１２に示すトーン検出回路１９にて検出する各着目周波数の周波数スペクトルの配置を示す図。
【図１５】本発明の第４実施形態におけるトーン検出回路１９の具体的な構成を示すブロック図。
【図１６】図１５に示すトーン検出回路１９にて検出する各着目周波数の周波数スペクトルの配置を示す図。
【符号の説明】
１…主装置
２（2-1〜2-i）…内線端末
１１…タイムスイッチ
１２（12-1〜12-j）…局線インタフェース回路
１３（13-1〜13-i）…内線インタフェース回路
１４…ＣＰＵ
１５…ＲＯＭ
１６…ＲＡＭ
１７…データハイウェイインタフェース部
１８…正弦波データ生成器
１９…トーン検出回路
２０…ＰＣＭハイウェイ
２１…データハイウェイ
２２…ＣＰＵローカルバス
３１…加算器
３２，３３…ラッチ回路
３４，３５…乗算器
３６…出力処理部
３７…ラッチ回路
３８…比較部
３９…基準データレジスタ
４０…比較部
４１…タイマ
４２…ＡＮＤゲート
４３…初期化部
５１…速度変換部
５２…圧縮／リニア変換部
５３…演算処理部
５４…絶対値変換部
５５…ピーク検出部
５６…加算部
５７…判定部
５８…レジスタ
５９…ＣＰＵインタフェース
６０…カウンタ
６１…リセット信号生成部
７１…減算器
７２…加算器
７３（73-1〜73-p）…フリップフロップ
７４（74-1〜74-p）…フリップフロップ
７５…係数発生器
７６…乗算器
８１…比較器
８２…セレクタ
８３（83-1〜83-p）…フリップフロップ
９１…しきい値比較部
９２…判定部
１０１…比較回路
１０２…しきい値レジスタ
１１１…しきい値比較部
１１２…マトリクス部
１１３…レジスタ
１１４…ＣＰＵインタフェース
【図１】
0004542658.tif 000002
【図２】
0004542658.tif 000003
【図３】
0004542658.tif 000004
【図４】
0004542658.tif 000005
【図５】
0004542658.tif 000006
【図６】
0004542658.tif 000007
【図７】
0004542658.tif 000008
【図８】
0004542658.tif 000009
【図９】
0004542658.tif 000010
【図１０】
0004542658.tif 000011
【図１１】
0004542658.tif 000012
【図１２】
0004542658.tif 000013
【図１３】
0004542658.tif 000014
【図１４】
0004542658.tif 000015
【図１５】
0004542658.tif 000016
【図１６】
0004542658.tif 000017