(57)【特許請求の範囲】
【請求項１】
集積回路(24)であって：
音声符号化アルゴリズム(88)，エコー・キャンセル情報(90)，変調処理アルゴリズム(92)および音声データ(86)を格納するメモリ(70)；
前記メモリに動作可能に結合される信号変換器(56)であって、前記信号変換器(56)は、前記集積回路(24)に対してアナログ・ディジタル入力ポート(78)およびディジタル・アナログ出力ポート(80)を与え、前記アナログ・ディジタル入力ポート(78)は前記音声データ(86)を前記メモリ(70)に与える、信号変換器(56)；
第１情報バスを介して前記メモリ(70)に動作可能に結合され、前記メモリの全体にアクセスする中央処理装置(58)であって、前記中央処理装置(58)は、前記音声データ(86)に対して前記音声符号化アルゴリズム(88)の少なくとも一部分を実行し、前記変調処理アルゴリズム(92)の少なくとも第１部分を実行する、中央処理装置(58)；および
第２情報バスを介してエコー・キャンセル情報を格納するために用いられる前記メモリの一部のみに動作可能に結合され、前記中央処理装置(58)に結合される第１コプロセッサ(72)であって、前記第１コプロセッサ(72)はエコー・キャンセル・アルゴリズム(96)を含み、該エコー・キャンセル情報(90)を用いて前記中央処理装置(58)の制御の下に前記音声データ(86)に対して前記エコー・キャンセル・アルゴリズム(96)を実行する、第１コプロセッサ(72)；
から構成されることを特徴とする集積回路(24)。
【請求項２】
集積回路(24)であって：
音声符号化アルゴリズム(88)，変調処理アルゴリズム(92)，音声データ(86)および送信データ(118)を格納するメモリ(70)；
前記メモリに動作可能に結合される信号変換器(56)であって、前記信号変換器(56)は、アナログ・ディジタル入力ポート(78)を備え、前記アナログ・ディジタル入力ポート(78)は音声データ(86)を前記メモリに与える、信号変換器(56)；
第１情報バスを介して前記メモリに動作可能に結合される中央処理装置(58)であって、前記中央処理装置(58)は、前記音声データ(86)に対して、前記音声符号化アルゴリズム(88)の少なくとも第１部分および前記変調処理アルゴリズム(92)の少なくとも第１部分を実行し、前記送信データ(118)を生成する、中央処理装置(58)；
第２情報バスを介してエコー・キャンセル情報を格納するために用いられる前記メモリの一部のみに動作可能に結合され、中央処理装置(58)に結合される第１コプロセッサ(72)であって、前記第１コプロセッサ(72)はエコー・キャンセル・アルゴリズム(96)を含み、該エコー・キャンセル情報(90)を用いて前記中央処理装置(58)の制御の下に前記音声データ(86)に対して前記エコー・キャンセル・アルゴリズム(96)を実行する、第１コプロセッサ(72)；
前記メモリ(70)に動作可能に結合する変調信号変換器(68)であって、前記変調信号変換器(68)は、第１バンド・アナログ・データ(82)を受信して前記第１バンド・アナログ・データを第１ディジタル・データ(120)に変換し、および第２ディジタル・データ(122)を受信して前記第２ディジタル・データ(122)を第２バンド・アナログ出力(84)に変換する、変調信号変換器(68)；および
前記変調信号変換器(68)および前記メモリ(70)に動作可能に結合されるディジタル変調器(110)であって、前記ディジタル変調器(110)は、前記送信データ(118)に基づいて前記第２ディジタル・データ(122)を生成し、前記第２ディジタル・データ(122)を前記変調信号変換器(68)に与える、ディジタル変調器(110)；
から構成されることとを特徴とする集積回路(24)。
【請求項３】
多重通信タスクを実行するための集積回路(24)であって：
エコー・キャンセル情報を含む音声情報とトーン発生データとを格納するメモリ；
第１情報バスを介して前記メモリに動作可能に結合され、前記メモリの全体にアクセスする中央処理装置；
第２情報バスを介してエコー・キャンセル情報を格納するために用いられる前記メモリの一部のみに動作可能に結合され、前記中央処理装置に結合される第１コプロセッサであって、前記第１コプロセッサはエコー・キャンセル・アルゴリズムを含み、該エコー・キャンセル情報を用いて前記中央処理装置の制御の下に前記音声データに対して前記エコー・キャンセル・アルゴリズムを実行する、第１コプロセッサ；
前記中央処理装置および前記メモリに動作可能に結合される第２コプロセッサであって、前記第２コプロセッサは前記トーン発生データを用いて前記中央処理装置の制御の下にユーザのトーン発生アルゴリズムを実行する、第２コプロセッサ；
前記中央処理装置および前記メモリに動作可能に結合される第３コプロセッサであって、前記第３コプロセッサは前記中央処理装置の制御の下に暗号化アルゴリズムを実行する、第３コプロセッサ；および
前記中央処理装置に動作可能に結合される第４コプロセッサであって、前記第４コプロセッサは前記中央処理装置の制御の下に等化アルゴリズムを実行する、第４コプロセッサ；
から構成されることを特徴とする集積回路(24)。
【請求項４】
集積回路(24)で多重通信タスクを実行する方法であって：
第１バンド・データ(82)を受信する段階；
変調信号変換器を用いて前記第１バンド・データ(82)を第１ディジタル・データ(120)に変換する段階；
前記第１ディジタル・データ(120)を等化データ・ストリーム(126)に等化する段階；
第１音声プロセッサを用いて前記等化データ・ストリーム(126)を符号化情報(132)に符号化する段階；
前記第１音声プロセッサを用いて前記符号化情報(132)を第１ディジタル音声データ(136)に処理する段階；
信号変換器を用いて前記第１ディジタル音声データ(136)をアナログ音声信号(26)に変換する段階；
前記信号変換器を用いて入力アナログ信号(28)を第２ディジタル音声データ(138)に変換する段階；
前記第２ディジタル音声データ(138)を処理し、前記第２ディジタル音声データに対してエコー・キャンセルを実行し、第２音声プロセッサを用いて被処理音声情報(142)を生成する段階であって、前記第２音声プロセッサは専用バスを介して前記第２ディジタル音声データを格納するメモリの一部に専らアクセスする、段階；
第３音声プロセッサを用いて前記被処理音声情報を符号化データ・ストリーム(146)に符号化する段階；
デジタル変調器を用いて前記符号化データ・ストリーム(146)を第２ディジタル・データ(122)に変換する段階；
前記変調信号変換器を用いて第２ディジタル・データ(122)を第２バンド・データ(84)に変換する段階；
から構成されることを特徴とする集積回路(24)で実行される方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、一般に、集積回路に関し、さらに詳しくは、単一集積回路上で複数の通信タクスを実行する方法および装置に関する。
【０００２】
【従来の技術】
セルラ電話，移動無線／電話および携帯無線／電話などのワイヤレス通信装置は、通信資源コントローラ(communication resource controller) にワイヤレス通信サービス要求を送出することにより動作する。一般に、この要求は、要求側ユニットの個別識別符号（ＩＤ），要求されるサービスの種類およびターゲット・ユニットの識別を含み、ここでターゲット・ユニット(target unit) とはワイヤレス通信ユニットでもワイヤライン通信ユニットでもよい。要求可能なワイヤレス・サービスの種類には、１対１通信（すなわち、プライベート呼出），１対多通信（すなわち、グループまたはコンフェレンス呼出），データ送信および／または電話相互接続呼出（すなわち、ワイヤライン電話ユーザへの呼出）がある。例えば、要求側ユニットが別の通信ユニットにプライベート呼出を行うことを希望する場合、この要求は要求側ユニットのＩＤ，ターゲット・ユニットのＩＤおよびプライベート呼出要求を含む。
【０００３】
要求を受信すると、通信資源コントローラは、要求側通信ユニットがワイヤレス通信システムおよび要求されたサービスにアクセスする権限があるかどうかを調べる。その権限がある場合、通信資源コントローラは要求されたサービスおよびターゲット・ユニットの識別を分析する。要求されたサービスおよびターゲット・ユニットの識別に応じて、通信資源コントローラは、要求側ユニットとターゲット・ユニットとの間に通信経路を確立することにより要求されたサービスを提供することを試みる。例えば、要求されたサービスが通信資源コントローラのカバー・エリア内にある２つのワイヤレス通信ユニット間のプライベート通話を表す場合、コントローラはワイヤレス通信資源をワイヤレス通信ユニットに割り当てることによりプライベート通話を確立できる。
【０００４】
しかし、要求されたサービスがワイヤレス通信システムにおける要求側ユニットとワイヤライン通信ユニットであるターゲット・ユニットとの間のプライベート通話を表す場合、通信資源コントローラは、要求された通信を行うためにはワイヤレス経路およびワイヤライン経路を確立する必要がある。通信資源コントローラは、２つのワイヤレス通信ユニットの間の通信の場合のようにワイヤレス経路を確立するが、ワイヤライン経路を確立するためには、通信資源コントローラは、公衆電話交換網（ＰＳＴＮ：public switch telephone network ）などのある種の公衆交換網に結合しなければならない。ワイヤレスおよびワイヤライン経路が確立されると、要求されたサービスは実行できる。
【０００５】
会社「甲」によって製造されたワイヤレス通信ユニットが会社「乙」によって製造されたワイヤレス通信ユニットと通信できるようにするために、規格が確立され、現在もその作業が行われている。要するに、規格はワイヤレスおよび／ワイヤライン通信をどのように確立するかを決定する。例えば、セルラ電話通信の欧州規格は、移動通信のグローバル・システム規格（ＧＳＭ）である。従って、欧州でワイヤレス通信ユニットを販売したいメーカは、ＧＳＭ規格に準拠する装置を設計しなければならない。
【０００６】
これらの規格に準拠するだけでなく、メーカは各社製品を政府規制および／または法規に合わせなければならない。例えば、米国では、連邦通信委員会（ＦＣＣ）は特定の種類の通信について利用される特定の周波数バンドを規定する。例えば、陸上移動通信にはある周波数バンドが与えられ、セルラ電話通信，商業無線送信およびテレビジョン送信のそれぞれには異なるバンドが割り当てられる。国内規制条件の他に、州法または連邦法がこのような通信ユニットの利用を制限することがある。例えば、多くの欧州諸国では、自動車の運転中にハンド操作型セルラ電話の使用を非合法にし、ドライバは電話をかけるために自動車を止めるか、あるいはハンドフリー操作を備えることを求めている。
【０００７】
規格および政府規制に準拠する一方で、メーカは消費者のニーズおよび要求を見失うことができない。消費者はワイヤレス通信ユニットが軽量で、バッテリ寿命が長く、多機能で、小型であることを要求する。例えば、消費者はセルラ電話がファクシミリを送受信でき、パーソナル・コンピュータをネットワークとインタフェースすることを可能にし、ヘッドセット，コンパクト・ディスク・プレーヤなどのオーディオ機器をインタフェースすることを要求している。
【０００８】
規制条件を満たすため、セルラ電話メーカは、ＡＴ＆Ｔ社製のＧＳＭハードウェア・プラットフォームなど３チップ・セットを利用できる。このチップ・セットにより、セルラ電話メーカはセルラ電話の無線周波数（ＲＦ）機能，モデム機能および音声コーデック機能を実行できる。このチップ・セットは規制条件を満たすが、効率的な全二重ハンドフリー動作を提供しない。ハンドフリー動作を提供するため、メーカは、エコー・キャンセレーション・アルゴリズムを実行すべくプログラムされたモトローラ社製ＤＳＰ５６００１またはＤＳＰ５６１５６などの追加デジタル信号プロセッサ（ＤＳＰ）を内蔵する必要がある。
【０００９】
【発明が解決しようとする課題】
一般に理解されるように、機能を実行するために追加集積回路（ＩＣ）またはチップが必要な場合、余分な電力が消費され、余分な回路基板面積を必要とし、またＩＣ間で情報が伝達されるので動作速度が低下する。従って、セルラ電話のメーカはセルラ電話のレイアウトで４つのチップを設けなければならず、パッケージの小型軽量化および通話時間の延長という消費者の目標を制限する。
【００１０】
ＡＴ＆Ｔチップ・セットを利用する以外の方法として、各機能を実行すべくプログラムされたＤＳＰを利用する方法がある。これは必要な機能を提供するが、所望の機能を実行するために多くのチップを必要とする点でＡＴ＆Ｔチップ・セットと同様な制限があり、そのため消費者の目標が制限される。
【００１１】
【課題を解決するための手段】
従って、パッケージの小型軽量化および通話時間の延長という消費者の条件により容易に対処でき、上記のセルラ電話機能を実行する単一集積回路を提供する方法および装置が必要とされる。
【００１２】
【実施例】
一般に、本発明は、多重通信機能を提供する集積回路上で用いられるＤＳＰコプロセッサを作製する方法および装置を提供する。これは、データ・バス・インタフェース，シーケンサ，内部メモリおよびデータ・コアを設けることにより達成される。シーケンサは、信号処理アルゴリズムをハードウェア・フォーマットで格納し、動作コマンドを受信すると、アドレス制御信号および動作制御信号をデータ・コアに与える。データ・コアは、アドレス発生ユニットおよび演算ユニットを含み、演算ユニットを介して信号処理アルゴリズムの動作命令を実行して、入力サンプル，中間結果およびアルゴリズム係数(algorithm co-efficients) ら結果信号を生成する。かかる方法および装置では、単一の信号処理ＩＣが多重通信機能を同時に実行でき、そのため速度を向上させ、電力消費を節減する。
【００１３】
図１は、通信ユニット１０のブロック図を示す。通信ユニット１０は、アンテナ１４，ＲＦインタフェース１６，復調器１８，信号処理集積回路（ＩＣ）２４，マイクロフォン２８，スピーカ２６，変調器３４，呼処理素子３６，ユーザ・インタフェース３５およびデータ入力ポート３８によって構成される。動作時に、通信ユニット１０のオペレータは、キーボード，キー・パネルまたは数字入力パッドでもよいユーザ・インタフェース３５を介してサービス要求を開始する。このサービス要求は、セルラ電話呼出，ファクシミリ送信でもよく、パーソナル・コンピュータのモデム・サービス，コンフェレンス呼出を提供してもよく、あるいはステータス，位置，方向要求，データ・ファイル要求などのデータ・メッセージを送信してもよい。
【００１４】
サービス要求がユーザ・インタフェース３５を介して入力されると、この要求は呼処理素子３６に送られる。マイクロプロセッサ，マイクロコンピュータ，またはデジタル信号プロセッサでもよい呼処理素子３６は、サービス要求を分析して、通信資源コントローラに送信するメッセージを作成する。このメッセージは信号処理ＩＣ２４に送られ、信号処理ＩＣ２４は、ＲＦモデム機能を介してメッセージをアナログ同相(in-phase)信号３２およびアナログ直交(quadrature)信号３０に変換する。同相信号および直交信号３０，３２は、変調器３４に送られ、変調器３４は信号３０，３２を搬送周波数に変調する。次に、変調信号はＲＦインタフェース１６に送られ、ＲＦインタフェース１６は変調信号を無線周波数（ＲＦ）信号１２として搬送周波数またはＲＦチャネル上で送出する。一般に、信号３０，３２は、振幅変調（ＡＭ），周波数変調（ＦＭ），直交振幅変調（ＱＡＭ），ガウス最小偏移（ＧＭＳＫ：guasian minimum shift keying），位相変調（ＰＭ）またはそれらの組み合わせなどの変調方法を利用して変調される。さらに、ＲＦチャネルは、いくつかのＲＦ信号１２を同時にサポートできるように、時分割多重化（ＴＤＭＡ），符号分割多重化（ＣＤＭＡ）または周波数分割多重化（ＦＤＭＡ）もしくはそれらの組み合わせを利用してフォーマット化してもよい。
【００１５】
ＲＦ信号１２を介して通信資源コントローラから応答を受信すると、この応答はＲＦインタフェース１６を介して復調器１８に送られる。復調器１８は、この応答を復調して、同相信号２２および直交信号２０を生成する。信号処理ＩＣ２４は、これらの信号２２，２０を受け、制御情報を抽出し、この制御情報を呼処理素子３６に送る。制御情報がサービス要求を許可した場合、呼処理素子３６は通信ユニット１０の他の構成要素にセットアップ情報を与える。例えば、要求されたサービスがファクシミリ送信であると想定すると、これらの条件では、呼処理素子３６はデータ・ポート３８をイネーブルして、ファクシミリ・データ、すなわちデジタル・データ４６を外部ファクシミリ装置４０から受信し、これを信号処理ＩＣ２４に送る。セットアップ情報を呼処理素子３６から受信すると、信号処理ＩＣ２４はファクシミリ・データの同相信号３２および直交信号３０を生成し、この信号はＲＦ信号１２を介してその後送信される。呼処理素子３６，データ・ポート３８および信号処理ＩＣ２４は、要求されたサービスがパーソナル・コンピュータ４２のモデム・インタフェース，コーデックなどの外部音声機器４４または外部モデムの場合にも、同じように機能する。
【００１６】
別の例として、サービス要求が電話通話の場合について想定すると、これらの条件では、呼処理素子３６は、全二重通信を可能にするセットアップ情報を生成する。全二重モードでは、マイクロフォン２８によって受信される音声信号は、信号処理ＩＣ２４に送られる。信号処理ＩＣ２４は、音声信号を同相信号３２および直交信号３０に変換する。同相信号および直交信号３２，３０は、変調器３４に送られ、変調器３４は変調信号をＲＦインタフェース１６に与え、この信号はその後ＲＦ信号１２として送信される。同時に、ＲＦ信号１２を介して受信された通信信号は、復調器１８を介して復調され、信号処理ＩＣ２４に送られる。信号処理ＩＣ２４は、復調信号２０，２２をアナログ信号に変換し、このアナログ信号はスピーカ２６によって可聴となる。
【００１７】
通信ユニット１０は、単一のマイクロフォン２８および単一のスピーカ２６を有して示されるが、通信ユニット１０は、複数のマイクロフォンおよび／または複数のスピーカを具備してもよい。通信ユニット１０がハンドフリー・モードで操作される場合には、エコー・キャンセレーションを利用して、マイクロフォン２８とスピーカ２６との間のフィードバックを防がなければならない。
【００１８】
図２は、信号処理集積回路２４の機能ブロック図を示す。図示のように、信号処理ＩＣ２４は、信号変換器５６のアナログ／デジタル（Ａ／Ｄ）入力ポート７８を介してマイクロフォン２８からアナログ信号を受信する。モトローラ社のコーデック・フィルタＭＣ１４５５００−ＭＣ１４５５０５のうち任意の１つと同様なコーデックでもよい信号変換器５６は、Ａ／Ｄ入力ポート７８を介して、受信アナログ信号をデジタル音声データ８６に変換する。音声データ８６は、デジタル化された線形スピーチ情報であり、ここでデジタル化はパルス符号変調（ＰＣＭ）方法を利用して行うことができる。さらに、信号変換器５６は、デジタル／アナログ（Ｄ／Ａ）出力ポート８０を含み、これはデータ・バス５０からデジタル化情報を受けて、デジタル・データをアナログ出力に変換して、スピーカ２６に送る。
【００１９】
中央処理装置（ＣＰＵ）５８の制御に基づいて、音声データ８６は、データ・バス５０を介してメモリ・ユニット７０に送られ、ここでデータは格納される。ＣＰＵ５８は、汎用中央処理装置，本発明の譲受人に譲渡された文書番号０８／１８４，５２９の同時係属特許出願 "DATA PROCESSOR WITH AN EFFICIENT BIT MOVE CAPABILITY AND METHOD THEREFORE"に開示される中央処理装置，あるいはモトローラ社のデジタル信号プロセッサＤＳＰ５６００１またはＤＳＰ５６１５６にあるような中央処理装置によって集積回路形式で構成されてもよい。メモリ７０は、ＲＡＭ，ＲＯＭ，レジスタ，バッファまたは論理ゲートなど、集積回路に集積できる任意のデジタル格納手段でもよい。
【００２０】
十分な量の音声データ８０、すなわちデジタル化線形スピーチ情報がメモリ７０に格納されると、ＣＰＵ５８はメモリ７０に格納された音声符号化アルゴリズム８８を呼び出す。エコー・キャンセレーション部分，ラグ・サーチ(lag search)部分および／またはスピーチ符号化部分を含む音声符号化アルゴリズムを開始するため、ＣＰＵ５８は、エコー・キャンセレーション部分９６をハードウェア・フォーマットで格納する第１コプロセッサ７２をイネーブルして、エコー・キャンセレーション情報９０を利用して音声データ８６に対してエコー・キャンセレーション・アルゴリズム９６を実行する。エコー・キャンセレーション機能については以下で詳細に説明する。
【００２１】
次に、ＣＰＵ５８は、エコー・キャンセレーションされた音声データに対して音声符号化アルゴリズムのスピーチ符号化部分を実行し、処理データを生成する。音声符号化アルゴリズム８８のスピーチ符号化アルゴリズム部分は、ＶＳＥＬＰ(vector summed excited linear prediction) アルゴリズム，ＣＥＬＰ(code excited linear predictor) アルゴリズム，ＲＰＥＬＴＰ(regular pulse excitation long term prediction) アルゴリズムまたは任意の他のデジタル化スピーチまたは音声圧縮アルゴリズムでもよい。スピーチ符号化部分の実行と同時に、ＣＰＵ５８は、ラグ・サーチ部分９８をハードウェア・フォーマットで格納する第１コプロセッサ７２をイネーブルして、音声処理アルゴリズムのラグ・サーチ部分９８を実行する。音声処理アルゴリズムのスピーチ符号化部分およびラグ・サーチ部分の同時実行から、圧縮デジタル音声情報が生成され、それ以降で用いるためにメモリ７０に格納される。
【００２２】
図２に示すように、第１コプロセッサ７２は、データ・バス５０，アドレス・バス５２および制御バス５４を含む主バス構造と、独自のデータ・バス，アドレス・バスおよび制御バスを含む第２バス７６とに結合される。二重バス構造を設けることにより、第１コプロセッサ７２は、ＣＰＵ５８が音声処理アルゴリズムの一部を実行する最中に、音声符号化アルゴリズムの部分を同時に実行できる。このような構造では、信号処理ＩＣ２４の速度は従来のチップ・セットに比べて改善される。なぜならば、音声処理アルゴリズムのすべての部分は同一チップ上で処理されるため、チップ・セット間で情報を送出および取り出すために余分な実行段階が必要ないためである。さらに、第２データ・バス７６は第１コプロセッサ７２に専用であるため、主バス５０〜５４よりも長さが大幅に短く、そのためメモリ７０と第１コプロセッサ７２との間で情報を格納し、取り出すためにあまりエネルギを要しない。第１コプロセッサが音声処理アルゴリズムの部分を実行すると、かなりの量の情報が第２データ・バス７６上で転送され、そのためチップ・セットに比べて１０〜３０％エネルギが節約される。このようなエネルギ節約により、信号処理ＩＣ２４は、低電力消費化という消費者のニーズを満たし、バッテリ寿命を延長できる。
【００２３】
圧縮デジタル化音声情報（すなわち、ＣＰＵ５８および第１コプロセッサ７２の結果）をメモリ７０に格納すると、ＣＰＵ５８は、モデム処理アルゴリズム９２の発信側部分(outbound portion)を呼び出すことにより、この情報をＲＦ送信用に準備する。モデム処理アルゴリズム９２の発信側部分は、圧縮デジタル化音声情報を同相および直交信号３０，３２に変換する多数のアルゴリズムのうち任意の１つでもよい。例えば、モデム処理アルゴリズム９２の発信側部分は、ブロック符号化または畳込み符号化部分，インタリーブ部分，暗号化部分およびバースト形成部分を含む複数の部分からなってもよい。
【００２４】
中央処理装置５８は、モデム処理アルゴリズム９２の部分を実行して、送信データを生成する際に、第３コプロセッサ６４もイネーブルして、ブロック符号化部分および、もし含まれる場合には、暗号化部分を実行する。第３コプロセッサ６４については以下で詳細に説明する。ＣＰＵ５８および第３コプロセッサ６４がモデム処理アルゴリズム９２のそれぞれの部分を完了すると、処理データはデータ・バス５０を介してデジタル変調器１１０に送られる。デジタル変調器１１０は、処理データを受けて、これを第１デジタル同相信号および第１デジタル直交信号に変調し、これらの信号はその後変調信号変換器６８に送られる。デジタル同相および直交信号をアナログ同相および直交信号３０，３２に変換する任意の装置でもよい変調信号変換器６８は、受信したデジタル情報から第２バンド・データ８４を生成する。第２バンド・データ８４は、通信ユニット１０の特定のアプリケーション・ニーズに応じて、ベースバンドでもあるいは任意の中間周波数でもよい。
【００２５】
アンテナ１４を介して受信されたＲＦ信号１２は、第１バンド・データ８２に変換され、この第１バンド・データ８２は、ベースバンド信号または任意の選択された中間周波数に変換してもよい。第１バンド・データ８２は、同相および直交信号２０，２２からなり、これらの信号は変調信号変換器６８に送られる。変調信号変換器６８は、アナログ信号である同相および直交信号２０，２２をデジタル同相および直交信号に変換する。デジタル同相および直交信号は、高速割り込みルーチンまたは直接メモリ・アクセス（ＤＭＡ），あるいはデジタル情報をメモリにダウンロードする任意の他の方法を介してメモリ７０に与えることができる。
【００２６】
デジタル同相および直交信号がメモリ７０に格納されると、中央プロセッサ５８はモデム処理アルゴリズム９２の着信側部分(inbound portion) の実行を開始する。モデム処理アルゴリズム９２の着信側部分は、モデム処理アルゴリズムの発信側部分と実質的に逆である。例えば、モデム処理アルゴリズムの着信側部分は、等化(equalization)部分，解読部分およびチャネル復号部分を含んでもよい。等化部分は、ＣＰＵ５８によって実行されるメトリック生成部分と、第４コプロセッサによって実行される加算／比較／選択(Add/Compare/Select)部分とを含む。第４コプロセッサ７４は、本発明と同じ譲受人に譲渡され、Mark Rossmanに発行された米国特許第５，０２７，３７４号 "BIT SERIAL VITERBI DECODER ADD/COMPARE/SELECT ARRAY"において定義されるようなコプロセッサでもよい。
【００２７】
モデム処理アルゴリズムの着信側部分の復号部分は、デインタリーブ部分，ブロック復号部分，巡回冗長検査（ＣＲＣ: cycle redundancy check）部分および受信品質検査(receive quality check) 部分を含む。インタリーブ機能の反対であるデインタリーブ部分はＣＰＵ５８によって実行され、第３コプロセッサ６４は、ＣＲＣ部分および受信品質検査部分を実行し、第４コプロセッサ７４は、ＣＰＵ５８とともに、ブロック符号化機能の反対であるブロック復号機能を実行する。
【００２８】
モデム処理アルゴリズム９２の着信側部分が完了すると、ＣＰＵ５８および第３および第４コプロセッサ６４，７４は圧縮されたデジタル音声情報を生成する。この段階で、モデム処理アルゴリズムは完了し、ＣＰＵ５８は音声復号アルゴリズムの実行を開始する。音声復号アルゴリズムは、音声符号化アルゴリズムの実質的に反対であり、圧縮デジタル情報が解凍(decompress)される。例えば、ＶＳＥＬＰ方法は、前述の他の圧縮および解凍方法と同様に音声符号化および復号アルゴリズムの両方を行う。解凍された音声情報を生成すると、ＣＰＵ５８はこの情報を信号変換器５６に送る。信号変換器５６は、Ｄ／Ａ出力ポート８０を介してこのデジタル情報をアナログ情報に変換する。この情報をアナログ信号に変換すると、スピーカ２６に送られる。
【００２９】
スピーチ，音声または任意の種類のアナログ信号を供給するだけでなく、信号処理ＩＣ２４はデジタル・データ４６も処理する。デジタル・データ４６を処理するため、ＩＣ２４は、データ・ポート３８（図１）からデジタル・データ４６を受けるデジタル・データ・インタフェース６０を含む。ＣＰＵ５８は、データ・バス５０を介してデジタル・データ４６をメモリ７０に送り、ここでデジタル・データ４６はモデム処理アルゴリズムの発信側部分を介してその後処理され、第２バンド・データ８４となる。
【００３０】
逆に、デジタル・データが第１バンド・データ８２として受信される場合には、変調信号変換器６８に送られる。変調信号変換器６８は、上で説明した音声信号に対するのと同じような機能をデジタル信号に対して実行する。しかし、受信デジタル信号について、解凍されたデジタル情報は音声処理のためＣＰＵ５８に送られず、デジタル・データ・インタフェース６０に送られ、デジタル・データ・インタフェース６０は、データ・ポート３８に結合されたデジタル機器の１つにこの情報を送る。
【００３１】
また、集積回路２４は、音声アルゴリズム９４’の第２部分としてトーン発生アルゴリズムを実行する第２コプロセッサ６２を含んで示される。トーン発生アルゴリズムは、上で説明したデジタル化音声情報としてスピーカ２６に送られるトーン信号を生成する。トーン発生信号は、キー・パッドの起動，呼進行トーン(call progress tone)，呼表示信号(call indication signal)またはＤＴＭＦ(dual tone multi frequency) を表示するために用いられる。さらに、発生されたトーンは、音声符号化アルゴリズムおよびモデム処理アルゴリズムを介して処理することができ、前述のように第２バンド・データ８４として準備できる。第２コプロセッサ６２によって発生されたトーンは、さまざまな方法で行うことができる。例えば、正弦信号の表現をメモリに格納して、第２コプロセッサを介して任意の周波数および振幅で復元して、所望のトーンを生成できる。
【００３２】
図３は、信号処理ＩＣ２４Ａの別の実施例を示す。信号処理ＩＣ２４Ａは、信号変換器５６，メモリ７０，デジタル変調器１１０，中央処理装置（ＣＰＵ）５８，変調信号変換器６８およびバス１１１を含む。この実施例では、アナログ信号は、コーデックでもよい信号変換器５６のＡ／Ｄ変換器７８によって受信され、デジタル化され、音声データ８６となる。音声データ８６はデジタル化線形スピーチ情報であり、デジタル化はパルス符号変調（ＰＣＭ）方法を利用して行うことができることに想起されたい。音声データ８６が生成されると、これはバス１１１を介してメモリ７０に送られ、そこに格納される。
【００３３】
十分な量の音声データ８６がメモリ７０に格納されると、ＣＰＵ５８は格納された音声データ８６を送信データ１１８に変換し始める。この説明では、十分な量の格納済み音声データ８６は、フレーム・サイズに基づく。アナログ音声信号がマイクロフォン２８から受信されると、信号変換器５６はアナログ信号をデジタル線形スピーチ情報に変換し、この情報はある時間長のフレームにパケット化される。例えば、フレーム長は１０μ秒〜１０ｍ秒の範囲でもよい。各フレームまたはデジタル化線形スピーチ情報のパケットは、ある数のデジタル化サンプルを含み、ここでこの数は信号変換器５６のサンプリング・レートおよびフレーム長に基づく。例えば、サンプリング・レートが８ＫＨｚで、フレーム長が２０ｍ秒の場合、フレームごとに１６０個のデジタル化サンプルがある。
【００３４】
ＣＰＵ５８は、まずオ音声符号化アルゴリズム８８の一部を実行し、次にモデム処理アルゴリズムの一部を実行することにより、音声データ８６から送信データ１１８を生成する。前述のように、音声符号化アルゴリズムのＣＰＵ５８の部分は、ＶＳＥＬＰ(vector summed excited linear prediction) ，ＣＥＬＰ(code excited linear prediction)またはＲＰＥＬＴＰ(regular pulse excitation long term prediction) でもよいスピーチ符号化アルゴリズムを含む。スピーチ符号化アルゴリズムを実行すると、次にＣＰＵ５８はスピーチ符号化データに対してモデム処理アルゴリズム９２の発信側部分を実行する。この発信側部分は、スピーチ符号化情報を送信データ１１８に変換し、ここで送信データ１１８はＧＳＭ規格に準拠してフォーマット化される。特に、送信データ１１８は、情報ビットを含み、この情報ビットは音声またはデータ，ミッドアンブル・ビット(mid amble bits)（トレーニング・シーケンス情報(training sequence information) ）およびガード・ビット(guard bits)である。
【００３５】
送信データ１１８が生成されると、これはバス１１１を介してメモリ７０に送られ、そこに格納される。十分な量の送信データ１１８がメモリ７０に格納されると、ＣＰＵ５８は、メモリ７０から送信データ１１８を取り出すようにデジタル変調器１１０に命令する。デジタル変調器は、送信データ１１８を第２デジタル・データ１２２に変換し、この第２デジタル・データ１２２は、デジタル同相信号およびデジタル直交信号からなる。第２デジタル・データ１２２は、変調信号変換器６８に直接送られ、変調信号変換器６８は第２デジタル・データ１２２を第２バンド・データ８４に変換する。第２バンド・データ８４は、通信ユニット１０のＲＦインタフェース１６を介してアンテナ１４に送られ、発信側ＲＦ信号１２として送信される。
【００３６】
第１バンド・データ８２に変換された着信側ＲＦ信号１２は、変調信号変換器６８によって受信される。変調信号変換器６８は、第１バンド・データ８２を第１デジタル・データ１２０に変換し、この第１デジタル・データはデジタル同相信号およびデジタル直交信号からなる。第１デジタル・データ１２０が生成されると、これはデータ・バス１１１を介してＣＰＵ５８に送られる。第１デジタル・データを受信すると、ＣＰＵ５８は、解読およびチャネル復号アルゴリズムを含むモデム処理アルゴリズム９２の着信側部分を実行する。モデム処理アルゴリズムの着信側部分を介して復号情報を生成すると、ＣＰＵ５８は、スピーチ復号アルゴリズムを含む音声処理アルゴリズムの部分を復号情報に対して実行し、デジタル音声１１２を生成する。デジタル音声１１２はバス１１１に乗せられ、信号変換器５６に送られ、信号変換器５６はデジタル音声１１２をアナログ信号に変換し、このアナログ信号をＤ／Ａ変換器８０を介してスピーカ２６の送出する。
【００３７】
図４は、信号処理ＩＣ２４Ｂのさらに別の実施例を示す。図示のように、変調信号変換器６８は、第１バンド・データ８２を受信し、これを第１デジタル・データ１２０に変換する。この変換では、第１バンド・データ８２を表すアナログ同相信号およびアナログ直交信号を、第１デジタル・データ１２０を表すデジタル同相信号およびデジタル直交信号に変換する。第１バンド・データ８２は復調ＲＦ信号なので、ＲＦ送信経路上の干渉により破損する。干渉は、建物，山，丘などで反射したＲＦ信号や、通信ユニットのエリアで送信される他のＲＦ信号や、通信ユニットの回路における不完全性に起因する。この破損は、第１デジタル・データ１２０にも入る。
【００３８】
第１デジタル・データ１２０から破損の除去を開始し、そこに含まれるデジタル情報を再捕捉するため、等化器１２４は第１デジタル・データ１２０を等化データ・ストリームに変換する。この等化プロセスでは、実際の送信データを最良に識別するため、第１デジタル・データを分析する。このプロセスについては、図５を参照してさらに詳しく説明する。等化データ・ストリーム１２６は、任意の解読素子１２８に送られる。通信ユニットの特定の用途に応じて、解読ユニット１２８は含んでも含まなくてもよい。例えば、機密通信が必要な場合、解読素子１２８は用いられるが、それ以外の場合にはこのプロセスに含まれない。解読ユニット１２８の詳細については、図５を参照してさらに詳しく説明する。
【００３９】
チャネル復号器１３０は、等化データ・ストリーム１２６または等化データ・ストリーム１２６の解読されたものを受信し、これを復号音声情報１３２に変換する。一般にこれは、等化データ・ストリーム１２６をデインタリーブして、デインタリーブ・データ・ストリームを生成することによって達成される。デインタリーブ・データ・ストリームは、逆畳込み関数(inverse convolution function)でもよい復号が施され、次に巡回冗長検査（ＣＲＣ）によって検査され、復号音声情報１３２となる。チャネル復号器１３０の詳細については、図５を参照して詳しく説明する。
【００４０】
復号音声情報１３２が生成されると、これは第１音声プロセッサ１３４に送られ、第１音声プロセッサ１３４は復号音声情報１３２を第１デジタル化音声１３６に変換する。一般にこれは、ＶＳＥＬＰ，ＣＥＬＰまたはＲＰＥＬＴＰなどのスピーチ復号アルゴリズムを利用して達成される。このプロセスの詳細については、図５を参照して以下で説明する。復号音声情報１３２を第１デジタル化音声データ１３６に変換すると、デジタル同相信号およびデジタル直交信号を含む第１デジタル化音声データ１３６は、信号変換器５６によってアナログ音声信号に変換される。アナログ音声信号は、図１の通信ユニット１０のスピーカ２６によって可聴信号に変換される。
【００４１】
上記の図４の説明では、ＲＦチャネルを介して情報を受信する通信ユニット１０および信号処理ＩＣ２４Ｂを中心にして説明した。ＲＦチャネルを介して音声情報を受信するだけでなく、通信ユニット１０および信号処理ＩＣ２４Ｂは、ＲＦチャネルを介してデータも受信できる。この場合、受信ＲＦファクシミリ送信，受信パーソナル・コンピュータ送信，通信セットアップ情報および音声機器の受信デジタル・データでもよいデータは、第１バンド・データ８２として受信される。受信音声信号の場合と同様に、データは変調信号変換器６８によって第１デジタル・データ１２０に変換され、等化器１２４によって等化され、解読素子１２８によって解読され、チャネル復号器１３０によって復号される。しかし、この時点で、復号データまたは補助データ出力１６０は、補助インタフェース(auxiliary interface) １５２に送られる。データを補助インタフェース１５２に送出するようにチャネル復号器１３０に命令する補助音声／データ・コマンドをコマンド・パーサ(command parser)１６２がチャネル復号器１３０に与えるので、データ１６０は第１音声プロセッサ１３４ではなく補助インタフェース１５２に送られる。
【００４２】
ＣＰＵ５８に内蔵してもよいコマンド・パーサ１６２は、図１の通信ユニット１０の呼処理素子３６から受信された信号に基づいて補助音声／データ・コマンド１６６を生成する。例えば、呼処理素子３６は、ＲＦチャネルを介してアナログ信号またはデジタル信号が受信されるのか、あるいは受信アナログ信号を信号変換器５６または補助インタフェース１５２に送出するのか、あるいはマイクロフォン２８によって受信された音声信号，補助インタフェースによって受信されたデータまたは補助インタフェースによって受信された音声をその後のＲＦ送信のため変調信号変換器６８に送出するかを示す信号をコマンド・パーサ１６２に与える。補助インタフェース１５２は、汎用ＩＣ入力／出力ポートまたは複数のポートでもよく、内蔵された時分割多重化（ＴＤＭ）フレーム構造を有するシリアル・ポートでもよい。
【００４３】
図４の説明を続けて、通信ユニット１０および信号処理ＩＣ２４Ｂは、マイクロフォン２８を介して音声信号を受信し、この信号は信号変換器５６に与えられる。通信ユニット１０は全二重装置でもよく、すなわち、ＲＦチャネルを介して音声および／またはデータを同時に送受信でき、従って信号処理ＩＣ２４Ｂは任意の時間で多重通信タスクを実行することができることに想起されたい。例えば、信号処理ＩＣ２４Ｂは、アンテナ１４および変調信号変換器６８から受信される音声情報を処理しながら、マイクロフォン２８および信号変換器５６を介して受信される音声情報を処理できる。
【００４４】
音声信号を受信すると、信号変換器５６は入力アナログ信号を第２デジタル化音声データ１３８に変換し、この第２デジタル化音声データ１３８は、パルス符号変調（ＰＣＭ）方法を用いて生成されるデジタル線形スピーチ情報でもよい。次に、第２音声プロセッサ１４０は、第２デジタル化音声データ１３８を被処理音声情報１４２に変換する。第２音声プロセッサ１４０は、ＶＳＥＬＰ，ＣＥＬＰまたはＲＰＥＬＴＰなどのスピーチ符号化アルゴリズムや、エコー・キャンセレーション・アルゴリズムおよび／または図６を参照して詳しく説明するラグ・サーチ・アルゴリズムを実行できる。
【００４５】
被処理音声情報１４２が生成されると、これはチャネル符号器１４４に送られる。チャネル符号器１４４が被処理音声情報１４２を受信すると、この被処理音声情報を符号化データ・ストリーム１４６に変換する。一般にこれは、図６を参照してさらに詳しく説明するように、被処理音声情報に対してブロック符号化または畳込み符号化，巡回冗長検査およびインタリーブ機能を実行することによって達成される。次に、符号化データ・ストリーム１４６は、暗号素子１４８に与えられ、暗号素子１４８は符号化データ・ストリーム１４６を暗号化して、暗号化データ・ストリームを生成する。信号処理ＩＣ２４Ｂは、通信ユニットの条件に応じて暗号化ブロック１４８または解読ブロック１２８を含まなくてもよいことに留意されたい。通信ユニットが暗号化機能を必要とする場合、暗号化の種類は所望の機密性のレベルに依存して大幅に異なる。例えば、暗号化は、パブリック・キー・システム(public keying system)からタイプ１連邦暗号規格(Type 1 Federal Encryption Standaard) までさまざまである。
【００４６】
信号処理ＩＣ２４Ｂが暗号化ブロック１４８を具備するかいなかに関係なく、デジタル変調器１１０は符号化データ・ストリーム１４６またはその暗号化されたものを受け、これを第２デジタル・データ１２２に変換する。第２デジタル・データ１２２は、デジタル同相信号およびデジタル直交信号を含み、これらの信号は変調信号変換器６８に与えられる。変調信号変換器６８は、第２デジタル・データ１２２を第２バンド・データ８４に変換する、すなわち、変調信号変換器６８はデジタル同相および直交信号をアナログ同相および直交信号に変換する。前述のように、第２バンド・データ８４は、通信ユニット１０の変調器３４によって処理され、図１に示すようにＲＦ信号１２としてその後送信される。
【００４７】
図４の信号処理ＩＣ２４Ｂの説明を続けて、信号処理ＩＣ２４Ｂは補助情報も処理でき、ここで補助情報とはデータでも音声でもよい。補助情報がファクシミリ送信または受信情報，パーソナル・コンピュータのモデム情報，汎用モデム情報またはデジタル音声機器情報などのデータの場合、信号処理ＩＣ２４Ｂは、通信ユニット１０のデータ・ポート３８および補助インタフェース１５２を介して周辺データ装置の１つからデータ１５６を受信する。補助インタフェース１５２は、データ入力１５６またはその表現を補助データ入力１５７としてチャネル符号器１４４に送る。補助インタフェース１５２は、ボー・レートを調整し、これをＴＤＭスロットに入れ、あるいはフレーム情報を追加して補助データ入力１５７を生成することにより、データ入力１５６を処理する必要があることに留意されたい。例えば、データ入力１５６が４８００ボー・レートで受信されるが、ＧＳＭ規格がより高いボー・レートを必要とする場合、補助インタフェース１５２は、ＧＳＭ所要ボー・レートで補助データ入力１５７を生成する。
【００４８】
補助データ入力１５７を受信すると、チャネル符号器１４４はこれを符号化データ・ストリーム１４６に変換する。次に、符号化データストリーム１４６は、暗号化ブロック１４８によって暗号化され、デジタル変調器によって第２デジタル・データ１２２に変換され、最後に変調信号変換器６８によって第２バンド・データ８４に変換される。第２バンド・データ８４に変換された後、通信ユニット１０の適切な構成要素を介してＲＦ信号１２として送信される。
【００４９】
補助データを受信するだけでなく、信号処理ＩＣ２４Ｂは、補助インタフェース１５２を介して補助音声データ入力１５４および補助音声出力１５９を送受信できる。補助音声入力１５４を受信すると、補助インタフェース１５２はこれを補助音声１５５として第２音声プロセッサ１４０に送出する。第２音声プロセッサ１４０は、第２デジタル化音声データ１３８を処理するのと同様な方法で補助音声１５５を処理する。従って、補助音声１５５は、第２バンド・データ８４にその後変換され、ＲＦ信号１２として送信される。
【００５０】
信号処理ＩＣ２４Ｂは、補助インタフェース１５２および通信ユニット１０のデータ・ポート３８を介して補助音声出力１５９を周辺装置に与える。一般に、補助音声出力１５９は、スピーカ２６に与えられる音声信号と同様に生成されるが、ただし、第１音声データ１３６を信号変換器５６に送出する代わりに、補助音声１５８として補助インタフェース１５２に送出される点が異なる。補助インタフェース１５２は、補助音声１５８を処理して、補助音声出力１５９を生成し、ここでこの処理は、音声出力データ１５９を受信する音声機器４４の種類に依存する。補助経路の利用は、前述のようにコマンド・パーサ１６２によって制御されることに留意されたい。
【００５１】
図５は、信号処理ＩＣ２４，２４Ａ，２４Ｂの着信側ＲＦ受信経路の詳細なブロック図を示す。図示のように、ＲＦ信号１２はアンテナ１４によって受信され、通信ユニット１０のＲＦインタフェース１６に送られる。音声またはデータ情報でもよい受信ＲＦ信号は、復調器１８に送られ、復調器は受信ＲＦ信号を同相信号２２および直交信号２０に変換する。同相および直交信号２０，２２は、信号処理ＩＣ２４の変調信号変換器６８に与えられる。変調信号変換器６８は、アナログ同相および直交信号２０，２２を同相信号のデジタル化表現１８８および直交信号のデジタル化表現１９０に変換する。
【００５２】
アナログ信号２０，２２をデジタル信号１８８，１９０に変換するだけでなく、変調信号変換器６８はデジタル信号１８８，１９０をフレーム１８０にフォーマット化する。図示のように、フレーム１８０は第１データ／音声部分１８４，トレーニング・シーケンス１８２および第２データ／音声部分１８６を含むことができる。データ／音声部分１８４，１８６は、任意の時間でデータ情報または音声情報のいずれかを収容できるが、フレームごとに音声情報およびデータ情報を交互にサポートしてもよい。トレーニング・シーケンス１８２またはミッドアンブル(mid amble) は、フレーム同期情報およびフレーム期間を判定するために利用されるトレーニング情報を収容する。例えば、フレーム同期情報および期間は、モデム処理アルゴリズム９２で必要なフレームの開始および終了を信号処理ＩＣ２４が判定することを可能にする情報を提供する。ＧＳＭ規格は、あるビット・パターンである、トレーニング・シーケンス内に含まれる情報について規定する。従って、与えられたビット・パターンがなにかを把握し、かつこれを実際に受信されたものと比較することによって、フレーム境界(frame boundary)および同期を容易に判定できる。
【００５３】
変調信号変換器６８がデジタル同相信号１８８およびデジタル直交信号１９０を生成した後、これらの信号は等化器１２４に送られる。ビタビ・アルゴリズム(Viterbi algorithm) を利用する等化器１２４は、メトリック発生器(metric generator)１９４および加算／比較／選択部（ＡＣＳ：add/compare/select）１９８を含む。図２のＣＰＵ５８内に含まれるメトリック発生器１９４は、デジタル同相信号１８８，デジタル直交信号１９０およびトレーニング・シーケンス１８２を受信して、メトリック情報１９３と、同相および直交（Ｉ＆Ｑ）情報１９２とを生成し、このＩ＆Ｑ情報１９２はフレーム情報およびビット同期情報を含む。
【００５４】
図２の第４コプロセッサ７４に内蔵してもよく、かつMark Rossmanに発行され、本発明と同じ譲受人に譲渡された米国特許第５，０２７，３７４号 "BIT SERIAL VITERBI DECODER ADD/COMPARE/SELECT ARRAY"において開示されるタイプでもよいＡＣＳ部１９８は、一連のメトリックであるメトリック情報を利用して、最尤シーケンス推定（ＭＬＳＥ：Maximum LIkelihood Sequence Estimation）等化を行う。ＭＬＳＥ等化の実施とともに、ＡＣＳ部１９８はＩおよびＱ情報１９２を利用して、等化データ・ストリーム１２６を生成する。
【００５５】
等化データ・ストリーム１２６は、必要な場合には、解読素子１２８に送られる。解読機能１２８は、中央処理装置５８および第３コプロセッサ６４内で実行される。利用される暗号化アルゴリズムの種類は、必要な機密性のレベルに依存する。暗号化／解読機能については、図２５を参照してさらに詳しく説明する。等化データ・ストリーム１２６または等化データ・ストリーム１２６の解読されたものは、チャネル復号器１３０によって受信される。デインタリーブ・ブロック２００，ブロック復号器２０２，巡回冗長検査（ＣＲＣ）ブロック２０４および受信品質ブロック２０６を含むチャネル復号器１３０は、等化データ・ストリーム１２６を復号して、復号情報を生成する。図２のＣＰＵ５８によって実行されるデインタリーブ・ブロック２００は、等化データ・ストリーム１２６を受け、ＧＳＭ規格に基づいてストリーム１２６をデインタリーブして、デインタリーブ・データを生成する。本質的には、デインタリーブは、インタリーブの反対の機能であり、インタリーブとはデータ・ストリームをとって、そのビットまたはバイトの順番を再配列することである。例えば、ある時点において、式（１）が元のデータ・ストリームであり、式（２）がインタリーブされたデータ・ストリームであり、式（３）がデインタリーブされたデータ・ストリームであり、遅延が２であると仮定する：
（１）Ａ0 Ａ1 Ａ2 Ａ3 Ａ4 Ａ5 Ａ6  Ｂ0 Ｂ1 Ｂ2 Ｂ3 Ｂ4 Ｂ5 Ｂ6   Ｃ0 Ｃ1 Ｃ2 Ｃ3 Ｃ4 Ｃ5 Ｃ6
（２）Ａ0 Ｙ5 Ｚ3 Ａ1 Ｙ6 Ｚ4 Ａ2   Ｂ0 Ｚ5 Ａ3 Ｂ1 Ｚ6 Ａ4 Ｂ2   Ｃ0 Ａ5 Ｂ3 Ｃ1 Ａ6 Ｂ4 Ｃ2
（３）Ｙ2 Ｙ3 Ｙ4 Ｙ5 Ｙ6 Ｚ0 Ｚ1   Ｚ2 Ｚ3 Ｚ4 Ｚ5 Ｚ6 Ａ0 Ａ1   Ａ2 Ａ3 Ａ4 Ａ5 Ａ6 Ｂ0 Ｂ1
示すように、Ｙ0 〜Ｙ6 ，Ｚ0 〜Ｚ6 ，Ａ0 〜Ａ6 ，Ｂ0 〜Ｂ6 およびＣ0 〜Ｃ6 それぞれは、等化データ・ストリーム１２６のシーケンシャル符号ワードを表す。デインタリーブ・データ・ストリームは２でオフセットされるが、０−５−３−１−６−４−２のパターンを有するインタリーブ・データ・ストリームのビット位置の反復性に留意されたい。これは、これの例では２である、選択された遅延によって生じる。従って、インタリーブ・データ・ストリームのビット・パターンは、遅延に基づく法の関数(modulo function) である。
【００５６】
等化データ・ストリーム１２６をデインタリーブして、デインタリーブ・データ・ストリームを生成すると、図２の第４コプロセッサ７４およびＣＰＵ５８に内蔵されるブロック復号器２０２は、デインタリーブ・データ・ストリームを復号する。ブロック復号器２０２は、ＧＳＭ規格で定義される畳込み復号プロセスを利用する。本質的には、畳込み復号は、図２１で詳しく説明する畳込み符号化と反対の機能である。
【００５７】
ブロック復号されたデータは、ＣＲＣブロック２０４によって検査され、このＣＲＣブロック２０４は図２の第３コプロセッサ６４に内蔵される。検査を行うため、ＣＲＣブロック２０４は、ＧＳＭ規格で定義されるＣＲＣ機能を実行する。さらに、ＣＲＣブロック２０４は、データに対して誤り訂正機能を実行し、受信情報の精度をさらに改善する。チャネル復号器１３０の最後のブロックは、図２のＣＰＵ５８および第３コプロセッサ６４に内蔵される受信品質ブロック２０６で、このブロック２０６は現在受信中のＲＦ信号の品質を判定する。受信品質ブロック２０６の詳細については、図２２を参照してさらに詳しく説明する。
【００５８】
復号音声情報１３２からなるチャネル復号器１３０の出力は、第１音声プロセッサ１３４または補助インタフェース１５２に送られる。図２のＣＰＵ５８内で実施されるボコーダ２０８からなってもよい第１音声プロセッサ１３４に復号音声情報が送られる場合、第１音声プロセッサ１３４は、スピーチ復号アルゴリズムを実行する。スピーチ復号アルゴリズムは、ＶＳＥＬＰアルゴリズム，ＣＥＬＰアルゴリズムまたはＲＰＥＬＴＰアルゴリズムでもよい。復号器１３０の出力が補助インタフェース１５２に送られる場合、これはデータ出力１６０として周辺装置の１つに送出される。
【００５９】
図６は、信号処理集積回路２４，２４Ａ，２４ＢのＲＦ出力経路へのアナログ入力を示す。図示のように、２つの入力経路、すなわち、マイクロフォン２８から受信した情報である入力アナログ信号経路と、補助データ入力１５６を介して受信した情報であるデータ入力経路とがある。マイクロフォン２８によって生成される入力アナログ信号は、信号変換器５６に送られ、信号変換器５６はこれらの信号を第２デジタル化音声データ１３８に変換する。第２デジタル化音声データ１３８は、エコー・キャンセレーション部２２２，スピーチ符号部２２６およびラグ・サーチ部２２４を含む第２音声プロセッサ１４０に送られる。図２の第１コプロセッサ７２に内蔵されるエコー・キャンセレーション部２２２は、第２デジタル化音声データ１３８を受信して、この第２デジタル化データ１３８からエコー信号を除去する。エコー・キャンセレーション部２２２の出力は、スピーチ符号器２２６に送られる。エコー・キャンセレーション部２２２については、図１１ないし図１４を参照して以下で詳しく説明する。
【００６０】
ＣＰＵ５８に内蔵されるスピーチ符号器２２６は、ラグ・サーチ部２２４がラグ・サーチ機能を実行してラグ・サーチ情報を生成するのと同時に、音声符号化アルゴリズム１８８の一部を実行する。図２の第１コプロセッサ７２に内蔵されるラグ・サーチ部２２４については、図１５を参照して詳しく説明する。スピーチ符号器２２６は、ラグ・サーチ情報を利用して、ＧＳＭ規格に基づいて音声符号化アルゴリズム８８の一部を実行して、被処理音声情報１４２を生成する。例えば、音声符号器は、ＶＳＥＬＰアルゴリズム，ＣＥＬＰアルゴリズムまたはＲＰＥＬＴＰアルゴリを実行できる。
【００６１】
第２音声プロセッサ１４０が被処理音声情報１４２を生成する際に、被処理音声情報１４２はチャネル符号器１４４に送られる。チャネル符号器１４４は、図２の第３コプロセッサ６４に内蔵されるブロック符号器２２８と、中央処理装置５８に内蔵されるインタリーブ部２３０とを含む。ブロック符号器２２８は、被処理音声情報１４２を畳込み符号化し、またＣＲＣ検査を追加して符号化情報を生成してもよい。ブロック符号器２２８については、図２１を参照して以下で詳しく説明する。
【００６２】
ブロック符号器２２８によって生成された符号化情報は、ＧＳＭ規格に基づくインタリーブ機能を実行するインタリーブ・ブロック２３０に送られる。本質的には、インタリーブ機能は、複数のデータ・フレームの中でデータ・フレームを分離(segegate)して、送信干渉またはバースト・エラー中にデータ損の危険を最小限に抑える。インタリーブ・プロセスの一例については前で説明した。インタリーブ部２３０が符号化情報をインタリーブした後、チャネル符号器１４４は符号化データ・ストリーム１４６７を出力する。チャネル符号器１４４は補助インタフェース１５２からも入力を受信し、受信した入力は被処理音声情報１４２について説明したのと同様に処理されることに留意されたい。
【００６３】
暗号化部１４８は、符号化データ・ストリーム１４６を受信する。暗号化部１４８が含まれる場合、この暗号化部は図２のＣＰＵ５８および第３コプロセッサ６４に内蔵され、解読器１２８のアルゴリズムに対応する暗号化アルゴリズムを実行する。前述のように、暗号化部１４８が利用する暗号化アルゴリズムは、通信ユニット１０内で望まれる機密性のレベルに依存する。これは任意のブロックでもよいことに想起されたい。
【００６４】
符号化データ・ストリームまたはその暗号化されたものは、図２のＣＰＵ５８に内蔵されるバースト形成素子２３２に進む。バースト形成素子２３２は、符号化データ・ストリーム１４６を図５に示すフレーム・ブロック・フォーマット１８０にフォーマット化する。データ／音声部１８４，１８６およびトレーニング・シーケンス部１８２を含むフレームをフォーマットするだけでなく、バースト形成素子２３２は、バーストまたはデータ／音声部１８４，１８６のいずれかの側にガード・ビットを追加する。
【００６５】
図６の説明を続けて、バースト形成素子２３２の出力は、同相デジタル信号２３６およびデジタル直交信号２３８を生成するデジタル変調器１１０に進む。これらの信号は、信号変調器６８に送られ、信号変調器６８はこれらの信号をアナログ同相および直交信号３２，３０に変換する。これらのアナログ信号３０，３２は、変調器３４に送られ、その後アンテナ１４およびＲＦインタフェース１６を介してＲＦ信号１２として送信される。
【００６６】
図７は、本発明を具現するために用いることができる論理図を示す。ステップ２５０において、第１バンド・データ信号が受信される。ステップ２５２において、第１バンド・データ信号は第１デジタル信号に変換される。このデジタル変換を行うと、ステップ２５４において第１デジタル・データは等化データ・ストリームに等化される。ステップ２５５において、等化データ・ストリームは復号され、復号情報となる。第１バンド・データがデータ情報の場合、これはステップ２７０に送られ、補助インタフェースを介して適切なデジタル機器にこのデータを送出する。
【００６７】
しかし、第１バンド・データが音声情報を含む場合、ステップ２５６において復号情報は処理され、第１デジタル化音声データとなる。次にステップ２５８において、デジタル化音声はアナログ信号に変換される。このアナログ信号は、音声トランスデューサに送られ、アナログ音声信号は可聴となる。
【００６８】
着信側アナログまたはデータ信号の場合、まずステップ２６０において信号は第２デジタル化音声データに変換される。ステップ２６２において、第２デジタル化音声データは処理され、被処理音声情報となる。次にステップ２６４において、被処理音声情報は符号化され、符号化データストリームとなる。あるいは、ステップ２６４において、ステップ２７２に示すように補助インタフェースを介して受信されたデータ情報は符号化され、符号化データ・ストリームとなる。符号化データ・ストリームがどのように形成されたかにかかわらず、ステップ２６６において、符号化データ・ストリームは第２デジタル・データに変換される。最後にステップ２６８において、第２デジタル・データは第２バンド・データに変換され、これはＲＦ信号として送信される。
【００６９】
図８は、第１コプロセッサ、すなわちデジタル信号プロセッサ（ＤＳＰ）コプロセッサ７２のブロック図を示す。図示のように、ＤＳＰコプロセッサ７２は、外部メモリ３００および外部ソース３０２に結合される。外部メモリ３００は、ＲＡＭ，ＲＯＭおよび／または信号処理ＩＣ２４のメモリ７０など、任意の形式のデジタル・メモリでもよい。外部ソース３０２は、ＤＳＰコプロセッサ７２に動作コマンド３１４および初期化情報３１６を与えることができる任意の素子でもよい。例えば、外部ソース３０２は、信号処理ＩＣ２４の中央処理装置５８でもよい。
【００７０】
ＤＳＰコプロセッサ７２は、第１データ・バス・インタフェース３２０，第２データ・バス・インタフェース３１８，データ・コア３２２，内部メモリ３３０，コマンド・レジスタ３２４，命令期間発生器(instructional interval generator)またはクロック発生器３２６およびシーケンサ３２８を含む。プログラマブル論理アレイなど、複数の論理ゲートでもよいシーケンサ３２８は、信号処理アルゴリズム３３２をハードウェア・フォーマットで格納する。信号処理アルゴリズム３３２は、エコー・キャンセレーション・アルゴリズム，ラグ・サーチ・アルゴリズム，有限インパルス応答フィルタ・アルゴリズム，無限インパルス応答フィルタ，汎用フィルタ機能，音声相関アルゴリズムおよび／または高速フーリエ変換関数でもよい。
【００７１】
一般に、シーケンサ３２８は、信号処理アルゴリズム３２２の１つを実行する際にデータ・コア３２２の実行を制御するステート・マシーンとして機能する。ステート・マシーンとしてのシーケンサ３２８は、信号処理アルゴリズム３２２が完了するまで、アドレス制御信号３３４および動作制御信号３３６をデータ・コア３２２に、動作サイクル・ベースで供給する。シーケンサ３２８のステート・マシーン機能については、図１３を参照してさらに詳しく説明する。
【００７２】
シーケンサ３２８はデータ・コア３２２による信号処理アルゴリズム３２２の実行を制御するが、シーケンサは外部ソース３０２の制御に基づいてそのように制御する。シーケンサ３２８にデータ・コア３２２の実行を制御させるため、外部ソース３０２は、第２データ・バス・インタフェース３２０を介して動作コマンド３１４および初期化情報３１６をシーケンサ３２８に与える。動作コマンド３１４は、どの信号処理アルゴリズム３３２を実行し、コマンド・レジスタ３２４に格納するかを示す。動作コマンド３１４がコマンド・レジスタ３２４に格納されると、シーケンサ３２８および命令期間クロック３２６に与えられ、選択された信号処理アルゴリズム３３２が開始する。例えば、動作コマンド３１４がエコー・キャンセレーション・アルゴリズムを実行するようにシーケンサ３２８に命令したと想定する。このコマンド３１４の受信時に、命令期間クロック３２６はシーケンサ３２８に命令期間の発信を開始し、シーケンサ３２８は動作制御信号３３６およびアドレス制御信号３３４をデータ・コア３２２に供給を開始する。
【００７３】
図８においてさらに図示するように、データ・コア３２２は、アドレス発生ユニット３４０，アドレス発生レジスタ３３８，ループ・カウント・カウンタ・レジスタ３４２および演算ユニット３４４を含み、この演算ユニット３４４は加算器３４６，飽和レジスタ３４８および乗算・累算（ＭＡＣ：multiply-accumulate ）部３５０からなる。アドレス発生ユニット３４０については、図１６〜図２０を参照して以下でさらに詳しく説明し、他のデータ・コア構成要素は、市販の集積回路構成要素である。例えば、ループ・カウンタ・レジスタ３４２，加算器３４６，飽和レジスタ３４８およびＭＡＣ３５０は、モトローラ社製ＤＳＰ５６００１またはＤＳＰ５６１５６で用いられるものと同様な構成要素でもよい。図示の要素の他に、演算ユニット３４４はさらに、減算機能，比較機能，絶対値機能，クリア機能，ニゲート機能，バレル・シフタ(barrel shifter)，優先符号器(priority encoder)，論理ユニット，シフト・レジスタ，追加加算器および／または追加ＭＡＣを含んでもよい。これらの機能の多くは、演算ユニット３４４内に追加アドレスおよびデータ・バスを設けることにより、並列に実行できる。加算器３４６は、減算，比較絶対値機能，ニゲート機能およびクリア機能の追加機能を実行できることに留意されたい。
【００７４】
シーケンサ３２８から制御信号３３４および動作制御信号３３６を受信するだけでなく、データ・コア３２２は、第１データ・バス・インタフェース３２０を介して、外部ソース３０２から初期化情報３１６を受信する。初期化情報３１６は、アルゴリズム係数，初期アドレス・ポインタ，初期ループ・カウンタ，累算数，丸め係数(rounding coefficient)，サーキュラ・バッファ・ポインタ(circular buffer pointer) ，インクリメント値，サーキュラ・バッファの終了アドレスおよび／またはサーキュラ・バッファの開始アドレスでもよい。
【００７５】
初期化情報３１６およびアドレス制御情報３３４ならびに動作制御情報３３６を受信すると、データ・コア３２２は選択された処理アルゴリズム３３２の実行を開始する。一般に、データ・コア３２２は、アドレス発生ユニット３４０を介して、アドレス制御信号３３４からアドレスを生成し、ここでアドレス制御信号３３４は、アドレス発生ユニット３３４に新たなアドレスを発生するように命令するコマンド信号である。従って、命令期間で、新たなアドレスが生成され、このアドレスは外部メモリ３００から入力サンプル３１０およびアルゴリズム係数３１２を取り出すために用いられる。入力サンプル３１０およびアルゴリズム係数３１２が取り出されると、これらは内部メモリ３３０に格納される。
【００７６】
アドレス発生ユニット３４０がシーケンサ３２８の制御に基づいて新たなアドレスを生成する際に、演算ユニット３４４は、動作制御信号３３６に基づいて、内部メモリ３３０に格納された中間結果３５２，入力サンプル３１０およびアルゴリズム係数３１２に対して演算機能を実行し、新たな中間結果３５２を生成する。演算機能が実行される際に、中間結果３５２はチェックされ、オーバフロー状態が発生したかどうか、すなわち、演算ユニット３４４が処理できる最大値または最小値を越えたかどうかを調べる。オーバフロー状態が発生すると、飽和レジスタ３４８はこの特定の一連の動作について最終結果として、オーバフローまたは飽和定数(saturation constant) を与える。演算機能を制御するだけでなく、動作制御信号３３６は、内部メモリ３３０からの情報の格納および取り出しを制御する。
【００７７】
データ・コア３２２がシーケンサ３２８によって決定される機能を実行する際に、データ・コア３２２は、ループ・カウンタ・レジスタ３４２を介して、ループ・カウント情報をシーケンサ３２８に与える。ループ・カウント情報は、実行された実行ステップの数をシーケンサ３２８に通知し、そのためシーケンサ３２８は選択された信号処理アルゴリズム３３２がいつ完了したかを判定できる。信号処理アルゴリズム３３２が完了すると、シーケンサ３２８および命令期間クロック３２６は、新たな動作コマンド３１４が受信されるまでディセーブルされる。
【００７８】
ＤＳＰコプロセッサ７２を内蔵することにより、図２の信号処理ＩＣ２４は規制条件，政府条件および消費者条件を満たすことができる。前述のように、図８のシーケンサ３２８は、エコー・キャンセレーション・アルゴリズム，ラグ・サーチ・アルゴリズム，有限インパルス応答フィルタ・アルゴリズム，無限インパルス応答フィルタ，汎用フィルタ機能，音声相関アルゴリズムおよび／または高速フーリエ変換関数などいくつかの信号処理アルゴリズムをハードウェア・フォーマットで格納する。この情報をハードウェア・フォーマットで格納することにより、ＤＳＰコプロセッサ７２は、図２のＣＰＵ５８がこれらのアルゴリズムを実行するために必要なオペレーションをメモリから絶えず読み出す必要性を省くことにより、より高速にアルゴリズムを処理できる。また、ＤＳＰコプロセッサ７２は、信号処理アルゴリズムが個別の信号処理プロセッサまたはマイクロプロセッサによってオフチップで実行される場合に比べてより高速である。高速だけでなく、ＤＳＰコプロセッサ７２はＣＰＵ手法またはオフチップ手法に比べて電力消費が少ない。この電力節減は、ＤＳＰコプロセッサ７２が未使用時にはこれをディセーブルすることに起因し、使用時には、ＤＳＰコプロセッサ７２は外部メモリ３００に対して専用バスを有する。専用バスを有することにより、その長さを短くできる。ただし、この場合、寄生容量が低く、バスを「ハイ」または「ロー」に駆動するためにあまり電力を必要としないように、チップ・レイアウトが外部メモリ３００をＤＳＰコプロセッサ７２付近に配置することを条件とする。
【００７９】
図９は、ＤＳＰコプロセッサ７２を実施するために利用できる論理図を示す。ステップ３６０において、動作コマンドおよび初期化情報が受信される。動作コマンドから、ステップ３６２において、複数の信号処理アルゴリズムのうちどれを実行するかを判定する。どの信号処理アルゴリズムを実行するかを判定すると、ステップ３６４に示すように入力サンプルおよびアルゴリズム係数が受信され、外部メモリに格納される。入力サンプルおよびアルゴリズム係数が外部メモリに格納されると、入力サンプルおよびアルゴリズム係数を取り出すためにアドレスが生成できるように、アドレス制御信号がハードウェア・シーケンサによって与えられる。次のアドレスがなにかを判定するため初期化情報が用いられ、初期化情報は、アドレス・オフセット値，サーキュラ・バッファの開始アドレス，サーキュラ・バッファの終了アドレスおよび初期アドレス・ポインタを含むことに留意されたい。
【００８０】
アドレス制御信号を与えるだけでなく、ハードウェア・シーケンサは、ステップ３６６で動作制御信号も与える。動作制御信号は、命令期間で、取り出された入力サンプルおよびアルゴリズム係数に対して、選択された信号処理アルゴリズムの少なくとも１つの実行可能なステップを実行させて、ステップ３６８に示す中間結果を生成する。さらに、ステップ３６８において、ループ・カウンタがインクリメントされ、ここで初期ループ・カウント値および全ループ・カウントは初期化情報に含まれる。中間結果が生成されると、ステップ３７０において初期化情報がループの終了を示すかどうかをプロセスは調べる。これは、新たにインクリメントされたループ・カウントを全ループ・カウントと比較することによって調べられる。新たにインクリメントしたループ・カウントが全ループ・カウントに等しい場合、プロセスはステップ３７２に進み、それ以外の場合には、プロセスはステップ３６６に進む。ステップ３７２において、中間結果，入力サンプルおよびアルゴリズム係数に対して演算機能を実行した一連の実行ステップに基づいて、結果が生成される。
【００８１】
図１０は、外部メモリ３０および外部ソース３０２に結合されたＤＳＰコプロセッサ７２のさらに詳細なブロック図を示す。ＤＳＰコプロセッサ７２は、アドレス・バス３０６および第１データ・バス３８２、すなわち専用バスを介して外部メモリ３００に結合され、また第２データ・バス３８０および制御データ・バス５４を介して外部ソース３０２に接続される。前述のように、ＤＳＰコプロセッサ７２と外部メモリ３００との間の専用データ・バスにより、ＤＳＰコプロセッサおよび図２のＣＰＵ５８は、特定のオペレーションを同時に実行でき、それにより命令サイクルを節約する。さらに、専用バスは、バスをハイまたはローに駆動するためにあまりエネルギを要しないので、電力消費を低減する。
【００８２】
動作中、ＤＳＰコプロセッサ７２は、外部ソース３０２から動作コマンド３１４および初期化情報３１６を受けるまでアイドルである。動作コマンド３１４は、コマンド・レジスタ３２４に格納され、初期化情報３１６の一部はループ・カウンタ・レジスタ３８６〜３８８に格納され、他の部分はアドレス発生レジスタ３４２に格納される。ループ・カウンタ・レジスタ３８６〜３８８に格納される部分は、初期ループ・カウント値，累算の数または全ループ・カウントを含む。アドレス発生レジスタ３４２に格納される部分は、アドレス・オフセット値，サーキュラ・バッファの開始アドレス，サーキュラ・バッファの終了アドレスおよび初期アドレス・ポインタを含む。
【００８３】
初期化情報３１６および動作コマンド３１４が格納されると、動作コマンド３１４はシーケンサ３２８に与えられ、シーケンサ３２８は複数の信号処理アルゴリズムからシーケンサが実行する信号処理アルゴリズムを決定する。この決定を行うと、シーケンサ３２８は、命令期間で、アドレス発生ユニット３４０へアドレス制御信号３３４と、演算ユニット３３４および複数の汎用レジスタ３９０〜４００へ動作制御信号３３６とを供給開始する。各レジスタがアドレス指定可能な１６ビットのレジスタでもよい各複数の汎用レジスタ３９０〜４００は、演算ユニット３４４，第１データ・バス・インタフェース３２０、シーケンサ３２８および第２データ・バス・インタフェース３１８に、アドレス／制御／データ・バスまたは複数のアドレス／制御／データ・バスを介して結合される。ただし、用いられるアドレス／制御／データ・バスは３２ビット・バスまたは一対の１６ビット・バスでもよいことに留意されたい。
【００８４】
選択された信号処理アルゴリズムの実行を開始するため、アドレス発生ユニット３４０は、アドレス制御信号３３４を受信すると、アドレスを発生し、このアドレスは初期段階では、初期化情報のアドレス・ポインタである。新たに発生されたアドレスは、第２データ・バス・インタフェース３１８を介して外部メモリ３００に送られ、ここで新たに発生されたアドレスは、外部メモリ３００からデータを取り出すために用いられる。入力サンプル３１０および／またはアルゴリズム係数３１２でもよい取り出されたデータは、格納するため汎用レジスタ３９０〜４００の少なくとも１つに送られる。動作制御信号３３６は、どの汎用レジスタが取り出されたデータを格納するかを決める。
【００８５】
データが汎用レジスタ３９０〜４００の少なくとも１つに格納されると、シーケンサ３２８は、次の命令期間で、別のアドレス制御信号３３４および別の動作制御信号３３６を生成する。新たなアドレス制御信号３３４は、外部メモリ３００からデータを取り出すために用いられる新たなアドレスを生成するようにアドレス発生ユニット３４０に命令する。この新たな動作制御信号３３６は、さまざまな命令を含むことができる。例えば、命令は、演算ユニット３４４に演算機能を実行させる命令や、ある汎用レジスタから別の汎用レジスタにデータを転送する命令や、演算ユニット３４４の中間結果を汎用レジスタの１つに格納する命令や、ステータス３８４をインクリメントする（すなわち、ループ・カウントをインクリメントする）命令や、外部利用のためデータをデータ・バス・インタフェース３１８，３２０のうちいずれか一方に送出する命令や、汎用レジスタから演算ユニット３４４にデータ４０３，４０４を送出する命令や、および／または汎用レジスタの少なくとも１つに格納された情報を消去する命令でもよい。
【００８６】
シーケンサ３２８は、選択された信号処理アルゴリズムが完了したことをステータス３８４が示すまで、アドレス制御信号３３４および動作制御信号３３６の供給を続ける。初期化情報３１６は、コマンド／ステータス・レジスタ３２４に格納される、全ループ・カウントおよび／または実行されるサイクル数に関する情報を含むことに想起されたい。この情報から、ステータス３８４は、全ループ・カウントに達するまで、選択された信号処理アルゴリズムの実行中に絶えず更新される。ステータスが選択された信号処理アルゴリズムの終了を示すと、命令期間クロック３２６およびシーケンサ３２８は、外部ソース３０２が次の動作コマンド３１４を送出するまでディセーブルされる。
【００８７】
ＤＳＰコプロセッサ７２の動作についてさらに説明するため、図１１ないし図１４を参照してエコー・キャンセレーション機能について説明し、図１５を参照してラグ・サーチ機能について説明する。図１１は、汎用エコー・キャンセレーション環境４２０を示す。汎用エコー・キャンセレーション環境４２０は、音声受信機４２４，音響筺体(acoustic enclosure)４２６，スピーカ４２８，マイクロフォン４３２，エコー検出器４３４，エコー・キャンセレーション係数部４３６，加算器４３８および音声送信機４４０を含む。一般に、音声受信機４２４は、音声情報４２２を受信し、次に復号して、デジタル化音声情報（Ｓi ）４２３を生成する。
【００８８】
デジタル化音声情報（Ｓi ）４２３は、デジタル／アナログ（Ｄ／Ａ）４２２によって受信され、アナログ信号に変換される。このアナログ信号は、スピーカ４２８に送られ、スピーカ４２８はこのアナログ音声を可聴にする。スピーカ４２８によって生成される可聴トーンは、マイクロフォン４３２によってエコー４３０および／または直接フィードバック４３１として受信される。エコー４３０は、スピーカ４２８によって生成される可聴トーンが音響筺体４２６の境界から反射する際に生じ、ここで音響筺体４２６は、部屋，会議室または車内でもよい。直接フィードバック４３１は、可聴トーンがマイクロフォン４３２によって直接受信される際に生じる。
【００８９】
エコー４３０およびフィードバック４３１を受信するだけでなく、マイクロフォン４３２はスピーチ信号４３３（Ｓn ）を受信できる。マイクロフォン４３２がエコー４３０，フィードバック４３１またはスピーチ４３３を問わず、可聴信号を受信する際に、マイクロフォン４３２は可聴信号をアナログ信号に変換する。このアナログ信号はアナログ／デジタル（Ａ／Ｄ）変換器４４３に送られ、アナログ信号を変換して、デジタル音声（Ｓt ）４３５を生成する。このデジタル化音声（Ｓt ）４３５は、エコー信号（ｅ）４３０，フィードバック信号４３１およびスピーチ信号（Ｓn ）４３３の和である。以下の説明では、エコー信号４３０について述べる際には、このエコー信号はフィードバック信号を含むものと想定できる。
【００９０】
デジタル化音声（Ｓt ）４３５は、加算器４３８に送られ、加算器４３８は、デジタル化音声（Ｓt ）４３５からエコー信号（ｅ’）５０４を減算して、スピーチ（Ｓn ’）４７５の表現を生成する。スピーチ信号（Ｓn ’）４７５の表現は、音声送信機４４０によって音声情報４４１に変換される。
【００９１】
エコー信号（ｅ’）５０４を生成するため、エコー・キャンセレーション係数部４３６は、デジタル化音声情報（Ｓi ）４３２をエコー・キャンセレーション係数でスケーリングする。エコー・キャンセレーション係数を判定するため、エコー検出器４３４は、デジタル化音声情報（Ｓi ）４２３におけるエネルギをデジタル化音声（Ｓt ）４３５におけるエネルギと比較する。これらのエネルギが同等な場合、すなわち、スピーチがマイクロフォン４３２に与えられない場合、エコー検出器４３４は、エコー・キャンセレーション係数の計算を開始する信号をエコー・キャンセレーション係数部４３６に与える。係数の計算は反復プロセスであり、係数部４３６は係数を調整することにより、デジタル化音声（Ｓt ）と整合するエコー信号（ｅ’）を生成することを試みる。係数部４３６がデジタル化音声（Ｓt ）４３５と整合するエコー信号（ｅ’）を生成すると、加算器４３８の出力はゼロとなり、係数が確立される。
【００９２】
しかし、デジタル化音声（Ｓt ）とデジタル化音声情報（Ｓi ）のエネルギが整合しない、すなわち、マイクロフォン４３２がスピーチ（Ｓn ）を受信している場合、エコー検出器４３４はエコー・キャンセレーション係数部４３６に信号を送出する。この信号を受信すると、エコー・キャンセレーション係数部４３６は動作モードを切り換える、すなわち、エコー・キャンセレーション係数部４３６は係数の計算を中止し、現在のエコー・キャンセレーション係数をデジタル化音声情報（Ｓi ）４３３と乗算して、エコー信号（ｅ’）５０４を生成する。次に、このエコー信号（ｅ’）５０４は、デジタル化音声（Ｓt ）４３５から減算され、スピーチ（Ｓn ’）の表現を生成する。係数が正確な場合、生成されるエコー信号（ｅ’）は、マイクロフォン４３２によって受信されるエコー４３０に非常に近接し、そのためスピーチ（Ｓn ’）の表現はマイクロフォン４３２によって受信されるスピーチ（Ｓn ）と実質的に等しい。音響筺体４２６およびマイクロフォン４３２およびスピーカ４２８の位置が固定している場合、係数は一回計算するだけでよいが、これらの要素の１つでも位置を変えると、係数を再計算しなければならないことに留意されたい。
【００９３】
図１２は、Ａ／Ｄ変換器によって周期的にサンプリングされ、デジタル化スピーチ・サンプル４５４〜４６４を生成する、アナログ・スピーチ信号４３３の一部を示す。図示のように、最初の３つのデジタル化スピーチ・サンプル４５４〜４５８には、加法エコー・サンプルがない。従って、その代表スピーチ（Ｓn ’）は、エコー・キャンセレーション係数部がエコー信号（ｅ’）を生成しなかったので、スピーチ・サンプル４５４〜４５８に等しい。その後、デジタル化音声（Ｓt ）がエコー・サンプル（ｅ1a）４６６およびデジタル化スピーチ・サンプル（Ｓn ）４６０から生成され、これは式４６１として示される。音声サンプル（Ｓn ）の近似またはその表現（Ｓn ’）を再捕捉するため、エコー・サンプル（ｅ1a）を表すエコー信号（ｅ’）をエコー・キャンセレーション係数部によって生成しなければならない。次に、エコー信号（ｅ’）は実デジタル化音声（Ｓt ）４７８から減算され、スピーチ（Ｓn ’）の表現となる。
【００９４】
次のサンプル期間で、実デジタル化音声（Ｓt+1 ）４８０は、デジタル化スピーチ・サンプル（Ｓn+1 ）４６２，デジタル化エコー・サンプル（ｅ1b）４７０およびデジタル化エコー・サンプル（ｅ2a）４６８からなり、これは式４６３に示される。デジタル化エコー・サンプル（ｅ1b）４７０は、デジタル化エコー・サンプル（ｅ1a）４６６を生成した同じエコーによって生成され、エコー・サンプル（ｅ2a）は別のエコーによって生成される。エコーは、人間の耳に聞こえないレベルに達するまで、音響筺体中で反射する際に減衰し、これは減衰期間(decay period)を表すことを想起されたい。従って、スピーチ（ｓn+1 ’）の表現を再捕捉するため、エコー・キャンセレーション係数部は、デジタル化エコー・サンプル（ｅ1b）４７０および（ｅ2a）４６８に等しいエコー信号（ｅ’）を生成し、これは実デジタル音声（Ｓt+1 ）４８０から減算される。
【００９５】
以降のサンプル期間で、実デジタル化音声（Ｓt+2 ）４８２は、デジタル化スピーチ・サンプル（Ｓn+2 ）４６４，デジタル化エコー・サンプル（ｅ1c）４７６，デジタル化エコー・サンプル（ｅ2b）４７４およびデジタル化エコー・サンプル（ｅ3a）４７２からなり、これは式４６５に示される。デジタル化エコー・サンプル（ｅ1c）４７６は、デジタル化エコー・サンプル（ｅ1a）４６６を生成した同じエコーによって生成され、エコー・サンプル（ｅ2b）４７４は、デジタル化エコー・サンプル（ｅ2a）４６８を生成したエコーによって生成され、デジタル化エコー・サンプル（ｅ3a）４７２は、さらに別のエコーによって生成される。従って、スピーチ（ｓn+2 ’）の表現を再捕捉するためには、エコー・キャンセレーション係数部は、デジタル化エコー・サンプル（ｅ1c）４７６，（ｅ2b）４７４および（ｅ2a）４７２に等しいエコー信号（ｅ’）を生成し、これは実デジタル音声（Ｓt+2 ）４８２から減算される。
【００９６】
上記からわかるように、デジタル化スピーチを再捕捉するためには、デジタル化エコー・サンプルは実デジタル化音声から減算され、これを式４６７に示す。デジタル化エコー・サンプルは複数のシーケンシャル減衰エコー・サンプルであることを想起されたい。式４６９に示すように、エコー・サンプルは、ｅna＋ｅ(n-1)b＋ｅ(n-2)c＋．．．によって表される。実デジタル化音声（Ｓt ）は、０＜ｉ＜Ｍの範囲でＳn ’＋Σ（ｅ(n-i)i）として式４７１で示され、ここでＭはエコー減衰時間期間におけるサンプル数を表す。Ｓn ’について式４７１を解くことにより、式４７３すなわちＳn ’＝Ｓt −Σ（ｅ(n-i)i）が得られる。
【００９７】
デジタル化エコー・サンプルは、デジタル化音声情報（Ｓi ）をエコー係数で乗算することによって生成でき、そのため各デジタル化エコー・サンプルは、式ｅi ＝ａI Ｓi によって表すことができる。このエコー・サンプリング式を式４７３に代入することにより、式４７５、すなわちＳn ’＝Ｓt −Σａi （ｓ(n-1)i）が得られ、ここでＭはエコー減衰時間期間におけるサンプル数を表す。
【００９８】
図１３は、図８の第１コプロセッサ７２が図１１および図１２で説明したエコー・キャンセレーション・プロセスの式をどのように実行するかを示す。図示のように、外部メモリ３００は複数の入力サンプル（Ｓ0 ）〜（Ｓi+1 ）３１０と、アルゴリズム係数（ａ0 ）〜（ａi+1 ）３１２とを格納する。入力サンプル３１０は、デジタル化音声情報４２３のサンプルからなり、係数は図１１のエコー・キャンセレーション係数部４３６によって生成される。動作中、シーケンサ３２８はアドレス制御信号３３４を外部メモリ３００に送出し、入力サンプル３１０および対応するアルゴリズム係数３１２を取り出す。さらに、シーケンサ３２８は、動作制御信号３３６をＡＬＵ３４４に送出し、ＡＬＵ３４４は、この動作制御信号に基づいて、取り出された入力サンプル（Ｓi ）および取り出された係数（ａi ）から現在値５００（すなわち、エコー信号（ｅ’））を生成する。
【００９９】
次に、ＡＬＵ３４４は、現在値５００を前回の和または中間結果と加算することにより、次のステート５０２を生成する。このプロセスは、結果エコー信号（ｅ’）５０４が生成されるまで繰り返され、これは１０〜３００回の反復である。従って、各デジタル化音声サンプル（Ｓt ）４３５について、シーケンサ３２８の制御下で、エコー・キャンセレーション・プログラムが実行され、結果エコー信号（ｅ’）５０４を生成する。例えば、ＤＳＰコプロセッサ７２は、シーケンサが第１アドレス制御信号および第１動作制御信号を生成するときに、図１２のデジタル化音声（Ｓt+2 ）４８２を生成する。第１アドレス制御信号により、ＤＳＰコプロセッサ７２はデジタル化音声情報サンプル（Ｓ1 ）および第１係数（ａ1 ）を取り出す。第１動作制御信号により、ＡＬＵ３４４はＳ1 とａ1 を乗算して、デジタル化エコー・サンプル（ｅ3a）４７２を表す。次に、シーケンサ３２８は第２アドレス制御信号および第２動作制御信号を生成する。第２アドレス制御信号により、ＤＳＰコプロセッサ７２はデジタル化音声サンプル（Ｓ2 ）および第２係数（ａ2 ）を取り出し、これらは第２動作制御信号に基づいてＡＬＵ３４４によって互いに乗算され、デジタル化エコー・サンプル（ｅ2b）を表す。さらに、動作制御信号は、（ｅ3a）の表現および（ｅ2b）の表現の和に基づいて、ＡＬＵ３４４に中間結果を生成し、格納するように命令する。次に、シーケンサ３２８は、第３アドレス制御信号および第３動作制御信号を生成する。アドレス制御信号により、ＤＳＰコプロセッサ７２は第３デジタル化音声サンプル（Ｓ3 ）および第３係数（ａ3 ）を取り出す。動作制御信号は、ＡＬＵにＳ3 およびａ3 を乗算して、エコー・サンプル（ｅ1c）を表すように命令する。最後に、動作制御信号は、ＡＬＵに前回の中間結果をエコー・サンプル（ｅ1c）に加算して、結果エコー信号（ｅ’）を生成するように命令する。この結果エコー信号（ｅ’）は、デジタル化音声（Ｓt ）から減算され、スピーチ（Ｓn ’）の表現を再捕捉する。これを行った後、プロセスは次のデジタル化音声情報サンプル（Ｓti）について反復する。
【０１００】
図１４は、図１１ないし図１３で説明したエコー・キャンセレーション・プロセスのタイミング図を示す。図示のように、クロック信号５４０は、動作ステップをシーケンスするために用いられ、ここで数クロック・サイクルは、命令期間５４１をなす。クロック５４０のφ２中に、外部メモリ３００はアドレス指定され、アルゴリズム係数３１２（ａi+1 ）を取り出し、入力サンプル３１０（Ｓi ）を汎用レジスタの１つに格納する。クロック５４０の次のφ１で、入力サンプル３１０（Ｓi ）とアルゴリズム係数３１２（ａi ）との間で乗算累算機能が実行され、積を生成し、この積はカレント累算値または現在値５００に加算される。φ２（５４６）で、外部メモリ３００は再度アドレス指定され、次のサンプル（Ｓi+1 ）を取り出し、アルゴリズム係数３１２（Ａi+1 ）を汎用レジスタの１つに格納する。次に、φ１（５４８）において、カレント累算済み係数と、係数閾値との間で比較が行われる。カレント係数が係数閾値を越える場合、係数はＡＬＵ３４４によって更新され、外部メモリ３００に格納される。閾値を越えない場合、変更は行われない、すなわち、外部メモリは図１１のエコー・キャンセレーション係数部４３６によって生成された最新の係数を収容する。
【０１０１】
φ２（５５０）で、外部メモリは再度アドレス指定され、次のアルゴリズム係数３１２（Ａi+2 ）を取り出し、入力サンプル３１０（Ｓi+1 ）は汎用レジスタの１つに格納される。次に、φ１（５５２）で、入力サンプル３１０（Ｓi+1 ）をアルゴリズム係数３１２（Ａ+1）と乗算することにより乗算累算機能を実行し、現在値５００を生成し、この現在値は前回または中間結果に加算され、新たな中間結果を生成する。この機能を実行すると、完全な命令期間５４１が達成される。従って、次の命令期間５４１中に、外部メモリφ２（５４０）でアドレス指定され、入力サンプル３１０Ｓ(i+2) を取り出し、アルゴリズム係数３１２ＡＳ(i+2) は汎用レジスタの１つに格納される。φ１（５５６）で、現在の累算済み係数が閾値と比較される、すなわち、外部メモリが最新の係数を格納し、もし越える場合、外部メモリ３００は更新され、越えない場合、変化はない。φ２（５５８）で、外部メモリはアドレス指定され、アルゴリズム係数３１２Ａ(i+3) を取り出し、入力サンプル３１０Ｓ(i+2) は汎用レジスタの１つに格納される。この情報を格納すると、φ１（５６０）において、入力サンプルＳ(i+2) をアルゴリズム係数Ａ(i+2) と乗算し、この結果を前回の累算済み値と加算することにより、乗算累算機能が実行され、次のステート５０２を生成する。このプロセスは、エコー減衰時間期間に達するまで継続する。
【０１０２】
図１５は、ＤＳＰコプロセッサまたは図８の第１コプロセッサ７２によって実行されるラグ・サーチ動作を示す。図示のように、スピーチ波形６００は、線形予測符号（ＬＰＣ：linear predicted code ）スピーチ波形６０２に変換される。ＬＰＣ動作は、ＬＰＣ係数を利用しフィルタ動作を実行することによって行われる。これは、１０タップの有限インパルス応答フィルタ（ＦＩＲ：finite impulse response filter）を利用して行うことができる。ＬＰＣスピーチ波形６０２をとり、これをスピーチ波形６００から減算することにより、残留波形６０６が形成される。ＬＰＣスピーチ波形６０２および残留波形６０６の周波数表現は、スピーチ波形６０４および残留波形６０８としてそれぞれ示される。スピーチ波形６０４はスピーチ波形６００のスペクトル情報を示し、残留波形６０８はスピーチ波形６００のピッチ情報を示す。
【０１０３】
次に、残留波形６０６は、第１部分６０９と第２部分６１１とに分割されたバッファ６１０に格納される。ピッチの周波数を求めるため、バッファ６１０の第２部分６１１は、第１部分６０９と自動相関される。自動相関プロセス中に、第２部分６１１は第１部分６０９と乗算される。自動相関の第１段階をステップ（ａ）６１２に示し、これは第１部分６０９の第１エッジに対応する第２部分６１１の第１エッジを表す。次の自動相関ステップ（ｂ）６１４において、第２部分６１１は、第１部分６０９に関連して１ステップだけインクリメントされる。これは、ステップ（ｃ）〜ステップ（ｘ）６１８まで繰り返される。自動相関プロセスを介して、最大結果を求めることができ、この最大結果は、ピッチの周波数，相関ピーク値およびバッファ内の相関ピークの位置を判定するために利用される。ＤＳＰコプロセッサ７２のハードウェア・シーケンサ３２８を利用することにより、自動相関プロセスは自動的に行うことができ、そのため図２の信号処理ＩＣ２４の速度を改善できる。
【０１０４】
図１６は、図８のアドレス発生ユニット３４０に内蔵できるサーキュラ・バッファ・アドレス指定ユニット６３０の概略ブロック図を示す。図示のように、サーキュラ・バッファ・アドレス指定ユニット６３０は、メモリ６３２，比較器６３４，マルチプレクサ６３６，加算器６３８を含み、またラップアラウンド発生器(wrap around generator) ６５４を含んでもよい。レジスタ，ＲＡＭまたは任意の他のデジタル情報格納手段でもよいメモリ６３２は、サーキュラ・バッファについて、終了アドレス６４０，開始アドレス６４２，カレント・アドレス・ポインタ６４４およびオフセット値６４６を格納する。オフセット値６４６は、サーキュラ・バッファをどのように利用するかに応じてインクリメント値またはデクリメント値でもよい。
【０１０５】
新規アドレス６５０を生成する場合、カレント・アドレス６４４およびオフセット値６４６は加算器６３８に供給される。インクリメントまたはデクリメント・サーキュラ・バッファを利用するかに応じて、オフセット値は、カレント値６４４から加算／減算６５２され、潜在的な新規アドレス６３５を生成する。この潜在的な新規アドレスは、比較器６３４によって終了アドレス６４０と比較される。減算素子または等値比較器(equality comparator) でもよい比較器６３４は、インクリメント・サーキュラ・バッファの場合、終了アドレスを潜在的な新規アドレス６３５と比較する。潜在的な新規アドレス６３５が好ましくない場合、すなわち、終了アドレス６４０を越える場合、比較器６３４は第２制御信号６４８を生成する。この第２制御信号６４８はマルチプレクサ６３６に供給され、マルチプレクサ６３６に開始アドレス６４２を新規アドレス６５０として選択するように命令する。開始アドレスを選択する代わりに、第２制御信号６４８はマルチプレクサ６３６にラップアラウンド・アドレス６５９を選択するように命令してもよい。
【０１０６】
ラップアラウンド・アドレス６５９は、２つの加算器６５６，６５８を含むラップアラウンド発生器６５４によって生成される。第１加算器６５６は、潜在的な新規アドレス６３５から終了アドレスを減算し、オーバフロー値を生成し、この値は加算器６５８によって開始アドレス６４２に加算され、ラップアラウンド・アドレス６５９となる。
【０１０７】
逆に、潜在的な新規アドレス６３５と終了アドレスとの間の比較が好ましい場合、すなわち、潜在的な新規アドレス６３５が終了アドレス６４０より小さい場合、比較６３４は第１制御信号６４８を生成する。第１制御信号６４８を受信すると、マルチプレクサ６３６は潜在的な新規アドレス６３５を新規アドレス６５０として選択する。
【０１０８】
サーキュラ・バッファがデクリメント・サーキュラ・バッファの場合、潜在的な新規アドレス６３５は比較器６３４によって開始アドレス６４２と比較される。潜在的な新規アドレスが好ましくない場合、すなわち、開始アドレスよりも小さい場合、比較器は第２制御信号を生成し、マルチプレクサ６３６に終了アドレスを新規アドレス６５０として選択するように命令する。潜在的な新規アドレス６３５と終了アドレス６４０との間の比較が好ましい場合、すなわち、潜在的な新規アドレスが終了アドレス６４０よりも大きい場合、比較器は第１制御信号６４８を生成する。第１制御信号６４８を受信すると、マルチプレクサ６３６は潜在的な新規アドレス６３５を新規アドレス６５０として選択する。
【０１０９】
図１７は、図８のＤＳＰコプロセッサ７２のアドレス発生ユニット３４０に内蔵できるサーキュラ・アドレス・バッファ６３０ａの別の実施例を示す。図示のように、サーキュラ・バッファ・アドレス発生器６３０ａは、メモリ６３２，比較器６３４，マルチプレクサ６３６，第１加算器６３８，第２加算器６６４を含み、またラップアラウンド発生器６５４を含んでもよい。メモリ６３２は、サーキュラ・バッファについて、制限アドレス(limiting address)６６０，開始アドレス６４２，カレント・アドレス６４４，オフセット値６４６を含み、またスライド値６６２を含んでもよい。制限アドレス６６０は、終了アドレス６４０からオフセット値６４６を引いた値から導出される。新規アドレス６５０を生成する場合、比較器６３４は、制限アドレス６６０をカレント・アドレス６４４と比較する。この比較が好ましくない場合、すなわち、カレント・アドレス６４６が制限アドレス６６０を越える場合、比較器６３４は第２制御信号６４８を生成する。第２制御信号を受信すると、マルチプレクサ６３６は、開始アドレス６４２またはラップアラウンド・アドレス６５９を新規アドレス６５０として選択する。カレント・アドレス６４４と制限アドレス６６０との間の比較が好まし場合、すなわち、カレント・アドレス６４４が制限アドレス６６０よりも小さい場合、比較器６３４は第１制御信号６４８を生成する。第１制御信号を受信すると、マルチプレクサ６３６は、加算器６３８の結果を新規アドレス６５０として選択する。加算器６３８の結果は、カレント・アドレス６３４とオフセット値６４６の和である。デクリメント・サーキュラ・バッファの場合、上記の反対が真となる。
【０１１０】
図示のように、メモリは、スライド値６６２も格納する。スライド値６６２は、自動相関などの特定の機能において利用でき、ここで開始アドレスまたは終了アドレスに達する可能性がほとんどないまま、新規アドレスがサーキュラ・バッファを介して反復的にインクリメントする。このような状態では、マルチプレクサ６３６はスライド制御信号６４９を受け、このスライド制御信号６４９は、マルチプレクサ６３６に加算器６６４の結果を新規アドレス６５０として選択するように命令する。加算器６６４の結果は、カレント・アドレス６６４とスライド値６６２の和である。アドレス発生器６３０ａは、スライド機能を提供するために加算器６６４を含む必要はないことに留意されたい。その代わりに、スライド制御信号がスライド・アドレス６６２を更新するように、スライド制御信号は、新規アドレス６５０からのフィードバック経路とともにメモリ６３２に組み込んでもよい。
【０１１１】
図１８は、本発明によるサーキュラ・バッファ・アドレス発生ユニットの実施例を実施するために利用できる論理図を示す。ステップ６７０において、プロセスは、スライド制御信号が受信されたかどうかを判定する。スライド制御信号が受信された場合、プロセスはステップ６７２に進み、ここで新規アドレスはカレント・アドレスおよびスライド値に基づいて生成される。
【０１１２】
しかし、スライド制御信号が受信されない場合、プロセスはステップ６７４に進み、ここでカレント・アドレスおよびアドレス・オフセット値に応じて潜在的な新規アドレスが判定される。これは、サーキュラ・バッファの設計に基づいてインクリメント的またはデクリメント的に行うことができることに留意されたい。一般に、潜在的な新規アドレスは、カレント・アドレスとアドレス・オフセット値の和である。アドレス・オフセット値は、バイト・ワード値またはダブル・ワード値、すなわち、８ビット，１６ビットまたは３２ビット・ワードである。潜在的な新規アドレスを生成した後、プロセスはステップ６７６に進み、ここで潜在的な新規アドレスはサーキュラ・バッファの終了アドレスと比較される。この比較は、終了アドレスから潜在的な新規アドレスの減算、すなわち等値試験(equality test) によって行うことができる。どのように比較を行うかに関係なく、プロセスはステップ６７８に進み、ここで比較が好ましいかどうか判定される。比較が好ましい場合、すなわち、減算から正の結果が生じたあるいは等値比較が負の場合、プロセスはステップ６８２に進み、ここで潜在的な新規アドレスは新規アドレスとして用いられる。しかし、比較が好ましくない場合、すなわち、減算から負の結果が生じたあるいは等値試験が正の場合、プロセスはステップ６８０に進み、サーキュラ・バッファの開始アドレスから新規アドレスが生成される。この状態では、新規アドレスは、回路がラップアラウンド発生ユニットを内蔵しているかどうかに応じて、開始アドレスまたはラップアラウンド・アドレスでもよい。
【０１１３】
図１９は、本発明によるサーキュラ・バッファ・アドレス発生ユニットの別の実施例を実施するために利用できる論理図を示す。ステップ６９０において、プロセスは、スライド・コマンドが受信されたかどうか判定する。スライド・コマンドが受信された場合、プロセスはステップ６９２に進み、ここでカレント・アドレスおよびスライド値に基づいて新規アドレスが生成される。前述のように、新規アドレスは、スライド値をカレント・アドレスに加算することによって生成される。
【０１１４】
しかし、スライド・コマンドが受信されない場合、プロセスはステップ６９４に進み、ここで新規アドレスは制限アドレスと比較される。制限アドレスとは、サーキュラ・バッファの終了アドレスからアドレス・オフセット値を引いたものであることに留意されたい。図１９の論理図の場合と同様に、この比較は減算方法または等化方法によって行うことができる。
【０１１５】
ステップ６９６において、プロセスは比較が好ましいか好ましくないかを判定する。比較が好ましい場合、プロセスはステップ７００に進み、ここでカレント・アドレスをアドレス・オフセット値だけオフセット（これはインクリメントまたはデクリメントでもよい）することにより、新規アドレスは生成される。しかし、比較が好ましくない場合、プロセスはステップ６９８に進み、ここで新規アドレスは開始アドレスから生成される。前述のように、新規アドレスは、開始アドレスまたはラップアラウンド・アドレスでもよい。
【０１１６】
図２０は、本発明によるサーキュラ・バッファ・アドレス発生ユニットと従来のサーキュラ・バッファ・アドレス発生ユニットとの間の比較を示す。説明のため、コプロセッサ７２は３つのサーキュラ・バッファを必要とし、各サーキュラ・バッファは２７５ビットまたはバイト長であると想定する。従来のアドレス指定方式では、サーキュラ・バッファは、２K アドレス指定方式に基づいて生成される。この制約では、メモリ・エリア７２０は、２ＫのＲＡＭ，ＲＯＭまたはデジタル情報を格納する任意の手段でなければならない。第１サーキュラ・バッファ７２２の開始アドレスは０で、その終了アドレスはメモリ番地２７４である。２K 条件により、第２サーキュラ・バッファ７２４は、次の２K アドレス境界まで開始できない。この例では、それは２9 またはアドレス５１２で生じ、アドレス７８７で終了する。
【０１１７】
第３サーキュラ・バッファは、次の２K 境界７３２，またはこの例では２10またはアドレス１０２４で開始する。従って、第３サーキュラ・バッファ７２６の開始アドレスはアドレス１０２４で、終了アドレスは１３０１である。図示のように、２K 境界により、メモリ７２０内にはいくつかのオープン・メモリ・エリア７３４〜７３８が存在する。オープン・メモリ・エリア７３４〜７３８は、他のデジタル情報を格納するために利用できるが、サーキュラ・バッファ７２２〜７２６のうち１つに宛てられた情報を格納できない。
【０１１８】
２K 境界制限についてさらに説明するため、３つのカレント・アドレス７４０，７４２，７４４が、各サーキュラ・バッファに１つあると想定する。第１サーキュラ・バッファ７２２の第１カレント・アドレス７４０は、アドレス１２８である。このメモリ番地をアドレス指定する場合、第１サーキュラ・バッファ７２２を識別するため０００００００の基底アドレス７４６が用いられ、第１サーキュラ・バッファにおける１２８番目の番地を識別するため００１００００００の実アドレス７４８が用いられる。第２サーキュラ・バッファ７２４にある第２カレント・アドレス７４２は、１２８番目の番地にある。このカレント・アドレスについて１６ビットのアドレス・ワードを生成する場合、基底アドレス７５０は００００００１であり、実アドレス７５２は００１００００００である。従って、組み合わせて、第２カレント・アドレス７４８の全バイナリ表現はアドレス６４０となる。同様に、第３カレント・アドレス番号７４４は、０００００１０の基底アドレスと、００１００００００の実アドレス７５６とを有する。従って、第３カレント・アドレス７４４はアドレス１１５３にある。
【０１１９】
これとは対照的に、本発明のサーキュラ・バッファ・アドレス指定方法は、１Ｋ長のメモリ７６０を示す。図示のように、第１サーキュラ・バッファ７２２の開始アドレスは０にあり、その終了アドレスは２７４にある。第２サーキュラ・バッファ７２４の開始アドレスは２７５にあり、その終了アドレスは５４９にあり、第３サーキュラ・バッファ７２６の開始アドレスは５５０にあり、その終了アドレスは８２４にある。図示のように、サーキュラ・バッファ間にはオープン・メモリがなく、そのため、従来技術では３つのサーキュラ・バッファに対応するために２Ｋのメモリを必要とするが、本発明では１Ｋメモリ内に２７５ビットまたはバイト長の３つのサーキュラ・バッファを達成できる。
【０１２０】
図２１は、図２の第３コプロセッサ６４のブロック符号器２２８において利用できる畳込み符号器７８０のブロック図を示す。畳込み符号器７８０は、第１レジスタ７８２，複数の論理素子７９０〜７９４，サンプラ７８８，第２レジスタ７８４，シーケンサ７８６およびカウンタ７８７を含む。動作中、畳込み符号器７８０は、ビット符号レートまたは符号レート８００で、外部メモリ・ソース７９８からデジタル情報７９６を受ける。外部メモリ・ソース７９８は、第３コプロセッサ６４の入力ポートでもよく、あるいは第３コプロセッサ内のレジスタまたは線形シフト・レジスタでもよい。
【０１２１】
図示のように、シーケンサ７８６は、符号レート８００および抽出レート(extraction rate) ８０２を生成する。これは、カウンタ８７８によって生成されるカウント値８０１を用いて行われる。カウント値８０１は、線形シフト・レジスタでもよい第２レジスタ７８４のサイズに基づく。例えば、第２レジスタ７８４が１６ビットの線形ビット・レジスタの場合、カウント値８０１は１６またはそれ以下である。カウンタ８７８が図２のＣＰＵ５８から受けるカウント値８０１をサイクルすると、畳込み符号器７８０は、図２の中央処理装置５８などの外部ソースからイネーブル信号を受けるまで非アクティブにされる。イネーブル信号を受信すると、シーケンサ７８６は、カウント値８０１に基づいて抽出レート８０２を生成し、これはほとんどの場合カウント値８０１に等しい。また、シーケンサ７８６は、論理素子７９０〜７９４の数に基づいて、抽出レートの除数整数として符号レート８００を生成する。例えば、畳込み符号器７８０は、３つの論理素子７９０〜７９４を含んで図示され、従って、抽出レートは１で、符号レートは１／３となる。この比率は、単一デジタル情報ビット７９６を第１レジスタ７８２に入力するために必要であり、サンプラ７８８は３つのサンプルを第２レジスタ７８４に与え、各論理素子７９０〜７９４について１つを与える。論理素子７９０〜７９４は、所望の論理関数を生成する任意の種類の論理ゲートでもよい。例えば、各論理素子７９０〜７９４は加算器からなってもよく、各加算器は第１レジスタ７８２から２ビットを受け、外部メモリ７９８から着信ビットを受ける。これは、１つの種類の畳込み符号器の一例にすぎず、他の種類には１／２符号器または１／６符号器があることに留意されたい。
【０１２２】
図示の例から、論理素子７９０はレジスタ７８２の最初の２ビットと、着信デジタル情報ビット７９６とを受信する。論理素子７９０からの結果は、符号化サンプルを生成し、これはサンプラ７８８に送られる。他の論理素子７９２，７９４も符号化サンプルをサンプラ７８８に与え、このサンプラ７８８はシーケンサ７８６によって制御されるマルチプレクサでもよい。抽出レート中に生じる、サンプラに与えられる符号化サンプルの数は、論理素子の数に依存することに想起されたい。サンプラ７８８に供給される符号化サンプルは、抽出レートでサンプリングまたは抽出され、第２レジスタ７８４に供給される。１／３符号レートに基づいて、第１レジスタに供給される情報の各ビットについて、３ビットの情報が第２レジスタ７８４に供給される。第２レジスタに供給されるビットは、畳込み符号化情報８０４，８０６として示される。
【０１２３】
図２２は、第３コプロセッサ６４に内蔵できる受信信号品質検査装置８２０のブロック図を示す。図示のように、受信信号品質検査装置(received signal quality checker) ８２０は、レジスタ７８２，サンプラ７８８，複数の論理素子７９０〜７９４，シーケンサ７８６，比較器８２２およびエラー・カウント８２４を含む。動作中、レジスタ７８２は、外部メモリ・ソース７９８から復元デジタル情報７９７を受ける。復元デジタル情報７９７とは、図５のチャネル復号器１３０のデインタリーバ２００およびブロック復号器２０２によってデインタリーブされ、復号された情報のことである。
【０１２４】
受信される情報の精度を検査するため、デインタリーブされた情報または第１符号化デジタル情報のストリーム８２８は、抽出情報８３０と比較される。抽出情報は、復元デジタル情報７９７から生成され、論理素子７９０〜７９４によって畳込み符号化され、次に抽出レート８０２でサンプラ７８８によってサンプリングされる。畳込み符号化プロセスについては、図２１を参照して説明済みである。
【０１２５】
比較器８２２は、第１符号化デジタル情報のストリーム８２８および抽出情報８３０の符号の比較をビットごとに行う。各比較が好ましくない場合、すなわち、情報が一致しない場合、エラー・カウンタ８２４はインクリメントされ、エラー情報８２６を生成する。受信品質検査装置８２０の基本構造は、畳込み符号器７８０と実質的に同様であり、多くの同じ構成要素を共用することに留意されたい。従って、畳込み符号器７８０の柔軟性は、受信品質検査装置８２０にも適用され、実際には同じ素子を利用できる。
【０１２６】
図２３は、本発明による畳込み符号器の実施例を実施するために利用できる論理図を示す。ステップ８５０において、ビット符号レートでデジタル情報が受信される。この情報を受信すると、プロセスはステップ８５２に進み、ここでこの情報は畳込み符号化され、ビット・レートに基づいて符号化サンプルを生成する。次にプロセスはステップ８５４に進み、ここで与えられた符号化カウントについて、符号化サンプルは抽出され、第１数の符号化サンプルを生成する。この与えられた符号化カウントは、図２１のカウンタ８７８によって生成されるカウント値８０１に等しいことに留意されたい。第１数の符号化サンプルを生成すると、プロセスはステップ８５６に進み、ここで第１数の符号化サンプルは畳込み符号化データとして格納される。
【０１２７】
図２４は、本発明の受信品質検査装置を実施するために利用できる論理図を示す。ステップ８６０において、ビット符号レートで復元デジタル情報が受信される。この情報を受信すると、プロセスはステップ８６２に進み、ここで復元デジタル情報はビット符号レートに基づいて畳込み符号化され、第１数の符号化サンプルを生成する。次に、ステップ８６４において、第１数の符号化サンプルはサンプリングされ、抽出情報を生成する。
【０１２８】
次に、抽出情報は、第１符号化デジタル情報のストリームと比較される。ステップ８６８において、８６６の比較が好ましいかどうか調べられる。比較が好ましい場合、すなわち、情報が一致した場合、プロセスはステップ８６０で反復する。しかし、比較が好ましくない場合、すなわち、情報が一致しない場合、プロセスはステップ８７０に進み、ここでエラー・カウントがインクリメントされる。エラーの数に応じて、受信信号の品質を判定できる。
【０１２９】
図２５は、図２の第３コプロセッサ６４の一部のブロック図を示す。図示のように、第３コプロセッサ６４のこの部分は、制御部８８０，制御カウント部８８２，複数の演算素子８８４〜８８８，シーケンサ８９０および出力部８９２を含む。動作中、データ８９４は、制御部８８０の入力ポート８９６によって、中央処理装置８５またはメモリ７０など外部ソースから受信される。データ８９８を受信するだけでなく、制御部８８０は、入力ポート８９６を介してコマンド９０２を受信する。これらのコマンドは、中央処理装置５８によって生成でき、この場合、コマンドはコマンド・プロセッサ９０４に送られる。コマンド９０２に応じて、データ８９４は、逆レジスタ(reverse register)８９８に送出されるか、あるいは複数の演算素子８８４〜８８８に送出される。
【０１３０】
データ８９４を逆レジスタ８９８に送出するようにコマンド９０２が指示する場合、データ８９４のシーケンスまたは第１シーケンスは反転され、第２シーケンスを生成する。第２シーケンス・データは、逆データ９００として出力され、これはメモリ７０または中央処理装置５８などの外部ソースに戻される。例えば、データ８９４の第１シーケンスが最下位ビット（ＬＳＢ：least significant bit ）から最上位ビット（ＭＳＢ：most significant bit）である場合、逆または第２シーケンスはＭＳＢからＬＳＢである。
【０１３１】
しかし、データ８９４が通信機能の１つの入力として用いられることをコマンド９０２が指示する場合、これは演算素子８８４〜８８８の少なくとも１つに送出される。通信機能には、巡回冗長検査／誤り検出，巡回冗長検査／誤り訂正，暗号シーケンス発生、解読シーケンス発生，または巡回冗長検査シーケンス発生が含まれる。これらの動作の多くは、さまざまなレベルで実行でき、例えば、暗号／解読機能は、基本的な暗号アルゴリズムまたは高度な暗号アルゴリズムでもよい。
【０１３２】
線形シフト・フィードバック・レジスタ８８４〜８８８でもよい複数の演算素子８８４〜８８８の少なくとも１つにデータ８９４を送出するように指示するだけでなく、コマンド９０２は、コマンド・プロセッサ９０４によって処理され、カウント値信号９０６および通信機能モード信号９０８を生成する。カウント値信号９０６および通信機能モード信号９０８は、カウント制御部８８２に送られる。カウント制御部８８２のシフト・カウンタ９１０は、制御値信号９０６に基づいてカウント・シリーズ９１４を生成する。カウント制御部８８２のシフト・コントローラ９１２は、通信機能モード信号９０８から動作コマンド命令９１６を生成する。動作コマンド命令９１６は、情報をいつ出力部８９２にシフトするかに関する情報を線形シフト・フィードバック・レジスタ８８４〜８８８に与える。さらに、動作コマンド信号９１６は、線形シフト・フィードバック・レジスタ８８４〜８８８がいつ情報またはデータ８９４を入力あるいはシフトするかを指示する。
【０１３３】
線形シフト・レジスタ８８４〜８８８は、通信機能モード信号９０８に基づいて構成される。例えば、通信機能モード信号９８０が暗号アルゴリズムを実行するように指示する場合、各線形シフト・フィードバック・レジスタ８８４〜８８８はアクティブになり、暗号アルゴリズムの一部を実行する。別の例として、通信機能モード信号がファイアＣＲＣ検査(Fire CRC check)を指示する場合、最初の２つの線形シフト・フィードバック・レジスタ８８４，８８６のみがこの機能を実行するように構成され、残りの線形シフト・フィードバック・レジスタ８８８は非アクティブとなる。
【０１３４】
動作コマンド命令９１６および通信機能モード信号９０８を受信するだけでなく、複数の線形シフト・フィードバック・レジスタ８８４〜８８８は、シーケンサ８９０から追加制御信号も受信する。シーケンサ８９０は、通信モード信号９０８からこれらの追加制御信号を生成する。これらの追加制御信号は、線形シフト・フィードバック・レジスタ８８４〜８８８に、情報をレジスタ内にプリセットし、かつレジスタを異なる値にリセットするように指示する。上記の情報が与えられると、線形シフト・フィードバック・レジスタ８８４〜８８８のそれぞれは、出力信号を生成し、これらの出力信号は出力部８９２に与えられる。出力部８９２は、複数の論理ゲート９１８，９２０と、マルチプレクサ９２２とからなる。各複数の論理ゲート９１８，９２０は、通信モードに応じて特定の論理関数を実行するように構成される。通信モード信号９０８に基づいて、マルチプレクサ９２２は論理ゲート９１８，９２２の出力のうち１つを結果９２４として選択する。次に、結果９２４は、制御部８８０の出力ポート９２６を介して、中央処理装置５８またはメモリ７０などの外部ソースに送出される。
【０１３５】
図２６は、コプロセッサ６４の一部を実施するために利用できる論理図を示す。ステップ９４０において、外部ソースから受信されたコマンド信号に基づいて、カウント値および通信機能モード信号が生成される。これらの信号を生成すると、プロセスはステップ９４２に進み、ここでカウント値信号からカウント・シリーズが生成される。ステップ９４４において、通信機能モード信号から動作コマンド信号が生成される。この動作コマンド信号およびカウント・シリーズが生成されると、プロセスはステップ９４６に進み、ここで通信機能モード信号に基づいて通信機能が実行される。ステップ９４８において、通信機能モード信号と、通信機能の実行中に生成された情報とに基づいて結果が生成され、ここで情報はカウント・シリーズに基づいて生成される。生成された結果は、出力レジスタに格納される。
【０１３６】
信号処理ＩＣの性能を向上させるため、ＩＣをレイアウトする際に配慮しなければならない。例えば、信号プロセッサ５６は、比較的雑音の多いデバイスであり、雑音に敏感なエリアから分離する必要がある。さらに、ＤＳＰコプロセッサ７２は、専用バス３８２を外部メモリに提供し、そのためＤＳＰコプロセッサは、機能の１つを実行する中央処理装置５８とともに、信号処理アルゴリズムの１つを同時にあるいは並行に処理できる。信号変換器５６は、ナイキスト・レート・シグマ・デルタ変換器，オーバサンプリングまたは比較器タイプの変換器でなければならない。メモリ７０は、コプロセッサと中央処理装置との間で共用される。例えば、ＣＰＵ５８は、第１コプロセッサに割り当てられたメモリ番地から情報を読み出すことができるが、そこに書き込むことはできない。第１コプロセッサまたはＤＳＰコプロセッサ７２が機能を停止すると、このメモリは中央処理装置用に利用可能となる。これらの機能の他に、信号処理回路に対する多くの入力および出力は異なる入力および出力を有し、それによりコモン・モード保護を行う。さらに、雑音の影響を受けやすい回路や、デジタル回路などの雑音の多い回路について、個別の電源を利用できる。
【０１３７】
本発明は、信号処理集積回路を生成する方法および装置を提供する。信号処理ＩＣは、エコー・キャンセレーション、ラグ・サーチ，暗号／解読，畳込み符号化および復号，誤り訂正，等化およびモデム処理などの通信機能を実行するため、中央処理装置と複数のコプロセッサを含む。さらに、単一集積回路の信号処理回路は、セルラ電話がパーソナル・コンピュータ，ＦＡＸ装置，外部音声機器および他のこのような装置とインタフェースできるように、スピーチ符号化および復号，トーン発生ならびにデータ処理も行う。従来、これらの機能は単一ＩＣでは利用できなかった。従来のチップセットは、基本的な通信機能を実行するために少なくとも３つのＩＣを必要とし、エコー・キャンセレーション機能を実行するために第４のＩＣを必要としたことに想起されたい。
【図面の簡単な説明】
【図１】本発明によるセルラ電話の概略ブロック図である。
【図２】  本発明による信号処理集積回路の概略ブロック図である。
【図３】本発明による信号処理集積回路の別の実施例の概略ブロック図である。
【図４】本発明による信号処理集積回路のさらに別の実施例を示す図である。
【図５】本発明による信号処理集積回路の一部の機能ブロック図である。
【図６】本発明による信号処理集積回路の第２部分を示す図である。
【図７】本発明の実施例を実施するために利用できる論理図である。
【図８】本発明による信号処理集積回路の第１コプロセッサの概略ブロック図である。
【図９】本発明による第１コプロセッサの実施例を実施するために利用できる論理図である。
【図１０】本発明による信号処理集積回路の第１コプロセッサのより詳細なブロック図である。
【図１１】本発明によるエコー・キャンセレーション回路の例示的な図である。
【図１２】本発明によるサンプリングされる音声信号およびそれに追加されるエコー信号を示す図である。
【図１３】本発明によるエコー・キャンセレーション・アルゴリズムの一部を実行する第１コプロセッサの例を示す図である。
【図１４】図１３の例の対応するタイミング図である。
【図１５】本発明による第１コプロセッサによって実行されるラグ・サーチ・アルゴリズム(lag search algorithm)を示す図である。
【図１６】本発明によるアドレス発生ユニットの概略ブロック図である。
【図１７】本発明によるアドレス発生ユニットの別の概略ブロック図である。
【図１８】本発明によるアドレス発生ユニットを実施するために利用できる論理図である。
【図１９】本発明による別のアドレス発生ユニットを実施するために利用できる論理図である。
【図２０】従来のアドレス発生ユニットと、本発明により構成されたアドレス発生ユニットとの比較を示す図である。
【図２１】本発明による符号器の概略ブロック図である。
【図２２】本発明による信号品質検査装置の概略ブロック図である。
【図２３】本発明による符号器を実施するために利用できる論理図である。
【図２４】本発明による信号品質検査装置を実施するために利用できる論理図である。
【図２５】本発明による信号処理集積回路の第３コプロセッサの概略ブロック図である。
【図２６】本発明による第３コプロセッサを作製するために利用できる論理図である。
【符号の説明】
１０  通信ユニット
１２  ＲＦ信号
１４  アンテナ
１６  ＲＦインタフェース
１８  復調器
２０  直交信号
２２  同相信号
２４  信号処理集積回路（ＩＣ）
２６  スピーカ
２８  マイクロフォン
３０  アナログ直交信号
３２  アナログ同相信号
３４  変調器
３５  ユーザ・インタフェース
３６  呼処理素子
３８  データ入力ポート
４０  外部ファクシミリ装置
４２  パーソナル・コンピュータ
４４  外部音声機器
４６  デジタル・データ
５０  データ・バス
５２  アドレス・バス
５４  制御バス
５６  信号変換器
５８  中央処理装置（ＣＰＵ）
６０  デジタル・データ・インタフェース
６２  第２コプロセッサ
６４  第３コプロセッサ
６８  変調信号変換器
７０  メモリ・ユニット
７２  第１コプロセッサ
７４  第４コプロセッサ
７６  第２バス
７８  アナログ／デジタル（Ａ／Ｄ）入力ポート
８０  デジタル／アナログ（Ｄ／Ａ）入力ポート
８２  第１バンド・データ
８４  第２バンド・データ
８６  デジタル音声データ
８８  音声符号化アルゴリズム
９０  エコー・キャンセレーション情報
９２  モデム処理アルゴリズム
９４  トーン発生アルゴリズム
９６  エコー・キャンセレーション・アルゴリズム
９８  ラグ・サーチ・アルゴリズム
１１０  デジタル変調器
１１１  バス
１１２  デジタル音声
１１８  送信データ
１２０  第１デジタル・データ
１２２  第２デジタル・データ
１２４  等化器
１２６  等化データ・ストリーム
１２８  解読素子
１３０  チャネル復号器
１３２  復号音声情報
１３４  第１音声プロセッサ
１３６  第１デジタル化音声データ
１３８  第２デジタル化音声データ
１４０  第２音声プロセッサ
１４２  被処理音声情報
１４４  チャネル符号器
１４６  符号化データ・ストリーム
１４８  暗号素子
１５２  補助インタフェース
１５４  補助音声データ入力
１５５  補助音声
１５６  データ入力
１５７  補助データ入力
１５８  補助音声
１５９  補助音声出力
１６０  補助データ出力
１６２  コマンド・パーサ
１６６  補助音声／データ・コマンド
１８０  フレーム
１８２  トレーニング・シーケン
１８４  第１データ／音声部分ス
１８６  第２データ／音声部分
１８８  デジタル化同相信号
１９０  デジタル化直交信号
１９２  同相および直交（Ｉ＆Ｑ）情報
１９３  メトリック情報
１９４  メトリック発生器
１９８  加算／比較／選択（ＡＣＳ）部
２００  デインタリーブ・ブロック
２０２  ブロック復号器
２０４  ＣＲＣブロック
２０６  受信品質ブロック
２２２  エコー・キャンセレーション部
２２４  ラグ・サーチ部
２２６  スピーチ符号部
２２８  ブロック符号器
２３０  インタリーブ部
２３２  バースト形成素子
２３６  デジタル同相信号
２３８  デジタル直交信号
３００  外部メモリ
３０２  外部ソース
３１０  入力サンプル
３１２  アルゴリズム係数
３１４  動作コマンド
３１６  初期化情報
３１８  第２データ・バス・インタフェース
３２０  第１データ・バス・インタフェース
３２２  データ・コア
３２４  コマンド・レジスタ
３２６  命令期間発生器（クロック発生器）
３２８  シーケンサ
３３０  内部メモリ
３３２  信号処理アルゴリズム
３３４  アドレス制御信号
３３６  動作制御信号
３３８  アドレス発生レジスタ
３４０  アドレス発生ユニット
３４２  ループ・カウント・カウンタ・レジスタ
３４４  演算ユニット
３４６  加算器
３４８  飽和レジスタ
３５０  乗算・累算（ＭＡＣ）部
３５２  中間結果
３８４  ステータス
３９０〜４００  汎用レジスタ
４０３，４０４  データ
４２０  汎用エコー・キャンセレーション環境
４２２  音声情報
４２３  デジタル化音声情報（Ｓi ）
４２４  音声受信機
４２６  音響筺体
４２８  スピーカ
４３０  エコー
４３１  直接フィードバック
４３２  マイクロフォン
４３３  スピーチ信号（Ｓn ）
４３４  エコー検出器
４３５  デジタル音声（Ｓt ）
４３６  エコー・キャンセレーション係数部
４３８  加算器
４４０  音声送信機
４４１  音声情報
４５４〜４６４  デジタル化スピーチ・サンプル
５００  現在値
５０２  次のステート
５０４  エコー信号（ｅ’）
６００  スピーチ波形
６０２，６０４  ＬＰＣスピーチ波形
６０６，６０８  残留波形
６１０  バッファ
６３０  サーキュラ・バッファ・アドレス指定ユニット
６３２  メモリ
６３４  比較器
６３６  マルチプレクサ
６３８  加算器
６４０  終了アドレス
６４２  開始アドレス
６４４  カレント・アドレス・ポインタ
６４６  オフセット値
６４８  第１または第２制御信号
６５０  新規アドレス
６５２  加算／減算
６５４  ラップアラウンド発生器
６５６，６８５  加算器
６５９  ラップアラウンド・アドレス
６３０ａ  サーキュラ・アドレス・バッファ
６４９  スライド制御信号
６６０  制限アドレス
６６２  スライド値
６６４  第２加算器
７８０  畳込み符号器
７８２  第１レジスタ
７８４  第２レジスタ
７８６  シーケンサ
７８７  カウンタ
７８８  サンプラ
７９０〜７９４  論理素子
７９６  デジタル情報
７９８  外部メモリ・ソース
８００  ビット符号レート
８０１  カウント値
８０２  抽出レート
８０４，８０６  畳込み符号化情報
８２０  受信信号品質検査装置
８２２  比較器
８２４  エラー・カウンタ
８２６  エラー情報
８２８  第１符号化情報のストリーム
８３０  抽出情報
８８０  制御部
８８２  制御カウント部
８８４〜８８８  演算素子
８９０  シーケンサ
８９２  出力部
８９４  データ
８９６  入力ポート
８９８  逆レジスタ
９００  逆データ
９０２  コマンド
９０４  コマンド・プロセッサ
９０６  カウント値信号
９０８  通信機能モード信号
９１０  シフト・カウンタ
９１２  シフト・コントローラ
９１４  カウント・シリーズ
９１６  動作コマンド命令
９１８，９２０  論理ゲート
９２２  マルチプレクサ
９２４  結果
９２６  出力ポート
【図１】
0003774255.tif 000002
【図２】
0003774255.tif 000003
【図３】
0003774255.tif 000004
【図４】
0003774255.tif 000005
【図５】
0003774255.tif 000006
【図６】
0003774255.tif 000007
【図７】
0003774255.tif 000008
【図８】
0003774255.tif 000009
【図９】
0003774255.tif 000010
【図１０】
0003774255.tif 000011
【図１１】
0003774255.tif 000012
【図１２】
0003774255.tif 000013
【図１３】
0003774255.tif 000014
【図１４】
0003774255.tif 000015
【図１５】
0003774255.tif 000016
【図１６】
0003774255.tif 000017
【図１７】
0003774255.tif 000018
【図１８】
0003774255.tif 000019
【図１９】
0003774255.tif 000020
【図２０】
0003774255.tif 000021
【図２１】
0003774255.tif 000022
【図２２】
0003774255.tif 000023
【図２３】
0003774255.tif 000024
【図２４】
0003774255.tif 000025
【図２５】
0003774255.tif 000026
【図２６】
0003774255.tif 000027