JP3723578B2 - 非固定バッファ・サイズを利用した通信システム - Google Patents

非固定バッファ・サイズを利用した通信システム Download PDF

Info

Publication number
JP3723578B2
JP3723578B2 JP53691697A JP53691697A JP3723578B2 JP 3723578 B2 JP3723578 B2 JP 3723578B2 JP 53691697 A JP53691697 A JP 53691697A JP 53691697 A JP53691697 A JP 53691697A JP 3723578 B2 JP3723578 B2 JP 3723578B2
Authority
JP
Japan
Prior art keywords
buffer
size
latency
sample
buffer size
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.)
Expired - Fee Related
Application number
JP53691697A
Other languages
English (en)
Other versions
JP2000508852A (ja
Inventor
タル,ニア
コーヘン,ロン
コリン,ズィーヴ
Original Assignee
ピーシーテル・インコーポレーテッド
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 ピーシーテル・インコーポレーテッド filed Critical ピーシーテル・インコーポレーテッド
Publication of JP2000508852A publication Critical patent/JP2000508852A/ja
Application granted granted Critical
Publication of JP3723578B2 publication Critical patent/JP3723578B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M11/00Telephonic communication systems specially adapted for combination with other electrical systems
    • H04M11/06Simultaneous speech and data transmission, e.g. telegraphic transmission over the same conductors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/005Correction by an elastic buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Communication Control (AREA)

Description

発明の分野
本発明は、通信システムに関し、更に特定すれば、ネイティブ信号処理(NSP:native signal processing)を利用したモデムに関するものである。
発明の背景
従来の全二重通信システムは、通常、図1に示す従来技術のモデム12のように、専用のハードウエアを用いて実施されている。モデム12は、その中核としてのディジタル信号プロセッサ(DSP:digital signal processor)集積回路(IC)18、ランダム・アクセス・メモリ(RAM)20、ディジタルーアナログ変換器(D/A)24、アナログーディジタル変換器(A/D)26、およびデータ・アクセス構成(DAA:data access arrangement)28を含む。モデム12は、バス・インターフェース回路16を介して、ホスト・コンピュータ・バスに結合された状態で示されている。ホスト・コンピュータ中央処理装置(CPU)14は、モデム12を介して伝送するデータを発生し、モデム12によって受信したデータを受け取る。
図1に示す形式のようなDSPを基本とするモデムは、一般的に、入力A/D変換器26からの比較的少数のサンプルを処理し、同様の少数のサンプルを発生し、D/A変換器24に出力することによって動作する。これらのシステムは、特定の実施態様に応じて、「サンプル」毎または「シンボル」毎に動作すると言われる。かかる方式では、入力がほぼ直ちに処理されるので、読出し時間(レイテンシ時間:latency time)が最短で済むという利点がある。しかしながら、これらの方式は、非常に大きな計算能力を必要とするが、この計算能力は通常専用DSPによって供給される。
図1に示すようなモデムは非常に強力であり得るが、専用のDSPハードウエアを必要とするため、比較的高価である。したがって、パーソナル・コンピュータ業界における最近の傾向は、追加の処理ハードウエアを必要とせずに、内蔵型の汎用CPUを利用することによって、モデムを実装する方向にある。このため、モデムは、同じ処理ユニット上のシステムが実行する他のタスクと、CPU時間を分配しなければならない。典型的なコンピュータのCPUでは、分配は、「タイム・スライス(time slice)」に基づきオペレーティング・システムによって管理される。各スライスの間、異なるタスクが実行される。タスクの実行は、現タイム・スライスの終了を示す周期的タイマが発生する割り込み、または何らかのイベント(例えば、データのサンプルが得られたこと)の発生を示す他のいずれかのハードウエア・デバイス(例えば、A/D変換器)が発生する割り込みによって、切り替える(preempt)ことができる。
割り込み機構は、現在実行中のタスクを、可能な限り短い時間で割り込みを処理するタスクに切り換える(switch)ように設計されているが、実際には、割り込みが実際に処理される前に相当な量の時間がかかる場合がある。この時間遅延は、ハードウエアの遅延、コンピュータ・システムにおける多数の割り込み源(ソース)、またはある割り込みに与えられる他の割り込みに対する優先度によって発生する可能性がある。実際の割り込みトリガの発生と割り込み処理ルーチンの実行開始との間の時間は、「割り込みレイテンシ(interrupt latency)」と定義されている。PC環境における典型的な割り込みレイテンシは、0ないし5ミリ秒の範囲である。しかしながら、PC環境では、実行中のプログラムが、予め規定されている時間以内に制御を放棄するという保証はない。行儀のよい(well behaved)プログラムの場合は、不当な時間期間にわたってCPUを支配しないことを予測し得るが、タスクによっては、比較的長い時間期間にわたってCPU資源を解放しないものもある。
したがって、従来のDSPを基本とするモデムのネイティブ処理環境(NSP)への直接的単純な移行(転換)には非常に問題が多い。何故なら、「リアル・タイム」処理要件を満たすためには、各サンプル(またはシンボル)毎にモデム・タスクを実行すること、および次のサンプル(シンボル)が到達する前にその実行を完了していることが必要となるからである。サンプル(またはシンボル)の到達とモデムの作動との間の時間を最短に抑えるために、直接的移行を実施するのでは、各サンプル(即ち、シンボル)の到達時に、割り込みを発生することになるであろう。このような実施では、リアル・タイムの制約を克服することは余りに困難であり、長い割り込みレイテンシのためにモデム・ルーチンを時間通りに実行することが不可能となり、その結果データの損失が発生する恐れがある。この問題は、モデム・ルーチンを、1つのサンプルだけではなく、サンプルのバッファ(buffer)に対して動作させるように設計することによって克服可能となる。サンプルのバッファは、連続するモデム・ルーチンへのコールとコールとの間の時間期間が長くなることを意味する。この場合のリアル・タイムの要件は、サンプルの入力バッファを処理し送信のための出力バッファを生成するための時間が、バッファを受信/送信する際に要する時間よりも短いことである。
しかしながら、このバッファ処理方式は、新たな問題を引き起こす。バッファの先頭で受信されたサンプルは、バッファ全てを受信した後でないと処理されないので、これには固有の遅延という欠点がある。この欠点は、ITU V.32bis 14,400bpsモデム規格のような、高速データ・ポンピング(pumping)モデムとは相容れないものものである。ITU V.32bis 14,400bpsモデム規格では、サンプルを処理し、接続の他端に位置するモデムからのある種の信号に応答する場合に、厳しい時間制約を賦課する。例えば、V.32bis規格は、モデム接続の開始時に、レンジング(ranging)段階を含む。この段階の間、他のモデムのレンジング信号に応答する最大応答時間を26.6msとすることが、仕様によって要求される。信号検出から応答の送信までの最短処理時間(ターン・アラウンド時間:turn around time)は、サンプルの獲得、処理、割り込みレイテンシ、およびバッファの送信を考慮に入れなければならない。
発明の概要
本発明は、NSPを基本とする全二重通信システムの実施(インプリメンテーション)において、前述した問題を軽減するために開発された。これらの問題には、インプリメンテーション・オーバヘッド等の処理を最適化しかつこれを可能とすることに加えて、割り込み、オペレーティング・システムおよびその他のタスクに関連するレイテンシに対する抵抗力の必要性が含まれる。前述したように、伝送ビット・レートが増々高くなるに従って、公衆電話交換網(PSTN:public switched telephone network)にモデムを実装する場合に、厳しい時間制約が存在する。殆どの通信システムでは、この時間制約は通常通信リンクの初期設定中、特に、モデム接続のレンジング・フェーズの間に存在する。
より高いビット・レートの規格、例えば、V.32およびV.34を実施可能なNSPモデムを設計する1つの解決策は、本発明の教示によれば、NSPモデムの内部で非固定サイズのバッファを利用することである。バッファ・サイズを可変とすることにより、NSPソフトウエアを規格の制約に適合化させることが可能となる。小さなバッファは、短く正確な応答時間を通信システムに与える。一方、バッファ・サイズを大きくすると、モデム処理のローバスト(robust)性が向上し、インプリメンテーション・オーバーヘッドが減少するので、オペレーティング・システムのレイテンシに対する強化を図り、タイム・スライス内即ち割り込み間において正確な時点で柔軟性を高めることになり、データ流を混乱させることなく、処理を行うことが可能となる。タスクのローバスト性が向上すれば、行儀のよくない他のタスク、即ち、比較的長い時間期間にわたってCPUを解放しない他のタスクの影響を受けにくくなる。
システムが定常状態にあり、応答時間が長くても対処できる場合、より大きなバッファの処理を可能とすべきである。かかるシステムでは、データのオーバーラン/アンダーラン(overruns/underruns)またはその他のエラーを発生することなく、バッファ・サイズを増大可能な時間点に到達する。
加えて、本発明によって教示されるバッファの切り換えは、データの損失を全く伴わない。切り換えは、データ損失を全く生ずることなく、円滑にかつコヒーレントに行われる。ここでは、コヒーレンシ(coherency)とは、入力サンプルや出力サンプルの逸失や破棄がないことと定義する。
したがって、本発明の目的は、高ビット・レートのNSPを基本とする通信を可能とすることによって、従来技術に伴う問題を克服するシステムを提供することである。
本発明の他の目的は、所望のレイテンシ時間期間に応じて、そのデータ・バッファのサイズを様々に変更可能なシステムを提供することである。
本発明の更に他の目的は、オーバーランや他のデータ・エラーを生ずることなく、そのデータ・バッファのサイズを様々に変更可能なシステムを提供することである。
本発明の他の目的は、通信信号処理プロセスへのコールの相対的なインプリメンテーション・オーバーヘッドを低減させることによって、CPUのようなシステム資源の使用を最適化するシステムを提供することである。
本発明の更に他の目的は、長いデータ・ブロックに対して効率が高くなる、ブロック最適化信号処理技法を用いることによって、プロセッサの使用を最適化するシステムを提供することである。
本発明は、信号受信および送信双方のために、バッファ・インターフェースを利用する全二重通信システムを開示する。このバッファ・インターフェースは、入力サンプルも出力サンプルも全く失うことなく、異なるサイズのバッファ間で切り換えを行う機構を含む。本発明のバッファ切り換えを基本とする通信システムは、1群(グループ)の入力サンプルを収集し、それらをバッファ内に配置する。次に、本システムは、バッファ内に収容されたサンプルを処理し、送信すべきサンプルのバッファを生成する。受信バッファおよび送信バッファは、典型的には、同一長さのものである。サンプル・バッファの長さは、当該バッファを格納するために割り当てられなければならないメモリを決定し、更に、レイテンシ時間も決定する。レイテンシは、入力ポートにおけるイベントの発生から、当該入力ポートにおけるイベントに応答しての出力ポートにおける他のイベントの発生までの最短通信システム応答時間として定義する。最悪の場合のレイテンシは、バッファを満たすのに要する時間の正確に2倍として示されている。
初期起動シーケンスの間、比較的短く精度の高い応答時間が要求される。したがって、このフェーズでは、短いバッファを用いる。しかしながら、後の長い期間(即ち、定常状態)では、長いバッファの方が効率的となる。したがって、モデムが異なるサイズのバッファに切り換える、ある時点が存在する。バッファの切り換えは、コヒーレンシを全く失うことなく(即ち、入力ポートや出力ポートにおいて全くデータを失うことなく)行われる。
したがって、好適な実施形態によれば、通信システムにおいて、一方では、処理応答時間の平衡(バランス)を達成し、他方では、割り込みレイテンシおよびプロセッサのインプリメンテーション・オーバーヘッドに対するローバスト性を達成する方法が提供される。
したがって、好適な実施形態によれば、通信システムにおいて、一方では処理応答時間、他方では割り込みレイテンシおよびプロセッサのインプリメンテーション・オーバーヘッドに対するローバストネス(頑強性)の間の平衡を達成する方法が提供され、この方法は、迅速な処理応答時間を有するように通信システムを最適化することが望ましい場合、第1のバッファ・サイズを有するデータ・バッファを利用するステップと、割り込みレイテンシに対するローバスト性を得ると共に、プロセッサのインプリメンテーション・オーバーヘッドを減少させるように通信システムを最適化することが望ましい場合、第2のバッファ・サイズを有するデータ・バッファを利用するステップとを含む。
加えて、先の方法は、更に、切り換え手段を備え、第1のバッファ・サイズを有するバッファの使用と、第2のバッファ・サイズを有するバッファの使用との間で、前記通信システムが切り換えを行うことを可能とするステップを含む。また、データの損失を全く生ずることなく、バッファのサイズをコヒーレントに切り換え、第2のバッファ・サイズは第1のバッファ・サイズよりも大きい。加えて、モデム接続を再初期化または再起動する場合、第2のバッファ・サイズをより小さいサイズに再度切り換える。リトレイン・シーケンス(retrain sequence)を初期化した場合、第2のバッファ・サイズをより小さいサイズに再度切り換え、通信システムが、V.32、V.32bis、およびV.34のグループから選択された、国際電気通信連合(ITU)規格を実施する。
更に、本発明の好適な実施形態によれば、通信システムを実施する方法が提供される。この通信システムは、送信機、エコー・キャンセラ、および受信機を備え、この方法は、エコー・キャンセラを利用して、タイム・スライスK−1の間に送信された遅延出力サンプルに対してエコー・キャンセルを行うステップと、受信機を利用して、タイム・スライスK−1から受信した入力サンプルと、タイム・スライスKの間にエコー・キャンセラが発生したサンプルとの間の差分に対して、受信処理を行うステップと、送信機を利用して送信処理を行い、タイム・スライスK+1の間に送信すべき出力サンプルを発生するステップとから成る。
加えて、前述の送信機、エコー・キャンセラ、および受信機は、コンピュータの中央処理装置(CPU)を用いて実施され、データの損失を全く生ずることなく、バッファのサイズをコヒーレントに切り換える。
【図面の簡単な説明】
ここでは、添付図面を参照しながら、一例としてのみ、本発明について説明する。図面において、
図1は、ホスト・コンピュータに結合された、従来技術の従来のディジタル信号プロセッサ(DSP)モデムを示す上位ブロック図である。
図2は、本発明の通信システムにおいて利用されるモデムの機能的な面を示す上位機能ブロック図である。
図3は、ホスト・コンピュータに結合された本発明のネイティブ信号処理(NSP)モデムを示す上位ブロック図である。
図4は、V.32bisモデム規格の起動手順の間、発呼側モデムおよび着呼側モデムによって交換される信号シーケンスを示す。
図5は、連続するタイム・スライスに関連して、受信、処理、および送信するステップを示す。
図6は、本発明の処理シーケンスを示す上位フロー図である。
発明の詳細な説明
本発明のバッファ切り換えシステムの動作および有用性をよりよく例示するために、全二重音声帯域モデムのフレームワークについて、システムを説明する。しかしながら、この開示全体を通じて提示する例は、本発明の範囲を何ら限定するものではないことは理解されよう。当業者は、ここに開示する本発明のシステムおよび方法の原理を採用し、当技術分野では公知の、他の多くの形式の全二重通信システムにそれらを適用することができよう。
本発明の通信システムにおいて利用される、全二重音声帯域モデム30の全体的な実現化を表す上位機能ブロック図を、図2に示す。モデム30は、送信機32、受信機34、エコー・キャンセラ・ユニット36、加算器37、ディジタルーアナログ(D/A)変換器38、アナログーディジタル(A/D)変換器40、およびディジタル・アクセス構成(DAA)またはハイブリッド42を内蔵する。エコー・キャンセラ・ユニット36は、遅延レジスタ・スタック35およびエコー・キャンセラ回路41を備えている。送信機32は、送信機データ入力ポートからデータを受信し、送信(Tx)サンプルをエコー・キャンセラ36およびD/A38に出力する。DAA42は、電話回線と送信機および受信機との間でインピーダンスの整合を行うように機能する。これは、電話局(CO:central of fice)からの二線対上の平衡アナログ電圧を、2つの二線非平衡対、一方は送信機のためのもの、他方は受信機のためのもの、に変換する。エコー・キャンセラ36は、当技術分野では公知の標準的なエコー・キャンセル技法を送信信号に適用することによって、受信信号からエコーを除去するように機能する。エコー・キャンセラ36の出力は、加算器37を用いて、受信信号と加算される。受信機34は、ディジタル受信(Rx)データ出力信号を出力する。
ホスト・コンピュータに結合された、ネイティブ信号処理(NSP)モデムを示す上位ブロック図を図3に示す。このモデム全体を10で引用する。NSPモデム10は、概略的に、ハードウエア部分およびソフトウエア部分から成る。ソフトウエア部分はホスト・コンピュータのCPU54上で実行される。図3は、全二重音声帯域モデムの一実施態様を示し、図2に示した信号処理タスク、即ち、送信機32、受信機34、およびエコー・キャンセラ36を、ホスト・コンピュータの中央演算装置(CPU)54を用いて処理する。また、ホスト・コンピュータは、当該ホスト・コンピュータのオペレーティング・システムおよびそのタスクが使用するためのランダム・アクセス・メモリ(RAM)52も含む。NSPモデムの実行中、このモデムを動作させるために用いられるソフトウエアの部分は、様々な時点においてRAM52内に位置する。
DAA64は、COからの二線対への物理的な線路インターフェースを形成する(例えば、RJ−11、RJ−45、またはその他のいずれかの適切な接続方法)。ホストCPU54は、バス・インターフェース回路56を介して、NSPモデム10と通信する。2つの先入れ先出し(FIFO)バッファを用いて、ホスト・コンピュータのCPUに向かうサンプルおよびCPUから来るサンプルをバッファする。送信FIFO58は、アウトバウンド(outbound)サンプルをバッファし、受信FIFO60はインバウンド(inbound)サンプルをバッファする。コーダ/デコーダ(CODEC)62が、送信FIFO58および受信FIFO60をDAA64に結合する。CODEC62は、D/A24およびA/D26(図2)のD/AおよびA/D機能を実行する。
今日のパーソナル・コンピュータの大多数は、ある種のマルチタスキング・オペレーティング・システム(multi-tasking operating system)を実行させているので、ホスト・コンピュータのCPU54は何らかの形態のマルチタスキング・オペレーティング・システムを実行していることを想定する。この場合、本発明によって教示される、可変サイズのバッファを用いるシステムは、NSPモデム10によって用いられ、例えば、V.32およびV.34規格のような、モデム規格によって賦課される厳しい時間許容度に準拠するようにする。本発明によって教示される可変サイズのバッファを用いる機構の理解に役立てるために、V.32bis規格を一例として使用する。即ち、データの交換が可能となる前に行われるV.32bisの起動手順について説明する。図4に示すのは、発呼側モデムおよび着呼側モデムによって実行される、V.32bis規格に定義された起動シーケンスである。最上段は、発呼側モデム(即ち、発呼したモデム)の送信信号を、時間の関数として示す。最下段は、着呼側モデムによって実行されるタスクを、時間の関数として示す。初期シーケンスの間、着呼側モデム上の「S」までは、非常に短くかつ精度の高い応答時間が必要である(例えば、64T+/-2T、これを換算すると26.6+/-0.83msとなる)。このいわゆるレンジング期間中に、遠端エコーのラウンド・トリップ時間遅延(round trip time delay)を測定する。次に、エコー・キャンセラ回路41(図2)においてこれらの測定値を用いて、受信信号からエコーを排除する。
割り当てられた時間枠内で応答するためには、短い応答時間が必要である。したがって、この初期フェーズの間、短いバッファを用いる。トレーニング段階「TRN」以降では、短く精度の高いイベント処理は絶対的な要件ではなく、長いバッファを用いてもよいので、こうしてCPUに関連する切り換えタスクのオーバーヘッドを低減させる。本発明者がPentium 100MHzプロセッサを装備したPCを用いて行った実験では、レンジング期間中のCPU利用度は比較的低く、約5パーセント未満であることが示された。トレーニング期間中では、CPU利用度は高くなり、30パーセントを超える可能性がある。定常状態の間、データ部分のCPU利用度は30パーセント未満に低下する。
図5は、タイム・スライスの連続処理に関する、受信、処理、および送信のステップを示す。2本の垂直線間にある各列は、1つのタイム・スライスを表す。垂直線は、各タイム・スライス即ちサンプル時間毎に、その開始時点において1回発生するハードウエア割り込みを表す。各タイム・スライス毎に、NSPモデム10内で行われる通信プロセスを実行する。この時間中、前回のタイム・スライスの間に収集されたサンプルを処理し、サンプルを発生し、次のタイム・スライスの間に送信する。このように、タイム・スライスN−4の間に収集されたサンプルは、タイム・スライスN−3の間に処理される。同様に、タイム・スライスN−3の間に、サンプルが発生され、タイム・スライスN−2の間に送信される。
前述したように、起動シーケンスのレンジング期間(図4)の間、双方のモデムは26.6+/-0.83ms(即ち、64T+/-2T)の時間制約を有し、この間に他方の信号に応答しなければならない。処理および関連するハードウエアの平均的は遅延を6.6msと仮定すると、モデム処理にはわずかに20msが残るのみとなる。即ち、20msがバッファ機構内における固有の遅延のためのものである。バッファ機構における最大遅延即ち最悪の場合の遅延は、前述のバッファ処理方式の場合、2バッファ長である。つまり、最大バッファ長は、時間では、10msを超えることはできない。したがって、サンプリング周波数が8KHzのCODECでは、64サンプルに等しい長さL1を有するバッファをこのレンジングの間に用いる。これは、8msのバッファ時間に換算される。処理オーバーヘッドを3msと仮定すると、5msのマージンが残る。したがって、割り込みレイテンシまたはオペレーティング・システムが賦課するその他のいずれかの遅延が5msより長い場合、データのオーバーランが発生する。即ち、モデム間のレンジングは、精度不足となり、通信を行うことができない。
ある時点において、大きなバッファに切り換える判断を行う。V.32bisの場合、大きなバッファへの切り換えは、レンジング期間が終了した後で、好ましくはトレーニング期間が開始する前に行うことができる。本発明のシステムは、サンプル・バッファ内に収容されているサンプルには無関係(oblivious)である。どのようなサンプルがバッファ内にあろうとも、相違はない。本発明のコヒーレンシ特性について、以下で更に詳しく説明する。
切り換え点付近におけるバッファ切り換え機構の動作について、これより更に詳細に説明する。現タイム・スライスがN−1であり、サンプルで満杯のバッファをこのスライスの間に受信したと仮定する。また、小さなバッファはもはや不要であり、大きなバッファに切り換える決定を行ったとも仮定する。どのエンティティが切り換える決定を行うかは、本発明には重要ではない。タイム・スライスNの間、スライスN−1の間に受信したサンプルを処理する。しかしながら、プロセッサは、次のタイム・サンプル以降、大きなバッファを用いることを知っている。したがって、プロセッサは、L1よりも大きな長さL2を有する、送信対象サンプルのバッファを生成する。例示の目的のために、L2は256に等しいとする。送信プロセスは、システムの他の構成要素とは独立しており、したがっていかなる任意のサンプル数を有するバッファでも生成することができる。こうして、スライスNの間に、256サンプルのサイズのバッファを生成する。これらのサンプルは、次のタイム・サンプルN+1の間に送信される。また、スライスNの間、小さなサンプルのバッファが受信され、スライスN+1の間に処理される。
次のスライスN+1の間、大きなサンプルのバッファが獲得され、スライスNの間に獲得された小さなサンプルのバッファがここで処理される。大きなサンプルのバッファは、スライスN+2の間に送信するために生成される。加えて、スライスNの間に生成した大きなサンプルのバッファは、このスライスN+1の間に送信される。同様に、スライスN+2の間、スライスN+1の間に受信された大きなサンプルのバッファが処理され、大きなサンプルのバッファが、スライスN+3の間に送信するために生成される。次のテーブルは、切り換え遷移の前および後に用いられるバッファのサイズを示す。
Figure 0003723578
上記テーブルを参照すると、エコー・キャンセラは、スライスKの間に受信したスライスK−1のバッファを処理する。ここで、Kはいずれかの任意のタイム・スライスである。したがって、バッファ内のN+1以下のL1個のサンプルを処理し、正確にL1個のサンプルのバッファを出力する。タイム・スライスKの間、受信プロセスは、スライスK−1において受信したバッファと、スライスKにおけるエコー・キャンセラの出力との差分を処理する。したがって、タイム・スライスNの間、受信機は、長さL1を有する、スライスN−1の間に受信したサンプルと、同様に長さL1を有する。スライスNの間のエコー・キャンセラの出力との差分を処理する。タイム・スライスN+1の間、受信プロセスは、長さL1を有する、タイム・スライスNにおける受信サンプルと、同様に長さL1を有する、スライスN+1の間のエコー・キャンセラの出力との間の差分を処理する。
受信機が、適正にエコーが除去済みとなっているサンプルを確実に得るためには、送信サンプルおよび受信サンプルを適切に整合しなければならない。言い換えると、エコー・キャンセラが用いるサンプルは、送信サンプルおよび受信サンプルと、時間的に同期していなければならない。これを達成するには、送信データがエコー・キャンセラによって用いられる前に、その経路内に1つのバッファ遅延レジスタ35(図2)を配置する(エコー・キャンセル処理は、送信機の処理の前に行われると仮定する)。こうして、エコー・キャンセラが用いる送信データは、適正に遅延され、受信データとの同期が取られる。遅延レジスタ35は、小さなバッファが常に小さなバッファから減算され、大きなバッファが常に大きなバッファから減算されることにより、データのコヒーレンシを維持することを確保する。
モデム規格の時間制約を満たすために、データの処理は所定の順序で行わなければならない。図6に示すのは、一連の処理を表す上位フロー図である。エコー・キャンセラ・ユニット36(図2)は、受信機よりも前に動作しなければならない。何故なら、受信機が処理するサンプルは、受信したサンプルとエコー・キャンセラの出力との差分を含むからである。前述のように、加算器37がこの減算を行う。加えて、2箇所のバッファ時点における最大レイテンシを維持するために、受信機は送信機の前に動作しなければならない。タイム・スライスK−1の間に受信したバッファの最初のサンプルの時点にトリガされたイベントは、スライスKにおける処理の間に検出される。応答(アンサ)は、スライスK+1の間に送信されたバッファの最初のサンプルとして現れることができる。したがって、送信機が受信機の前に動作した場合、イベントは、スライスK+2において送信されたバッファの最初のサンプルにおいてでないと応答されず、レイテンシは3バッファ時間となってしまう。
したがって、遅延した送信データを処理するエコー・キャンセラを最初に動作させる(ステップ70)。次に、タイム・スライスK−1からの受信サンプルと、スライスKにおけるエコー・キャンセラのプロセスによって発生したサンプルとの差分に対して、受信機の処理を行う(ステップ72)。最後に、送信処理を行い、サンプルで満たされたバッファを生成し、タイム・スライスK+1の間に送信し(ステップ74)、遅延レジスタ35内に格納する。
このように、本発明のバッファ切り換え機構を利用すると、割り込みレイテンシに対する抵抗力(resistance)を最大に高めることが可能となる。前述の例では、8000サンプル/秒においてサイズが256のバッファでは、32msのバッファ時間となる。30パーセントの処理期間を想定すると、最大割り込みレイテンシは22.4msとなる。これは非常に大きな時間マージンである。加えて、長いバッファを用いることの二次的効果として、オーバーヘッドの減少によって、CPU利用度が低下し、CPUは他の機能を実行することが可能となる。本発明によって得られる主要な利点は、NSPモデムが、より高いビット・レートのモデム規格(例えば、V.32 9600pbs,V.32bis14,400bisおよびV.34 28,800bps)の厳しい時間制約に適合することを可能にすることである。
加えて、何らかの理由で、モデムの一方が接続の間にリトレイン・プロセス(retrain process)を要求する場合、バッファ・サイズを再度小さなバッファ・サイズに変更し、リトレイン・プロセスを行うことができる。後の時点で、バッファ・サイズを、再び大きなバッファ・サイズに切り換える。
以上、限られた数の実施形態に関して本発明を説明したが、本発明の多くの変形、変更、およびその他の適用も可能であることは認められよう。

Claims (20)

  1. 通信システムにおける応答時間とシステム・レイテンシとの間のバランスを達成する方法であって、
    第1のバッファ・サイズを有するサンプル・バッファを用いるステップと、
    第2のバッファ・サイズを有するサンプル・バッファを用いるステップであって、前記第1のバッファ・サイズを有する前記サンプル・バッファは前記第2のバッファ・サイズを有する前記サンプル・バッファと比較して迅速な応答時間を有しており、前記第2のバッファ・サイズを有する前記サンプル・バッファは前記第1のバッファ・サイズを有するサンプル・バッファと比較してシステム・レイテンシに適応することができる、ステップと、
    前記第1のバッファ・サイズを有するサンプル・バッファと前記第2のバッファ・サイズを有するサンプル・バッファとの間を動的に切り換えるステップと、
    を含むことを特徴とする方法。
  2. 請求項1記載の方法において、前記切り換えは前記通信システムの動作要求に応答して実行されることを特徴とする方法。
  3. 請求項1記載の方法において、前記システム・レイテンシは割り込みレイテンシを含むことを特徴とする方法。
  4. 請求項1記載の方法において、前記システム・レイテンシはバス・レイテンシを含むことを特徴とする方法。
  5. 請求項1記載の方法において、前記システム・レイテンシは割り込みレイテンシとバス・レイテンシとを含むことを特徴とする方法。
  6. 請求項1記載の方法において、前記切り換えはデータを全く損失することなく実行されることを特徴とする方法。
  7. 請求項1記載の方法において、前記第2のバッファ・サイズは前記第1のバッファ・サイズよりも大きいことを特徴とする方法。
  8. 請求項1記載の方法において、この方法はモデムを動作させるのに用いられ、前記サンプル・バッファの少なくとも1つのサイズは、モデム接続が再初期化又は再起動されるときに、前記第1のバッファ・サイズに切り換えられることを特徴とする方法。
  9. 請求項1記載の方法において、この方法はモデムを動作させるのに用いられ、前記サンプル・バッファの少なくとも1つのサイズは、リトレイン・シーケンスが初期化されたときに、前記第1のバッファ・サイズに切り換えられることを特徴とする方法。
  10. 請求項9記載の方法において、前記通信システムはV.32、V.32bis及びV.34のグループから選択された国際電気通信連合規格を実施する方法。
  11. 通信システムにおける応答時間とシステム・レイテンシとの間のバランスを達成するシステムであって、
    第1のバッファ・サイズを有するサンプル・バッファと、
    第2のバッファ・サイズを有するサンプル・バッファであって、前記第1のバッファ・サイズを有する前記サンプル・バッファは前記第2のバッファ・サイズを有する前記サンプル・バッファと比較して迅速な応答時間を有しており、前記第2のバッファ・サイズを有する前記サンプル・バッファは前記第1のバッファ・サイズを有するサンプル・バッファと比較してシステム・レイテンシに適応することができる、サンプル・バッファと、
    前記第1のバッファ・サイズを有するサンプル・バッファと前記第2のバッファ・サイズを有するサンプル・バッファとの間を動的に切り換えることができる切り換え装置と、
    を備えていることを特徴とするシステム。
  12. 請求項11記載のシステムにおいて、前記切り換えは前記通信システムの動作要求に応答して実行されることを特徴とするシステム。
  13. 請求項11記載のシステムにおいて、前記システム・レイテンシは割り込みレイテンシを含むことを特徴とするシステム。
  14. 請求項11記載のシステムにおいて、前記システム・レイテンシはバス・レイテンシを含むことを特徴とするシステム。
  15. 請求項11記載のシステムにおいて、前記システム・レイテンシは割り込みレイテンシとバス・レイテンシとを含むことを特徴とするシステム。
  16. 請求項11記載のシステムにおいて、前記切り換えはデータを全く損失することなく実行されることを特徴とするシステム。
  17. 請求項11記載のシステムにおいて、前記第2のバッファ・サイズは前記第1のバッファ・サイズよりも大きいことを特徴とするシステム。
  18. 請求項11記載のシステムにおいて、モデムがこのシステムを用い、前記サンプル・バッファの少なくとも1つのサイズは、モデム接続が再初期化又は再起動されるときに、前記第1のバッファ・サイズに切り換えられることを特徴とするシステム。
  19. 請求項11記載のシステムにおいて、モデムがこのシステムを用い、前記サンプル・バッファの少なくとも1つのサイズは、リトレイン・シーケンスが初期化されたときに、前記第1のバッファ・サイズに切り換えられることを特徴とするシステム。
  20. 請求項19記載のシステムにおいて、前記通信システムはV.32、V.32bis及びV.34のグループから選択された国際電気通信連合規格を実施するシステム。
JP53691697A 1996-04-16 1997-04-13 非固定バッファ・サイズを利用した通信システム Expired - Fee Related JP3723578B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/632,931 1996-04-16
US08/632,931 US5864714A (en) 1996-04-16 1996-04-16 Communication system which dynamically switches sizes of sample buffer between first size for quick response time and second size for robustness to interrupt latency
PCT/IL1997/000123 WO1997039409A1 (en) 1996-04-16 1997-04-13 Communications system utilizing non-fixed buffer size

Publications (2)

Publication Number Publication Date
JP2000508852A JP2000508852A (ja) 2000-07-11
JP3723578B2 true JP3723578B2 (ja) 2005-12-07

Family

ID=24537578

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53691697A Expired - Fee Related JP3723578B2 (ja) 1996-04-16 1997-04-13 非固定バッファ・サイズを利用した通信システム

Country Status (7)

Country Link
US (3) US5864714A (ja)
EP (1) EP0954793A4 (ja)
JP (1) JP3723578B2 (ja)
AU (1) AU2305797A (ja)
DE (1) DE19781701T1 (ja)
GB (1) GB9821561D0 (ja)
WO (1) WO1997039409A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864714A (en) 1996-04-16 1999-01-26 Comsys Communication & Signal Processing Ltd. Communication system which dynamically switches sizes of sample buffer between first size for quick response time and second size for robustness to interrupt latency
JPH10289180A (ja) * 1997-02-12 1998-10-27 Canon Inc 通信処理装置及び方法
US5892980A (en) * 1997-02-28 1999-04-06 Comsys Communication And Signal Processing Ltd. System for dynamically changing the length of transmit and receive sample buffers utilizing previous responding to an interrupt in a communications system
US6570911B1 (en) * 1997-06-27 2003-05-27 Intel Corporation Method and apparatus for controlling modem data pump parameters based on processor loading
US6088412A (en) * 1997-07-14 2000-07-11 Vlsi Technology, Inc. Elastic buffer to interface digital systems
US6317455B1 (en) 1997-12-16 2001-11-13 3Com Corporation System and method for user information transfer before modem connection
US6112266A (en) * 1998-01-22 2000-08-29 Pc-Tel, Inc. Host signal processing modem using a software circular buffer in system memory and direct transfers of samples to maintain a communication signal
US6209110B1 (en) 1998-03-30 2001-03-27 Cypress Semiconductor Corporation Circuitry, apparatus and method for embedding a test status outcome within a circuit being tested
US6181615B1 (en) 1998-03-30 2001-01-30 Cypress Semiconductor Corporation Circuitry, apparatus and method for embedding quantifiable test results within a circuit being tested
US6778671B1 (en) * 1998-12-14 2004-08-17 Intel Corporation Method of reference to echo time alignment for facilitation of echo cancellation
US6434708B1 (en) * 1999-04-09 2002-08-13 Integrated Technology Express, Inc. Programmable timer & methods for scheduling time slices executed by a controller circuit
US6327249B1 (en) * 1999-08-04 2001-12-04 Ess Technology, Inc Data communication device
US6823004B1 (en) * 1999-10-29 2004-11-23 International Business Machines Corporation Methods, systems and computer program products for monitoring performance of a modem during a connection
FR2802367B1 (fr) * 1999-12-14 2006-08-18 France Telecom Procede temps reel de traitement et de gestion pour l'annulation d'echo entre haut-parleur et microphone d'un terminal informatique
EP1146678B1 (en) 2000-04-14 2006-12-20 Alcatel An auto-adaptive jitter buffer
CN1229989C (zh) * 2000-06-10 2005-11-30 三星电子株式会社 用于减少延迟时间的解码方法
US6757292B2 (en) * 2001-07-11 2004-06-29 Overture Networks, Inc. Automatic adjustment of buffer depth for the correction of packet delay variation
US7702035B2 (en) * 2002-07-03 2010-04-20 Freescale Semiconductor, Inc. Searching method and apparatus for processing digital communication signals
US6976110B2 (en) * 2003-12-18 2005-12-13 Freescale Semiconductor, Inc. Method and apparatus for reducing interrupt latency by dynamic buffer sizing
GB0622408D0 (en) * 2006-11-10 2006-12-20 Ibm Device and method for detection and processing of stalled data request
US7886303B2 (en) * 2007-05-18 2011-02-08 Mediatek Inc. Method for dynamically adjusting audio decoding process
CN106126326A (zh) * 2016-06-23 2016-11-16 东软集团股份有限公司 定时任务管理方法和装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4841526A (en) * 1984-05-25 1989-06-20 Wilson Jon C Data communications system
US4823312A (en) * 1986-10-30 1989-04-18 National Semiconductor Corp. Asynchronous communications element
DE3705176A1 (de) * 1987-02-18 1988-09-01 Siemens Ag Digitalsignalumsetzer mit nichtlinearer umsetzkennlinie
US5170470A (en) * 1988-05-02 1992-12-08 National Semiconductor Corp. Integrated modem which employs a host processor as its controller
US5007047A (en) * 1988-12-02 1991-04-09 Codex Corporation Adaptive rate control for echo cancelling modem
US5077550A (en) * 1990-09-19 1991-12-31 Allen-Bradley Company, Inc. Burner flame sensing system and method
US5119403A (en) * 1991-04-09 1992-06-02 Racal Data Communications Inc. Superframes
DE69124596T2 (de) * 1991-04-22 1997-08-21 Ibm Kollisionsfreies Einfügen und Entfernen von durchschaltevermittelten Kanälen in einer paketvermittelnden Übertragungsstruktur
JPH066387A (ja) 1992-06-16 1994-01-14 Hitachi Ltd データ転送制御方法および装置
JP3013613B2 (ja) * 1992-06-29 2000-02-28 ヤマハ株式会社 データ送受信装置
US5412782A (en) * 1992-07-02 1995-05-02 3Com Corporation Programmed I/O ethernet adapter with early interrupts for accelerating data transfer
JP2546218B2 (ja) 1992-09-07 1996-10-23 カシオ計算機株式会社 データ通信装置
US5440740A (en) * 1992-10-13 1995-08-08 Chen; Fetchi System and method for managing devices on multiple digital signal processors
JPH06216970A (ja) 1993-01-21 1994-08-05 Hitachi Ltd 通信制御アダプタ及び通信管理方式
EP0657824A1 (en) * 1993-11-05 1995-06-14 Advanced Micro Devices, Inc. Apparatus for Ethernet packet reception
US5473686A (en) * 1994-02-01 1995-12-05 Tandy Corporation Echo cancellation apparatus
JPH088977A (ja) 1994-06-15 1996-01-12 Hitachi Ltd データ通信装置
EP0700116A3 (en) * 1994-08-29 1998-01-07 Atr Optical And Radio Communications Research Laboratories Apparatus and method for controlling array antenna comprising a plurality of antenna elements with improved incoming beam tracking
JPH08125591A (ja) * 1994-10-20 1996-05-17 Fujitsu Ltd エコーキャンセラシステム
US5757849A (en) * 1995-03-30 1998-05-26 Lucent Technologies Inc. Timing recovery in a network-synchronized modem
US5841771A (en) * 1995-07-07 1998-11-24 Northern Telecom Limited Telecommunications switch apparatus and method for time switching
US5864714A (en) 1996-04-16 1999-01-26 Comsys Communication & Signal Processing Ltd. Communication system which dynamically switches sizes of sample buffer between first size for quick response time and second size for robustness to interrupt latency
US5751741A (en) * 1996-11-20 1998-05-12 Motorola, Inc. Rate-adapted communication system and method for efficient buffer utilization thereof

Also Published As

Publication number Publication date
DE19781701T1 (de) 1999-03-25
AU2305797A (en) 1997-11-07
GB9821561D0 (en) 1998-11-25
WO1997039409A1 (en) 1997-10-23
JP2000508852A (ja) 2000-07-11
US6108720A (en) 2000-08-22
EP0954793A1 (en) 1999-11-10
EP0954793A4 (en) 2002-10-16
USRE40497E1 (en) 2008-09-09
US5864714A (en) 1999-01-26

Similar Documents

Publication Publication Date Title
JP3723578B2 (ja) 非固定バッファ・サイズを利用した通信システム
US5802153A (en) Apparatus and method for interfacing between a communications channel and a processor for data transmission and reception
US5721830A (en) Host signal processing communication system that compensates for missed execution of signal maintenance procedures
US5892980A (en) System for dynamically changing the length of transmit and receive sample buffers utilizing previous responding to an interrupt in a communications system
US5727233A (en) Byte-mode and burst-mode data transfer mechanism for a high-speed serial interface
US5799064A (en) Apparatus and method for interfacing between a communications channel and a processor for data transmission and reception
CN1149791C (zh) 数据通信装置、接口、调制解调器和方法
WO1992009158A1 (en) Frequency domain adaptive echo canceller for full-duplex data transmission
JPS61127234A (ja) エコ−・キヤンセラの制御方式
EP0942577B1 (en) Generating communication signals
EP1019847A1 (en) System for dynamically adapting the length of a filter
JPS6373724A (ja) エコ−キヤンセラ方式モデム
CN1165856C (zh) 无用信号和回波的消除
CA2279360C (en) Apparatus and method for adapting an echo canceller in a communication system
US5754590A (en) Modem architecture for integrated controller and data pump applications
Cioffi et al. A finite precision analysis of the block-gradient adaptive data-driven echo canceller
Paratz et al. Speech transmission using an adaptive burst mode technique
US6405268B1 (en) Dynamic block processing in a host signal processing modem
Brun Controlled carrier operation in a memory based echo cancelling data set
MXPA98002208A (en) Interface between a channel of communications and a process
KR200202949Y1 (ko) 고효율 에코 보정의 하이브리드 방식 데이터 전송장치
Nguyen A multichannel, demand-assignment echo canceller for point-to-multipoint subscriber radio systems
KR20030059353A (ko) 브이오피 게이트웨이에서의 음성 데이터 처리 시스템 및방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041102

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20041108

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050201

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050318

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050502

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050823

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050916

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees