JP3723578B2 - 非固定バッファ・サイズを利用した通信システム - Google Patents
非固定バッファ・サイズを利用した通信システム Download PDFInfo
- 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
Links
- 239000000872 buffer Substances 0.000 title claims description 119
- 230000006854 communication Effects 0.000 title claims description 31
- 238000004891 communication Methods 0.000 title claims description 30
- 238000000034 method Methods 0.000 claims description 46
- 239000012723 sample buffer Substances 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 description 36
- 239000000523 sample Substances 0.000 description 23
- 230000008569 process Effects 0.000 description 18
- 230000005540 biological transmission Effects 0.000 description 15
- 230000007246 mechanism Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000001965 increasing effect Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 239000012464 large buffer Substances 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000005086 pumping Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000009291 secondary effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M11/00—Telephonic communication systems specially adapted for combination with other electrical systems
- H04M11/06—Simultaneous speech and data transmission, e.g. telegraphic transmission over the same conductors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/005—Correction 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の間に送信するために生成される。次のテーブルは、切り換え遷移の前および後に用いられるバッファのサイズを示す。
上記テーブルを参照すると、エコー・キャンセラは、スライス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のバッファ・サイズを有するサンプル・バッファを用いるステップと、
第2のバッファ・サイズを有するサンプル・バッファを用いるステップであって、前記第1のバッファ・サイズを有する前記サンプル・バッファは前記第2のバッファ・サイズを有する前記サンプル・バッファと比較して迅速な応答時間を有しており、前記第2のバッファ・サイズを有する前記サンプル・バッファは前記第1のバッファ・サイズを有するサンプル・バッファと比較してシステム・レイテンシに適応することができる、ステップと、
前記第1のバッファ・サイズを有するサンプル・バッファと前記第2のバッファ・サイズを有するサンプル・バッファとの間を動的に切り換えるステップと、
を含むことを特徴とする方法。 - 請求項1記載の方法において、前記切り換えは前記通信システムの動作要求に応答して実行されることを特徴とする方法。
- 請求項1記載の方法において、前記システム・レイテンシは割り込みレイテンシを含むことを特徴とする方法。
- 請求項1記載の方法において、前記システム・レイテンシはバス・レイテンシを含むことを特徴とする方法。
- 請求項1記載の方法において、前記システム・レイテンシは割り込みレイテンシとバス・レイテンシとを含むことを特徴とする方法。
- 請求項1記載の方法において、前記切り換えはデータを全く損失することなく実行されることを特徴とする方法。
- 請求項1記載の方法において、前記第2のバッファ・サイズは前記第1のバッファ・サイズよりも大きいことを特徴とする方法。
- 請求項1記載の方法において、この方法はモデムを動作させるのに用いられ、前記サンプル・バッファの少なくとも1つのサイズは、モデム接続が再初期化又は再起動されるときに、前記第1のバッファ・サイズに切り換えられることを特徴とする方法。
- 請求項1記載の方法において、この方法はモデムを動作させるのに用いられ、前記サンプル・バッファの少なくとも1つのサイズは、リトレイン・シーケンスが初期化されたときに、前記第1のバッファ・サイズに切り換えられることを特徴とする方法。
- 請求項9記載の方法において、前記通信システムはV.32、V.32bis及びV.34のグループから選択された国際電気通信連合規格を実施する方法。
- 通信システムにおける応答時間とシステム・レイテンシとの間のバランスを達成するシステムであって、
第1のバッファ・サイズを有するサンプル・バッファと、
第2のバッファ・サイズを有するサンプル・バッファであって、前記第1のバッファ・サイズを有する前記サンプル・バッファは前記第2のバッファ・サイズを有する前記サンプル・バッファと比較して迅速な応答時間を有しており、前記第2のバッファ・サイズを有する前記サンプル・バッファは前記第1のバッファ・サイズを有するサンプル・バッファと比較してシステム・レイテンシに適応することができる、サンプル・バッファと、
前記第1のバッファ・サイズを有するサンプル・バッファと前記第2のバッファ・サイズを有するサンプル・バッファとの間を動的に切り換えることができる切り換え装置と、
を備えていることを特徴とするシステム。 - 請求項11記載のシステムにおいて、前記切り換えは前記通信システムの動作要求に応答して実行されることを特徴とするシステム。
- 請求項11記載のシステムにおいて、前記システム・レイテンシは割り込みレイテンシを含むことを特徴とするシステム。
- 請求項11記載のシステムにおいて、前記システム・レイテンシはバス・レイテンシを含むことを特徴とするシステム。
- 請求項11記載のシステムにおいて、前記システム・レイテンシは割り込みレイテンシとバス・レイテンシとを含むことを特徴とするシステム。
- 請求項11記載のシステムにおいて、前記切り換えはデータを全く損失することなく実行されることを特徴とするシステム。
- 請求項11記載のシステムにおいて、前記第2のバッファ・サイズは前記第1のバッファ・サイズよりも大きいことを特徴とするシステム。
- 請求項11記載のシステムにおいて、モデムがこのシステムを用い、前記サンプル・バッファの少なくとも1つのサイズは、モデム接続が再初期化又は再起動されるときに、前記第1のバッファ・サイズに切り換えられることを特徴とするシステム。
- 請求項11記載のシステムにおいて、モデムがこのシステムを用い、前記サンプル・バッファの少なくとも1つのサイズは、リトレイン・シーケンスが初期化されたときに、前記第1のバッファ・サイズに切り換えられることを特徴とするシステム。
- 請求項19記載のシステムにおいて、前記通信システムはV.32、V.32bis及びV.34のグループから選択された国際電気通信連合規格を実施するシステム。
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)
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)
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 |
-
1996
- 1996-04-16 US US08/632,931 patent/US5864714A/en not_active Ceased
-
1997
- 1997-04-13 JP JP53691697A patent/JP3723578B2/ja not_active Expired - Fee Related
- 1997-04-13 DE DE19781701T patent/DE19781701T1/de not_active Withdrawn
- 1997-04-13 EP EP97915665A patent/EP0954793A4/en not_active Withdrawn
- 1997-04-13 AU AU23057/97A patent/AU2305797A/en not_active Abandoned
- 1997-04-13 WO PCT/IL1997/000123 patent/WO1997039409A1/en not_active Application Discontinuation
-
1998
- 1998-09-29 US US09/163,054 patent/US6108720A/en not_active Expired - Lifetime
- 1998-10-02 GB GBGB9821561.9A patent/GB9821561D0/en not_active Ceased
-
2001
- 2001-01-26 US US09/771,010 patent/USRE40497E1/en not_active Expired - Lifetime
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 |