(57)【要約】  信号処理システム制御方法とその装置について説明する。種々の実施態様は複数のサブシステムを有する信号処理システムを含む。信号処理システム制御方法は、チャネルレコードを共用メモリ外の指定領域内に保存する工程を含む。チャネルレコードは、複数のサブシステムにより時分割方式で処理される複数の離散的信号の１つを含むチャネルデータを含む。上記チャネルレコードは、チャネルを処理する複数のサブシステムにより使用される情報を含む。この情報は、複数のサブシステムを構成するために使用される情報、共用メモリを割り振るために使用される情報、および複数のサブシステム間で通信するために使用される情報を含む。【選択図】  図３
2007504555.tif 000002
【特許請求の範囲】
【請求項１】
複数のサブシステムを含む信号処理システムにおける信号処理方法であって、
チャネルレコードを共用メモリの指定領域内に保存する工程であって、チャネルが前記信号処理システムにより処理される複数の離散的信号のうち１つを含むチャネルデータを含み、複数のチャネルが時分割方式で前記複数のサブシステムにより処理され、チャネルレコードがチャネルを処理する前記複数のサブシステムにより使用される情報を含む、工程と、
処理される各チャネルに関連するチャネルレコードを読み出す工程と、
前記チャネルレコードに従って前記複数のサブシステムを構成する工程と、
前記チャネルレコードに従って共用メモリを割り振る工程と、
前記複数のチャネルが処理されると前記チャネルレコードを更新する工程を備える信号処理方法。
【請求項２】
前記信号処理システムの第１のサブシステムにおいて、チャネルデータを受信し、中間データを作成する工程と、
前記信号処理システムの第２のサブシステムにおいて、前記中間データを処理する工程と、
前記共用メモリの領域内に、前記中間データを保存する工程をさらに備える、請求項１に記載の信号処理方法。
【請求項３】
アンダーフロー状態を回避する工程をさらに備えており、前記アンダーフロー状態が、前記第１のサブシステムにより予め定められたデータ量が書き込まれる前に前記共用メモリの前記領域から前記第２のサブシステムが中間データを読み出すことを備える、請求項２に記載の信号処理方法。
【請求項４】
オーバーフロー状態を回避する工程をさらに備えており、前記オーバーフロー状態が、前記第２のサブシステムにより前記中間データが読み出される前に前記共用メモリの前記領域内に前記第１のサブシステムが中間データを上書きすることを備える、請求項３に記載の信号処理方法。
【請求項５】
前記チャネルレコードが、当初は外部プロセッサにより保存され、信号処理が発生すると前記外部プロセッサにより更新され、
前記チャネルレコードが、前記外部プロセッサ、前記第１のサブシステム、前記第２のサブシステム間で通信するために用いられる少なくとも１つのセマフォワードを含む複数のワードを備える、請求項４に記載の信号処理方法。
【請求項６】
前記第１のサブシステムにより参照されるとともに制御されるビットと、前記第２のサブシステムにより参照されるとともに制御されるビットと、を含む複数のビットを第１のセマフォワード内に保存する工程と、
前記第１のセマフォワード内の各ビットに対応するとともに前記外部プロセッサにより制御されるビットを含む複数のビットを第２のセマフォワード内に保存する工程をさらに備える、請求項５に記載の信号処理方法。
【請求項７】
前記外部プロセッサ、前記第１のサブシステム、前記第２のサブシステム間での通信が、
前記それぞれのサブシステムの制御下で前記第１のセマフォワード内の複数のビットのうちの１つの状態を変更する、前記第１のサブシステムと前記第２のサブシステムの変更工程と、
前記第１のセマフォワードの前記１つのビットと前記第２のセマフォワードの対応するビットとを組み合わせる組合せ工程を備えており、前記第１のセマフォワード内の複数のビットのうちの１つのビットが前記それぞれのサブシステムに関する指定の情報を示し、前記組合せによって、結果ビットを初期状態から前記指定の情報における変更を示すように変更する、請求項６に記載の信号処理方法。
【請求項８】
前記指定の情報における前記変更の受信を示すように前記第２のセマフォワードの前記対応するビットの状態を変更する、前記外部プロセッサの変更工程をさらに備えており、前記結果ビットの状態が前記初期状態に変化する、請求項７に記載の信号処理方法。
【請求項９】
前記第１のセマフォワードおよび前記第２のセマフォワード内の前記ビットのそれぞれに対応するビットを含む複数のビットをマスクワード内に保存する工程と、
割り込みを信号伝達するために前記マスクワード内の前記複数の前記ビットの状態を使用する工程をさらに備える、請求項６に記載の信号処理方法。
【請求項１０】
前記システムの初期化において、
処理されるチャネルが休止しているかどうか、および
前記チャネルがオフかどうか、
を判断するために第１のチャネルレコード内のセマフォワードを読み出す工程と、
前記チャネルがオフである場合に、第２のチャネルレコード内のセマフォワードを読み出す工程を含む、前記第１のサブシステムを制御する工程をさらに備える、請求項６に記載の信号処理方法。
【請求項１１】
前記チャネルがオフでなく、かつ休止していない場合に、前記第１のセマフォワードを更新することにより状態を知らせることを含む、前記チャネルをアクティブ化する工程と、
オーバーフロー状態を検知する工程と、
オーバーフロー状態を検知することに応答して、前記第１のセマフォワードを更新することにより状態を知らせることを含む、前記チャネルを非アクティブ化する工程をさらに備える、請求項１０に記載の信号処理方法。
【請求項１２】
前記チャネルを処理するために前記第１のサブシステム内のハードウェアを初期化する工程と、
予め定められた期間の間、前記チャネルを処理する工程と、
前記チャネルの処理を終了したことを知らせるために、前記第１のセマフォワードを更新する工程をさらに備える、請求項１１に記載の信号処理方法。
【請求項１３】
前記システムの初期化において、
処理されるチャネルが休止しているかどうか、および
前記チャネルがオフかどうかと、
を判断するために第１のチャネルレコード内のセマフォワードを読み出す工程と、
前記チャネルがオンである場合に、前記チャネルが前記第１のサブシステムにおいて停止されているかどうかを判断する工程と、
前記チャネルが前記第１のサブシステムにおいて停止されている場合に、前記第２のチャネルレコードにおけるセマフォワードを読み出す工程を含む、前記第２のサブシステムを制御する工程をさらに備える、請求項６に記載の信号処理方法。
【請求項１４】
前記第２のセマフォワードを更新することにより状態を知らせることを含む、前記チャネルをアクティブ化する工程と、
オーバーフロー状態を検知する工程と、
前記チャネルを処理するために、前記第２のサブシステム内のハードウェアを初期化する工程と、
前記チャネル用の中間データが利用可能かどうかを判断する工程と、
中間データが利用可能でない場合に、前記チャネルが前記第１のサブシステムにおいて停止されているかどうかを判断する工程と、
前記チャネルが前記第１のサブシステムにおいて停止されていない場合に、前記チャネル用の中間データが利用可能かどうかを再び判断する工程をさらに備える、請求項１３に記載の信号処理方法。
【請求項１５】
前記チャネル用の中間データが利用可能である場合に、前記中間データを処理する工程と、
予め定められたデータ量の処理が終了したかどうかを判断する工程と、
前記第２のセマフォワードを更新することにより状態を知らせる工程と、
現在のチャネルレコードの更新により前記第２のサブシステムの状態を保存する工程をさらに備える、請求項１４に記載の信号処理方法。
【請求項１６】
チャネルを処理する際に前記第１のサブシステムと前記第２のサブシステムが相互に重なり合わないようにラッピング規則を実行する工程をさらに備えており、そのラッピング規則を実行する工程が、
前記第２のサブシステムが前記チャネルにおいて現在アクティブな場合に、前記第１のサブシステムがチャネルをアクティブ化するのを回避する工程と、
前記第１のサブシステムが前記チャネルにおいて現在アクティブな場合に、前記第２のサブシステムがチャネルから出るのを回避する工程を含む、請求項６に記載の信号処理方法。
【請求項１７】
前記ラッピング規則を実行する工程が、前記第１のサブシステム用のメモリ・ポインタと前記第２のサブシステム用のメモリ・ポインタとを比較する工程をさらに備えており、前記メモリ・ポインタがチャネルレコード内に保存される、請求項１６に記載の信号処理方法。
【請求項１８】
衛星ベースの通信システムにおける信号処理のための方法であって、
複数のチャネルに対応している複数の衛星ビークルから信号を受信する工程と、
２つ以上のサブシステムにおいて２つ以上のチャネルを同時に処理する工程を含む、前記通信システムの複数のサブシステムを使用して前記複数のチャネルを処理する工程と、
特定のチャネルに関連するチャネルレコード内にチャネルパラメータを保存する工程であって、前記チャネルパラメータが前記特定のチャネルを処理するために使用される工程を含む、チャネル処理を制御する工程と、
前記チャネルレコード内にメモリ・ポインタを保存する工程であって、前記メモリ・ポインタが、前記特定のチャネルを処理する特定のサブシステムのデータのメモリの場所を示す工程と、
前記チャネルレコード内にセマフォワードを保存する工程であって、前記セマフォワードが前記複数のシステムと外部プロセッサ間で通信するために用いられ、通信状態と通信命令を通信する工程を含む工程、を備える信号処理方法。
【請求項１９】
前記サブシステムが、前記複数の衛星ビークルからの信号を受信するとともにチャネルデータを作成する信号処理サブシステムと、前記チャネルデータを処理する高速フーリエ変換（ＦＦＴ）サブシステムとを備えており、前記チャネル処理を制御する工程が、前記信号処理サブシステムが前記ＦＦＴサブシステムによってまだ処理されていないチャネルデータに上書きするオーバーフロー状態を回避する工程を含む、前記信号処理サブシステムと前記ＦＦＴサブシステムを制御する工程をさらに備える、請求項１８に記載の信号処理方法。
【請求項２０】
前記信号処理サブシステムと前記ＦＦＴサブシステムを制御する工程が、予め定められたチャネルデータ量が前記信号処理サブシステムにより書き込まれる前に前記ＦＦＴサブシステムがチャネルデータを読み出すアンダーフロー状態を回避する工程をさらに含む、請求項１９に記載の信号処理方法。
【請求項２１】
オーバーフロー状態を回避する工程とアンダーフロー状態を回避する工程が、前記信号処理サブシステムと前記ＦＦＴサブシステムに関連するメモリ・ポインタをそれぞれ比較する工程を含む、請求項２０に記載の信号処理方法。
【請求項２２】
前記チャネル処理を制御する工程が、前記信号処理サブシステムと前記ＦＦＴサブシステムがチャネルにおいて相互に重なり合うのを回避する工程をさらに備えており、その相互に重なり合うのを回避する工程が、
前記ＦＦＴサブシステムが前記チャネルにおいて現在アクティブな場合に、前記信号処理サブシステムがチャネルを処理し始めることを回避する工程と、
前記信号処理サブシステムが前記チャネルにおいて現在アクティブな場合に、前記ＦＦＴサブシステムがチャネル処理を終了するのを回避する工程を含む、請求項１９に記載の信号処理方法。
【請求項２３】
前記チャネル処理を制御する工程が、
前記信号処理サブシステムと前記ＦＦＴサブシステムにおいて、前記サブシステムの１つに処理を停止または休止させることを要求する状態を検知する工程と、
前記信号処理サブシステムと前記ＦＦＴサブシステムとの間で前記状態を通信するために前記セマフォワードを使用する工程と、
割り込みを作成するために前記セマフォワードを使用する工程をさらに備えており、前記割り込みが前記外部プロセッサにチャネルレコードを修正させる割り込みを含む、請求項１９に記載の信号処理方法。
【請求項２４】
複数のチャネルで複数の衛星ビークルから無線周波数信号を受信し、コヒーレントデータを作成する信号処理サブシステムと、
前記コヒーレントデータに演算を行う高速フーリエ変換（ＦＦＴ）サブシステムであって、前記信号処理サブシステムと前記ＦＦＴサブシステムが時分割方式で複数のチャネルを処理し、前記信号処理サブシステムと前記ＦＦＴサブシステムが、相互に非同期で動作する高速フーリエ変換（ＦＦＴ）サブシステムと、
前記信号処理サブシステムと前記ＦＦＴサブシステムとを制御するシーケンサと、
それぞれがチャネルに関する情報を含む複数のチャネルレコードを備える動的に割り振り可能なメモリであって、前記チャネルレコードが外部プロセッサにより書き込まれ、前記シーケンサが、関連するチャネルの処理を制御するためにチャネルレコードを読み出す、メモリを備える信号処理システム。
【請求項２５】
前記シーケンサが、
関連するチャネルがオフでなく、かつ休止されてないかどうかを判断するためにチャネルレコードを読み出し、
前記チャネルがオフでなく、かつ休止されていない場合に、少なくとも１つのステータスフラグを設定し、クリアすることを含めて前記チャネルをアクティブ化し、前記ステータスフラグはセマフォワード内のビットを備え、
予め定められた期間の間、チャネルデータを処理し、
そして少なくとも１つのステータスフラグを設定し、クリアすることを含めてチャネルを非アクティブ化するように、
構成された信号処理サブシステム・シーケンサを含む請求項２５に記載の信号処理システム。
【請求項２６】
前記シーケンサが、
関連するチャネルがオフでなく、かつ休止されてないかどうかを判断するためにチャネルレコードを読み出し、
前記チャネルがオフでなく、休止されていない場合、特定のコヒーレントデータ量に対するＦＦＴ処理とＮＣＳ処理を有効にすることを含めて前記チャネルをアクティブ化し、
いつ前記特定の量のコヒーレントデータが処理されたかを判断し、
前記外部プロセッサの使用のために保存される少なくとも１つの報告を作成し、前記外部プロセッサが、前記少なくとも１つの報告に部分的に基づいて当該チャネルレコードを書き込むように、構成されたＦＦＴサブシステム・シーケンサを備える請求項２５に記載の信号処理システム。
【請求項２７】
前記シーケンサが、アンダーフローが発生せず、かつオーバーフローが発生しないようにチャネルの処理を制御するように構成され、アンダーフローが、コヒーレントデータの予め定められた量が前記信号処理サブシステムにより作成される前にコヒーレントデータに演算を行う前記ＦＦＴを含み、そしてオーバーフローが、前記ＦＦＴサブシステムにより演算が行われなかったコヒーレントデータに上書きする信号処理システムを含む、請求項２４に記載の信号処理システム。
【請求項２８】
前記信号処理サブシステムと前記ＦＦＴサブシステムに関連する保存されたメモリ・ポインタをさらにそれぞれ備えており、前記それぞれのメモリ・ポインタが、アンダーフローおよびオーバーフローを検知するために比較される、請求項２７に記載の信号処理システム。
【請求項２９】
前記信号処理サブシステムと前記ＦＦＴサブシステムに関連するライブメモリ・ポインタをそれぞれ備えており、アンダーフローとオーバーフローを検知するために、前記信号処理サブシステムと前記ＦＦＴサブシステムの１つに関連する前記ライブメモリ・ポインタの少なくとも１つが、その他方のサブシステムのメモリ・ポインタと比較される、請求項２８に記載の信号処理システム。
【請求項３０】
命令を保存したコンピュータ可読媒体であって、前記命令が実行されると、信号処理システムに、
共用メモリの指定領域にチャネルレコードを保存する工程であって、チャネルが前記信号処理システムにより処理される複数の離散的信号のうち１つを含むチャネルデータを備えており、複数のチャネルが前記複数のサブシステムにより時分割方式で処理され、チャネルレコードがチャネルを処理する前記複数のサブシステムにより使用される情報を備える、工程と、
処理された各チャネルに関連してチャネルレコードを読み出す工程と、
前記チャネルレコードに従って前記複数のサブシステムを構成する工程と、
前記チャネルレコードに従って共用メモリを割り振る工程と、
前記複数のチャネルが処理されると前記チャネルレコードを更新する工程と、を実行させるコンピュータ可読媒体。
【請求項３１】
前記命令が実行されると、前記信号処理システムに、
第１のサブシステムにおいて前記システムにより受信されたチャネルデータを処理し、そして中間データを作成する工程と、
第２のサブシステムにおいて前記中間データを処理する工程と、
前記共用メモリの領域に前記中間データを保存する工程と、をさらに実行させる、請求項３０に記載のコンピュータ可読媒体。
【請求項３２】
前記命令が実行されると、前記信号処理システムにさらに、アンダーフロー状態を回避させ、前記アンダーフロー状態が、前記第１のサブシステムにより予め定められた量のデータが書き込まれる前に前記共用メモリの前記領域から前記第２のサブシステムが中間データを読み出すことを備える、請求項３１に記載のコンピュータ可読媒体。
【請求項３３】
前記命令が実行されると、前記信号処理システムにさらに、オーバーフロー状態を回避させ、前記オーバーフロー状態が、前記第２のサブシステムにより前記中間データが読み出される前に前記共用メモリの領域内前記第１のサブシステムが中間データを上書きすることを備える、請求項３２に記載のコンピュータ可読媒体。
【請求項３４】
前記命令が実行されると、前記信号処理システムにさらに、当初は前記チャネルレコードを保存し、そして信号処理が発生すると前記チャネルレコードを更新し、前記チャネルレコードは、前記命令、前記第１のサブシステム、前記第２のサブシステム間で通信するために用いられる少なくとも１つのセマフォワードを含む複数のワードを備える、請求項３３に記載のコンピュータ可読媒体。
【請求項３５】
前記命令が実行されると、前記信号処理システムにさらに、
前記第１のサブシステムにより参照されるとともに制御されるビットと、前記第２のサブシステムにより参照されるとともに制御されるビットと、を含む複数のビットを第１のセマフォワード内に保存させ、
前記第１のセマフォワード内の各ビットに対応するとともに前記外部プロセッサにより制御されるビットを含む複数のビットを第２のセマフォワード内に保存させる、請求項３４に記載のコンピュータ可読媒体。
【請求項３６】
前記外部プロセッサ、前記第１のサブシステム、前記第２のサブシステム間で通信する工程が、
前記それぞれのサブシステムの制御下で、前記第１のセマフォワード内の複数のビットのうち１つの状態を変更する、前記第１のサブシステムと前記第２のサブシステムの変更工程と、
前記第１のセマフォワードの前記１つのビットと前記第２のセマフォワードの対応するビットとを組み合わせる組合せ工程を備えており、前記第１のセマフォワード内の複数のビットのうちの１つのビットが前記それぞれのサブシステムに関する指定の情報を示し、前記組合せによって、結果ビットを初期状態から前記指定の情報における変更を示すように変更する、請求項３５に記載のコンピュータ可読媒体。
【請求項３７】
前記命令が実行されると、前記信号処理システムにさらに、前記指定の情報における前記変更の受信を示すように前記第２のセマフォワードの前記対応するビットの状態を変更させ、前記結果ビットの前記状態が前記初期状態に変更する請求項３６に記載のコンピュータ可読媒体。
【請求項３８】
前記命令が実行されると、前記信号処理システムにさらに、
前記第１のセマフォワードおよび前記第２のセマフォワード内の前記ビットのそれぞれに対応するビットを含む複数のビットをワード内に保存させ、
割り込みを信号伝達するために前記マスクワード内の前記複数の前記ビットの状態を使用させる、請求項３５に記載のコンピュータ可読媒体。
【請求項３９】
前記命令が実行されると、前記信号処理システムにさらに、
前記システムの初期化において、
処理されるチャネルが休止されたかどうか、および
前記チャネルがオフかどうか、
を判断するために第１のチャネルレコード内のセマフォワードを読み出す工程と、
前記チャネルがオフである場合に第２のチャネルレコード内のセマフォワードを読み出す工程と、を含んで、前記第１のサブシステムを制御させる、請求項３５に記載のコンピュータ可読媒体。
【請求項４０】
前記第１のサブシステムを制御する工程が、
前記チャネルがオフでなく、かつ休止していない場合に、前記第１のセマフォワードを更新することにより状態知らせることを含む、前記チャネルをアクティブ化する工程と、
オーバーフロー状態を検知する工程と、
オーバーフロー状態を検知することに応答して、前記第１のセマフォワードを更新することにより状態を知らせることを含む前記チャネルを非アクティブ化する工程と、
をさらに含む請求項３９に記載のコンピュータ可読媒体。
【請求項４１】
前記第１のサブシステムを制御する工程が、
前記チャネルを処理するために前記第１のサブシステム内のハードウェアを初期化する工程と、
予め定められた期間の間、前記チャネルを処理する工程と、
前記チャネルが処理を終了したということを知らせるために、前記第１のセマフォワードを更新する工程と、をさらに含む請求項４０に記載のコンピュータ可読媒体。
【請求項４２】
前記命令が実行されると、前記信号処理システムにさらに、
前記システムの初期化において、
処理されるチャネルが休止されたかどうか、および
前記チャネルがオフかどうか、
を判断するために第１のチャネルレコード内のセマフォワードを読み出す工程と、
前記チャネルがオンである場合に、前記チャネルが前記第１のサブシステムにおいて停止されているかどうかを判断する工程と、
前記チャネルが前記第１のサブシステムにおいて停止されている場合に、前記第２のチャネルレコードにおけるセマフォワードを読み出す工程と、を含んで前記第２のサブシステムを制御させる請求項３５に記載のコンピュータ可読媒体。
【請求項４３】
前記第２のサブシステムを制御する工程が、
前記第２のセマフォワードを更新することにより状態を示すことを含む前記チャネルをアクティブ化する工程と、
オーバーフロー状態を検知する工程と、
前記チャネルを処理するために、前記第２のサブシステム内のハードウェアを初期化する工程と、
前記チャネル用の中間データが利用可能かどうかを判断する工程と、
中間データが利用可能ではない場合、前記チャネルが前記第１のサブシステムにおいて停止されているかどうかを判断する工程と、
前記チャネルが前記第１のサブシステムにおいて停止されていない場合に、前記チャネル用の中間データが利用可能かどうかを再び判断する工程と、をさらに含む請求項４２に記載のコンピュータ可読媒体。
【請求項４４】
前記第２のサブシステムを制御する工程が、
前記チャネル用の中間データが利用可能である場合に、前記中間データを処理する工程と、
予め定められたデータ量の処理が終了したかどうかを判断する工程と、
前記第２のセマフォワードを更新することにより状態を知らせる工程と、
現在のチャネルレコードを更新することにより前記第２のサブシステムの状態を保存する工程と、をさらに含む請求項４３に記載のコンピュータ可読媒体。
【請求項４５】
前記命令が実行されると、前記信号処理システムにさらに、チャネルを処理する際に前記第１のサブシステムと前記第２のサブシステムが相互に重なり合わないように、
前記第２のサブシステムが前記チャネルにおいて現在アクティブな場合に、前記第１のサブシステムがチャネルをアクティブ化するのを回避する工程と、
前記第１のサブシステムが前記チャネルにおいて現在アクティブな場合に、前記第２のサブシステムがチャネルから出るのを回避する工程と、を含むラッピング規則を実行させる請求項３５に記載のコンピュータ可読媒体。
【請求項４６】
前記ラッピング規則を実行する工程が、前記第１のサブシステム用のメモリ・ポインタと前記第２のサブシステム用のメモリ・ポインタとを比較する工程をさらに備えており、前記メモリ・ポインタがチャネルレコード内に保存される、請求項４５に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、２００４年１月２２日に出願された米国特許出願第１０／７６２，８５２号明細書の一部継続出願であり、参照することによってその全体を本明細書に援用する。本出願は、２００３年９月２日出願の米国仮特許出願第６０／４９９，９６１号明細書、２００４年２月２３日出願の米国仮特許出願第６０／５４７，３８４号明細書［事件整理番号ＳＩＲＦ  ２８１−ＵＳ−Ｐ２］、２００４年２月２３日出願の米国仮特許出願第６０／５４６，８１６号明細書［事件整理番号ＳＩＲＦ２８１−ＵＳ−Ｐ３］に基づく優先権を主張する。
【０００２】
（技術分野）
本明細書で開示される実施態様は、電子システムにおける動的なメモリの分割と共有に関する。
【背景技術】
【０００３】
多様な機能を備えたプロセッサに基づく携帯電子装置は世界中で非常に普及している。携帯用電子装置の普及が拡大するにつれ、消費者のこれらの装置への依存度もまた大きくなっている。今や消費者は、遠隔インターネットアクセスから通信まですべてに関し、パーソナルコンピュータ、個人用ディジタル情報処理端末（ＰＤＡ）、携帯電話、衛星ベースの測位システム装置のような携帯用電子装置に依存している。消費者は、ますます１つの比較的小型の装置内に様々なデータや音声能力を要求する。製造業者は、データ、音声、および衛星に基づく測位についての複合的な能力を備えた携帯用装置を製造することにより対応してきた。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
いくつかの機能またはアプリケーションを実行する装置の例は、電子メールを送受信し、テキストメッセージを送受信し、衛星に基づく測位技術を使用することによりそれ自身を位置決めすることができる携帯電話である。個人用ディジタル情報処理端末（ＰＤＡ）もまた、ますます多様なアプリケーションをユーザーに提供する。各アプリケーションはそれぞれ処理能力とメモリを必要とする。このメモリは装置上に常駐されるものもあり、また、遠隔的にホストされるものもある。多くの製造業者は、通常、特定の機能を実行するための構成部品とソフトウェアを装置上に備える。多様な機能に対するこれら多様な構成部品と、関連するソフトウェアは、通常は、比較的大きなシステムに入れられ、処理サイクルとメモリを含む装置上の利用可能なリソースを効率的に使用するために通信し、協働する必要がある。
【０００５】
半導体製造技術が進歩し、より小さなパッケージ内により大きな能力をもたらしたとしても、特に小型装置に関しては、より大きな処理能力とメモリに対する要求は常にある。例えば、メモリが効率的に使用されないと、より多くの物理メモリを提供する必要が生じる場合があり、装置の大きさとコスト両方を増加させる。したがって、当該装置が比較的大きなシステムに挿入された場合には、メモリなどの不十分なリソースを柔軟に割り振ることができるように構成可能である特別に設計されたハードウェアとソフトウェアが望ましい。メモリは、信号処理集約システムなどのように大量のデータを処理するシステムにおいては特に重要なリソースである。通常その性能が利用可能なメモリ量に正比例する信号処理システムの例は、衛星ベースの測位システムである。一般的に、衛星ベースの測位システムの速度と効率は使用できるメモリ量により制限される。このため、比較的大きなシステム内に集積化される信号処理システムなどのようなシステムにおいては、効率的にメモリを使用することが望ましい。
【０００６】
本発明の実施態様は図面を用いて説明されるが、本発明はそれらに限定されるものではない。これらの図面では、同じ参照番号は同じ構成要素または行為を示す。
【課題を解決するための手段】
【０００７】
動的なメモリの割振りと共有のためのシステムおよび方法につき説明する。本実施態様は、サイズが変化し、特定のサブシステムによりアクセスされ、特定のタイプのデータを保存する様々な領域にランダム・アクセス・メモリ（ＲＡＭ）を割り振る工程を含む。上記ＲＡＭの割振りは、信号処理システムなどのデータ処理システムの動作モードと共に変化する。一旦利用可能なメモリが割り振られると、この様々な領域は、種々のモードで同時に動作できる様々なサブシステムにより共有される。
【０００８】
様々な実施態様は、信号処理システム、特には全地球測位システム（ＧＰＳ）において例示される。本実施態様はこのようなシステムに限定されるものではなく、メモリが運用中に多数のサブシステムへ割り振られ、そして再度割り振られねばならない、制限されたリソースであるような、あらゆる電子システムにおいて有用である。実施態様の具体例は、衛星ビークル（ＳＶ）から個別のチャネルで受信された無線周波数（ＲＦ）信号を処理する信号処理コアを含む。信号処理コアは、ＧＰＳシステムが目視可能な衛星に関し、最初にどれだけの量の情報を有するかなど、多数の要因に依存して、いくつかの異なるモードで動作する。利用可能なメモリは、特定の動作モードにおいて最も効率的な利用のため効果的に割り振られる。さらに、利用可能なメモリは、チャネルごとに効果的に割り振られる。チャネルという用語は、ハードウェアリソースの特定の利用を示すために使用される。チャネルは、１つまたは複数の特定の衛星からの、１つまたは複数の受信信号に対応することができる。様々なチャネルは、種々のモードで同時に使用するため、利用可能なメモリに割り振られる。本明細書で使用されるチャネルという用語は、信号処理システムによって処理される任意の離散的信号または離散的信号を提供するデータストリームを示すこともある。
【０００９】
説明される実施態様は、連続的に複数のチャネルを受信し、時分割ベースで信号処理部において複数のチャネルを処理し、そして複数の動作モードの１つに対し信号処理部を構成する工程（様々なタイプのデータを保存するため、メモリを複数の領域に割り振る工程を含む）を含む複数のチャネルの信号処理方法を含む。特定のメモリ領域は、特定の信号処理サブシステムにより特定の様式でアクセスされ、信号処理部は様々なチャネルに対し、種々のモードで同時に動作するように構成される。信号処理部は、信号処理部の出力の評価に基づき連続的に再構成される。メモリは、データワードがソフトウェアにより保存されるチャネル領域を含むようにさらに割り振られる。ソフトウェアは、制御プロセッサにより実行される。制御プロセッサとソフトウェアはどこにでも存在することができる。データワードは、メモリを含む信号処理サブシステムを構成するのに必要な情報のすべてを含む。データワードは、例えば、特定のサブシステムがメモリ領域のどこにアクセスしたかを示すアドレスポインタを保存し、ステータス情報を保存することにより、様々なサブシステムにより読み出され、様々なサブシステムにより更新される。
【発明を実施するための最良の形態】
【００１０】
以下の説明では、メモリ割振りおよび共有の実施態様の完全な理解を助けるとともに、その説明を有効にするため、多くの具体的な詳細を紹介する。その一方で、当業者は、動的なメモリの割振りと共有が１つまたは複数の特定の詳細部を備えず、または他の構成部品、システムなどで実行できることを認識するであろう。例えば、特定のメモリサイズの実例が例示のために示されるが、説明される同じ原理を使用することにより、他のサイズも可能である。さらに、様々な構造と機能が特定の配置で示されるが、本発明を限定するものではない。例えば、メモリ構造はワンチップ上に存在してもよいし、または任意の様式で分配され、遠隔的にアクセスされるいくつかのメモリを含んでもよい。他の実例では、動的なメモリの割振りと共有の態様をあいまいにすることを避けるために、周知の構造、または動作は示されないか、または詳細に説明されない。
【００１１】
図１は、信号処理システム１０２を含むシステム１００の一実施態様のブロック線図である。信号処理システム１０２は、無線周波数（ＲＦ）部とディジタル信号処理部を含む。一実施態様では、ＲＦ部１０３はＧＰＳ衛星または衛星ビークル（ＳＶ）からのＲＦ信号を受信する。ＲＦ信号はディジタル化され、ディジタル信号処理部１０１に伝送される。一実施態様では、ＲＦ部１０３とディジタル信号処理部１０１は、シリアル周辺インタフェース（ＳＰＩ）を介して通信する。ディジタル信号処理部１０１は、以下にさらに説明するようにＲＦ信号を処理し、処理されたデータを、ＯＥＭバス１０４を介し外部ＯＥＭプロセッサ１０５に伝送する。ディジタル信号処理部１０１は、ＯＥＭメモリ１０７とも通信する。以下にさらに説明するように、ディジタル信号処理部１０１は、信号処理機能用のメモリを含む。本発明の実施態様は、ディジタル信号処理部１０１上のメモリとＯＥＭメモリ１０７を含む限られた量のメモリを有するシステムにおいて特に好適である。通常、メモリはシステムにおいて限られているが、このことは携帯型または移動体装置に特にあてはまる。
【００１２】
場合によっては、ＯＥＭメモリ１０７はディジタル信号処理部１０１によりアクセスされる必要はない。可能なその他の配置としては、信号処理機能を実行するために必要なメモリと処理能力のすべてを含む１つの部品、またはチップ上にＲＦ部１０３機能とディジタル信号処理部１０１機能のすべてが配置されたものを含む。システム１００は、ＧＰＳ支援情報無しで有効に動作する能力をもつか、あるいは、多種多様のソースからのＧＰＳ支援情報により動作することができる。
【００１３】
図２はディジタル信号処理部１０１の一実施態様のサブシステムを示すブロック線図であり、入力サンプル・サブシステム（ＳＳ１）２１１、信号処理サブシステム（ＳＳ２）２１３、高速フーリエ変換（ＦＦＴ）サブシステム（ＳＳ３）２１５を含む。ディジタル信号処理部１０１はメモリサブシステム２０１をさらに含み、以下にさらに説明されるように、一実施態様では様々なサブシステム間で動的に割り振られ、共有されるランダム・アクセス・メモリ（ＲＡＭ）を含む。メモリサブシステム２０１は、単独のメモリ部品または装置でもよく、または複数のメモリ部品でもよい。メモリサブシステム２０１は、入力サンプルＲＡＭ２０３、コヒーレントデータＲＡＭ２０５、バックエンド保存ＲＡＭ２０９、およびチャネルＲＡＭ２０７を含む。メモリサブシステム２０１は、入力サンプルＲＡＭ２０３、コヒーレントＲＡＭ２０５、チャネルＲＡＭ２０７、およびバックエンド保存ＲＡＭ２０９のそれぞれが様々な動作モードでサイズが変化するように、動的に割り振られる。さらに、入力サンプルＲＡＭ２０３、コヒーレントＲＡＭ２０５、およびバックエンド保存ＲＡＭ２０９はそれぞれ、様々なモードで様々なチャネルによりアクセスされ、様々なサブシステム間で同時に共有される。
【００１４】
入力サンプルＲＡＭ２０３は、ＦＩＦＯ１制御構造またはＦＩＦＯ１  ２２１と呼ばれる制御構造２２１により制御される。コヒーレントＲＡＭ２０５は、同様に、ＦＩＦＯ２制御構造またはＦＩＦＯ２  ２２３と呼ばれる制御構造２２３により制御される。以下にさらに説明されるように、ＦＩＦＯ１  ２２１は、入力サンプルＲＡＭ２０３へのアクセスを制御し、ＦＩＦＯ２  ２２３はコヒーレントＲＡＭ２０５へのアクセスを制御する。本明細書に用いられるように、用語「ＦＩＦＯ」は、ある実施態様においては、入力サンプルＲＡＭ２０３およびコヒーレントＲＡＭ２０５へのアクセスのファーストイン・ファーストアウトの性質を意味する。他の実施態様では、上記制御構造および入力サンプルＲＡＭへのアクセスは、例えば、ラストイン・ファーストアウトを含む他の特徴を有することができる。図２では、ＦＩＦＯ１  ２２１は入力サンプルＲＡＭ２０３に連結して示され、ＦＩＦＯ２  ２２３はコヒーレントＲＡＭ２０５に連結して示される。通常は、ＦＩＦＯ１  ２２１およびＦＩＦＯ２  ２２３はそれぞれのＲＡＭ領域に連結されないが、図２では例示のためにそのように示される。
【００１５】
ディジタル信号処理部１０１は、ディジタル信号処理部１０１における信号処理動作の順序付けを制御するシーケンサ２１７をさらに含む。シーケンサ２１７は個別部品として示されるが、他の部品に連結させることができる。例えば、以下に説明する実施態様では、シーケンサ２１７の機能の一部は、信号処理サブシステム２１３上に、一部は、ＦＦＴサブシステム２１５上に存在する。以下ＳＷ２１９と呼ばれるソフトウェア部２１９は、シーケンサ２１７を制御し、したがって、ワードをチャネルＲＡＭ２０７に保存することによりディジタル信号処理部１０１において信号処理動作を制御する。一実施態様では、ＳＷ２１９は、外部ＯＥＭプロセッサ１０５および／またはＯＥＭメモリ１０７上にあるが、これは要件ではない。以下にさらに説明するように、ＯＥＭプロセッサ１０５は、信号処理部１０１からデータとステータス情報を連続的に受信するＳＷ２１９を使用することにより、信号処理部を分散処理方式で制御する。データとステータス情報は、以下でより詳細に説明するメッセージ送信を介し、連続的に信号処理部１０１を再構成するために使用される。本明細書に示すように、外部プロセッサより制御される信号処理部１０１を有することは、多くの実施態様において有利である。これにより、例えば、信号処理部１０１の処理能力を比較的小さくできる。しかしながら、ＳＷ２１９（ここでは外部能力として示される）により表される処理能力と機能はまた、信号処理部１０１上のどの場所にも存在してよい。
【００１６】
ディジタル信号処理部１０１は、ディジタル化されたＲＦデータサンプルをＲＦ部１０３から受信する。データサンプルは、ＳＶからのデータストリームのサンプルであり、それぞれは一意的な擬似ランダムノイズ（ＰＲＮ）コードを既知の様式で伝送する。概して言えば、ディジタル信号処理部１０１はデータサンプルを処理し、どの衛星がそれを伝送したかを判断し、また上記サンプルからエフェメリスおよびアルマナックなどの情報を抽出する。当該技術分野で周知のように、４つのＳＶの絶対位置と、それらの受信機からの相対的な距離が受信機により認識されると、受信機の位置を知ることができる。ディジタル信号処理部１０１は、現在の位置情報がどれだけ認識されているかによって、４つのモードの１つでデータサンプルを処理する。
【００１７】
入力サンプル・サブシステム２１１は、送信者により決定された速度で入力ＲＦデータサンプルを受信する。入力サンプル・サブシステム２１１は、ＦＩＦＯ１の制御下で、ディジタル信号処理部１０１の動作モードに依存した様式でデータサンプルを入力サンプルＲＡＭ２０３内に保存する。入力サンプルＲＡＭ２０３の容量もディジタル信号処理部１０１の動作モードにより決定される。信号処理サブシステム２１３は、ＦＩＦＯ１の制御下で、ＲＡＭ２０３から演算すべきＲＦ入力サンプルを取り込む。ＲＦ信号サンプルに行われる演算は、信号処理モードに依存して変化することができる。例えば、信号処理サブシステム２１３は、信号サンプルに間引き演算を行ってもよいし、行わなくてもよい。信号処理サブシステム２１３は、一実施態様では、整合フィルタを使用することにより、コヒーレントＲＡＭ２０５内にあるデータサンプルをコヒーレントに累算する。コヒーレントな累算は、指定の期間の間、Ｉ（同相）およびＱ（直角位相）のデータを有効に累算する。コヒーレントに累算されたデータサンプルは、ＦＦＴ処理のためにＦＦＴサブシステム２１５によりコヒーレントＲＡＭ２０５から取り込まれる。コヒーレントＲＡＭ２０５の容量もディジタル信号処理部１０１の動作モードにより決定される。
【００１８】
１つの状況では、受信機の位置についての情報はほとんど知られていないか、全く知られていない。この状況では、どのＳＶが受信機にとって目視可能かについての情報はほとんどないか全く無く、利用できる時間情報は不正確である。この状況では、ディジタル信号処理部１０１は、「コールドスタート」モードでデータサンプルを処理する。コールドスタート・モードでは、できるだけ多くのデータができるだけ速く低感度または低分解能で処理される。これはＳＶ信号の探索空間が非常に大きく、最初の捕捉段階に焦点を合わせる現行データが存在しないからである。コールドスタート・モードでは、コヒーレントな累算は発生せず、データサンプルは、信号処理サブシステム２１３から経路２２２を介してＦＦＴサブシステム２１５へ直接に送信される。
【００１９】
コールドスタート・モード以外のモードでは、ＦＦＴサブシステム２１５はコヒーレントＲＡＭから一定数のデータサンプルを取り込み、ＦＦＴ演算を行う。コールドスタート・モードでは、ＦＦＴサブシステム２１５は、ＳＳ２  ２１３から直接来るコヒーレントデータサンプルに演算を行う。ＳＳ３  ２１５は、個々の処理モードによって規定される数の周波数を作成する。例として、８サンプル、１６ポイントＦＦＴでは、ＦＦＴは１６の周波数を作成する。１６の周波数すべてが対象であるわけではない。例えば、外側の周波数は有用ではないかもしれない。周波数の数はプログラム可能である。所望の周波数が選択され、よりコンパクトな形式で詰め込まれ、非コヒーレントデータ、すなわちＩとＱのデータから導き出される振幅を累算するバックエンド保存ＲＡＭ２０９の非コヒーレント加算（ＮＣＳ）領域内に保存される。以下にさらに説明するように、バックエンド保存ＲＡＭ２０９は、ピーク値すなわちピークを保存するためにも使用される。一実施態様では、８つの最大の値だけでなく、それらがデータストリーム内のどこで発生したかに関する情報（例えば、どんなコードオフセットで、そしてどんな周波数オフセットで）も保存される。追跡履歴（ＴＨ）情報は選択されたコヒーレントデータであり、ＳＷ２１９による検査のために保存される。一実施態様では、ＴＨ情報はギャザー（ｇａｔｈｅｒ）モジュール（図示せず）の出力である。ギャザー・モジュールはＦＦＴサブシステム２１５の周波数出力間で選択を行い、不要な周波数を廃棄する。ギャザー・モジュールはデータをコヒーレント形式で維持する。ＳＷ２１９は、ＴＨ情報を検討することにより信号処理部１０１の構成に関する決定を行うことができる。バックエンド保存ＲＡＭ２０９の容量も、信号処理部１０１の動作モードにより決定される。
【００２０】
本明細書では、Ｔ１、ＰＤＩ、およびコンテキストを含む様々な用語を、処理エポックを説明するために使用する。Ｔ１は、チャネル用のコヒーレント・アキュムレータにおけるコヒーレント累算に対し規定されたミリ秒単位の時間間隔である。Ｔ１の長さはプログラム可能であり、動作モードにより変化する。例えば、いくつかのモードでは、比較的弱い信号を探すために、比較的長い期間の間、累算することが望ましい。したがって、信号処理サブシステム２１３はＴ１を基準としてコヒーレントに累算する。
【００２１】
ＰＤＩはプログラム可能なＴ１の数である。ＦＦＴサブシステム２１５内に一度に供給されるＴ１の数がＰＤＩである。ＰＤＩにおけるＴ１の数は、ＦＦＴサブシステム２１５が、特定のモードにおいてデータを処理するために、どのように構成されるかにより決定される。上述のように、信号処理サブシステム２１３は、Ｔ１を基準としてコヒーレントに累算する。しかしながら、ＦＦＴサブシステム２１５は、ＰＤＩを基準としてデータに演算を行う。したがって、ＦＦＴサブシステム２１５は完全なＰＤＩが利用可能になると、コヒーレントＲＡＭ２０５からデータを取り出せばよい。例えば、ＦＦＴサブシステム２１５が５サンプル、１６ポイント、ゼロパッドＦＦＴとして構成される場合、ＦＦＴサブシステム２１５は、コヒーレントＲＡＭ２０５からデータを取り出し始める前に、５つのサンプル、または５つのＴ１が完了してコヒーレントＲＡＭ２０５内に保存されるのを待つ。
【００２２】
様々なサブシステムの使用は、様々なチャネル間で時分割される。本明細書でコンテキストという用語は、特定のチャネルを処理する特定のサブシステムの使用を表現するのに用いられる。例えば、特定のチャネルに関し、チャネルが信号処理サブシステム２１３に入るとコンテキストは始まり、そのチャネルが信号処理サブシステム２１３を出ると当該コンテキストは終了する。これは、信号処理サブシステム２１３がプログラムされたミリ秒数の間動作し、入力サンプルＲＡＭ２０３からのデータを使用し、そしてその後停止してコンテキストが終了することを意味する。チャネルは、ＦＦＴサブシステム２１５に関しても同様なコンテキストを有する。
【００２３】
上述のように、ＳＷ２１９は、信号処理部１０１の演算を制御するチャネルＲＡＭ２０７にワードを保存する。保存されたワードがチャネルレコードを構成する。一実施態様では、チャネルレコードは、様々なタイプのデータを含む１２８本のラインのそれぞれであるが、基本的には信号処理部が使用するチャネル固有のデータのすべてを含む。チャネルレコードは、当該特定チャネルに関するＳＷ２１９からのプログラミング情報、ロード形式の情報、サイズパラメータと、入力サンプルＲＡＭ２０３、コヒーレントＲＡＭ２０５、バックエンド保存ＲＡＭ２０９ならびにＲＡＭ２０１のその他の領域のサイズ割振りを含む。チャネルレコードは、単１チャネルに関するコード位相、キャリア位相、搬送周波数、加速度、および他の処理パラメータすべてを含む。信号処理サブシステム２１３およびＦＦＴサブシステム２１５の使用は、異なるチャネル間で時分割されるので、それぞれのチャネルはその状態を保存しなければならない。
【００２４】
チャネルＲＡＭ２０７は、ＳＷ２１９により初期化されるが、その後、信号処理サブシステム２１３、ＦＦＴサブシステム２１５、そして時にはＳＷ２１９により更新される。例えば、信号処理サブシステム２１３、ＦＦＴサブシステム２１５、ＳＷ２１９間の通信のために用いられるチャネルＲＡＭ２０７内にはセマフォワードがある。セマフォワードは、信号処理サブシステム２１３、ＦＦＴサブシステム２１５、ＳＷ２１９間の通信を同期させるためのメカニズムであって半非同期で動作する。
【００２５】
チャネルレコードは、本質的には、入力サンプルＲＡＭ２０３、コヒーレントＲＡＭ２０５、およびバックエンド保存ＲＡＭ２０９を含む様々なＲＡＭ内の場所に対するポインタを含むリンクされたリストである。したがって、チャネルレコードは、コンテキストに対して動的に割り振られたＲＡＭ２０１の構成を保存する。チャネルレコードの最初のエントリーは、次のチャネルレコードに対するポインタである。コンテキストが始まると、動作モードとコンテキストに対するＲＡＭ割振りを決定するために、チャネルＲＡＭがアクセスされる。コンテキストが間もなく終了する際に、更新されたチャネル情報がチャネルレコード内に保存され、そして現在のチャネルレコードのエントリーにより指示される、次のチャネルレコードのコンテンツの処理を続ける。チャネルレコードは、入力データサンプルに関する現在の計数と状態、コード位相情報、および時間調整についても含む。
【００２６】
チャネルが開始されると、信号処理サブシステム２１３のシーケンサ３１３ａ（図３に示され、以下に説明される）は、チャネルＲＡＭ２０７にアクセスし、当該特定チャネルを処理する信号処理サブシステム２１３に必要なチャネルパラメータを引き出す。シーケンサ３１３ａもまた、当該チャネルを処理するために必要とされるパラメータにより、整合フィルタやコヒーレント・アキュムレータのような信号処理サブシステム２１３の様々な信号処理要素（図示せず）をプログラムする。上記パラメータは、例えば、整合フィルタが処理を行う間のミリ秒数を決定する。整合フィルタが処理を終了すると、整合フィルタはシーケンサ３１３ａに処理が終了したことを信号伝達し、そしてシーケンサ３１３ａは次のチャネルに移る。
【００２７】
チャネルＲＡＭ２０７は、次のチャネルに対するチャネルＲＡＭの場所などを保存するリンクされたリストを含む。
【００２８】
ＦＦＴサブシステム２１５もまた、チャネルＲＡＭにアクセスし、データの処理方法を決定するシーケンサ３１５ａ（図３に示され、以下に説明される）を含む。ＦＩＦＯ２  ２２３は、ＦＦＴサブシステム２１５と信号処理サブシステム２１３の両方に対し、コヒーレントＲＡＭ２０５へのアクセスを制御する。例えば、ＦＩＦＯ２  ２２３は、ＦＦＴサブシステム２１５に、演算するデータがコヒーレントＲＡＭ２０５内に存在する際に、そのことを知らせる。ＦＩＦＯ２  ２２３はまた、信号処理サブシステム２１３に、ＦＦＴサブシステム２１５がまだ使用していないデータが上書きされようとしている際に、そのことを知らせる。
【００２９】
図３は、アービトレーション・ユニット３２７を含む付加的な要素を示す信号処理部１０１の一実施態様のブロック線図である。入力サンプル・サブシステム３１１と信号処理システム３１３は、ＦＩＦＯ１  ３２１の制御下でメモリサブシステムまたはＲＡＭ３０１にアクセスする。一実施態様では、信号処理サブシステム３１３のシーケンサ機能は、ＳＳ２シーケンサ３１３ａとして信号処理サブシステム３１３と連結される。シーケンサ３１３ａの１つの機能は、ＲＡＭ３０１のチャネルＲＡＭ領域にアクセスし、チャネルパラメータを読み出すとともに、更新されたチャネルパラメータを、ＲＡＭ３０１のチャネルＲＡＭ領域へ書き込むことである。
【００３０】
信号処理サブシステム３１３とＦＦＴサブシステム３１５は、ＦＩＦＯ２  ３２３の制御下でＲＡＭ３０１にアクセスする。一実施態様では、ＦＦＴサブシステム３１５のシーケンサ機能は、ＳＳ３シーケンサ３１５ａとしてＦＦＴサブシステム３１５と連結される。ＦＩＦＯ１  ３２１、ＳＳ２シーケンサ３１３ａ、ＦＩＦＯ２  ３２３、およびＳＳ３シーケンサ３１５ａは、ＲＡＭ３０１にアクセスするためにアービトレーション・ユニット３２７と通信する。
【００３１】
ＳＷ３１９のＲＡＭ３０１へのアクセスのために、アービトレーション・ユニット３２７は、中央処理装置（ＣＰＵ）ブリッジ３２５を介してＳＷ３１９とさらに通信する。
【００３２】
入力サンプル・サブシステム３１１は、ＲＡＭ３０１へのアクセス要求をＦＩＦＯ１  ３２１を介して送信し、そしてアービトレーション・ユニット３２７から許可信号を受信する。許可信号が入力サンプル・サブシステム３１１により受信された後、入力サンプル・サブシステムは、入力サンプルデータをどこに保存するかを示すアドレスをＦＩＦＯ１  ３２１へ送信し、入力サンプルデータをＲＡＭ３０１内に保存する。
【００３３】
信号処理サブシステム３１３が入力データサンプルを処理することを求める場合、ＲＡＭ３０１の入力サンプル領域へのアクセス要求をＦＩＦＯ１  ３２１を介し送信し、アービトレーション・ユニット３２７から許可信号を受信する。許可信号が信号処理サブシステム３１３により受信された後、信号処理サブシステム３１３は、ＲＡＭ３０１からデータサンプルを受信する。信号処理サブシステム３１３が、処理済みのコヒーレントデータをＲＡＭ３０１のコヒーレントＲＡＭ領域に保存することを求める場合、要求信号をＦＩＦＯ２  ３２３を介しアービトレーション・ユニット３２７へ送信する。チャネルレコードから、シーケンサ３１３ａは、コヒーレントデータを保存すべき適切なアドレスを決定する。信号処理サブシステム３１３は、アービトレーション・ユニット３２７から許可信号を受信し、そして保存アドレスが、信号処理システムによりＲＡＭ３０１へ送信される。保存されるコヒーレントデータも同様である。
【００３４】
ＦＦＴサブシステム３１５がコヒーレントデータを処理することを求める場合、ＲＡＭ３０１のコヒーレントデータ領域へのアクセス要求を、アービトレーション・ユニット３２７へＦＩＦＯ２  ３２３を介して送信する。要求が許可されると、アドレス（これもチャネルレコードから分かる）はＲＡＭ３０１のコヒーレントデータ領域へ送信され、コヒーレントデータはＦＦＴサブシステム３１５へ読み出される。
【００３５】
チャネルＲＡＭ領域内に信号処理部１０１の演算を指令するレコードを書くために、ＳＷ３１９はアービトレーション・ユニット３２７を介しＲＡＭ３１０へのアクセスを要求する。サブシステムのステータスを示すとともに、チャネルＲＡＭ内のチャネルレコードを介して信号処理部１０１の進行中プログラミングに対する基準情報を提供するＴＨデータ、報告データ、エラーデータのようなデータを読み出すため、ＳＷ３１９は、アービトレーション・ユニット３２７を介しＲＡＭ３１０へのアクセスをさらに要求する。
【００３６】
図４は、一実施態様におけるアービトレーション・ユニット４２７を示すとともに、ＲＡＭ４０１にアクセスする、様々なエンティティへの優先順位割当てを例示するブロック線図である。ＣＰＵブリッジ４２５を介し、ＲＡＭ４０１へアクセスするＯＥＭプロセッサ４０５は、最も高い優先順位、すなわち優先順位０を有する。これら優先順位は、より小さい数がより高い優先順位を示すように任意に指定されているが、他の指定も可能である。入力サンプル・サブシステム４１１は、次に高い優先順位１を有する。入力サンプル・サブシステム４１１は、ＲＦデータストリームをそれ自身の制御下にない速度で受信するので、入力サンプル・サブシステム４１１は、自身の処理速度を制御する他のサブシステムに比し低い能力を有し、したがってＲＡＭ４０１へのアクセスに対する高い優先順位を割り当てられる。
【００３７】
信号処理サブシステム４１３は、シーケンサからのアクセス要求に対し優先順位２を、ＲＡＭ４０１の入力サンプル領域からＦＩＦＯＩ  ４２１を介し入力データサンプルを読み出すためのアクセス要求に対し優先順位５を、ＦＩＦＯ２  ４２３を介しＲＡＭ４０１のコヒーレントデータ領域へコヒーレントデータを書き込むためのアクセス要求に対し優先順位６を割り当てる。
【００３８】
ＦＦＴサブシステム４１５は、シーケンサからのアクセス要求に対して優先順位３を、ＲＡＭ４０１のコヒーレントデータ領域からＦＩＦＯ２  ４２３を介しコヒーレントデータを読み出すためのアクセス要求に対して優先順位４を、ＲＡＭ４０１のＮＣＳ領域へＮＣＳ、ＴＨ、報告データを書き込むことに対して優先順位７を割り当てる。
【００３９】
図５は、入力サンプルＲＡＭ２０３へのアクセスを制御する際に発生するシグナリングのいくつかを示すＦＩＦＯ１  ５２１のブロック線図である。図５の左側を参照し、また図２を参照すると、入力サンプル・サブシステム２１１は、入力データサンプルを保存するために、ＲＡＭ２０１の入力サンプルＲＡＭ領域２０３へのアクセスを要求する。信号処理サブシステム２１３は、入力データサンプルを読み出すために、ＲＡＭ２０１の入力サンプルＲＡＭ領域２０３へのアクセスを要求する。
【００４０】
入力サンプル・サブシステム２１１は、ＦＩＦＯ１  ５２１へＳＳ１入力サンプル要求信号を送信し、入力データサンプルを書き込むことを要求する。ＦＩＦＯ１  ５２１は、上記要求の受信を要求承認信号により承認する。入力サンプル・サブシステム２１１は、ＦＩＦＯ１  ５２１へラップカウント５０１と開始ブロック番号５０３を送信する。循環バッファモード（信号処理部のコールドスタート・モードを除く動作モードにおいて適用できる）では、入力サンプルＲＡＭ２０３は一杯になるまで書き込まれ、その後上書きされる。一実施態様では、入力サンプルＲＡＭ２０３は最下部から最上部まで埋められる。入力サンプルＲＡＭ２０３が一杯になると、上書きが最下部で始まる。入力サンプルＲＡＭ２０３が一杯になって上書きが始まるごとに、ラップカウント５０１はインクリメントする。開始ブロック番号５０３は、入力データサンプルのブロックの開始点を示す。開始ブロック番号５０３は入力サンプル・サブシステム２１１からのロード信号（ＳＳ１  Ｌｏａｄ）により変更される。ロード信号は書き込み動作を開始させる。ブロックが書き込まれると、ＦＩＦＯ１はインクリメント信号によりブロックカウント５０３をインクリメントする。入力サンプル・サブシステム２１１からの書き込みラインは、ブロック内では７ビットラインであり、ＦＩＦＯ１への書き込み中はＦＩＦＯ１へ書き込まれる。
【００４１】
図５の右側を参照し、また図２を参照すると、信号処理サブシステム２１３は、ＳＳ２信号処理要求信号により入力サンプルＲＡＭ２０３内のデータサンプルへのアクセスを要求する。ＦＩＦＯ１  ５２１は、要求承認信号により上記要求を承認する。信号処理サブシステム２１３は、ＦＩＦＯＩ  ５２１へラップカウント５０５、開始ブロックカウント５０６、ライン番号５０７を送信する。
【００４２】
循環バッファモード（信号処理部のコールドスタート・モードを除く動作モードにおいて適用できる）では、入力サンプルＲＡＭ２０３は一杯になるまで書き込まれ、その後上書きされる。入力サンプルＲＡＭ２０３が一杯になり、上書きが始まるごとに、ラップカウント５０５はインクリメントする。開始ブロック番号５０６は、入力データサンプルのブロックの開始点を示す。開始ブロック番号５０６は信号処理サブシステム２１３からのロード信号（ＳＳ２  Ｌｏａｄ）により修正される。ＳＳ２ロード信号は読み出し動作を開始させる。
【００４３】
ＦＩＦＯ１  ５２１はまた、オーバーフロー信号とアンダーフロー信号をシーケンサ２１７へ送信する。信号処理サブシステム２１３が、まだ書き込まれていない場所からデータを読み出そうとすると、アンダーフローが発生する。アンダーフローが発生すると、信号処理サブシステム２１３は待つかまたは休止しなければならない。循環書き込みモードの場合は、入力サンプルＲＡＭ２０３の最上部に達し、書き込みポインタが最下部へ戻り上書きを始めるが、信号処理サブシステム２１３がまもなく上書きされるかまたは既に上書きされたデータをまだ読み出していない場合に、オーバーフローが発生する。入力サンプル・サブシステム２１１により受信されるデータのストリーミング的性質のため、オーバーフロー状態は検知できるが回避できない。一実施態様では、オーバーフローがチャネルの処理中に発生すると、「有効な」データが再び入手可能になるまで「ごみ」すなわち無効データが処理される。チャネルが初期化中であって、しかもオーバーフローが発生すると、エラー信号がＳＷ２１９へ送信され、チャネルはシャットダウンされ、そしてＳＷ２１９が続行方法を決定する。
【００４４】
ＦＩＦＯ１  ５２１の最上部を参照すると、ＦＩＦＯ１は要求信号５４０、アドレス信号５４２、および承認信号５４４を用いることによりＲＡＭ２０１と通信する。
【００４５】
図６、７、８および９は、実施態様の様々な動作モードに対するメモリ割振りを含む信号処理部１０１の構成を例示するブロック線図である。例示された動作モードはコールドスタート・モード、粗捕捉モード、ホットスタート・モード及び追跡モードを含む。
【００４６】
自身の位置に関し、信号処理部１０１が入手可能な情報がほとんど無いか全く無い場合に、コールドスタート・モードは適用可能である。例えば、ＧＰＳ衛星を最後に捕捉した位置から、はるか離れたところまで運ばれた携帯用装置内に信号処理部１０１が設置されると、信号処理部１０１はどの衛星が目視可能か分からなくなるであろう。したがって、衛星に対し、非常に広範な低感度の探索が実行されるので大量のデータの処理が必要となる。
【００４７】
粗捕捉モードは、信号処理部１０１の位置に関しいくらかの情報が知られている場合に適切である。通常は、目視可能な衛星の少なくともいくつかについての識別情報が知られている。
【００４８】
信号処理部１０１がその位置に関し、非常に有効ないくらかの情報を有する場合、ホットスタート・モードは適切である。例えば、当該の信号処理部が前日にナビゲートし、それが半径約１００マイル内にその場所を決めた場合、あるいは外部ソースがエフェメリスデータと衛星時間を提供することもありえる。
【００４９】
信号処理部１０１がその位置について優れた情報を有し、既に捕捉した衛星を追跡している場合、追跡モードが適切である。追跡モードでは、信号処理部１０１機能の大半を停止することができるので、より少ない電力を消費する。
【００５０】
図６を参照すると、コールドスタート・モードにおけるメモリ割振りを含む信号処理部１０１の構成が例示されている。コールドスタート・モードでは、コヒーレントＲＡＭ領域はない。利用可能なＲＡＭ領域は、スナップショットとして用いられる比較的大きな入力サンプルバッファ６０３、すなわちワンショット（ｏｎｅ−ｓｈｏｔ）入力サンプルＲＡＭを含む。一実施態様では、入力サンプルＲＡＭ６０３の容量はおよそ１００Ｋバイトである。上述のように、入力サンプルＲＡＭ６０３はワンショット様式で用いられる。以下に説明するように、入力サンプルＲＡＭ６０３が一杯になった後、ＲＦ入力はもはや受信されず、様々なサブシステムが、入力サンプルＲＡＭ６０３内のデータの演算を複数回行う。これにより、入力サンプルＲＡＭ６０３が一杯になった後はＲＦ受信機を停止することができ、消費電力を低減する。
【００５１】
入力サンプル・サブシステム６１１は、ＦＩＦＯ１  ６２１の制御下で入力サンプルＲＡＭ６０３へ入力データサンプルを書き込む。信号処理サブシステム６１３は、ＦＩＦＯ１  ６２１の制御下で入力サンプルＲＡＭ６０３から入力データサンプルを読み出す。信号処理サブシステム６１３は入力データサンプルを処理し、それらをコヒーレントデータとしてＦＦＴサブシステム６１５へ直接、伝送する。
【００５２】
ＳＶ１と呼ぶ特定の衛星に対し、入力サンプルＲＡＭ６０３内に保存されたデータは、可能な全発振器範囲とドップラー範囲だけでなく、ＳＶ１が有するであろうあらゆる周波数に対して再処理または再生される。入力サンプルＲＡＭ６０３内の入力サンプルデータは、各衛星に対し２０回ほどは再生することができる。その後、データは、非コヒーレントな加算データを保存したバックエンド保存ＲＡＭ６０９に渡される。バックエンド保存ＲＡＭ６０９は、ＮＣＳデータ「スクラッチ」領域とピーク領域とを含む。スクラッチ領域は非コヒーレントデータを循環的に保存しており、コールドスタート・モードではない他のモードで動作するチャネルと共有できる。各衛星の最大の８ピークがピーク領域内に保存される。一実施態様のバックエンド保存ＲＡＭ６０９は、スクラッチＮＣＳ領域用のおよそ８Ｋバイトと、約５０のピークを保存するピーク領域用のおよそ２．４Ｋバイトとを含む。チャネルが完了すると、ＳＷ２１９はピーク・リストをくまなく調べ、どのピークが信号を表す可能性があるかを判断し、これらのみを検証するために選択する。拒絶されたピークにより解放されたピーク空間は、新しいピークで埋められる。
【００５３】
一例として、コールドスタート・モードに対する信号処理部１０１の構成はおおよそ以下の値のパラメータ、すなわち１ミリ秒のＰＤＩ、実行処理当たり４ｋＨｚの周波数有効範囲、および２８ｄｂＨｚの感度（すなわち分解能）を含んでいる。
【００５４】
図７は、粗捕捉モードにおける、メモリ割振りを含む信号処理部１０１の構成のブロック線図である。粗捕捉モードでは、バックエンド保存ＲＡＭ７０９にメモリの最大部分が割り振られており、入力サンプルＲＡＭ７０３は比較的小さい。例えば、一実施態様では、入力サンプルＲＡＭ７０３の容量はおよそ１０Ｋである。入力サンプルＲＡＭ７０３は短い循環バッファとして用いられる。コヒーレントデータサンプルを保存するコヒーレント・サンプルＲＡＭ７０５はスクラッチバッファして用いられる。
【００５５】
入力サンプル・サブシステム７１１は、入力データサンプルを受信し、それらを入力サンプルＲＡＭ７０３に保存する。粗捕捉モードでは、１つまたは２つの目視可能な衛星が通常は認識されている。したがって、これら既知の衛星を同時に探索することができる。信号処理サブシステム７１３は、入力サンプルデータを処理し、そしてコヒーレント・サンプルＲＡＭ７０５を１周波数／衛星の組合せを表わす７ミリ秒のデータで埋める。ＦＦＴサブシステム７１５は、コヒーレント・サンプルＲＡＭ７０５内に保存されたコヒーレントデータに演算を行い、結果として生じたＮＣＳデータをバックエンド保存ＲＡＭ７０９に保存する。ＮＣＳデータに関連するピークもバックエンド保存ＲＡＭ７０９に保存される。このモードでは、バックエンド保存ＲＡＭ７０９はチャネル間で共有されるが、様々な領域内の「専用ＮＣＳ」メモリは、様々なチャネルからのＮＣＳデータ専用となる。ＮＣＳ１データはチャネル１用であり、ＮＣＳ２データはチャネル２用であり、以下同様である。
【００５６】
粗捕捉モードでは、ＯＥＭプロセッサが、演算されるＮＣＳデータをより多く有すると性能は改善されるので、できるだけ多くのメモリがバックエンド保存ＲＡＭ７０９に当てられる。一例として、コールドスタート・モードに対する信号処理部１０１の構成は、おおよそ以下の値のパラメータ、すなわち７ミリ秒のＰＤＩ、実行処理当たり７５０Ｈｚの周波数有効範囲、および２０ｄｂＨｚの感度を含んでいる。粗捕捉モードでは、入力サンプルＲＡＭ７０３はＰＤＩより大きく、コヒーレントＲＡＭ７０５はＰＤＩより大きい。本明細書で用いられるように、ＰＤＩより大きいこと、または小さいことは、割り振られたメモリ空間が、ＰＤＩの期間内に処理できるデータ量を越えて保存すること、またはそれ未満で保存することを意味する。
【００５７】
図８は、ホットスタート・モードにおけるメモリ割振りを含む信号処理部１０１の構成のブロック線図である。ホットスタート・モードでは、完全なコード位相探索は必要とされない。位置は、コールドスタート・モードや粗捕捉モードの場合よりはるかに認識されている。例えば、時間の不確実性はおよそ１マイクロ秒である。位置の不確実性はセルラー・ネットワークにおけるセルサイトの半径であろう。ある支援情報が、初期の位置不確実性を狭めるために利用できることもある。
【００５８】
ホットスタート・モードでは、入力サンプルＲＡＭ８０３は比較的短い循環バッファである。例えば、入力サンプルＲＡＭ８０３は５Ｋ〜２０Ｋのメモリである。ホットスタート・モードでは、入力サンプル・サブシステム８１１は入力データサンプルを受信し、それらを循環バッファ様式で入力サンプルＲＡＭに保存する。信号処理サブシステム８１３は入力サンプルデータを処理し、それをコヒーレントＲＡＭ８０５に保存する。このモードでは、コヒーレントＲＡＭ８０５は個々の衛星用の小さな専用領域を多数含む。さらに、コヒーレントＲＡＭ８０５は、ホットスタート・モード以外のモードでは、様々なチャネルにより同時に用いることができるスクラッチパッド、すなわちスクラッチ部分を含む。既に説明したように、スクラッチパッド・データは、スクラッチパッド領域の使用可能な任意の部分に１チャネル毎に書き込まれ、その後、別のチャネル（同じチャネルでもよい）が上記スクラッチパッド領域に書き込む際に上書きされる。その一方、専用領域は１つのＳＶに関連するデータだけを書き込むか、または上書きすることができる。
【００５９】
個々の衛星に対し、コヒーレントＲＡＭ８０５内の領域を専用化することにより、より小さな入力サンプルバッファ８０３を可能にするとともに、比較的大きなＰＤＩをさらに実行する能力を可能にする。このモードでは、入力サンプルＲＡＭ８０３はＰＤＩより小さくてもよい。ＦＦＴサブシステム８１５は、コヒーレントＲＡＭ８０５からのコヒーレントデータを処理し、専用の様式でバックエンド保存ＲＡＭ８０９に保存されたＮＣＳデータを出力する。すなわち、バックエンド保存ＲＡＭ８０９は、個々の衛星に対する専用領域であるＮＣＳ１、ＮＣＳ２などに分割される。バックエンド保存ＲＡＭ８０９はまた、専用ではなく、他のモードの他のチャネルにより同時に使用することができるスクラッチ部を含む。バックエンド保存ＲＡＭ８０９はまた、ＳＶごとにピークを保存する専用ピーク部を含む。一例として、コールドスタート・モードに対する信号処理部１０１の構成は、おおよそ以下の値のパラメータ、すなわち１０ミリまたは２０ミリ秒のＰＤＩ、実行処理当たりの７５０Ｈｚの周波数有効範囲、および１５〜１２ｄｂＨｚの感度を含んでいる。
【００６０】
図９は、追跡モードにおけるメモリ割振りを含む信号処理部１０１の構成のブロック線図である。追跡モードでは、信号処理部１０１は、それ自身の位置に関し優れた情報を有しており、既に捕捉している衛星を追跡する。追跡モードでは、信号処理部１０１機能の大半は停止することができ、従ってより少ない電力を消費する。
【００６１】
追跡モードでは、入力サンプルＲＡＭ９０３は比較的小さい。例えば、一実施態様では、入力サンプルＲＡＭ９０３はおよそ２０Ｋのメモリである。入力サンプルＲＡＭ９０３はＰＤＩより小さく、例えば約５ミリ秒である。入力サンプル・サブシステム９１１は、入力データサンプルを入力サンプルＲＡＭ９０３に循環バッファ様式で保存する。信号処理サブシステム９１３は、入力サンプルＲＡＭ９０３からの入力データサンプルを処理し、それらをＰＤＩより大きなコヒーレントＲＡＭ９０５に保存する。コヒーレントＲＡＭ９０５は、様々なモードの様々なチャネル間で同時に共有できるスクラッチ領域と、衛星ごとにコヒーレントデータを保存するための専用領域とを含む。ＦＦＴサブシステム９１５は、コヒーレントＲＡＭ９０５からのコヒーレントデータを処理し、バックエンド保存ＲＡＭ９０９にＮＣＳデータを保存する。ＦＦＴサブシステム９１５はさらに、必要に応じて追跡の調整の基準として評価し、使用されるデータ（信号上のデータ境界など）を信号処理サブシステム９１３へフィード・バックする。
【００６２】
バックエンド保存ＲＡＭ９０９は、様々なモードの様々なチャネル間で同時に共有できるスクラッチ領域と、専用のピーク領域と、以下にさらに説明する様々なデータを保存する追跡履歴（ＴＨ）領域とを含む。専用のＮＣＳ領域は専用の領域に各衛星用のＮＣＳデータを保存し、専用のピーク領域は専用の領域に各衛星用のピークを保存する。
【００６３】
追跡モードは、他のモードでは保存されない追加ＴＨ出力データを保存する。このＴＨデータは様々に利用される。例えば、ＴＨは、ハードウェア追跡装置（図示せず）により使用されるコヒーレントデータを含む。ハードウェア追跡装置は、正しい信号が追跡されていることを確認するためにコヒーレントデータを調べる。調整は、必要に応じＳＷ２１９とチャネルＲＡＭを介して行うことができる。追跡モードにおいても、小さな探索ウィンドウは、追加のデータをバックエンド保存ＲＡＭ９０９に選択的に保存することにより開いたままにされる。探索ウィンドウは、信号処理サブシステムに間違った信号を追跡させるかもしれないスプリアスで大きな信号を探すために使用される。探索ウィンドウはまた、目視可能な衛星が変化するに従って、新しい目視可能な衛星を見つけるために使用される。
【００６４】
一例として、追跡モードに対する信号処理部１０１の構成は、おおよそ以下の値のパラメータ、すなわち４ミリ、５ミリ、１０ミリ、または２０ミリ秒のＰＤＩ、１００Ｈｚ〜７５０Ｈｚの実行処理当たりの周波数有効範囲、および１２〜５０ｄｂＨｚの感度を含んでいる。
【００６５】
図１０は、どのようにしてデータが入力サンプルＲＡＭ１００３内に保存されるかのいくつかの態様を示すブロック線図である。この線図は、動的に構成可能でかつ割振り可能なＲＡＭ２０１の領域が、入力サンプルＲＡＭ２０３にどのように割り振られるかを示す。書き込みポインタ１０２０は、入力サンプルＲＡＭ１００３の左側に示され、読み出しポインタ１０２２は、入力サンプルＲＡＭ１００３の右側に示される。透明な（クロスハッチされていない）領域として表わされる入力サンプルＲＡＭ１００３の各ブロックは、入力サンプルＲＡＭ２０３に対して使用される実アドレス空間である。参照符号１００５で表された領域は、潜在的に有効なデータと、ハッチングで示される無効データの部分領域１００７とを含む。図１０では、現在の有効データの領域は参照符号１０５０で示される。領域１０５０は、図示のように書き込みポインタ１０２０と読み出しポインタ１０２２が現在指す領域でもある。オーバーフローとアンダーフロー状態は、読み出しポインタ１０２２の値と、書き込みポインタ１０２０の値とを比較することにより検知される。
【００６６】
各ブロック領域１００５は、無効なブロック１００１を有する全アドレス空間を表す。各ブロック領域１００５は同じアドレスを含む。例えば、ラップ・ポインタがアドレスの最上部に結合されると、それが該線図を上へ進むにつれアドレスは増加し続ける。１つが物理的に最下部ブロック領域１００５からそのすぐ上のブロック領域１００５まで進むと、１つがアドレス空間の最下部へ行く。すなわち、同じアドレス空間が繰り返し積み重ねられる。クロスハッチされた無効ブロック領域１００７は、バイナリアドレス指定のために使用できない最大バイナリ範囲の一部である。無効なブロック領域１００７はスキップされる。
【００６７】
入力サンプルＲＡＭ１００３の右側に、有効なデータ領域１０５０と、所与の書き込みポインタ１０２０に対しアンダーフローとオーバーフロー状態が発生するであろう領域とを含む様々な領域が示される。
【００６８】
図１１は、コヒーレントＲＡＭ１１０５に対するオーバーフローとアンダーフローの状態を例示する線図である。また、図２を参照すると、ＦＦＴサブシステム２１５は、コヒーレントＲＡＭ２０５のアドレスの全範囲に一度にアクセスする。アドレス範囲が利用できない場合、ＦＦＴサブシステム２１５はアンダーフロー状態で停止する。図１１の線図は、アドレス範囲へのアクセスを要求されたコヒーレントＲＡＭ１１０５におけるアンダーフローとオーバーフロー状態を示す。図１１の左側にはオーバーフローが例示される。長方形１１０７は、ｗｒａｐ＝ｎとラベルを付けられた領域で現在使用されるＦＦＴサブシステム２１５のアドレス範囲を定義する。コヒーレントＲＡＭ１１０５に対する全アドレス範囲は、以前に図１０と入力サンプルＲＡＭ１００３を参照して説明したように、積み重ねられて、繰り返される。これは図１１のラップ番号により表わされる。左側に示されるＳＳ２＿ｔｏｐＴ１ポインタが、ＦＦＴサブシステム２１５（ＳＳ３）がそこからデータを読み出そうとしている領域に書き込もうとするとオーバーフローに達する。ＦＦＴサブシステム２１５（ＳＳ３）が読み出そうとする領域にＳＳ２＿ｔｏｐ１ポインタが達すると、ＦＦＴサブシステム２１５は停止される。オーバーフローは、（ＳＳ２の最上部アドレス）＝（ＳＳ３の最下部アドレス）の時発生する。コヒーレントＲＡＭへのアクセスはＦＩＦＯ２  ２２３を介して制御可能なので、ＦＦＴサブシステム２１５を停止することができる。実際のＲＦ入力は制御できないので、入力サンプルＲＡＭ２０３に対する制御はほとんどできない。
【００６９】
図１１の右側はアンダーフロー状態を示す。長方形１１０９は、ｗｒａｐ＝ｎとラベルを付けられた領域で現在使用されるＦＦＴサブシステム２１５のアドレス範囲を定義する。ｓｓ２＿ｂｏｔｔｏｍは、ＦＦＴサブシステム（ＳＳ３）２１５が必要とするアドレス範囲の最上部に達していない。必要な範囲はまだ「一杯」となっていない。アンダーフローは、（ｓｓ２最下部アドレス）＜（ｓｓ３最上部アドレス）の時発生する。
【００７０】
図１２は、追跡モードのような２パス・高分解能モードにおけるコヒーレントＲＡＭ１２０５に対するオーバーフローとアンダーフローの状態を例示する線図である。２パスモードでは、データはｓｓ２＿最下部からｓｓ２＿最上部まで書き込まれる。その後、該全範囲におけるデータは、最下部に戻り、該範囲の最下部から最上部までデータを再処理することにより再使用される。ＦＦＴサブシステム２１５はいくつものブロックのデータを使用し、したがって、全ブロックが使用可能になるのを待ってからデータを読み出して処理することを説明した。２パスモードでは、このことはまた、信号処理サブシステム２１３について当てはまる。２パスモードでは、信号処理システム２１３は、全ブロックまたは全アドレス範囲へのアクセスを、一度に必要とするものとして扱われる。従って、次に、このモードでは、信号処理サブシステム２１３がアクセスしようとする領域の最上部が、ＦＦＴサブシステム２１５がデータを読み出そうとする領域の最下部に達するとオーバーフローが発生する。信号処理サブシステム２１３は長方形領域１２１１全体へ書き込む。この書き込み動作は、実質的には蓄積であり、第１のパスで最下位ビット（ＬＳＢ）が該範囲の最下部から最上部まで書き込まれ、第２のパスで最上位ビット（ＭＳＢ）が該範囲の最下部から最上部まで加えられる。
【００７１】
図１２の右側は、２パス高分解モードにおけるアンダーフロー状態を示す。長方形１２０９は、ｗｒａｐ＝ｎとラベルを付けられた領域で現在使用されるＦＦＴサブシステム２１５のアドレス範囲を定義する。長方形１２１３は、ｗｒａｐ＝ｎとラベルを付けられた領域で現在使用される信号処理サブシステム２１３のアドレス範囲を定義する。ＳＳ３ｔｏｐ＿Ｔ１がＳＳ２＿ｂｏｔｔｏｍＴ１を追い越すと、アンダーフローが発生する。すなわち、ＦＦＴサブシステム２１５が、信号処理サブシステム２１３が書き込んでいる場所より上の場所を読み出そうとするとアンダーフローが発生する。
【００７２】
アンダーフローまたはオーバーフローの決定は、信号処理サブシステム２１３とＦＦＴサブシステム２１５のアドレスポインタを比較することを含む。信号処理サブシステム２１３とＦＦＴサブシステム２１５へのアクセスは、異なるチャネル間で時分割される。アドレスポインタが比較される際は、信号処理サブシステム２１３とＦＦＴサブシステム２１５において単一のチャネルが動作しているかどうかを知る必要がある。信号処理サブシステム２１３とＦＦＴサブシステム２１５の両方が同じチャネルにおいて同時に動作していれば、「ライブ」アドレスポインタが比較される。信号処理サブシステム２１３とＦＦＴサブシステム２１５の両方が、同じチャネルにおいて同時に動作していない場合は、（チャネルＲＡＭ２０７からの）保存されたポインタが比較される。例えば、図１１を参照すると、信号処理サブシステム２１３とＦＦＴサブシステム２１５の両方が同じコヒーレントバッファ領域でアクティブであれば、保存されたアドレスポインタの代わりにライブアドレスポインタが使用される。
【００７３】
いくつかの実例では、コヒーレントＲＡＭ２０５および／またはバックエンド保存ＲＡＭ１０９が複数のチャネル間で共有される。このことは、複数のコヒーレントＲＡＭと複数のバックエンド保存ＲＡＭを効果的に有するものと見なすことができる。これにより、複数のチャネルが、同じメモリ領域内で連続してコヒーレントに累算できる。すなわち、メモリを共有する様々なモードがあり、例えば１つのモードではコヒーレントＲＡＭは、コンテキストの継続期間の間はチャネル専用であり、一方別のモードでは、コヒーレントＲＡＭは様々なチャネル間で共有される（チャネルはコンテキストの期間中、特定のサブシステムを使用する）。しかしながら、信号処理サブシステム２１３とＦＦＴサブシステム２１５が同一の共有コヒーレントＲＡＭにアクセスしようとする場合は、ライブアドレスポインタが使用される。信号処理サブシステム２１３は、コヒーレントＲＡＭに関する基底アドレスポインタを調べることにより、同じコヒーレントＲＡＭ領域が使用されているかどうかを知る。
【００７４】
図１３は、複数のチャネル間で共有される単一のコヒーレントＲＡＭの例を例示するブロック線図である。これは、比較的大きなメモリ領域がコヒーレントＲＡＭに割り振られているが、信号処理システムは特にメモリを制限されている場合の、メモリ利用の好適なモードである。図１３の例は、円で囲まれた番号１〜３を示すラベルを付けられた３つの異なる時点におけるコヒーレントＲＡＭ１３０５を示す。時点１をまず参照すると、コヒーレントＲＡＭ１３０５ａは最下部から最上部まで書き込まれる。チャネル１用領域とチャネル２用の部分的な領域が示される。信号処理サブシステム２１３（ＳＳ２）は、「ｓｓ２  書き込み」矢印により示されるように、チャネル１データをチャネル１領域に書き込む。信号処理サブシステム２１３がそれを書き込んだ後、ＦＦＴサブシステム２１５（ＳＳ３）はチャネル１の領域からデータを読み出す。信号処理サブシステム２１３がチャネル１データの書き込みを終了すると、チャネル２領域へ移動し、チャネル２データを書き込み始める。参照符号１３０５ａにより示される、物理的なコヒーレントＲＡＭ領域が一杯になると、信号処理サブシステムは、コヒーレントＲＡＭ領域の最下部に移り上書きを始める。これは矢印１３００により示される。この矢印１３００は、時点２においてコヒーレントＲＡＭ１３０５ｂの最下部にチャネル２データを書き込み続ける際の信号処理サブシステム２１３の経路を示す。
【００７５】
時点２では、チャネル２データが書き込まれ、信号処理サブシステムは「チャネル３」を示すラベルを付けられた領域内にチャネル３データを書き込み始める。チャネル３データは残りのコヒーレントＲＡＭ領域には適合しないので、時間位置３において信号処理サブシステム２１３はコヒーレントＲＡＭ領域の最下部に移り、矢印１３０１により示されるように、以前のチャネル２データに上書きを始める。すでに説明したように、ＦＦＴサブシステム２１５が、信号処理サブシステム２１３がまだ書き込んでいないデータを読み出そうとすることにより信号処理サブシステム２１３に追いつくと、ＦＦＴサブシステム２１５は停止されるか、またはアンダーフローエラー状態が発生する。
【００７６】
一実施態様では、図１３に例示されるように共有コヒーレントＲＡＭモードを使用するためには、いくつかの条件が満たされなければならない。例えば、コヒーレントＲＡＭを共有するチャネルは、異なる大きさのＰＤＩを有してもよいが、同じ大きさのＴ１を有さなければならない。信号処理サブシステム２１３は、コンテキストを出る前に、１つのコンテキストのＰＤＩを完全に書き込まなければならない。共有コヒーレントＲＡＭを使用する各サブシステムは、それ自身の保存されたポインタで開始しなければならない。一実施態様では、ポインタはコヒーレントＲＡＭ自身の指定された領域内に保存される。共有コヒーレントＲＡＭを出ると各チャネルはそれ自身の保存されたポインタを更新する。
【００７７】
他の実施態様では、コヒーレントＲＡＭ領域はまた、指定の物理メモリ領域をコールドスタート・モードのバックエンド保存ＲＡＭと共有してもよい。これは可能である。というのは、コールドスタート・モードではバックエンド保存ＲＡＭが一杯になってピークがそのデータから決定され、当該データはもう不要になるという意味でバックエンド保存ＲＡＭは「使い捨て」ＲＡＭであるからである。この場合、コヒーレントデータが使用された後、もしくは処理された後は、指定されたメモリ領域はＮＣＳデータ用に使用されなければならない。この場合、ＮＣＳデータはコヒーレントＲＡＭ領域に書き込まれるが、コヒーレントデータ・ポインタはＮＣＳの使用により更新されない。ＦＦＴサブシステムがそのメモリ領域外のデータを処理する可能性を回避するために、コヒーレントデータとＮＣＳデータ用に指定された共有領域は、２ＰＤＩ分のデータ未満でなければならない。
【００７８】
図１４は、割り振られたコヒーレントデータメモリ領域、すなわちコヒーレントＲＡＭ内にデータを保存する、様々なモードを例示するブロック線図である。図１４の左側で、第１のコヒーレントＲＡＭ保存モード０では、コヒーレントＲＡＭ１４０５ａは、信号処理サブシステム２１３により最下部から最上部まで１度に１つのＰＤＩずつ書き込まれる。コンテキストは任意の時点で完了できる。
【００７９】
コヒーレント保存モード１では、信号処理サブシステム２１３は、コヒーレントＲＡＭ１４０５ｂに、ＰＤＩの偶数ハーフチップ（ｅｖｅｎ  ｈａｌｆ−ｃｈｉｐ）を書き込み、次にＰＤＩの奇数ハーフチップ（ｏｄｄ  ｈａｌｆ−ｃｈｉｐ）を書き込む。当該コンテキストが終了すると、別のコンテキストからのデータの保存が、偶数ハーフチップとその後の奇数ハーフチップを用いて続けられる。コヒーレントＲＡＭ１４０５ｂの書き込みは最下部から始まり最上部まで続く。
【００８０】
コヒーレント保存モード２では、信号処理サブシステム２１３は、コヒーレントＲＡＭ１４０５ｃ内に、１つのコンテキストに対して、複数のＰＤＩの偶数ハーフチップと複数のＰＤＩの奇数ハーフチップとを交互に保存する。次に、信号処理サブシステムは「コンテキスト」ラインから、別のコンテキスト内にデータを保存し続ける。特定のチャネルが信号処理サブシステム２１３を所有するコンテキスト中に、当該コンテキストラインは、データが信号処理サブシステム２１３によりどこに保存されるかを示す。
【００８１】
コヒーレント保存モード３では、信号処理サブシステム２１３は、コヒーレントＲＡＭ１４０５ｄ内に、第１の周波数（ｆｒｅｑ  ０）に対する複数のＰＤＩの偶数ハーフチップを、次にｆｒｅｑ  ０に対する複数のＰＤＩの奇数ハーフチップを保存する。次に、信号処理サブシステム２１３は、次の周波数（ｆｒｅｑ  １）に対する複数のＰＤＩの偶数ハーフチップを保存し、次にｆｒｅｑ  １に対する複数のＰＤＩの奇数ハーフチップを保存し、以下同様である。
【００８２】
コヒーレント保存モード４では、信号処理サブシステム２１３はコヒーレントＲＡＭ１４０５ｅ内に、Ｔ１  ０に対するすべてのコヒーレントデータを、次にＴ１  １に対するすべてのコヒーレントデータを保存する。最後のＴ１に対するデータが保存されるまで、保存はこのようにして継続される。保存されるＴ１の数は、ソフトウェアにより予め定義される。コヒーレント保存モード４は、衛星のデータストリームのデータビット端の検出を容易にするために様々なコードオフセットが保存されるビット同期モードで有用である。コンテキストの保存はどこで終了してもよい。
【００８３】
図１５は、バックエンド保存ＲＡＭの割り振られた領域内にデータを保存する様々なモードを例示するブロック線図である。図示のように、ＮＣＳモード０では、ＦＦＴサブシステム２１５（ＳＳ３）は、非コヒーレントデータをＮＣＳ領域内に保存し、特定のチャネルに対するピークデータをピークエリア内に保存する。図示のように、ＰＤＩの終わりに、ピークデータの保存は新しいピーク領域に移る。一実施態様では、バックエンド保存ＲＡＭ１５０５ａはピークエリア内に２つのピーク位置を有するが、他の実施態様では２つ以上を有することができる。
【００８４】
ＮＣＳモード１では、図示のようにＦＦＴサブシステム２１５（ＳＳ３）は、非コヒーレントデータを、バックエンド保存ＲＡＭ１５０５ｂのＮＣＳ領域内に保存し、関連するピークデータをバックエンド保存ＲＡＭ１５０５ｂのピークエリア内に保存する。上記ピークは、ＮＣＳデータが更新されると更新される。
【００８５】
ＮＣＳモード２では、バックエンド保存ＲＡＭ１５０５ｃは、スクラッチバッファ領域として使用される。図示のように、ＦＦＴサブシステム２１５（ＳＳ３）は、非コヒーレントデータをバックエンド保存ＲＡＭ１５０５ｃのＮＣＳ領域内に保存し、ピークデータをバックエンド保存ＲＡＭ１５０５ｃのピークエリア内に保存する。ピークデータはそれぞれのＰＤＩの終わりに更新されるが、書き込みポインタはＮＣＳデータの終わりに進められる。ＮＣＳ保存モード２はスクラッチモードであるので、ＮＣＳデータは、例えばハーフチップを基準として、周波数を基準として、等で上書きされる。
【００８６】
ＮＣＳモード３では、図示のように、ＦＦＴサブシステム２１５（ＳＳ３）は、Ｔ１を基準にして非コヒーレントデータをバックエンド保存ＲＡＭ１５０５ｄのＮＣＳ領域内に保存し、ピークデータをバックエンド保存ＲＡＭ１５０５ｄのピークエリア内に保存する。ピークアドレス位置を含むピークデータは、それぞれのＰＤＩの終わりに更新される。矢印は、領域の最上部に達した際に書き込みポインタが移動する方向を示す。ＮＣＳモード３は、衛星のデータストリームのデータビット端の検出を容易にするために様々なコードオフセットが保存されるビット同期モードにおいて有用である。
【００８７】
ＮＣＳモード４では、図示のように、ＦＦＴサブシステム２１５（ＳＳ３）は、非コヒーレントデータの奇数および偶数ハーフチップをバックエンド保存ＲＡＭ１５０５ｅのＮＣＳ領域内に保存し、ピークデータをバックエンド保存ＲＡＭ１５０５ｅのピークエリア内に保存する。１つの奇数ＰＤＩと１つの偶数ＰＤＩとがコンテキストごとに保存される。偶数および奇数ＰＤＩデータが保存された後、ピーク値は更新される。ピークアドレス位置は各ＰＤＩの終わりに更新される。矢印は、領域の最上部に達した際に書き込みポインタが移動する方向を示す。
【００８８】
例えば図２に示すように、追跡履歴（ＴＨ）データはバックエンド保存ＲＡＭ２０９のＴＨ領域内に保存される。図１５のＲＡＭ１５０５ｆは、追跡履歴保存の１つのモードを示す。図示のように、追跡履歴（ＴＨ）はＴＨ領域内に保存され、報告情報（ＩＮＦＯ）はＩＮＦＯ領域内に保存される。ＴＨデータは実際のコヒーレントデータである。ＩＮＦＯデータは報告情報を含む。報告情報は、コヒーレントな追跡履歴データを識別するとともに、処理されたＰＤＩの数、時間タグ等を示すＴＨ報告のような様々な報告を含む。バイアス合計は、すべてのＰＤＩに対するバイアスの積分和である。ノイズ合計は、すべてのＰＤＩに対するノイズ振幅の積分和である。別の報告は、コンテキスト切り替え時に保存されるコンテキスト報告である。コンテキスト報告は時間タグ、処理済みＰＤＩの数、バイアス合計、ノイズ合計などを含む。
【００８９】
図１５のＲＡＭ１５０５ｇは、追跡履歴保存の別のモードを示す。図示のように、追跡履歴（ＴＨ）はＴＨ領域内に保存され、報告情報（ＩＮＦＯ）は、ＩＮＦＯ領域内にＴ１を基準に保存される。ＴＨデータは、個別のＴ１に対する実際のコヒーレントデータである。ＩＮＦＯデータは報告情報を含む。報告情報は、（例えば位相オフセットとコードオフセットにより）コヒーレント追跡履歴データを識別するとともに、処理済みＰＤＩの数、時間タグなどを示すＴＨ報告を含む様々な報告を含む。バイアス合計は、すべてのＰＤＩに対するバイアスの積分和である。ノイズ合計は、すべてのＰＤＩに対するノイズ振幅の積分和である。別の報告は、コンテキスト切り替え時に保存されるコンテキスト報告である。コンテキスト報告は時間タグ、処理済ＰＤＩの数、バイアス合計、ノイズ合計などを含む。バックエンド保存ＲＡＭ１５０５ｇの追跡履歴保存モードは、衛星のデータストリームのデータビット端の検出を容易にするために様々なコードオフセットが保存されるビット同期モードにおいて有用である。
【００９０】
図１４と図１５の保存モードは、シーケンサ２１７によってチャネルＲＡＭ２０７内に保存されたチャネルパラメータにより指示される。
【００９１】
図１６は、様々な動作モードにおけるＲＡＭ保存の様々なモードを例示する線図である。同線図の左側で、入力サンプルＲＡＭ１６０３は、入力サンプル・サブシステム（ＳＳ１）により入力データサンプルで埋められる。前に説明したように、入力サンプルＲＡＭは循環モード、またはワンショットモードで埋めることができる。信号処理サブシステム（ＳＳ２）１６１３は、入力サンプルＲＡＭ１６０３からデータを読み出し、そのデータを処理する。信号処理サブシステム１６１３は、信号処理システムの動作モードと構成に従い、いくつかの可能なデータ経路１６０４、１６０８、１６１０の１つへコヒーレントデータを出力する。
【００９２】
信号処理サブシステム１６１３の出力経路を再び参照すると、出力経路１６０４は、コヒーレントＲＡＭ１６０５の共有スクラッチ領域１６３０への経路を表す。スクラッチ領域１６３０は、ＳＶごとに１回埋められる。チャネルは、それ自身のコヒーレントＲＡＭを維持しない。このことはチャネルが以前の位置にかかわらず、毎回スクラッチ領域に書き込み（以前のチャネルデータに上書きし）、そして終了することを意味する。スクラッチ領域１６３０用に指定されたＲＡＭの物理的領域も、バックエンド保存ＲＡＭ（コールドスタート・モード用）とコヒーレント・スクラッチＲＡＭ（他のすべてのモード用）との間で交互に切り替えることができる。
【００９３】
出力経路１６０８は、コヒーレントＲＡＭ１６０５のＳＶ専用コヒーレントデータ領域への経路を表す。コヒーレントデータは、各ＳＶに対し、１６３０ａ領域の最下部ＳＶ１データから始まり、１６３０ｎ領域のＳＶｎデータで終わる循環的な様式で保存される。これは、例えば各チャネルがそれ自身のコヒーレントＲＡＭを維持し、以前抜け出たのと同じ場所でコヒーレントＲＡＭに入る場合に適用可能であろう。ＳＶ専用領域１６３０もまた、時にはスクラッチ領域として使用することができる。
【００９４】
出力経路１６１０は、コヒーレントＲＡＭ１６０５をバイパスするＦＦＴサブシステム１６１５（ＳＳ３）への直接経路を表わす。これはコールドスタート・モードに適用可能である。コールドスタート・モードでは、ＦＦＴサブシステム１６１５は、コヒーレントデータを処理し、経路１６１２を介しバックエンド保存ＲＡＭ１６０９へＮＣＳデータを送信する。
【００９５】
ここで、ＦＦＴサブシステム１６１５の右の領域を参照すると、バックエンド保存ＲＡＭ１６１９の様々な構成が表されている。同線図の最も右側の円で囲まれた数字は、様々なタイプまたはモードのＮＣＳの保存を示す。同線図の最下部の保存モード１は、各チャネルがそれ自身の専用のＴＨおよび非コヒーレントデータ保存領域を含む。ＦＦＴサブシステム１６１５は、経路１６１６ａ〜１６１６ｎを介し、バックエンド保存ＲＡＭ１６０９の個々のチャネル領域へデータを送信する。チャネル専用のバックエンド保存ＲＡＭ領域１６１８ａ〜１６１８ｎは、ピーク、ピーク情報、ビット同期データを含むＮＣＳデータ、および追跡履歴データを含む。
【００９６】
保存モード２を参照すると、各ＮＣＳ領域１６２０ａ〜１６２０ｎは、それ自身の対応するピーク領域を有する。ＦＦＴサブシステム１６１５は、共有スクラッチ・コヒーレントＲＡＭ１６３０からＮＣＳ領域１６２０へ、経路１６１４ａを介しデータを送信する。また、経路１６１４に対しても適切な代替ＮＣＳ保存モードは、保存モード３である。保存モード３において、チャネル間で共有される単一のスクラッチ領域１６２２と、経路１６１４ｂを介したいくつかの専用ピーク領域１６２４ａ〜１６２４ｎとが存在する。
【００９７】
保存モード４は、複数のＮＣＳ領域１６２６ａ〜１６２６ｎを含み、各々がそれ自身の対応するピーク領域を備えるという点で保存モード２に類似している。ＦＦＴサブシステム１６１５は、経路１６１２ａを介しバックエンド保存ＲＡＭ領域１６２６内に、ビット同期データ、ピーク、およびピーク情報を含むＮＣＳデータを保存する。経路１６１２に対しても適切である代替ＮＣＳ保存モードは保存モード５である。保存モード５においては、チャネル間で共有される単一のスクラッチ領域１６２８と、経路１６１２ｂを介したいくつかの専用ピーク領域１６３０ａ〜１６３０ｎとが存在する。
【００９８】
ディジタル信号処理部１０１の制御方法と装置のさらに詳細な説明を以下にする。ディジタル信号処理部における信号処理動作の順序付け（ｓｅｑｕｅｎｃｉｎｇ）を制御するシーケンサについて、図２のシーケンサ２１７とディジタル信号処理部１０１とを参照して説明した。別の実施態様では、信号処理サブシステム用のシーケンサは、信号処理サブシステムと一緒に用いられ、ＦＦＴサブシステム用のシーケンサ機能は、ＦＦＴサブシステムと一緒に用いられる。そのような実施態様を図３に示す。以下の図面と説明は、これらタイプの実施態様のいずれか、または図示されない代替実施態様に適用できる。前に説明したように、シーケンサは、ソフトウェアによりプログラムされたチャネルＲＡＭからデータを読み出す。チャネルＲＡＭは、ディジタル信号処理部１０１のようなディジタル信号処理部の現状ステータスに関する情報を保存する。チャネルＲＡＭはまた、様々なハードウェア要素の構成がどのようになるかについてを含む、信号処理のどんな態様が次に発生しようとしているかについての情報を保存する。
【００９９】
図１７は、一実施態様におけるチャネルＲＡＭ１７０２、およびそれと通信する要素を例示するブロック線図である。同線図の右側と左側の破線は、チャネルＲＡＭ１７０２とシーケンサ１７０４との間（同線図の左側）、およびチャネルＲＡＭ１７０２とディジタル信号処理部１７０１のようなディジタル信号処理部の他の様々な要素との間（同線図の右側）の通信を概念的に示す。同線図における諸要素の相対位置、および破線に特別な意味はない。例えば、実際には、シーケンサは、図示のサブシステム群のいずれかと一緒に設置できるか、または、一部が１つのサブシステム２（ＳＳ２）と一緒に設置され、かつ一部がサブシステム３（ＳＳ３）と一緒に設置できるであろう。異なる要素の他の任意の相対配置も可能である。前に説明したように、ＳＳ２は信号処理サブシステムを示し、ＳＳ３はＦＦＴサブシステムを示す。
【０１００】
チャネルＲＡＭ１７０２は、シーケンサ１７０４、信号処理サブシステム、ＦＦＴサブシステム、コヒーレントデータに割り振られたＲＡＭの一部分、ＮＣＳデータに割り振られたＲＡＭの一部分、および追跡履歴（ＴＨ）やピーク等のデータに対し割り振られたＲＡＭの他の部分へデータを送信し、かつ、それらからデータを受信する。
【０１０１】
チャネルＲＡＭは、レコード０からレコードＮまでラベルを付けられた複数のチャネルレコードを保存する。チャネルレコードのそれぞれは、ワード０からワードＮまでラベルを付けられた複数のデータワードを含む。一実施態様では、各チャネルレコードはおよそ２５６バイトのデータを含む。各チャネルレコードのワード０は、読み出すべき、または、書き込むべき次のチャネルレコードへのポインタを含む。ポインタは、あるチャネルレコードから別のチャネルレコードへ移動するために使用される。また、チャネルレコードは、可能なすべての動作モード、実行中の様々なタイプの信号処理、現在のカウントと状態、入力サンプルに関するコード位相と時間調整を含む。この情報は、図示の様々な要素へ信号として送信され、処理を制御したり、あるいはエラー状況を伝えたりする。
【０１０２】
シーケンサ１７０４は、チャネルレコードのワード０から開始し、コンテンツを「実行する」。チャネルレコードのコンテンツ（ワード０からワードＮまで）は、どこからデータを得るべきか、そしてどこへデータを書き込むべきかを示す、全ての関連メモリ領域内のアドレスへのポインタを含む。シーケンサ１７０４は、信号処理サブシステムとＦＦＴサブシステムのどちらがチャネルＲＡＭにアクセスするかを指示する。信号処理サブシステムとＦＦＴサブシステムは、個別の実行スレッドとして走るが、完全に独立しているわけではない。例えば、信号処理サブシステムは、ＦＦＴサブシステムを使用するためのデータを作成する。以下にさらに説明するように、サブシステムの１つが他方のはるか先まで実行してはならない、または他方のはるか後を実行してはならない。
【０１０３】
コンテキストが完了すると、完了したコンテキストにより更新された情報が、現行チャネルレコード内に保存され、シーケンサは、現行チャネルレコードのワード０において指示されるレコードへ移動する。
【０１０４】
コヒーレントデータに割り振られたＲＡＭ領域は、コヒーレントデータ以外に、状態情報とさらなるポインタなどのパラメータを含むバッファ・ヘッダーを保存する。信号処理サブシステムとＦＦＴサブシステムは、ヘッダーからそれぞれのチャネル特有の状態を読み出す。例えば、サブシステムは、最後にどこで信号処理を出たか、またはどれだけの量のサンプルを処理することになっているかを判断することができる。パラメータは１つのチャネルから次へ渡されるので、これらのパラメータを、コヒーレントＲＡＭ領域のヘッダーに保存することが便利である。例えば、信号処理サブシステムが、次のチャネルのための複数のデータ・ブロックを設置して終了した場合、ＦＦＴサブシステムは、該複数のブロックをどこで読み出すべきかを認識していなければならない。一実施態様では、既知数のブロック（例えば７個）が常にチャネル用に保存される。当該データ・ブロックの対象となるサブシステムが入って来ると、サブシステムは７個のデータ・ブロックを確保し、そして出て行く際にさらに７つのデータ・ブロックが待機することをコヒーレントＲＡＭ領域のヘッダーに書き込む。
【０１０５】
図１８は、信号処理サブシステム・シーケンサの一実施態様におけるチャネル・シーケンス制御１８０４の概念を例示するブロック線図である。構成１７０１のような信号処理部のシーケンサ１７０４による制御は、部品要素間の通信と、セマフォワードと割込信号を使用するソフトウェアを含む。信号処理部の制御の態様の１つは、信号処理サブシステム（ＳＳ２）、ＦＦＴサブシステム（ＳＳ３）、およびメモリまたはＲＡＭを含む、ハードウェアリソースを使用しなければならない様々なチャネルの順序付けである。図１８は、左側にＳＳ２処理、右側にＳＳ３処理、そして２つのサブシステムの間に「制御ゾーン」１８０６を示す。「ｔｉｍｅ」から「１」までのラベルを付けられたバブルは、サブシステムのそれぞれに対する処理エポックの段階を表現する。処理エポックの間、チャネルはサブシステムを所有する。処理エポックの終わりで、かつ次の処理エポックの開始前にシーケンサ１７０４はいくつかの決定を行う。この決定はとりわけ、どのチャネルが処理用サブシステムを所有するか、どのサブシステムが様々に割り振られたＲＡＭ領域へのアクセス、およびＲＡＭアクセス用の特定アドレス位置を有するかを含む。
【０１０６】
制御ゾーン１８０６内には、ＳＳ２とＳＳ３用のチャネルＲＡＭポインタ１８０８と１８１０がそれぞれ示されている。チャネルＲＡＭポインタ１８０８と１８１０は、ＳＳ２とＳＳ３のそれぞれに対するバッファ基底ポインタと、チャネルポインタとを含む。バッファ基底ポインタは、コヒーレントＲＡＭにおける実際の位置を表わす。チャネルポインタは、チャネルＲＡＭ内に保存されたポインタである。図１８に示すように、ＳＳ２基底ポインタは、ＳＳ３基底ポインタと比較され、ＳＳ２チャネルポインタは、ＳＳ３チャネルポインタと比較される。例えば、「チャネル２」のチャネルポインタがＳＳ２に入る際、そのチャネルポインタとＳＳ２内の「チャネル１」のチャネルポインタとを比較する。これは、ラッピング規則（ｌａｐｐｉｎｇ  ｒｕｌｅｓ）を参照し、以下に説明されるように、１つのサブシステムが別のサブシステムに重なり合うこと（ｌａｐｐｉｎｇ）を回避するためである。
【０１０７】
また制御ゾーン１８０６内には、ＳＳ２とＳＳ３それぞれのためのハードウェア・レジスタ１８１２と１８１４が示されている。各サブシステムに対し「アクティブ」レジスタと「休止」レジスタがある。これらのレジスタは、サブシステムがアクティブであること、サブシステムが処理を休止しなければならないことと、を示す信号ビットをそれぞれ保存する。
【０１０８】
シーケンサ１７０４は、信号処理サブシステムがＦＦＴサブシステムに重なること、またはその逆を回避するラッピング規則を実行する。ＦＩＦＯ１とＦＩＦＯ２は、アンダーフローとオーバーフロー状態を回避および／または検知する。アンダーフロー、オーバーフロー、およびラッピング規則は、前述されており、以下でより詳細に説明される、順序付けと制御の態様である。
【０１０９】
ＦＦＴサブシステム（ＳＳ３）は、以下のように様々な状態下でアンダーフロー検知を実行する。ＳＳ３が入る際、信号処理サブシステム（ＳＳ２）がメモリ領域内に存在する場合は、ＳＳ３はライブ（ｌｉｖｅ）ＳＳ２ポインタを使用する。ＳＳ２がこのメモリ領域内にまだ存在する限り、ＳＳ２は、ＳＳ２  Ｔ１メモリ空間（ＳＳ２ＢｏｔｔｏｍＴｌＲＥＧ）の最下部である場所にライブポインタを連続的にロードする。ＳＳ２が上記メモリ領域を出ると、ＳＳ３は、その場所ＳＳ２ＢｏｔｔｏｍＴ１Ｒｅｇにおいて最後に保存されたポインタを使用するよう切り替わる。
【０１１０】
ＳＳ２は、ＳＳ３が出るまでチャネルに再び入ってはならない。
【０１１１】
ＳＳ３が入る際にＳＳ２がメモリ領域内に存在しない場合、ＳＳ３は保存されたＳＳ２ポインタを読み出し、それをＳＳ２ＢｏｔｔｏｍＴ１Ｒｅｇへロードする。次に、ＳＳ３は保存されたＳＳ２ＢｏｔｔｏｍＲｅｇまで処理し、そして出る。
【０１１２】
信号処理サブシステム（ＳＳ２）は、以下の様々な状態下でオーバーフロー検知を実行する。ＳＳ２が入る際にＳＳ３がメモリ領域内に存在しなければ、ＳＳ２は保存されたＳＳ３バッファ・ポインタを読み出し、それをＳＳ３ＢｏｔｔｏｍＴ１Ｒｅｇ内へロードする。ＳＳ２は命じられる限りの数のＴ１を処理し、メモリ空間がなくなるとオーバーフローのために停止する。ＳＳ３が上記メモリ領域に入ると、ライブＳＳ３ポインタが使用される。ＳＳ３が上記メモリ領域を出ると、ＳＳ３が別のチャネルを有する同じメモリ領域に戻るまでは最後に保存されたＳＳ３ＢｏｔｔｏｍＴ１Ｒｅｇポインタが使用される。
【０１１３】
ＳＳ２が入る際にＳＳ３がメモリ領域内に存在する場合、ＳＳ２は、ＳＳ３が出る点までライブＳＳ３ポインタを使用し、そして最後に保存されたＳＳ３ＢｏｔｔｏｍＴ１Ｒｅｇポインタへ切り替わる。ＳＳ２は、命じられる限りの数のＴ１を処理し、メモリ空間がなくなるとオーバーフローのために停止する。ＳＳ３が上記メモリ領域に入ると、ライブＳＳ３ポインタが使用される。ＳＳ３が上記メモリ領域を出ると、最後に保存されたＳＳ３ＢｏｔｔｏｍＴ１Ｒｅｇポインタは、ＳＳ３が別のチャネルを有する同じメモリ領域に戻るまで使用される。
【０１１４】
図１９は、ＳＳ２とＳＳ３との相互作用におけるラッピング規則を例示する線図である。同図の一番上の円で囲まれた数は、期間の順序を示す。それぞれの水平方向の破線間には、その特定の期間におけるチャネルが存在する。
【０１１５】
期間１を参照すると、ＳＳ２はチャネルに入るが、このことは、信号処理サブシステムがチャネルを所有し、チャネル用データを処理するために使用されていることを意味する。ＳＳ２は、オーバーフロー状態が存在するかどうかを判断するために、コヒーレントＲＡＭ領域内に保存されたＳＳ３ポインタを使用する。
【０１１６】
ラッピング規則によれば、ＳＳ３がチャネル内にまず存在すれば、ＳＳ２は、ＳＳ３がチャネルを出るまで入ることができない。ＳＳ３がチャネル内に存在し、かつＳＳ２がチャネル内に存在しないと、ＳＳ３は、当該チャネルに対するコヒーレントＲＡＭ内のすべてのデータ（ＳＳ２が当該チャネルのデータを処理した最後の時からＳＳ２により保存されたデータ）を処理し、そして当該チャネルのすべてのデータが処理されると出る。
【０１１７】
期間２に示すように、ＳＳ２がチャネル内に存在すると、ＳＳ３（ＦＦＴサブシステム）が、当該チャネル用の演算を行うべきコヒーレントデータを有する場合は、ＳＳ３はチャネルに入ることができる。ラッピング規則によると、ＳＳ３は、ＳＳ２がチャネルを出るまでチャネルを出てはならない。ＳＳ２とＳＳ３は、両方ともチャネル内に存在するので、ＳＳ２は、オーバーフロー状態が存在するどうかを判断するために、ライブＳＳ３ポインタを使用する。
【０１１８】
前に説明したように、ＳＳ２チャネルＲＡＭベースポインタは、シーケンサにより読み出され、レジスタ内にロードされ、そして重なることを回避するために対応するＳＳ３ポインタと比較される。ＳＳ２がチャネル内にあり、かつＳＳ３が同じチャネル内にあれば、ＳＳ３側のシーケンサは、（ＳＳ２が同じチャネル内に存在するので）ＳＳ３が出ることができないことを認識する。一方、コヒーレントＲＡＭのベースポインタは、データ処理のファーストイン・ファーストアウトを実施する。ＳＳ３は、ＳＳ３がチャネルに入るか、または出ることができるかというよりむしろ、ＳＳ３が処理するに十分なデータをＳＳ２が作成したかどうかに関心を持つ。ＳＳ２は、ＳＳ２が未処理データに上書きしないように、ＳＳ３が十分なデータを処理したかどうかに関心を持つ（これはオーバーフローとアンダーフロー状態の予防および／または検知である）。
【０１１９】
図１９を再び参照すると、期間３では、ＳＳ２はチャネル用データを処理し終えて、チャネルを出る。ＳＳ３は、ＳＳ２がチャネルを出たポイントまでチャネル用データを処理する。期間４において、ＳＳ２は再びチャネルに入る準備ができているが、ＳＳ３が出るまでそうしてはならない。
【０１２０】
期間５では、ＳＳ３が出たので、ＳＳ２は再びチャネルに入る。期間６では、ＳＳ２は処理を終了したのでチャネルを出る。ＳＳ３がチャネルからの処理すべきデータをもはや有さない場合は、ＳＳ３がチャネルに入る必要はない。したがって図１９は、１つ以上の特定のチャネルからのデータが、サブシステムにより相互に織り込まれた方式か、または時分割方式でどのように処理されるかを例示する。
【０１２１】
シーケンサにより実行されるラッピング規則は、信号処理部の全体制御の一部を規定する。制御のその他の部分は（例えば、図３に示すように）ＦＩＦＯ２により規定される。一実施態様では、ＦＩＦＯ２は、ＳＳ３により読み出されたデータをＳＳ２が保存する循環バッファである。ＳＳ２はＴ１からＴ２へとＦＩＦＯ２を埋める。ＳＳ３は、読み出しとデータ処理を始める前に、完全なＰＤＩ（プログラムされたＴ１の数）が使用可能となることを要求する。ＰＤＩにおけるＴ１の数は、ＦＦＴサブシステムのＦＦＴ要素（図示せず）が要求するものにより決定される。ＦＦＴは、様々な数のＴ１について演算を行うように構成可能である。例として、ＦＦＴが５サンプル、１６ポイントのＦＦＴで構成された場合、データを読み出し始めることができる前に、ＦＦＴは５つのサンプルすなわち完全な５つのＴ１を必要とする。ＦＩＦＯ２とラッピング規則の組合せにより、信号処理サブシステムとＦＦＴサブシステム間のフローを制御する。
【０１２２】
信号処理サブシステム（ＳＳ２）は作成されるデータ量を制御する。ＳＳ２は、各コンテキストに関し、一定のデータ量を作成するようにプログラムされる。ここでコンテキストは、チャネルがＳＳ２に入ったことを意味し、当該コンテキストはＳＳ２を出ると終了する。したがって、特定のコンテキストでは、ＳＳ２は数ミリ秒間実行するようにプログラムされ、処理するためにプログラムされたミリ秒間が終了するまで、ＦＩＦＯ１からデータを読み出す。
【０１２３】
シーケンサのラッピング規則は図１９に例示されるように、次のように記述することができる。
１．ＳＳ２が処理したチャネルは相互に重なってはならない。
２．ＳＳ３が現在当該チャネルに関しアクティブな場合、ＳＳ２はチャネルに入って（アクティブになって）はならない（さもないとＳＳ２はＳＳ３状態に「重なる」）。
３．ＳＳ２が、現在当該チャネルに関しアクティブな場合、ＳＳ３は、チャネルを出てはならない（例えば、ＳＳ３の処理は、ＳＳ２の状態に従う必要があるかもしれず、ＳＳ２がアクティブな場合、データが入手可能になるとＳＳ３はそれを処理する）。
４．ＳＳ２は、処理するようにプログラムされたミリ秒の間処理し（ＳＷ修正部分を含む）、そしてＳＳ２の処理が完了するまで当該チャネルにとどまる。
５．ＳＳ３は、そのバッファ内（コヒーレントＲＡＭ領域）で入手可能なだけのＴ１を処理する。ＳＳ３は、ＳＳ２がアクティブでなければ、保存されたＳＳ２バッファ・ポインタまで、ＳＳ２がアクティブであれば、ＳＳ２が完了するポイントまで処理を行う。
６．待機セマフォまたは待機フラグにより、ＳＳ２とＳＳ３が処理を続けることを回避できる。例えば、ＳＳ２は、「ＳＳ３コンテキスト完了」または「ＳＳ３  ＰＤＩ完了」により停止することができ、ＳＳ３は「ＳＳ３  ＰＤＩ完了」により停止することができる。
【０１２４】
ラッピング規則を適用する際、チャネルＲＡＭポインタは、チャネルが等しいかどうかを判断するために使用される。コヒーレントＲＡＭポインタと「アクティブ」フラグは、ＳＳ２とＳＳ３が同一のコヒーレントＲＡＭ領域内に存在するかどうかを判断するために使用される。共有コヒーレントＲＡＭ領域を使用することは、２つの異なるチャネルが同一のコヒーレントＲＡＭ領域でアクティブであることを意味し、共有コヒーレントＲＡＭ領域はあたかも１つのチャネルだけがそれにアクセスしようとしているかのように扱われる。
【０１２５】
セマフォワードと割り込み、そして信号処理部の動作を制御する際のそれらの役割について、ここではさらに詳細に説明する。図２０は一実施態様のセマフォワード構造の線図である。セマフォワードの構造は、信号処理サブシステム（ＳＳ２）により制御された１６ビットと、ＦＦＴサブシステム（ＳＳ３）により制御された１６ビットを含む。セマフォワード構造はさらに、図３のＳＷ３１９のようなソフトウェア（ＳＷ）により制御される３２ビットを含む。ＳＷにより制御される３２ビットは、以下にさらに説明されるように、ＳＳ２とＳＳ３により制御されるビットに位置合わせされる。セマフォワード構造は、ＳＷにより制御される３２ビット、およびＳＳ２とＳＳ３により制御されるビットの両方に位置合わせされる３２のマスク・ビットをさらに含む。セマフォワード構造は、他のワードのビットと位置合わせされない有効／休止ビットをさらに含む。
【０１２６】
上述のように、セマフォワードは、フラグのあちこちへのやり取りを有効にすることにより、相互には同期していないＳＳ２、ＳＳ３、およびＳＷ間の通信を容易にする。シーケンサ（例えばＳＳ２シーケンサ）が初期化されると、シーケンサは、任意のＳＳ３またはＳＷフラグに対するセマフォワードを読み出す。セマフォワードは、シーケンサによりどの処置が講じられるべきか、講じられるべきでないかを判断する情報を提供する。図２１は実施態様におけるセマフォワードの構成を示す。個々のビットの意味はビット・ラベルにより示される。「セマフォ第１ハーフ」、「セマフォ第２ハーフ」とラベルを付けられた３２ビットは、図２０のＳＳ２ビット、ＳＳ３ビット、ＳＷビットから構成される６４ビットに対応する。３２個の割込み有効ビットは図２０の「マスク」ビットに対応する。各チャネルに対し、図２１に示すようなセマフォワードがある。
【０１２７】
図示のように、セマフォ・ビットは、大部分は重複する。すなわち、特定の意味を有するＳＳ２ビットは、対応するＳＳ３ビットと、対応するＳＷビットとを有する。ＳＳ２、ＳＳ３、ＳＷ間のメッセージ通信は、対応する意味を有するハードウェア（ＨＷ）ビットとＳＷビットとのＸＯＲを実行する工程を含む。ＨＷは信号処理サブシステム（ＳＳ２）とＦＦＴサブシステム（ＳＳ３）を含む。メッセージ通信は２方向に存在する。１方向では、ＨＷは、ＨＷイベントが発生したことをＳＷに知らせる。命令のもう一方の方向では、ＳＷはＨＷにアクションを実行させる命令を送る。ビットはセマフォ「フラグ」として機能する。例としてステータス・セマフォを用いると、ＨＷがイベントについてＳＷに通知したい場合、ＨＷは適正なビットの現在の状態を変化させる。２つの対応するビットの初期開始状態は同じであって、０または１のいずれかである。ビットの状態がＨＷにより変化されると、２つのビットのＸＯＲは１になる。こうしてＳＷがセマフォワードを調べる際に、ＳＷはＸＯＲ結果が１であるのでＨＷがフラグを設定したということが分かる。ＳＷは、対応するビットの状態を、その制御下で変化させることにより応答する。当然ながら、これにより２つのビットの状態を再び同じにし、こうして２つのビットに対するＸＯＲ結果を０にし、フラグをクリアする。ＨＷフラグ情報に対するＳＷの応答は、フラグの意味によって、承認、命令、リセットまたは初期化として解釈することができる。
【０１２８】
もう一方の方向では、ＳＷは、特定の意味のビット・ペアに対するＸＯＲ結果を０にすることにより命令を作成する。一例は１００ＭＵＴ報告を作成する命令である。上記命令を受信すると、ＨＷは、ＸＯＲ結果をもう一度１にするためその制御下でビットを変化させることにより承認する。
【０１２９】
図２０を参照し、命令と承認の例として１組のビットを用いると、セマフォ第１ハーフのワードは、ソフトウェア制御されたｓｓ２ＡｄｊＥｎｄＭｓＳＷビット（円で囲む）を含む。セマフォ第２ハーフのワードは、ＨＷ制御された対応部分のｓｓ２ＡｄｊＥｎｄＭｓＨＷ（同じく、円で囲む）を含む。ｓｓ２ＡｄｊＥｎｄＭｓＳＷビットは、ＨＷに「通常のミリ秒数を処理する代わりに、追加のミリ秒を処理する」ように伝える。この特別の場合、ＳＷは、その制御下で上記ビットの状態を変化させ、２つの対応ビットのＸＯＲを零にすることによりＨＷへの命令を作成する。ＨＷが上記命令を完了した後、ＨＷは、そのｓｓ２ＡｄｊＥｎｄＭｓＨＷビットの状態を変化させ、再びＸＯＲを１にすることにより承認を送信する。
【０１３０】
ステータスフラグの例として、セマフォ第１ハーフワードは、ｆｉｆｏｌＯｖｒｆｌｗＳＷ（円で囲む）を含む。セマフォ第２ハーフワードは、ＨＷ制御の対応部分であるｆｉｆｏｌＯｖｒｆｌｗＨＷ（同じく円で囲む）を含む。ＦＩＦＯ１のオーバーフロー状態が発生すると（ＳＳ２がデータを読み出す前に、ＳＳ１がそのデータの一部分に上書きしたことを意味する）、それは、ＨＷ制御下でビットの状態を変化させ、そして適用可能ならば対応する割り込みを生成することによりセマフォワードと通信する。
【０１３１】
図２１の第３行のビットは、特定チャネルに対する割り込み用の割込み有効化マスク・ビットを含む。割り込みはこのセマフォワードに関連する。ＨＷが、ステータス・セマフォ・ビットの設定を望む対象のイベントを有する場合、ＨＷもまた割り込みを生成することができる。その割り込みはＳＳ２から出るラインである。上記ラインは、割り込みが作成された時に、どのチャネルがサブシステム内に存在したかを示さない。ＳＷは、設定ビットを検知するために、全てのチャネルのセマフォワードを読み出すことにより、どのチャネルが割り込みを作成したかを判断する。割り込みは以下にさらに詳細に説明する。
【０１３２】
今説明したＸＯＲメッセージ通信に従って動作しない特定ビットがいくつかある。その代り、これらのビットは３ビットのＡＮＤとして動作する。ＳＳ２に対しこのような３ビット、ＳＳ３に対しこのような３ビットが存在する。これらビットは「オン」ビットと呼ばれ、当該チャネルが処理されるか否かを示す。例えば、ＳＳ３は３つの「オン」ビットを有し、その１つはＳＳ２により制御され、その１つはＳＳ３により制御され、その１つはＳＷにより制御される。それらのソースのいずれの１つも「オン」ビットに「オフ」を内包させること、すなわち、その制御下でビットの状態を変化させることにより「オン」ビットをオフにすることができるであろう。サブシステムが初期化すると、まずサブシステムは休止すべきかどうかをセマフォワードにもとづいて判断する。次に、サブシステムは、サブシステムが処理を始めてよいかどうかを「オン」ビットにもとづいて決定する。「オン」ビットがオフになると、サブシステムは出て行き、次のチャネル用のポインタをロードする。
【０１３３】
「オン」ビットをオフにする１つの状態は終了状態である。例えば、処理すべき数のＰＤＩを処理すると、ＳＳ３はそれ自身の「オン」ビットと、制御するＳＳ２の「オン」ビットとをオフにする。このとき、ＳＳ２が当該チャネルに来ると、ＳＳ２は「スキップ」する。
【０１３４】
図２２は、ＨＷ制御のセマフォとＳＷ制御のセマフォを含むＳＳ２、ＳＳ３、およびＦＩＦＯ１のセマフォのリストである。
【０１３５】
休止ビットすなわち休止フラグは、ＳＳ２とＳＳ３それぞれに存在する。休止フラグは、ハードウェアリソースを用いるすべてのチャネルにより共有される。休止フラグは、エラーを含む多くの状況下で設定することができる。休止フラグがチャネルの完了、またはＰＤＩの完了により設定されると、ＳＳ２は上記休止点まで処理し、そして停止する。
【０１３６】
休止に反応して、ＳＷは必要とされるすべての処理を実行し、そして適切なパラメータを更新する。ＳＷは、完了したセマフォをクリアするためにチャネル・セマフォワードのＳＷ部を更新する。ＳＳ２の休止が有効になると、ＳＷはＨＷ休止レジスタをクリアする。ＳＷは休止を促進する際にチャネル基底ポインタを読み出す。
【０１３７】
割り込みは、セマフォワードが更新されて、もとのチャネル・バッファに保存されると作成される。一実施態様では、割り込みは、アービトレーション・ユニットによるセマフォの承認が書き込まれると有効になる。チャネル完了セマフォとＰＤＩセマフォは、チャネルが完了するか、またはＰＤＩが完了するごとに、それぞれで切り替えられる。チャネル完了セマフォは、セマフォワード内のチャネルアクティブビットがクリアされると書き直される。
【０１３８】
図２３は、一実施態様におけるすべての割り込みのリストである。図示のように、様々な割り込みは様々な要素の制御下におかれる。タイマー割込はＳＳ１により制御される。これらは、順序付けよりもむしろタイミングにより関連する。特に、タイマー割込は、ＦＩＦＯ１に書き込まれた入力データのタイミングに関連する。
【０１３９】
前述のように、オーバーフロー状態は、別のサブシステムがまだ処理する機会がなかったデータに、上書きを始める１つのサブシステムを含む。オーバーフローは、割り込みを生じさせるエラー状態である。ＳＳ２の制御下にある割り込みの１つは「ＦＩＦＯ１オーバーフロー」である。ＦＩＦＯ１オーバーフローがＳＳ２の開始時に発生する場合、割り込みはチャネルをシャットダウンする効果を有する。チャネルはセマフォワードを更新し、そして出る時に割り込みフラグを設定する（有効の場合）。
【０１４０】
ＦＩＦＯ１オーバーフローがＳＳ２処理中に発生する場合、チャネルはローカルのオーバーフロー・フラグを設定するとともに処理を継続し、そして結果として生ずるデータは「ごみデータ」として認識される。チャネルの処理が終了すると、チャネルはセマフォワードを更新し、そして出る時に割り込みフラグを設定する（有効の場合）。チャネルはローカルオーバーフロー・フラグをクリアする。
【０１４１】
サブシステムがチャネル用のデータを処理し終えると、割り込みはまた作成される。例えば、ＳＳ２がチャネル用のデータを処理し終えると、チャネルはセマフォワードを更新し、そして出る時にＳＳ２チャネル完了割り込みを設定する。ＳＳ３がチャネル用データを処理し終えると、チャネルはセマフォワードを更新し、そして出る時にＳＳ３チャネル完了割り込みを設定する。
【０１４２】
ＳＳ３がＰＤＩ分のデータの処理を終了し、チャネルもまた完了すると、Ｓ３３は、チャネルを出る時にＳＳ３チャネル完了割り込みとＰＤＩ完了割り込み（有効の場合）の両方を設定する。ＳＳ３がＰＤＩの処理を終了したが、チャネルは完了していない場合、ＰＤＩ完了割り込みのみが設定され、セマフォワードはもとのチャネル・バッファに書き込まれ、そしてＳＳ３は停止する（有効の場合）。
【０１４３】
シーケンサ機能の別の役目は、終了状態を決定することである。例えば、シーケンサは、ＳＳ２とＳＳ３が、必要とされる量の処理を完了したかどうかを判断する。図２４は、ＳＳ２とＳＳ３用の終了状態のリストである。ＳＳ２から見た終了状態は、ＦＩＦＯ１のオーバーフローである。これは、まだＳＳ２によって処理されていないデータへの上書きをＳＳ１が行ったときに発生する。この場合、ＳＳ２はそれ自身の「オン」ビットと、それが制御するＳＳ３の「オン」ビットもシャットオフする。そして、ＳＳ２はまた、何が発生したかをＳＷに知らせる割り込みを送信する。その時点からは、上記順序付けが、オーバーフローが発生したチャネルに達するごとに、それは省略される。これにより、ＳＷが「オン」ビットを再プログラムする前に、中に入ってチャネルＲＡＭを再プログラムする時間をＳＷに与える。
【０１４４】
ＳＳ３の側から見ると、ＳＳ３がＰＤＩカウントに達すると、または処理パスにオーバーフローが存在すると、または「早期終了イベント」が発生すると終了状態が発生する。ＳＳ３がＰＤＩカウントに達すると、利用可能なデータの処理が終了する。ＰＤＩが利用可能になると、ＳＳ３がＰＤＩベースにデータを処理するということを想起されたい。ＳＳ３は、特定の数のＰＤＩに対し動作するようにプログラムすることができる。適用可能なＰＤＩの数におけるデータが、ＳＳ３により処理されるとともに非コヒーレントに累算されると、ＳＳ３は、終了状態を示すためにセマフォワード内のビットを設定する。
【０１４５】
あるパラメータを越えることにより早期の終了を引き起こすことができる。例えば、コヒーレントＲＡＭおよび非コヒーレント累算に関連する自動スケール値が存在する（自動スケール値は、非コヒーレント加算に関連する指数である）。その値がある範囲を越えると、またはそれが非常に急速に増大すると、それは強い信号を示すので１００個のＰＤＩすべてを数える必要はない。
【０１４６】
ＳＷはまた、チャネルを明確にシャットダウンするために、終了の命令を送ることができる。終了状態を作り出すことは、チャネル間でのＲＡＭの共有を考慮するので、ＳＷがチャネルを一部シャットダウンするための明確な方法である。ＦＩＦＯ２から当該データを取り出す前に、チャネルをシャットダウンすることは望ましくないであろう。ＦＩＦＯ２からのデータを実際に処理する必要はない。次のチャネルがこの共有ポインタを調べるので、当該領域を越えてそのポインタを進めるということが重要である。これにより、処理するはずであった場所を越えて、ＳＷがそのポインタを進めた後に限り、ＳＷはＳＳ３にシャットダウンするよう命令を送ることができる。ＳＳ３は、ＳＳ２がＳＳ３用バッファにどんなデータを入れたとしても処理するはずであり、このデータは、当該コンテキストを出る前にＳＳ３によって取り出されなければならない。
【０１４７】
終了と早期終了は、偶数および奇数の各半分の周波数を考慮する。例えば、１０ミリ秒のＳＳ２処理は、１０ミリ秒の奇数ハーフチップ、次に１０ミリ秒の偶数ハーフチップ、次に複数周波数ステップに対し、それぞれ１０ミリ秒を意味するものとする。したがって、ＳＳ３は、ＳＳ２がどんなデータをメモリに入れたとしてもメモリから取り出さなければならない。ＳＳ３は、データが奇数か偶数か、どれだけのデータ量が存在するかを認識している。従って、ＳＳ３は、期待すべきデータの全てを取り出し、そして終了する。したがって、終了状態の具体的な特徴は、その時発生している処理のタイプにいくぶん依存している。
【０１４８】
これまで、信号処理部１０１のような信号処理部における動作の順序付け、部品要素間のセマフォワード・メッセージ通信の説明、割り込み、および終了状態を説明した。以下はシーケンサ要素とそれらの機能の実施態様の説明である。
【０１４９】
図２５は、信号処理サブシステム・シーケンサ２５０４の実施態様のブロック線図である。シーケンサ２５０４は、図３のシーケンサ３１３ａのようなシーケンサのさらに詳細部を示す。信号処理サブシステム・シーケンサ２５０４は、それを介してチャネルＲＡＭからデータを読み出す入力レジスタ２５０６、または入力ポートを含む。信号処理サブシステム・シーケンサ２５０４はまた、出力レジスタ２５０８または出力ポートを介しもとのチャネルＲＡＭにデータを書き込む。一実施態様の主制御要素２５０２は、ステートマシンである。データは、あるアドレス基底によりアドレス指定される。例えば、チャネルＲＡＭに対するチャネル基底アドレスがあり、そして割り振られた他の様々なＲＡＭ領域（コヒーレントＲＡＭ、ＮＣＳＲＡＭ等）に対する基底アドレスがある。基底アドレスは処理中のチャネルレコードを指示し、そしてチャネルレコードへのアクセスは基底アドレスに関係する。入力ポート２５０６は各種パラメータを引き出し、そして必要に応じ、それらを主制御要素２５０２に保存する。処理の終わりに、シーケンサ２５０４は、更新されたパラメータを、出力ポート２５０８を介しもとのチャネルＲＡＭへ書き込む。
【０１５０】
同線図の一番上に、信号処理サブシステムを制御するために用いられるデータが示される。前に説明したように、例えば図１７を参照すると、チャネルＲＡＭは、特定モードで動作するサブシステムを構成するために必要とされる２５１４０〜２５１４ｎのパラメータを含む。セマフォワードはまた、信号処理サブシステムを制御するために使用される。セマフォワードは命令とステータス情報を含む。セマフォワードは、信号処理サブシステム、ＦＦＴサブシステム、ソフトウェア間の通信に使用され、アクセスを必要とするすべての要素によりアクセス可能な任意のメモリ領域に保存することができる。一実施態様では、セマフォワードはチャネルＲＡＭに保存される。
【０１５１】
一実施態様によるＲＡＭアドレスの作成は図２６に例示され、バッファ（すなわちＲＡＭ領域）基底アドレス２６０２とチャネル基底アドレス２６０４のうち１つがオフセットアドレス２６０６と組み合わせられて、信号処理サブシステム・アクセス用の実際のＲＡＭアドレス２６０８（ｓｓ２ＣｎｔｒｌＲＡＭＡｄｄｒ）をもたらすことを示す。バッファ基底アドレス２６０６またはチャネル基底アドレス２６０８の選択は、主制御要素２５０２からマルチプレクサ２６１０までの選択信号により行われる。
【０１５２】
図２７は、図３のシーケンサ３１３ａのような信号処理サブシステム・シーケンサの動作を例示するフローチャートである。「初期の開始」とラベルを付けられた点で、ＳＳ２はリセットされる。参照符号２８４０において、セマフォワードはソフトウェア（「ＳＷ」）により読み出される。図示のように、判断ブロック２８０２においてチャネルが休止されていると、休止フラグ２８０４はクリアされ、処理は参照符号２８４０のセマフォワード読み出しに戻る。チャネルがオフであることをセマフォワードが示すと、参照符号２８３８において、チャネル基底ポインタまたはリンクポインタが更新される。次に、参照符号２８１２において主制御要素がオンかどうかが判断される。主制御要素がオンではない場合、処理は初期開始点、すなわちリセットに戻る。
【０１５３】
主制御要素がオンである場合、参照符号２８１４においてチャネルがラッピングのために停止されるかどうかが判断される。そうならば、シーケンサはその状態に留まり、ラッピング状態がもはや存在しなくなるまでラッピング状態をチェックする。ラッピング状態がクリアされると、シーケンサは参照符号２８４０のセマフォワード読み出しに戻る。
【０１５４】
判断ブロック２８０２を再び参照すると、チャネルがオフでも休止でもない場合、チャネルは参照符号２８１６においてアクティブとなり、そして適正なフラグがセマフォワードにおいて設定されるか、またはクリアされる。いくつかのパラメータはＳＳ２が「実行」を開始するときに初期化される。これらは以下のパラメータ、すなわち
処理すべきミリ秒数、
搬送波加速度、
搬送波周波数、
搬送波位相、
コード位相、
Ｔ１内のミリ秒カウント、
アドレス空間内およびラップ（ｗｒａｐ）内のＴ１カウント、
現行Ｔ１の基底アドレス、
現行コヒーレントバッファの基底アドレス、
自動スケールおよび飽和フラグ、ならびに
ＦＩＦＯ  １のラインブロックとラップ、を含む。
【０１５５】
次に、参照符号２８０４において、ＳＷは、チャネルが処理する十分なデータが、入力ＦＩＦＯ（ＦＩＦＯ１）に存在するかどうかどうかを判断するために、ターンオン時間を調べる。それが無いと、参照符号２８０６において、ＳＷはオーバーフローが存在するかどうかを判断する。オーバーフローが存在しない場合は、参照符号２８３６においてチャネルは非アクティブとされて、適正なフラグ（群）が設定される。次に、処理は前に説明した参照符号２８３８に移動する。
【０１５６】
オーバーフローが存在する場合、参照符号２８３４においてセマフォワードは更新され、そして適正な割り込みが有効になる。次に、処理は前に説明したように参照符号２８３６に移動する。
【０１５７】
参照符号２８０４において、チャネルが処理する十分なデータが入力ＦＩＦＯ（ＦＩＦＯ１）に存在することが判断されると、参照符号２８１８において、ＳＳ２は、チャネルＲＡＭおよび他のメモリ領域からデータを取り込むことも含み、初期化される。ＦＩＦＯ１とＦＩＦＯ２もチャネルに対して初期化される。参照符号２８２０において、ＳＳ２は調整可能なミリ秒数の間実行される。相互相関処理が発生するようにプログラムされている場合、参照符号２８０８に示されるように、それは偶数ハーフチップの最初の実行後に１回実行される。参照符号２８２６において、ＳＳ２とＦＩＦＯ２は、相互相関のために初期化され、参照符号２８２８において相互相関が実行される。参照符号２８３０において、処理すべき相互相関用の衛星ビークル（ＳＶ）がさらに存在するかどうかが判断される。ＳＶがもう存在しない場合、参照符号２８３２においてセマフォワードは更新され、そしてセマフォワードの書き込みが承認された時に適正なフラグが設定される。その後、以下に説明するように、処理は判断ブロック２８１０に戻る。
【０１５８】
相互相関処理が発生するようにプログラムされていない場合は、参照符号２８１０において、処理すべき周波数がさらに存在するかどうかが判断される。それが存在する場合、参照符号２８２２において、ＳＳ２の「位置」は入力データに対し調節され、参照符号２８１８においてＳＳ２、ＦＩＦＯ１、およびＦＩＦＯ２はチャネル用に再び初期化される。
【０１５９】
処理すべき周波数がもはや存在しない場合、すなわち、所望数の偶数と奇数ハーフチップ、および周波数状態が処理された場合、シャットダウン状態は参照符号２８２４において保存され、そしてシーケンサはメモリに進み、参照符号２８３４においてセマフォワードを更新するとともに有効となった割り込みを設定する。前述のように、参照符号２８３６において、処理はチャネルの非アクティブを続ける。
【０１６０】
図２８は、図３のシーケンサ３１５ａのようなＦＦＴサブシステム・シーケンサの動作を例示するフローチャートである。概して言えば、ＰＤＩベースのデータ処理は、破線２８００の右側の動作／機能により表わされる。「初期の開始」とラベルを付けられた点で、ＳＳ３はリセットされる。
【０１６１】
セマフォワードは参照符号２８７４においてＳＷにより読み出される。図示のように、判断ブロック２９０２においてチャネルが休止されていると、休止フラグ２８７６はクリアされ、参照符号２８７４においてセマフォワードは再び読み出される。休止が有効である場合、ＳＷは、ＳＷが入ってプログラミングに変更を加えるか、またはデータを集めることができるよう、サブシステムを停止させたいということを通知する。これは、例えばＰＤＩベースで、または、チャネルがサブシステムへ入る時に起こりうる。
【０１６２】
チャネルは休止されていないがオンしていない場合は、参照符号２９２４においてＳＳ２（信号処理サブシステム）のチャネルが停止されたかどうかが判断される。ＳＳ２のチャネルが停止されていない場合は、参照符号２８７２においてチャネル基底ポインタまたはリンクポインタが更新される。次に、主制御要素がオンかどうかは参照符号２９２２において判断される。主制御要素がオンではない場合、処理は初期設定（リセット）に戻る。主制御要素がオンの場合、前に説明したように、セマフォワードは参照符号２８７４において読み出される。
【０１６３】
判断ブロック２９０２を再び参照すると、チャネルがオフでも休止でもない場合、チャネルは参照符号２８５４においてアクティブとなる。ＳＳ３とＦＩＦＯ２は、参照符号２８５２においてチャネル用に初期化される。判断ブロック２９０４で、利用可能なＦＩＦＯ２データが存在するかどうかが判断される。先に説明されたように、この判断はラッピング規則の実施の一部である。利用可能なＦＩＦＯ２データが存在する場合、判断ブロック２９２６において、相互相関を実行するかどうかが判断される。相互相関が実行される場合、参照符号２９１８において、利用可能な相互相関データが存在するかどうかが判断される。相互相関データが利用可能な場合、参照符号２８５０において相互相関およびＦＦＴ処理が有効となる。次に、以下にさらに説明するように、参照符号２８４８において次の相互相関ポインタが読み出され、処理は判断ブロック２９０８に移る。
【０１６４】
相互相関が実行されない場合は、参照符号２８８０においてＦＦＴ処理が有効となる。参照符号２９０８に示すように、ＦＦＴ処理はＴ１が終了するまで続く。Ｔ１に対するＦＦＴ処理が終了すると、参照符号２９１０に示すように、ＰＤＩに対するＦＦＴ処理が終了したかどうかが判断される。ＰＤＩに対するＦＦＴ処理が終了すると、参照符号２９１２に示すように、ＰＤＩに対するＮＣＳ処理が終了したかどうかが判断される。ＰＤＩに対するＦＦＴ処理およびＮＣＳ処理が終了すると、ＰＤＩの数、奇数および偶数ハーフチップの数、周波数計数器が参照符号２８４４において更新される。参照符号２８３４により示されるハードウェア追跡ループ（ＨＷＴＬ）は複数のパラメータを更新する。ＨＷＴＬフィルタは参照符号２８４２において繰り返される。ノルム値、ノイズ合計値およびバイアス値は、参照符号２８４０、２８３８、２８３６に示すようにそれぞれ更新される。
【０１６５】
ＨＴＷＬ２８３４後、参照符号２９１４において、ＰＤＩ休止が有効になったかどうかが判断される。有効になっていない場合、参照符号２９１６において、終了状態が存在するかどうかが判断される。終了状態が存在する場合、ＳＳ２とＳＳ３に対するターンオフ・フラグが参照符号２８３０において設定される。次に、処理は参照符号２９０４へ戻る。終了状態が存在しない場合、処理は参照符号２９０４へ戻る。
【０１６６】
ＰＤＩ休止が有効になると、休止フラグ２８３２はクリアされ、参照符号２９１６において終了が検知される。
【０１６７】
参照符号２９１０へ戻り、ＰＤＩのＦＦＴ処理が終わっていなければ、参照符号２９２０において終了状態がチェックされる。終了状態が存在する場合、処理は参照符号２９０４へ戻る。終了状態が存在しない場合、ＳＳ２とＳＳ３に対するターンオフ・フラグが参照符号２８４６において設定され、処理は次に参照符号２９０４へ戻る。
【０１６８】
参照符号２９０４を再び参照すると、ＦＩＦＯ２データが利用可能でなければ、参照符号２９０６において、ＳＳ２のチャネルが停止されるかどうかが判断される。ＳＳ２のチャネルが停止されると、処理は再びＦＩＦＯ２データをチェックするために参照符号２９０４へ戻る。ＳＳ２のチャネルが停止されていない場合、参照符号２８５６において報告コンテキストが有効にされたかどうか、またＮＣＯが変化したかどうかが判断される。報告コンテキストが有効にされない場合、またＮＣＯが変化しなかった場合、参照符号２８６２において１００ｍｕｔ（１００ミリ秒）報告が有効にされたかどうか、および報告すべき１００ｍｕｔのデータが存在するかどうかが判断される。そうならば、１００ｍｕｔ報告は参照符号２８６０において作成され、処理は参照符号２８６４へ移る。参照符号２８６４は、ＨＷＴＬコンテキストと、チャネルＲＡＭ内のＮＣＯを更新するように支援するＨＷＴＬおよびＳＷを繰り返しを含む。２８６４のイベントはまた、１００ｍｕｔ報告が有効にされていなかったり、報告すべき１００ｍｕｔのデータが存在しないという参照符号２８６２における判断に応答して発生する。
【０１６９】
参照符号２８５６を再び参照すると、報告コンテキストが有効にされ、かつＮＣＯが変化したことが判断されると、コンテキスト報告は参照符号２８５８において作成され、そして処理は参照符号２８６４へ進む。参照符号２８６４の後、シャットダウン状態は参照符号２８６６において保存される。参照符号２８６８においてセマフォワードは更新され、そして適切な割り込みが有効となる。次に、チャネルは参照符号２８７０において非アクティブとされる。前に説明したように、チャネル基底ポインタまたはリンクポインタは参照符号２８７２において更新され、そして処理は続く。
【０１７０】
説明した実施態様のいずれのメモリの割振りと共有の態様も、特定用途向けＩＣ（ＡＳＩＣ）だけでなくプログラマブルロジック装置（ＰＬＤ）、例えば、フィールドプログラマブル・ゲートアレイ（ＦＰＧＡ）、プログラマブルアレイロジック（ＰＡＬ）装置、電気的プログラマブルロジックおよびメモリ装置、および標準的なセルベースの装置を含む多種多様の回路のいずれにも、プログラムされた機能として実施することができる。実施態様のメモリの割振りと共有の態様を実施する他のいくつかの可能性としては、メモリ（電子的消去可能プログラマブル・リードオンリーメモリ（ＥＥＰＲＯＭ））を備えたマイクロコントローラ、埋め込み型マイクロプロセッサ、ファームウエア、ソフトウェア等が挙げられる。更に、実施態様のメモリの割振りと共有の態様は、ソフトウェアベースの回路エミュレーション、個別ロジック（順序および組合せ）、カスタム装置、ファジー（ニューラル）ロジック、量子装置、および上記装置タイプの任意の混成物を有するマイクロプロセッサにおいて具現化することができる。もちろん、この根底の装置技術は、多種多様の部品タイプ、例えば相補型金属酸化膜半導体（ＣＭＯＳ）のような金属酸化膜半導体電界効果トランジスタ（ＭＯＳＦＥＴ）技術、エミッタ結合論理（ＥＣＬ）のようなバイポーラ技術、ポリマー技術（例えば、シリコンを結合したポリマー、金属を結合したポリマー金属構造）、アナログおよびディジタル混載等において提供することができる。
【０１７１】
本明細書および特許請求の範囲を通して文脈上明確に必要な場合以外は、単語「含む」および「含んだ」などは、排他的または網羅的意味とは対照的に包括的な意味で解釈されるべきであり、すなわち、「包含した」という意味であって限定するものではない。単数または複数で用いた単語もまた、それぞれ複数または単数を含む。さらに、単語「ここに」、「この下に」、「上記」、「以下に」、および同様なものを取り込んだ用語は、本明細書で用いられた場合、本特許の任意の特定の部分ではなく全体としての本特許を指すものとする。単語「または」が２つ以上の項目のリストを参照して使用された場合、該単語は、該単語の以下の解釈すべて、すなわちリスト内の項目の任意のもの、リスト内の項目すべて、およびリスト内の項目の任意の組合せを包含する。
【０１７２】
例示したメモリ共有の実施態様の上記説明は、包括的であること、または開示された厳密な形式に本発明を限定することも意図しない。メモリ共有に対する特定の実施態様と実例は、本明細書では例示的な目的のために説明されたが、関連技術における当業者が認識するであろうように、様々な等価な修正は本発明の適用範囲内で可能である。本明細書で提供されたメモリの割振りと共有の教示は、上述の電子システム用だけではなく他の電子システムにも適用することができる。
【０１７３】
上述の様々な実施態様の要素および行為は、さらなる実施態様を提供するために組み合わせることができる。実施態様のメモリ共有に対するこれら、および他の変更は、上記詳細な説明に照らし行うことができる。
【０１７４】
本明細書で説明された実施態様の態様は、様々な特許のシステム、機能、概念、および上述の応用を使用し、メモリの割振りと共有のさらなる実施態様を提供するために必要ならば修正することができる。
【０１７５】
一般的には、特許請求の範囲において使用される用語は、メモリの割振りと共有を本明細書および特許請求の範囲において開示された特定の実施態様に限定して解釈すべきでなく、メモリの割振りと共有を提供する特許請求の範囲の下で作動するすべての電子システムを含めて解釈すべきである。従って、メモリの割振りと共有は本開示により限定されるものではなく、メモリ共有の適用範囲は特許請求の範囲により完全に決定されるべきである。
【０１７６】
メモリの割振りと共有の特定な態様は、特定の請求項形式で提示されるが、本発明者らは任意の数の請求項形式でのメモリの割振りと共有の様々な態様を考察している。例えば、メモリの割振りと共有の１つの態様のみが、コンピュータ可読媒体において具現化されるものとして記載されているが、他の態様も同様にコンピュータ可読媒体において具体化することができる。従って、本発明者らは、本出願後、本メモリの割振りと共有の他の態様に関するこのような追加の請求項形式を追求する付加的な特許請求の範囲を追加する権利を留保する。
【図面の簡単な説明】
【０１７７】
【図１】信号処理システムを含むシステムの実施態様のブロック線図である。
【図２】信号処理部の一実施態様のサブシステムを示すブロック線図である。
【図３】アービトレーション・ユニットを含む信号処理部の実施態様のブロック線図である。
【図４】アービトレーション・ユニットを示すとともに、ＲＡＭにアクセスする様々なエンティティに優先順位が割り当てられた実施態様を例示するブロック線図である。
【図５】入力サンプルＲＡＭへのアクセスを制御する際に発生するシグナリングのいくつかを示す制御構造（ＦＩＦＯ１）のブロック線図である。
【図６】コールドスタート・モードに関するメモリ割振りを含む信号処理部の構成を例示するブロック線図である。
【図７】粗捕捉モードに関するメモリ割振りを含む信号処理部の構成を例示するブロック線図である。
【図８】ホットスタート・モードに関するメモリ割振りを含む信号処理部の構成を例示するブロック線図である。
【図９】追跡モードに関するメモリ割振りを含む信号処理部の構成を例示するブロック線図である。
【図１０】データが入力サンプルＲＡＭ内に保存される方法のいくつかの態様を示すブロック線図である。
【図１１】コヒーレントＲＡＭに対するオーバーフローとアンダーフローの状態を例示する線図である。
【図１２】追跡モードなどのような２パス・高分解能モードにおけるコヒーレントＲＡＭ１２０５に対するオーバーフローとアンダーフローの状態を例示する線図である。
【図１３】複数のチャネル間で共有される単一のコヒーレントＲＡＭの例を例示するブロック線図である。
【図１４】割り振られたコヒーレントデータメモリ領域（すなわちコヒーレントＲＡＭ）内にデータを保存する多様なモードを例示するブロック線図である。
【図１５】割り振られたＮＣＳデータメモリ領域（すなわち、バックエンド保存ＲＡＭ）内にデータを保存する多様なモードを例示するブロック線図である。
【図１６】様々な動作モードにおけるＲＡＭ保存の多様なモードの概念を例示する線図である。
【図１７】一実施態様におけるチャネルＲＡＭと、そのＲＡＭと通信する要素とを例示するブロック線図である。
【図１８】信号処理サブシステム・シーケンサの一実施態様におけるチャネル・シーケンス制御の概念を例示するブロック線図である。
【図１９】実施態様におけるＳＳ２とＳＳ３の相互作用におけるラッピング規則を例示する線図である。
【図２０】一実施態様のセマフォワード構造の線図である。
【図２１】実施態様におけるセマフォワードの構成を示す。
【図２２】一実施態様におけるＨＷ制御セマフォ、ＳＷ制御セマフォ、「休止」セマフォを含むＳＳ２、ＳＳ３、ＦＩＦＯ１セマフォのリストである。
【図２３】実施態様による割り込みリストである。
【図２４】実施態様によるＳＳ２とＳＳ３に対する終了状態のリストである。
【図２５】シーケンサの実施態様のブロック線図である。
【図２６】実施態様にしたがってＲＡＭアドレスを作成する要素のブロック線図である。
【図２７】一実施態様の信号処理サブシステム・シーケンサの動作を例示するフローチャートである。
【図２８】一実施態様のＦＦＴサブシステム・シーケンサの動作を例示するフローチャートである。
【図１】
2007504555.tif 000003
【図２】
2007504555.tif 000004
【図３】
2007504555.tif 000005
【図４】
2007504555.tif 000006
【図５】
2007504555.tif 000007
【図６】
2007504555.tif 000008
【図７】
2007504555.tif 000009
【図８】
2007504555.tif 000010
【図９】
2007504555.tif 000011
【図１０】
2007504555.tif 000012
【図１１】
2007504555.tif 000013
【図１２】
2007504555.tif 000014
【図１３】
2007504555.tif 000015
【図１４】
2007504555.tif 000016
【図１５】
2007504555.tif 000017
【図１６】
2007504555.tif 000018
【図１７】
2007504555.tif 000019
【図１８】
2007504555.tif 000020
【図１９】
2007504555.tif 000021
【図２０】
2007504555.tif 000022
【図２１】
2007504555.tif 000023
【図２２】
2007504555.tif 000024
【図２３】
2007504555.tif 000025
【図２４】
2007504555.tif 000026
【図２５】
2007504555.tif 000027
【図２６】
2007504555.tif 000028
【図２７】
2007504555.tif 000029
【図２８】
2007504555.tif 000030
【手続補正書】
【提出日】平成18年8月29日(2006.8.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項２５
【補正方法】変更
【補正の内容】
【請求項２５】
前記シーケンサが、
関連するチャネルがオフでなく、かつ休止されてないかどうかを判断するためにチャネルレコードを読み出し、
前記チャネルがオフでなく、かつ休止されていない場合に、少なくとも１つのステータスフラグを設定し、クリアすることを含めて前記チャネルをアクティブ化し、前記ステータスフラグはセマフォワード内のビットを備え、
予め定められた期間の間、チャネルデータを処理し、
そして少なくとも１つのステータスフラグを設定し、クリアすることを含めてチャネルを非アクティブ化するように、
構成された信号処理サブシステム・シーケンサを含む請求項２４に記載の信号処理システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００７３
【補正方法】変更
【補正の内容】
【００７３】
いくつかの実例では、コヒーレントＲＡＭ２０５および／またはバックエンド保存ＲＡＭ２０９が複数のチャネル間で共有される。このことは、複数のコヒーレントＲＡＭと複数のバックエンド保存ＲＡＭを効果的に有するものと見なすことができる。これにより、複数のチャネルが、同じメモリ領域内で連続してコヒーレントに累算できる。すなわち、メモリを共有する様々なモードがあり、例えば１つのモードではコヒーレントＲＡＭは、コンテキストの継続期間の間はチャネル専用であり、一方別のモードでは、コヒーレントＲＡＭは様々なチャネル間で共有される（チャネルはコンテキストの期間中、特定のサブシステムを使用する）。しかしながら、信号処理サブシステム２１３とＦＦＴサブシステム２１５が同一の共有コヒーレントＲＡＭにアクセスしようとする場合は、ライブアドレスポインタが使用される。信号処理サブシステム２１３は、コヒーレントＲＡＭに関する基底アドレスポインタを調べることにより、同じコヒーレントＲＡＭ領域が使用されているかどうかを知る。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０１５２
【補正方法】変更
【補正の内容】
【０１５２】
図２７は、図３のシーケンサ３１３ａのような信号処理サブシステム・シーケンサの動作を例示するフローチャートである。「初期の開始」とラベルを付けられた点で、ＳＳ２はリセットされる。参照符号２８４０において、セマフォワードはソフトウェア（「ＳＷ」）により読み出される。図示のように、判断ブロック２８０２においてチャネルが休止されていると、休止フラグ２８４２はクリアされ、処理は参照符号２８４０のセマフォワード読み出しに戻る。チャネルがオフであることをセマフォワードが示すと、参照符号２８３８において、チャネル基底ポインタまたはリンクポインタが更新される。次に、参照符号２８１２において主制御要素がオンかどうかが判断される。主制御要素がオンではない場合、処理は初期開始点、すなわちリセットに戻る。
【国際調査報告】
2007504555.tif 000031