JP5295788B2 - Method and apparatus for performing code space search at receiver - Google Patents
Method and apparatus for performing code space search at receiver Download PDFInfo
- Publication number
- JP5295788B2 JP5295788B2 JP2008557521A JP2008557521A JP5295788B2 JP 5295788 B2 JP5295788 B2 JP 5295788B2 JP 2008557521 A JP2008557521 A JP 2008557521A JP 2008557521 A JP2008557521 A JP 2008557521A JP 5295788 B2 JP5295788 B2 JP 5295788B2
- Authority
- JP
- Japan
- Prior art keywords
- coherent
- search
- searcher
- memory
- accelerator
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/24—Acquisition or tracking or demodulation of signals transmitted by the system
- G01S19/30—Acquisition or tracking or demodulation of signals transmitted by the system code related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
- H04B1/7073—Synchronisation aspects
- H04B1/7075—Synchronisation aspects with code phase acquisition
- H04B1/7077—Multi-step acquisition, e.g. multi-dwell, coarse-fine or validation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
- H04B1/7073—Synchronisation aspects
- H04B1/7075—Synchronisation aspects with code phase acquisition
- H04B1/7077—Multi-step acquisition, e.g. multi-dwell, coarse-fine or validation
- H04B1/70775—Multi-dwell schemes, i.e. multiple accumulation times
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
- H04B1/7073—Synchronisation aspects
- H04B1/7075—Synchronisation aspects with code phase acquisition
- H04B1/708—Parallel implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B2201/00—Indexing scheme relating to details of transmission systems not covered by a single group of H04B3/00 - H04B13/00
- H04B2201/69—Orthogonal indexing scheme relating to spread spectrum techniques in general
- H04B2201/707—Orthogonal indexing scheme relating to spread spectrum techniques in general relating to direct sequence modulation
- H04B2201/70707—Efficiency-related aspects
- H04B2201/7071—Efficiency-related aspects with dynamic control of receiver resources
Abstract
Description
(関連出願の相互参照)
本願出願は、2006年3月2日に提出された米国特許仮出願第60/779,172号、「信号取得のための長コヒーレント積分装置および方法」の優先権を主張するものであり、また、2007年1月17日に提出された米国特許仮出願第60/885,523号、「受信機にてコードスペース探索を行う方法および装置」の優先権を主張するものである。上記両方の関連出願は譲受人に譲渡され、その全体は本願明細書に参照によって組み込まれる。
(Cross-reference of related applications)
This application claims priority from US Provisional Application No. 60 / 779,172, filed March 2, 2006, "Long Coherent Integrator and Method for Signal Acquisition", and US Patent Provisional Application No. 60 / 885,523, filed Jan. 17, 2007, "Method and apparatus for performing code space search at receiver". Both of the above related applications are assigned to the assignee and are incorporated herein by reference in their entirety.
本開示は、無線通信ディバイスの位置探査に関する。より具体的には、本開示は、無線通信ディバイスにおけるコードスペース探索の再構成可能なシステムに関する。 The present disclosure relates to locating a wireless communication device. More specifically, the present disclosure relates to a reconfigurable system for code space search in a wireless communication device.
多くの無線通信は、ダイレクトシーケンス拡散スペクトルを利用して情報の通信を行う。信号を拡散するために使用されるコードは一般に擬似ランダムコードである。受信機は一般に拡散コードを局所的に生成されたコードと相関させることにより内在する(underlying)情報を復元する。 Many wireless communications communicate information using a direct sequence spread spectrum. The code used to spread the signal is generally a pseudo-random code. The receiver typically recovers the underlying information by correlating the spreading code with the locally generated code.
受信機は、コードに関連した時間オフセットを利用し、位置探査を行うために利用可能な時間基準を確立する。擬似ランダム拡散信号から確立されたタイミングに基づく位置決定は、様々な位置探査システムで行われる。 The receiver uses the time offset associated with the code to establish a time reference that can be used to locate. Positioning based on timing established from the pseudo-random spread signal is performed in various position location systems.
例えば全地球測位システム(GPS)ナビゲーションシステムは、地球周囲の軌道内に存在する衛星を採用する。GPSのユーザであれば、地球上のどこでも、3次元位置、速度および日時を含む正確なナビゲーション情報を導き出すことができる。GPSシステムは、赤道に対して55°の角度で傾斜し、また相互に対して120°の角度で離間した3つの面において半径26,600キロメートルの円形軌道内に展開された24個の衛星を含んでいる。8個の衛星は3本の軌道経路の各々において等しく離間している。GPSを使用した位置測定は、軌道衛星からGPS受信機へのGPS信号放送の伝播遅延時間の測定に基づく。通常、4個の衛星からの信号の受信が四次元(緯度、経度、高度、時間)の正確な位置決定を行うために必要である。受信機が受信信号伝播遅延を測定すると、各衛星までの距離が各遅延に光速を乗じることにより計算される。次に、場所および時間が測定した距離およびわかっている衛星の場所を含み4未知数である4方程式の組を解くことにより求まる。GPSシステムの正確な機能は、各衛星用のオンボード原子時計手段、並びに衛星時計および軌道のパラメータを継続的に監視および修正する地上追跡局によって維持される。 For example, the Global Positioning System (GPS) navigation system employs satellites that exist in orbit around the earth. A GPS user can derive accurate navigation information anywhere on the globe including 3D position, speed and date. The GPS system consists of 24 satellites deployed in a circular orbit with a radius of 26,600 kilometers in three planes inclined at an angle of 55 ° to the equator and spaced at an angle of 120 ° to each other. Contains. The eight satellites are equally spaced in each of the three orbital paths. Position measurement using GPS is based on measurement of a propagation delay time of a GPS signal broadcast from an orbiting satellite to a GPS receiver. Usually, the reception of signals from four satellites is necessary for accurate positioning in four dimensions (latitude, longitude, altitude, time). When the receiver measures the received signal propagation delay, the distance to each satellite is calculated by multiplying each delay by the speed of light. It is then determined by solving a set of 4 equations that are 4 unknowns, including location and time measured distance and known satellite location. The exact function of the GPS system is maintained by an on-board atomic clock means for each satellite and a ground tracking station that continuously monitors and modifies the satellite clock and orbit parameters.
各GPS衛星は、L帯域で2個のダイレクトシーケンスコード化拡散スペクトル信号を送信する。L1信号は1.57542GHzのキャリア周波数にあり、L2信号は1.2276GHzにある。L1信号は、位相直交で変調された2つの位相シフトキー(PSK)拡散スペクトル信号で構成される。すなわち、Pコード信号(Pは厳密用)およびC/Aコード信号(C/Aは粗い/取得用)。L2信号は、Pコード信号のみを含む。PおよびC/Aコードは、キャリア上に変調されたビット(「チップ」とも呼ばれる)の反復性擬似ランダムシーケンスである。これらコードの時計的性質が、時間遅延測定を実施する上で受信機によって利用される。各衛星用のコードはユニークであって、全ての衛星が全て同一のキャリア周波数にある場合でも、どの衛星が与えられたコードを送信したかを受信機に識別させるものである。さらに、ナビゲーション計算に必要なシステム状態および衛星軌道のパラメータに関する情報を含んだ50ビット/秒のデータストリームも各キャリア上に変調される。Pコード信号は暗号化され、一般に商用および私用ユーザに対して利用不能である。C/A信号は全てのユーザが利用できる。 Each GPS satellite transmits two direct sequence coded spread spectrum signals in the L band. The L1 signal is at a carrier frequency of 1.57542 GHz and the L2 signal is at 1.2276 GHz. The L1 signal is composed of two phase shift key (PSK) spread spectrum signals modulated in phase quadrature. That is, a P code signal (P is strictly) and a C / A code signal (C / A is coarse / acquisition). The L2 signal includes only the P code signal. P and C / A codes are repetitive pseudo-random sequences of bits (also called “chips”) modulated on a carrier. The clock nature of these codes is utilized by the receiver in performing time delay measurements. The codes for each satellite are unique and allow the receiver to identify which satellite has transmitted the given code even if all the satellites are on the same carrier frequency. In addition, a 50 bit / second data stream containing information about system conditions and satellite orbit parameters required for navigation calculations is also modulated onto each carrier. P-code signals are encrypted and are generally not available to commercial and private users. The C / A signal can be used by all users.
GPS受信機において行われる動作は、ほとんどの部分について、どのダイレクトシーケンス拡散スペクトル受信機においても一般に行われるものである。擬似ランダムコード変調拡散効果は、逆拡散として知られる処理において、時間整列させて局所生成されたコードのコピーをこの効果に乗じることにより各信号から除去される必要がある。適切な時間整列やコード遅延は、受信機の起動時にはわからない傾向にあるため、これはGPS受信機動作の初期「取得」フェーズ中において探索することにより決定される必要がある。正確なコード時間整列が決定されると、GPS受信機動作の「追跡」フェーズ中においてこれが維持される。 The operations performed in the GPS receiver are generally performed in most direct sequence spread spectrum receivers for the most part. The pseudo-random code modulation spreading effect needs to be removed from each signal by multiplying this effect by a time-aligned locally generated copy of the code in a process known as despreading. Since proper time alignment and code delays tend not to be known at receiver startup, this needs to be determined by searching during the initial “acquisition” phase of GPS receiver operation. Once an accurate code time alignment is determined, this is maintained during the “tracking” phase of GPS receiver operation.
受信信号が拡散されると、各信号は、中間キャリア周波数における50ビット/秒のPSK信号で構成される。この信号の厳密な周波数は、衛星と端末ユニットとの間の相対動作によって生じたドップラー効果や、局所受信機GPS時計基準エラーのために不確定である。通常、初期信号取得前にはわからないこのドップラー周波数を初期信号取得中に探索する必要がある。ドップラー周波数がほぼ決定したら、キャリア復調に進む。 When the received signal is spread, each signal is composed of a 50 bit / second PSK signal at an intermediate carrier frequency. The exact frequency of this signal is indeterminate due to the Doppler effect caused by the relative motion between the satellite and the terminal unit, and the local receiver GPS clock reference error. Normally, it is necessary to search for this Doppler frequency during initial signal acquisition, which is not known before initial signal acquisition. When the Doppler frequency is almost determined, the carrier demodulation is performed.
キャリア復調後、データビットタイミングがビット同期ループによって導出され、データストリームが最終的に検出される。ナビゲーション計算は、4個の衛星からの信号が取得されてロックされて、必要な時間遅延およびドップラー測定が行われて、十分な数(GPS時間基準および軌道のパラメータを決定するために足る)のデータビットが受信されると実施できるようになる。 After carrier demodulation, the data bit timing is derived by a bit synchronization loop and the data stream is finally detected. The navigation calculations are performed with the signals from the four satellites acquired and locked, and the necessary time delay and Doppler measurements are made, sufficient to determine the GPS time base and orbital parameters. It can be implemented when a data bit is received.
場所決定に関するGPSシステムの1つの欠点は、初期信号取得フェーズに長い時間がかかることである。上述したように、4個の衛星信号を追跡できるようになる前に、次元がコード位相遅延およびドップラー周波数シフトである2次元探索「スペース」でこれらの衛星を探索する必要がある。一般に、受信機「コールドスタート」の後の場合と異なり、この探索スペース内における信号の場所についての事前情報を持っていないと、取得および追跡対象である各衛星について多くの数のコード遅延(約2000)およびドップラー周波数(約15)を探索する必要がある。そのため、各信号について、30,000に及ぶ探索スペース内の場所を検査する必要がある。一般に、これらの場所は1つずつ順次に検査され、1つの処理につき5〜10分の時間がかかる。受信アンテナの視野内にある4個の衛星の証明(即ちPNコード)が未知である場合には、この取得時間はさらに長くなる。 One drawback of the GPS system for location determination is that the initial signal acquisition phase takes a long time. As mentioned above, before four satellite signals can be tracked, these satellites need to be searched with a two-dimensional search “space” whose dimensions are code phase delay and Doppler frequency shift. In general, unlike after the receiver “cold start”, if you do not have prior information about the location of the signal within this search space, a large number of code delays (approximately 2000) and Doppler frequencies (about 15) need to be searched. Therefore, for each signal, it is necessary to inspect locations within the search space of 30,000. In general, these locations are inspected sequentially one by one and take 5-10 minutes per process. This acquisition time is even longer if the proofs (ie PN codes) of the four satellites in the field of view of the receiving antenna are unknown.
GPS受信機が衛星信号を既に取得していて、ここで追跡モードになっている場合には、位置決定処理は事実上即時的である。しかし、無線端末のルーチンの使用においては、ユーザが電源を入れて速やかに動作を開始させる。これは、緊急通信を意図するような場合である。こうした状況では、位置決定される前のGPS/無線端末ユニットによる5〜10分間のGPS衛星信号取得コールドスタートに関連した時間遅延がシステムの応答時間を制限する。 If the GPS receiver has already acquired satellite signals and is now in tracking mode, the positioning process is practically immediate. However, when using the routine of the wireless terminal, the user turns on the power and starts the operation promptly. This is a case where emergency communication is intended. In these situations, the time delay associated with the 5-10 minute GPS satellite signal acquisition cold start by the GPS / wireless terminal unit before being located limits the response time of the system.
そのため、GPS/無線端末ユニットにおいてGPS衛星信号を取得して位置決定を下すために必要な時間を短縮するシステムおよび方法の必要性が技術上依然として残る。 Thus, there remains a need in the art for a system and method that reduces the time required to acquire and determine a GPS satellite signal in a GPS / wireless terminal unit.
ここでは、受信信号のコードスペース探索を実施する装置および方法について説明する。コードスペース探索は、初期積分期間の各境界において動的な再構成が可能なサブタスクを行う探索器として実施される。各特定サブタスクは、初期積分期間中に行われるコヒーレント積分仮説のプログラム可能な構成を明らかにする。探索器は、コヒーレント積分仮説の結果をメモリの第1部分に記憶する。探索加速器がこの初期積分結果について動作する。探索加速器は、異なるタイミング仮説の様々な周波数ビンのコヒーレント積分を実行でき、コヒーレント積分結果のエネルギー値を生成でき、非コヒーレントエネルギーの和を生成できる。コヒーレント積分のエネルギーと非コヒーレントエネルギーの和のエネルギー値はメモリの第2部分に記憶される。加速器動作およびサブタスクを再構成する機能は探索スペースの様相において柔軟性を提供する。 Here, an apparatus and method for performing a code space search of a received signal will be described. The code space search is implemented as a searcher that performs subtasks that can be dynamically reconfigured at each boundary of the initial integration period. Each specific subtask reveals a programmable configuration of the coherent integration hypothesis that takes place during the initial integration period. The searcher stores the result of the coherent integration hypothesis in the first part of the memory. A search accelerator operates on this initial integration result. The search accelerator can perform coherent integration of various frequency bins with different timing hypotheses, can generate energy values of coherent integration results, and can generate a sum of non-coherent energies. The energy value of the sum of the coherent integration energy and the non-coherent energy is stored in the second part of the memory. The ability to reconfigure accelerator operations and subtasks provides flexibility in the search space aspect.
本発明の態様は、コードスペース探索のための装置を含む。この装置は、メモリと、複数のプログラム可能タスクを行い、各プログラム可能タスクについて、初期積分期間に渡って取得した複数のコヒーレント積分結果を生成するように構成される探索器と、選択可能探索モードによって決定された1以上のコヒーレント積分の期間長および周波数オフセットに基づいて、探索器積分結果の少なくとも1つのコヒーレント累積を決定するように構成される加速器と、探索器から前記メモリへ積分結果を転送するように構成されると共に、メモリから加速器へこの積分結果を転送するように構成されるデータムーバとを備える。 Aspects of the invention include an apparatus for code space search. The apparatus includes a memory, a searcher configured to perform a plurality of programmable tasks, and for each programmable task to generate a plurality of coherent integration results acquired over an initial integration period, and a selectable search mode An accelerator configured to determine at least one coherent accumulation of searcher integration results based on a period length and frequency offset of one or more coherent integrations determined by, and transferring the integration results from the searcher to the memory And a data mover configured to transfer the integration result from the memory to the accelerator.
本発明の態様は、コードスペース探索のための装置を含む。この装置は、コードスペース探索に割り当てられアクティブなプログラム可能探索モードに依存する部分を有するメモリと、このメモリに結合した積分回路とを備える。この積分回路は、複数のプログラム可能な探索タスクの各々について初期積分期間に渡って決定された複数のコヒーレント積分結果を生成するように構成される探索器、アクティブなプログラム可能探索モードによって決定された周波数仮説およびコヒーレント積分の期間長に渡るコヒーレント積分結果のコヒーレント累積を決定するように構成される加速器、およびこの探索器およびメモリの間、この加速器およびメモリの間でDMAデータ転送を行うように構成されるデータムーバを含む。 Aspects of the invention include an apparatus for code space search. The apparatus includes a memory having a portion assigned to code space search and dependent on an active programmable search mode, and an integration circuit coupled to the memory. The integrator circuit is determined by an active programmable search mode, a searcher configured to generate a plurality of coherent integration results determined over an initial integration period for each of a plurality of programmable search tasks. An accelerator configured to determine coherent accumulation of coherent integration results over the frequency hypothesis and the period length of the coherent integration, and configured to perform DMA data transfer between the accelerator and memory between the searcher and memory Data mover to be included.
本発明の態様は、コードスペース探索の方法を含む。この方法は、受信無線信号のコンプレックスサンプル(complex samples)を捕捉し、複数のコードスペース探索タスクを構成し、初期積分期間に渡って取得した複数のコヒーレント積分結果を生成するためにコードスペース探索タスクの各々を実行し、複数のコヒーレント積分結果のコヒーレント累積、このコヒーレント累積に関連した積分の期間長および周波数オフセットをプログラム可能なコードスペース探索モードに基づいて決定することを備える。 Aspects of the invention include a code space search method. This method captures complex samples of the received radio signal, configures multiple code space search tasks, and generates multiple coherent integration results obtained over the initial integration period. And determining a coherent accumulation of a plurality of coherent integration results, a period length of integration associated with the coherent accumulation, and a frequency offset based on a programmable code space search mode.
本発明の態様はコードスペース探索の方法を含む。この方法は、受信無線信号のコンプレックスサンプル(complex samples)を捕捉し、複数のコードスペース仮説に関連した複数のコヒーレント積分結果を生成するために複数のコードスペース探索タスクの各々を実行し、これら複数のコヒーレント積分結果をメモリに記憶し、積分の期間長に対応する多数のコヒーレント積分結果をメモリから読み出し、これら多数のコヒーレント積分結果のコヒーレント累積を決定することを備える。 Aspects of the invention include a code space search method. The method captures complex samples of a received radio signal and performs each of a plurality of code space search tasks to generate a plurality of coherent integration results associated with a plurality of code space hypotheses. Storing a plurality of coherent integration results in a memory, reading a plurality of coherent integration results corresponding to the integration period length from the memory, and determining a coherent accumulation of the plurality of coherent integration results.
本開示の実施形態の特徴、目的、利点は、図面および以下に述べる詳細な説明からさらに明らかになる。図面中では、同様の要素が同様の参照符号で示される。 Features, objects, and advantages of embodiments of the present disclosure will become more apparent from the drawings and detailed description set forth below. In the drawings, similar elements are denoted by similar reference numerals.
無線通信環境における信号取得および追跡のためにコードスペース探索を動的に再構成可能なシステムおよび方法について説明する。再構成可能なシステムは、1以上の探索増分についてサンプルを記憶するように構成されるサンプルメモリを含む。 Systems and methods are described that can dynamically reconfigure code space search for signal acquisition and tracking in a wireless communication environment. The reconfigurable system includes a sample memory configured to store samples for one or more search increments.
再構成可能な探索器は、コードスペース探索およびコヒーレント積分のために記憶したサンプルをアクセスする。再構成可能な探索器は、所定数のチャネルのうちのいずれか1つをサポートするように動的に構成できる複数の相関器を含んでいる。探索器の構成、並びにチャネルに対する相関器の割り当ては探索増分毎に更新できる。 A reconfigurable searcher accesses stored samples for code space search and coherent integration. The reconfigurable searcher includes a plurality of correlators that can be dynamically configured to support any one of a predetermined number of channels. Searcher configuration, as well as correlator assignments for channels, can be updated with each search increment.
これら相関器は、対応チャネル割り当ての各々について相関結果を生成でき、探索器はこの結果を記憶装置内に書き込みできる。記憶装置のサイズは、所望のコヒーレント積分期間に基づいて動的に再割り当てできる。 These correlators can generate a correlation result for each of the corresponding channel assignments, and the searcher can write this result into storage. The size of the storage device can be dynamically reassigned based on the desired coherent integration period.
データムーバがこの記憶装置をアクセスし、探索器結果をサンプルバッファへ転送する。サンプルバッファは、第1サンプルバッファ部分および第2サンプルバッファ部分を持つダブルバッファとして構成されることができる。データムーバは、書き込み中でないバッファ部分の同時読み出しを認めるために第1または第2バッファ部分の一方に対する書き込みを交互に行う。第1および第2サンプルバッファ部分のサイズは、コヒーレント積分期間であり得る初期積分期間に対応させて動的に構成できる。 The data mover accesses this storage device and transfers the searcher results to the sample buffer. The sample buffer can be configured as a double buffer having a first sample buffer portion and a second sample buffer portion. The data mover alternately writes to one of the first or second buffer portions to allow simultaneous reading of the buffer portions not being written. The sizes of the first and second sample buffer portions can be dynamically configured to correspond to an initial integration period that can be a coherent integration period.
加速器がサンプルバッファからの相関結果をアクセスし、次にサンプルバッファへの書き込みのタイミングに対して相補的な形式で第1サンプルバッファ部分および第2サンプルバッファ部分を交互にアクセスする。加速器は、動的に調整可能な初期積分期間に渡る探索器結果のコヒーレント累積を決定する。初期積分期間の長さは、潜在的データ変調期間を越えて延長できる。例えば、この初期積分期間はエッジ遷移と受信データを追跡することによって20ミリ秒のデータ変調期間を越えて延長できる。加速器は、エッジ遷移および潜在的データの値に基づいて相関結果を選択的に反転できる。 The accelerator accesses the correlation results from the sample buffer, and then alternately accesses the first sample buffer portion and the second sample buffer portion in a manner complementary to the timing of writing to the sample buffer. The accelerator determines the coherent accumulation of searcher results over a dynamically adjustable initial integration period. The length of the initial integration period can be extended beyond the potential data modulation period. For example, this initial integration period can be extended beyond a 20 ms data modulation period by tracking edge transitions and received data. The accelerator can selectively invert the correlation results based on edge transitions and potential data values.
加速器は、コヒーレント累積結果の各々についてエネルギーまたは大きさを生成できる。加速器はエネルギーバッファにエネルギー結果を書き込む。エネルギーバッファも、第1エネルギーバッファ部分および第2エネルギーバッファ部分を持ちダブルバッファとして構成できる。加速器は、エネルギーバッファの第1部分に書き込み、同時に第2エネルギーバッファ部分から読み出しを行える。 The accelerator can generate energy or magnitude for each of the coherent accumulation results. The accelerator writes the energy result to the energy buffer. The energy buffer can also be configured as a double buffer with a first energy buffer portion and a second energy buffer portion. The accelerator can write to the first portion of the energy buffer and simultaneously read from the second energy buffer portion.
データムーバも、エネルギーバッファに対して読み出しおよび書き込みするように構成できる。データムーバはエネルギーバッファからエネルギー結果を読み出し、これらを記憶装置に書き込み、先行のエネルギー結果を記憶装置からエネルギーバッファへ読み出すことができる。 The data mover can also be configured to read and write to the energy buffer. The data mover can read the energy results from the energy buffer, write them to the storage device, and read the previous energy results from the storage device to the energy buffer.
加速器は、複数のエネルギー結果を合計することで非コヒーレント積分を決定できる。これら結果はエネルギーバッファ内にバッファされ、データムーバが非コヒーレント合計を記憶装置に記憶できる。 The accelerator can determine non-coherent integration by summing multiple energy results. These results are buffered in an energy buffer so that the data mover can store the non-coherent sum in storage.
図1は、位置探索をサポートする無線通信システム100の実施形態の単純化ブロック図である。
FIG. 1 is a simplified block diagram of an embodiment of a
無線通信システム100は、ユーザ端末110と通信できる1以上の地上要素を含むことができる。ユーザ端末110は、例えば1以上の通信規格に従って動作するように構成される無線電話であってよい。この1以上の通信規格は、例えばGSM、WCDMA、CDMA2000を含む。ユーザ端末110は携帯ユニット、移動ユニット、または据置ユニットであってよい。また、ユーザ端末110は、移動ユニット、移動端末、移動局、ユーザ機器、ポータブル、電話などとも呼ばれる。
The
ユーザ端末110は、一般に、セクタ化セルラータワーとしてここで示す1以上の基地局120aまたは120bと通信する。通常、ユーザ端末110はユーザ端末110内の受信機での最大信号強度を提供する基地局、例えば120bと通信しようとする。2個の基地局120a、120b、並びに1つのユーザ端末110が、便宜性および明瞭性の目的で、図1に示される。システムは、通常、多数の基地局を持ち、1個を越えるユーザ端末をサポートすることができる。
このユーザ端末110は1以上の信号ソースから受信した位置探索信号に基づいて部分的に自身の位置を決定できる。これら信号ソースは、GPSのような衛星ベース位置探索システムの一部であってよい1以上の衛星130を含むことができる。また、これら信号ソースは1以上の基地局120aまたは120bを含んでもよい。
The
ユーザ端末110は、各位置探索信号ソースまでの擬似距離を決定することによって部分的に自身の場所を決定できる。各位置探索信号ソースが擬似ノイズコードを使用して拡散された位置探索信号を伝送すると、ユーザ端末が局所的に生成された擬似ノイズコードを受信信号と相関させることによりある程度擬似距離を決定して、受信擬似ノイズ信号の位相を決定できる。ユーザ端末110は、この受信擬似ノイズ信号の位相に部分的に基づいて時間または距離と相関する擬似距離を決定できる。
The
基地局120aおよび120bの各々は、適切な基地局120aおよび120bへまたはからの通信信号の経路を決める基地局コントローラ(BSC)140に結合できる。BSC140は、ユーザ端末110と公衆交換電話ネットワーク(PSTN)170との間のインターフェースとして動作するように構成できる移動交換センター(MSC)150に結合されてよい。このため、MSC150がPSTN170に結合されてもよい。さらに、MSC150は、他の通信システムとの内部システムハンドオフを調整するように構成されてもよい。
Each of the
位置探索センター(PLC)160はBSC140に結合してもよい。PLC160は、例えば位置探索システム100内における基地局120aおよび120bの各々の場所のような位置探索情報を記憶するように構成されることができる。一実施形態において、PLC160は、この情報をユーザ端末110に提供してユーザ端末110が相対到達時間値であってよい複数の信号ソースまでの擬似距離に部分的に基づいて自身の場所を決定できるように構成することができる。別の実施形態において、PLC160は、ユーザ端末110によって提供される擬似距離情報に基づいてユーザ端末110の場所を決定するように構成されることができる。後者の実施形態では、PLC160内のネットワークサーバ(図示せず)がユーザ端末110からの処理をオフロードするために位置探索決定を行える。
A location center (PLC) 160 may be coupled to the
PLC160は、BSC140を介して基地局120aおよび120bに命令して位置探索信号を生成させるように構成できる。別の実施形態では、基地局120a、120bが周期的に位置探索信号を生成するように構成できる。
The
ユーザ端末110は、PLC160と共同で、いくつかの位置探索技術のうち任意の1つを使用して自身の位置を決定できる。ユーザ端末110またはPLC160は、擬似距離値を生成するために使用される信号ソースに部分的に基づいてこの技術を選択できる。例えば、ユーザ端末110は到達時間(TOA)、到達時間差(TDOA)、アドバンスドフォワードリンク三辺測量(AFLT)、またはこれ以外の位置探索技術を使用してよい。ユーザ端末110またはPLC160は、GPSに基づくもので、ハイブリッド位置探索システムのような地上ベースビーコンによってGPS信号を増大させるもので、かつ地上ベースのビーコンから導出される擬似距離値に基づくものである位置探索技術を実行することによりユーザ端末110の位置を決定できる。
The
例えば始動伴って最初の位置決定を生成するため、GPS衛星信号を処理するように構成されたユーザ端末110内の受信機は、全衛星PNコードシーケンス、全PNコード位相仮説、および全ドップラー周波数オフセットに渡って探索を必要とする。これは、探索が24個の衛星、所定範囲のドップラー周波数、1023個のコード仮説(これは、通常2046個の離散ハーフチップコードシフトおよび計算として実行される)に渡って行われることを意味する。初期位置が決定されると、ユーザ端末110は探索した周波数およびコード位相の数を、初期位置を決定する際に使用した衛星信号に基づくサブセットに制限する。ユーザ端末110は、探索する離散衛星PNコードシーケンスの数を、実際に見える衛星のセット、一般的には8個に減少させることができ、この数はさらに4個に減らすこともできる。
For example, a receiver in
しかし、単独のGPS衛生情報を使用して位置決定できない場合には、ユーザ端末110が1以上の地上ビーコンのための1以上のPNコードシーケンスを探索する必要がある。地上ビーコンによって使用されるコードシーケンスは、GPS衛星によって使用するコードシーケンスと通常異なっている。加えて、地上ベースの位置探索信号の処理およびタイムラインは、GPSのためのそれらとも通常異なる。
However, if location cannot be determined using single GPS health information, the
ユーザ端末110は再構成可能な受信信号プロセッサを含むことができる。この再構成可能な信号プロセッサは、複数の独立構成可能なリソースを含むことができ、複数の積分期間をサポートできる。これら独立構成可能なリソースは、選択されたコードスペース部分の探索を構成可能時間に渡って行うように構成できる。この探索結果は、構成可能な積分期間に渡ってコヒーレントに積分できる。さらに、この積分結果は非コヒーレントに積分できる。
ユーザ端末110内における再構成可能な受信信号プロセッサの実施は、このユーザ端末110が現在の処理条件に対して効率的な形式でリソースに専念することを認めるものである。例えば、ユーザ端末110は、初期位置決定中に、位置探索信号ソースの証明を迅速に識別するために、再構成可能な受信信号プロセッサを最大数の位置探索ソースに渡って探索するように構成することができる。例えば、ユーザ端末110は、まず、どの衛星が受信信号を発生したかを識別するために、所定最大数のGPS衛星に渡って探索を行うことができる。どの衛星が受信信号を発生したかを決定すると、ユーザ端末110は識別した衛星信号をより集中して処理するように受信信号プロセッサを再構成することができる。例えば、ユーザ端末110は周波数感度と並んで受信感度を向上させるためにより長いコヒーレント積分期間を構成できる。
The implementation of the reconfigurable received signal processor within the
図2は、コードスペース探索を実行する再構成可能な位置探索信号処理システム200の実施形態の単純化機能ブロック図である。この信号処理システム200は、探索器220に結合されたサンプルサーバ210を含む。探索器220はメモリ240に記憶される結果を生成する。加速器250がメモリ240内の探索器結果をアクセスして、追加の信号処理を行う。
FIG. 2 is a simplified functional block diagram of an embodiment of a reconfigurable position search
データムーバ230は、探索器220からの結果をメモリ240内の場所に書き込む。また、データムーバ230は加速器250に関連したバッファ260およびメモリ240間の読み出しおよび書き込み動作を制御する。バッファ260はサンプルバッファ262とエネルギーバッファ264に分割することができる。サンプルバッファ262およびエネルギーバッファ264の各々はダブルバッファとして構成でき、ここではデータがバッファの第1部分に書き込まれ、これと同時に別のデータがこのバッファの第2部分から読み出される。
The
コントローラ270は、探索器220および加速器250を構成するように動作する。例えば、コントローラ270は、探索器220によって行われるサブタスクを構成できる。また、コントローラ270はコヒーレント積分期間あるいは長さ、および加速器250によって行われる非コヒーレントエネルギー合計の長さを構成できる。
The
また、コントローラ270は様々な相関値およびエネルギー合計を記憶するために必要とされるメモリ量を構成できる。相関結果の記憶に必要なメモリ量は、コヒーレント積分の期間長および非コヒーレントエネルギー合計の数に一部基づいて決定される。コントローラ270は、構成をサポートするために必要なメモリリソースを利用し、未使用メモリを別の処理に使用できるようにする。コントローラ240はデータムーバ130がメモリ240の読み出し、または書き込みを行う際に適切なメモリの場所をアクセスできるようにするために動的メモリマップをデータムーバ230へ送る。
一般的に、サンプルサーバ210は、受信信号のコンプレックスサンプルを一時的に記憶しておくRAMのようなメモリとして実施される。別の実施形態では、サンプルサーバ210は、受信ベースバンド信号をサンプリングし、同相(I)サンプルおよび直交位相(Q)サンプルを生成するように構成されるコンプレックスアナログ/ディジタル変換器(ADC)のような信号サンプラを含んでよい。
In general, the
例えば、サンプルサーバ210は、2倍のチップ速度で取得された最大4ミリ秒のコンプレックスサンプルを記憶するように構成できる。無論、サンプルサーバ210は2倍のチップ速度で取得したサンプルに限定されるものではなく、実際のサンプル速度はチップ速度の分数または倍数であってよい。例えば、サンプルサーバ210は、チップ速度、チップ速度の4倍の速度、または他の間隔で取得したサンプルを記憶するように構成できる。信号処理システム200が受信GPS信号を処理するように構成される場合には、サンプリング速度は約2MHzであってよい。サンプルサーバ210は、これに記憶されているサンプルのミリ秒境界がコード期間に対応するGPSミリ秒境界と一致するようにリアルタイム時計(図示せず)と同期できる。
For example, the
探索器220は、サンプルサーバ210に記憶されたコンプレックスサンプルについて動作する。探索器220は、32個の独立構成可能なサブタスクをサポートし、各サブタスクは1ミリ秒毎に再割り当てできる。各サブタスクは64個の別々の仮説に渡って32個のチップウィンドウを探索する。このサブタスクは、GPS衛星に対応する同一または異なるコードを探索するように割り当てることができる。特定の衛星のコードスペースの探索に割り当てられたサブタスクの数の増大は、平均探索時間を短縮する。異なる仮説の総数と各ウィンドウの長さはハードウェア構成を変更することによって変更でき、また、サブタスクの実際数および構成は上述した例に限定されるものではない。
The
例えば、GPSコード位相探索では、サブタスクがサンプルの32チップウィンドウを64個に及ぶ異なる仮説に渡って探すように構成できる。探索する仮説の数は、コントローラ270によってプログラムでき、例えば2〜64までの2の倍数であってよい。
For example, in a GPS code phase search, a subtask can be configured to search a 32-chip window of samples across 64 different hypotheses. The number of hypotheses to search can be programmed by the
コード位相探索を実行する前に、探索器220が受信信号内の周波数オフセットを修正する。一実施形態では、探索器220が探索サンプルを所望の中心周波数にまで回転させるロテータを実現できる。ロテータによって補正できる周波数オフセットの量は、信号処理システム200によって行われる周波数探索として実施できる周波数修正ループに一部基づいて決定できる。
Prior to performing the code phase search,
探索器220は、受信し、オーバサンプルされたチップシーケンスの補間をオプションで行うことができる。この補間処理は、相関に先立つ入力信号の再サンプリングとも呼ばれる。一実施形態では、受信信号はコードシーケンスチップ速度の2倍の速度(チップ×2)でサンプリングされる。サンプラが、2個の連続したサンプルを補間し、可変遅延を導入する。この可変遅延は、一般的に1チップ期間の1/2よりも短く、さらに例えば、チップ期間の1/4、あるいは短いチップ期間の倍数であってよい。例えば、リサンプラは1チップ期間の1/8の倍数に遅延を導入することができ、ここで倍数は0〜3の範囲である。
探索器220は仮説の各々を使用して32チップシーケンスを逆拡散するが、ここで仮説は局所的に生成されたPNコードシーケンスの特定の位相に対応する。各仮説は32のコード位相オフセットの探索を可能にするハーフチップ境界で並ぶことができる。別の実施形態では、各仮説がチップ境界で並ぶことができるため、これにより64の異なるコード位相オフセットの探索を可能にする。探索器220は、コンプレックス相関結果の各々を探索バッファに記憶するように構成される。データムーバ230は、バッファされた探索結果をメモリ240内の場所に記憶できる。
一実施形態では、探索バッファ224がダブルバッファとして構成できる。探索器220は、過去の探索器結果をメモリ240へ移動するためにデータムーバ230がダブルバッファの第2部分をアクセスしている間に、ダブルバッファの第1部分を更新するように構成できる。このダブルバッファ構成は、探索器220がデータ伝送制限でなく、むしろ計算制限されることを許す。ダブルバッファを構成することで、次の探索器タスクを実行する前に先行する計算結果の転送を完了させる必要がなくなると共に、先行する結果のデータ伝送と最新タスクの処理とが同時に発生可能になる。
In one embodiment,
無論、探索器220はダブルバッファ構成の使用に限定されるものではなく、同時に処理とデータ伝送のできる他のメモリ構成を使用してよい。例えば、探索器220は、特定のメモリの場所が次に更新される前に全データ転送を行わせるために十分なサイズを持ったサーキュラーバッファを実現できる。
Of course, the
探索器220の構成と、特に探索コードスペースおよび仮説数の構成とは、各相関増分毎に構成できる。上述した例では、相関増分は、各ミリ秒毎に発生する。
The configuration of the
探索器220は、相関増分毎に更新できるハードウェアコマンドレジスタを含む。コントローラ270は、タスクキューの場所とサイズをハードウェアコマンドレジスタに書き込むことができる。前述したように、探索器220は、単一のキューにおいて最大32個の別々のタスクを行うように制御可能である。
探索器220は、ハードウェアコマンドレジスタで指定したキューをアクセスするように構成される。探索器220は、タスク処理中にタスクキューを取得でき、有効性比較値に基づいて、ハードウェアコマンドレジスタ内で指定されたタスクのスタート時間を決定できる。
The
加速器250は、探索器220からの相関結果を処理するように構成される。加速器250は、開始を必要とする異なるデータ転送の数を減らすために、バッファ260に記憶されたデータについて動作するように構成できる。バッファ260はサンプルバッファ262およびエネルギー格子バッファ264を含んでよい。サンプルバッファ262およびエネルギー格子バッファ264の各々をダブルバッファとして配列することで、メモリ240内の読み出しおよび書き込み場所に関連して生じうるメモリ争奪問題を排除できる。
各ダブルバッファは、第1および第2部分またはメモリのバンクを含んでよい。与えられた期間で、バッファの1つのバンクが加速器250の積分エンジンに結合され、バッファの他のバンクがデータムーバ280に結合またはこれをアクセス可能にされる。バンクと積分エンジンまたはデータムーバ280との関連は、各処理間隔後にスワップされる。
Each double buffer may include first and second portions or banks of memory. At a given time period, one bank of buffers is coupled to the integration engine of
加速器250は、構成可能な積分期間および複数の周波数に渡ってコヒーレントな積分和を生成するように構成される複数の並列アキュムレータを含む積分エンジンを含む。加速器250はどのコヒーレント積分の期間長も事実上サポートするように制御されることができるが、加速器250は積分期間長の離散セットをサポートするように最適化されることもできる。一実施形態において、加速器250は10、20、39、80、160ミリ秒の積分期間に渡って、コヒーレント累積とも呼ばれるコヒーレント積分和を生成するように構成される。探索器220は、1ミリ秒期間に渡ってコヒーレント積分結果を生成するため、ミリ秒単位のコヒーレント累積時間はコヒーレント積分の期間長に対応する。加速器250は、1以上のビットエッジに渡って拡張された積分の期間長を収容するためにビットエッジおよびビット値を追跡するように構成できる。
並列累積経路の数は加速器250内の複雑さの許容レベルに依存する。一実施形態において、加速器250は、例えば、6個の異なる周波数に渡る1セットのサンプルの積算を可能にする6本の並列乗算器加速器経路を含むことができる。並列累積経路の動作は多くの周波数および多くのサンプルセットをサポートできるように繰り返すことができる。
The number of parallel cumulative paths depends on the complexity tolerance level in the
加速器バッファ262は、1タスクの全仮説について20ミリ秒の積分を行うために十分であってよい。同様に、エネルギーバッファ264も、64の時間オフセットの各々に渡って20個の周波数をサポートするのに十分な大きさであってよい。20ミリ秒を超える積分は、1つの動作内の時間オフセット総数のサブセットを処理することで行える。20*Nミリ秒の積分を実行するには、N個の加速器動作が使用される。各動作は63/N個の時間仮説を処理する。各サンプルメモリは、64/N個の時間オフセットの各々について20*Nミリ秒を保持する。各エネルギーメモリは、64/N個の時間オフセットの各々について20*N個の周波数を保持する。この結果、異なる積分の期間長をサポートするために必要となるメモリ帯域幅および加速器トランザクションレートは変化しない。
The
例えば、加速器250は、単一の動作中に64個の異なる時間仮説に渡って20ミリ秒の累積時間を同時にサポートするように構成するか、または、同じ単一の動作中に8個の異なる時間仮説に渡って160ミリ秒の累積時間をサポートするように構成できる。加速器250は、同じ64個の周波数仮説を探索するために8個の別個動作を行える。こうして、加速器によって利用されるデータ帯域幅は積分期間に関係なく一定に保たれる。
For example, the
加速器250にかかる周波数範囲のサイズは、一般的には公称周波数の上下約250ヘルツに広がった合計500ヘルツである。加速器250によって同時に解析される周波数仮説の数は、コヒーレント積分の期間長に依存して変化する。一実施形態では、同時に処理される周波数仮説の数はコヒーレント積分の期間長に等しく設定される。加速器250は、異なる周波数ビンを周波数スパンに渡ってほぼ均一な間隔に配置する。
The size of the frequency range across the
加速器250は、コヒーレント積分の期間長に渡る累積および所望の周波数オフセットで入力サンプルを回転させることにより特定の周波数オフセットにコヒーレント積分を決定する。加速器250はこの後2次元エネルギー格子をポピュレートするためにコヒーレント和のエネルギーを計算する。2次元エネルギー格子は、各時間仮説および各周波数オフセットについて現在のコヒーレント積分の期間長のエネルギーを含むことができる。
The
加速器250は、別の時間仮説のコヒーレント和を決定する前に、特定の時間仮説の全ての周波数についてコヒーレント和を決定するように構成できる。このようにコヒーレント和を実行することで、メモリをアクセスする回数を最小化することができる。無論、別の実施形態では、周波数オフセットの使用はプロセッサ集中的であってよく、また、全ての時間仮説に渡る各周波数オフセットのコヒーレント和を、別の周波数オフセットについてコヒーレント和を決定する前に完了することができる。別の実施形態は、この和をこれ以外の順序で決定できる。
The
データムーバ230は、探索器220とメモリ240の間、メモリ240と加速器250の間で情報を転送するために、DMAエンジンとして動作する。データムーバ230は、探索モードと関連積分期間長とに少なくとも一部依存した各場所へメモリ転送する。データムーバ230は、コントローラ270からのタスクキューに基づいてメモリマップを決定することができる。
データムーバ230は、探索器220がスケジュールされたサブタスクの各々について生成したコヒーレント和をコピーする。探索器220がコヒーレント和をダブルバッファする実施形態では、データムーバ230は探索器220によってまだ書き込まれていないバッファからブロックを転送する。データムーバ230は、現在のサブタスク動作に関連していないバッファのブロック内のデータについて動作するように構成される。
同様に、データムーバ230は先に記憶された探索器出力と、先に決定されたエネルギー和をメモリ240から加速器250内のバッファ262へ、特に、メモリ転送に関連し、加速器250によって書き込まれていないバッファブロックへコピーする。また、データムーバ230は最新のエネルギー和を加速器バッファからメモリ230へコピーする。
Similarly, the
コントローラ270はタスクキューと、これに関連する、探索器220のハードウェアコマンドレジスタに書き込まれた制御情報とを生成する。コントローラ270は、メモリ240内で使用可能なスペースによりサポートされる任意の探索および積分の期間長を実質的に構成することができる。しかし、コントローラ270は、一般的に各制御境界で選択およびプログラムできる所定数の探索構成または探索モードを有する。例えば、コントローラ270は、1600Hzに渡る高い探索モード、20個の異なる周波数ビン、64個の仮説、20のコヒーレント長、400Hzに渡る第1低探索モード、80個の異なる周波数ビン、16個の仮説、さらに、80のコヒーレント長、200Hzに渡る第2低探索モード、160個の異なる周波数ビン、8個の仮説、160のコヒーレント長、1600Hzにまたがる荒取得探索モードを選択、8個の異なる周波数ビン、8個の仮説、20のコヒーレント長のうちの1つを選択できる。
The
図3は、コードスペース探索のための位置探索信号処理システム200を実現する受信機におけるデータの流れの実施形態を示す単純な機能ブロック図である。このシステム200を、GPSコードスペース探索の処理を参照して説明する。しかし、他のPNコード拡散情報、例えばAFLTについても同様のコードスペース探索を処理することができる。
FIG. 3 is a simple functional block diagram illustrating an embodiment of data flow in a receiver that implements a position search
サンプルサーバ210は、約2倍のチップ速度でコンプレックス入力サンプルを受信し、このサンプルをRAMのようなメモリに書き込む。サンプルサーバ210は、RAMをサーキュラーバッファとして配列するように、また、最も古いエントリを最新のサンプルで上書きするように構成できる。
探索器220は、タスクキューの場所とサイズを決定するためにハードウェアコマンドレジスタの内容を調べる。過去のハードウェアコマンドレジスタ内容が指定したタスクキューの処理中に、探索器220内のハードウェアコマンドレジスタをプログラムすることができる。探索器220は、次にスケジュールされている探索タスクのスタート時間を決定し、現在の探索タスクが終了し次第、新規の探索タスクをスタートすることができる。
The
各タスクキューは、1ミリ秒になり得る初期探索期間中に処理される所定最大数までのサブタスクを制御することができる。探索器220は、サブタスクを処理し、各仮説のコヒーレント和を探索器220内のバッファに書き込むことができる。探索器バッファはダブルバッファとして編成することができる。探索器ダブルバッファの2個のブロックを、探索器220またはデータムーバ230の一方に交互に関連させることができる。探索器220に関連したブロックは探索器220が生成した相関結果を受信し、一方、データムーバ230に関連したブロックは、探索器220からメモリ240へブロックデータを転送できるようにする。探索器ダブルバッファ内のブロックどうしの関連性は所定の時間にスワップされる。例えば、探索器220がこれに関連したブロックを満たすと、ブロックどうしの関連性がスワップされる。
Each task queue can control up to a predetermined maximum number of subtasks processed during an initial search period that can be 1 millisecond.
データムーバ230は、関連する探索器220バッファとメモリ240の間でデータ転送310を実行する。データムーバ230は、探索器220内で実行されるデータ転送310とコヒーレント積分処理を同期させる必要はない。その代わり、データムーバ230は、バッファブロック関連が有効である任意の時間にデータ転送310を実行するように構成できる。データムーバ230は、値を書き込むためのメモリ240内の場所を、コントローラ(図示せず)が開始したアクティブ探索モードに少なくとも一部基づいて決定する。システム200に割り当てられるメモリ240のサイズは動的であってよく、例えばアクティブコード探索モードに基づいて変更することができる。一例として、1600Hz、8個の異なる周波数ビン、8個の仮説、20のコヒーレント長に渡るビットエッジ探索モードに必要な記憶スペースメモリ240は、200Hz、160個の異なる周波数ビン、8個の仮説、160のコヒーレント長に渡る低探索モードに必要な記憶スペースメモリよりも小規模である。
メモリ240が無線通信ディバイス用のシステムメモリである場合のように、メモリ240をコードスペース探索とは異なる処理と共有する場合には、メモリスペースの動的割り当てによって、コード探索とは別のタスクをサポートするために使用できるメモリスペースが最大化される。システム200には、アクティブコード探索モードをサポートするのに十分なメモリ240スペースが割り当てられるだけでよい。
When the
データムーバ230はまた、メモリに記憶されている探索器結果をダブルバッファ式サンプルバッファ262内へデータ転送320する動作を制御することもできる。加速器250はコヒーレント積分中に探索器結果を消費するため、サンプルバッファ262へのデータ転送320はメモリ240からサンプルバッファ262への一方向であってよい。
The
ダブルバッファ式サンプルバッファ262は、データムーバ230と加速器250の間の第1および第2ブロックの関連性を変更することができる。加速器250は、関連するサンプルバッファ262ブロックからの読み出し動作340を制御する。データムーバ230および加速器250は、加速器250が関連するサンプルバッファ262ブロック内の全てのデータをアクセスすると、サンプルバッファ262ブロックの関連性をスワップすることができる。
The double
加速器250は、コントローラがプログラムした探索モードに基づいて決定されたコヒーレント累積期間長に渡る探索器結果のコヒーレント和を決定する。加速器250は、コヒーレント積分結果の複雑な成分の平方を加算することで、各コヒーレント積分のエネルギー値を生成することができる。
The
加速器250は、エネルギー値をエネルギーバッファ264に書き込むことで、メモリ240へ転送することができる。あるいは、加速器250は、同一のエネルギー格子場所に算出された現在のエネルギー値と過去のエネルギー値を加算することで、エネルギー値の非コヒーレント累積を生成するように構成できる。
The
加速器250は、ダブルバッファ式エネルギーバッファ264の関連するブロックどうし間でのエネルギー値の双方向のデータ転送350を制御する。エネルギーバッファ264は、データムーバ230または加速器250の一方に交互に関連するブロックを設けたダブルバッファとして構成することができる。
The
データムーバ230は、メモリ240とこれに関連するエネルギーバッファ264のブロックの間におけるエネルギー値の双方向のデータ転送330を制御する。同様に、加速器250は、関連するエネルギーバッファ350のブロック間におけるエネルギーバッファの読み出しおよび書き込み動作350を制御する。エネルギーバッファ264のブロックどうしの関連性は、アクティブ探索モードによって決定されたスケジュールに基づいてスワップできる。
The
データムーバ230は、過去に記憶されたメモリ240からのエネルギー結果をアクセスし、データ転送動作330中に、この値を関連するエネルギーバッファ264のブロックにコピーすることができる。ブロックに関連したスワップの後に、加速器250は、データムーバ230によって過去に転送されたエネルギー値をアクセスすることができ、また、例えば、現在のエネルギー値を使用して非コヒーレント累積を決定できる。加速器250は、このエネルギーバッファ264のブロックへ戻る書き込み動作350を制御する。エネルギーバッファ264のブロックが再度スワップされる時に、データムーバ130は、更新されたエネルギー値をエネルギーバッファ264からメモリ240へデータ転送330をすることができる。
加速器250処理は、データをより効率的に処理するために、パイプライン形式にて実行できる。このパイプライン形式の処理は、例えば3個の異なる動作のパイプラインであってよい。パイプラインは一動作の入力データ転送、第2動作についてのコヒーレント累積およびエネルギー値の処理、第3動作についての加速器250からメモリ24への過去の結果のデータ転送をサポートすることができる。
The
そのため、加速器250が過去のデータ転送について探索器結果について動作している最中に(動作N)、データムーバ230は探索器結果をメモリからサンプルバッファへ転送できる(動作N+1)。これに加えて、データムーバ230は、過去に外部メモリ240から記憶された値をエネルギーバッファにロードする前に、第3の異なる動作について、累積したエネルギー和をエネルギーバッファからメモリ240へ転送できる(動作N−1)。
Thus, while the
図4は、コードスペース探索の方法400の実施形態を示すフローチャートである。この方法400は、図2の位置探索信号処理システムによって実現でき、また、図1中のユーザ端末において実現できる。方法400は、機能ブロックに渡る処理を図示している。方法400における動作のシーケンスは、システム全体に渡る1セットのサンプルの処理を図示している。システム内における複数の動作を同時に発生させるこことで、この方法を再構成またはデータ転送の待ち時間なく連続動作させることが可能である。
FIG. 4 is a flowchart illustrating an embodiment of a code
方法400は、システムが、探索対象である受信信号のコンプレックスサンプルを捕捉するブロック402から始まる。例えば、信号サンプラは、受信GPS信号を、PNコード速度の約2倍の速度で受信できる。コンプレックスサンプルは、RAMあるいは他の記憶ディバイスに記憶することができる。
次に、システムは、探索器が具体的なコード探索処理モードをサポートするように構成されるブロック410へ進む。探索器は、現在の処理モードに従ってサンプルを処理している最中に、将来のサンプルについての処理モードを決定することができる。例えば、探索器はハードウェアコマンドレジスタを読み出すことで、タスクキューの場所およびサイズを決定できる。探索器は、タスク境界において、または現在のタスクの処理が完了すると、タスクキューのタスクを実行できる。タスクキューは、所定の最大タスク数に達するまで複数のタスクを含むことができる。例えば、タスクキューは、各初期積分期間、例えば1ミリ秒間に探索器について実行される、最大で32個のタスクを含むことが可能である。 The system then proceeds to block 410 where the searcher is configured to support a specific code search processing mode. The searcher can determine the processing mode for future samples while processing the samples according to the current processing mode. For example, the searcher can determine the location and size of the task queue by reading the hardware command register. The searcher can execute tasks in the task queue at task boundaries or when processing of the current task is complete. The task queue can include multiple tasks until a predetermined maximum number of tasks is reached. For example, the task queue can contain up to 32 tasks that are executed for the searcher in each initial integration period, eg, 1 millisecond.
各探索タスクは、複数の仮説にかかる所定数のコードチップに渡る探索をサポートできる。探索する仮説の数をプログラムすることができ、また、この数は所定の最大仮説数にまで変更できる。例えば、各タスクを、32個のコードチップを含んだウィンドウを探索するように構成でき、また、探索ウィンドウについて最大で64個の異なる仮説を探索するように構成でき、ここで、各コードスペース仮説はこれに最も近い仮説から1/2チップ期間だけ逸脱してよい。 Each search task can support a search across a predetermined number of code chips over multiple hypotheses. The number of hypotheses to search can be programmed, and this number can be varied up to a predetermined maximum number of hypotheses. For example, each task can be configured to search a window containing 32 code chips, and can be configured to search up to 64 different hypotheses for the search window, where each code space hypothesis May deviate by 1/2 chip period from the closest hypothesis.
システムは次にブロック412へ進む。ここでは、探索構成に関連したサンプルをサンプルメモリから探索器へ転送する。探索器は、先に提供された例を使用して、1ミリ秒の初期積分期間内に1つの衛星車両のコードスペース全体を探索するように構成されると考えられる。しかし、より一般的には、探索器は複数コードの一部について受信サンプルを探索するように構成される。 The system then proceeds to block 412. Here, samples associated with the search configuration are transferred from the sample memory to the searcher. The searcher may be configured to search the entire code space of one satellite vehicle within an initial integration period of 1 millisecond using the example provided above. More generally, however, the searcher is configured to search for received samples for portions of multiple codes.
関連サンプルを転送した後に、システムはブロック414へ進み、タスクキューにおいて説明されたタスクを実行する。1ミリ秒の初期積分期間に渡ってのサンプルのコヒーレント積分内における各タスク結果は、タスクによって適用された仮説の各々をアクセスするが、他の実施形態は別の初期積分期間を使用することもできる。 After transferring the relevant samples, the system proceeds to block 414 and performs the tasks described in the task queue. Each task result within the coherent integration of a sample over an initial integration period of 1 millisecond accesses each of the hypotheses applied by the task, but other embodiments may use a different initial integration period. it can.
探索器はブロック416へ進み、各仮説からのコヒーレント積分結果を関連するダブルバッファのブロックに書き込む。ダブルバッファは、探索器またはデータムーバの一方に交互に関連する2個のブロックを含んでいる。データをこれに関連するバッファブロックから転送するために、探索器は関連するバッファブロックに書き込みを行う。探索器出力をダブルバッファすることで、探索器とデータムーバの両方が、バッファからのデータをアクセスする上でのメモリコンテンションを防止する。探索器がサンプルについて動作中であり、ダブルバッファの別部分に書き込みを行っている最中に、過去にバッファされた結果をダブルバッファの一部から読み出すことができる。次の探索器動作をスタートする以前に1つ前の探索器結果の転送を完了する必要がないので、ダブルバッファによってより柔軟なデータ転送が可能となる。これに加えて、データムーバによるDMAメモリ転送を、探索器結果をポピュレートする時間よりも短い時間で達成できる場合には、メモリへの結果の転送をより柔軟にスケジュールできる。 The searcher proceeds to block 416 and writes the coherent integration results from each hypothesis into the associated double buffered block. The double buffer contains two blocks that are alternately associated with either the searcher or the data mover. In order to transfer data from its associated buffer block, the searcher writes to the associated buffer block. By double buffering the searcher output, both the searcher and the data mover prevent memory contention when accessing data from the buffer. While the searcher is operating on the sample and writing to another part of the double buffer, the previously buffered results can be read from the part of the double buffer. Since it is not necessary to complete the transfer of the previous searcher result before starting the next searcher operation, the double buffer enables more flexible data transfer. In addition, if the DMA memory transfer by the data mover can be achieved in a time shorter than the time to populate the searcher results, the transfer of the results to the memory can be scheduled more flexibly.
結果の転送はデータムーバに関連した検索バッファのブロックからのみ生じるため、システムはブロック418へ進み、ダブルバッファのブロックどうしの関連性をスワップする。ブロックの関連性をスワップすることで、バッファのブロックを現在の積分結果を記憶するために使用できるように維持しながら、最も新しい結果をメモリへ転送できるようになる。 Since the resulting transfer only occurs from the block of search buffers associated with the data mover, the system proceeds to block 418 and swaps the relevance between the blocks of the double buffer. Swapping block associations allows the most recent result to be transferred to memory while keeping the block of buffers available for storing the current integration results.
探索器ダブルバッファのブロック関連性をスワップした後に、システムはブロック420へ進む。ブロック420では、データムーバが初期コヒーレント積分結果を探索器からメモリへ転送する。一実施形態では、メモリは他の複数の処理によって共有され、データムーバが探索器バッファの共有メモリ内の各場所へのDMA転送を実行する。
After swapping the block association of the searcher double buffer, the system proceeds to block 420. At
探索器結果をメモリに転送した後に、システムはブロック430へ進む。ブロック430では、データムーバが、探索器結果の少なくとも一部をメモリからサンプルバッファの関連するブロックへ転送し、加速器がこの結果の一部を処理できるようにする。サンプルバッファの各ブロックがデータムーバまたは加速器の一方に関連した状態では、サンプルバッファもダブルバッファとして構成することができる。所定のイベントの後にサンプルバッファブロックの関連性をスワップできる。この所定のイベントは、バッファの充填、タイミング、あるいはこれ以外のイベントであってよい。
After transferring the searcher results to memory, the system proceeds to block 430. At
システムはブロック432へ進み、過去のエネルギー累積の少なくとも一部をメモリからエネルギーバッファの関連するブロックへ転送し、加速器がこれをアクセスできるようにする。システムは、メモリからエネルギーバッファに更新される対象であるエネルギー累積を転送する以前に、更新された結果をエネルギーバッファからメモリへ戻してもよい。エネルギーバッファはダブルバッファとしても構成できる。ダブルバッファの1つのブロックはデータムーバに関連し、ダブルバッファの別のブロックは加速器に関連している。エネルギーバッファの関連性は、サンプルバッファブロックのスワップを開始するイベントとは別の所定のイベントを実行した後にスワップすることができる。 The system proceeds to block 432 and transfers at least a portion of the past energy accumulation from the memory to the relevant block of the energy buffer for access by the accelerator. The system may return the updated result from the energy buffer to the memory before transferring the energy accumulation that is to be updated from the memory to the energy buffer. The energy buffer can also be configured as a double buffer. One block of the double buffer is associated with the data mover and another block of the double buffer is associated with the accelerator. The energy buffer association can be swapped after executing a predetermined event separate from the event that initiates the swap of the sample buffer block.
加速器は、サンプルバッファのブロックと、これに関連したエネルギーバッファのブロックのみをアクセスする。そのため、システムはブロック434へ進み、サンプルバッファとエネルギーバッファの関連性をスワップして、データムーバによってメモリから転送された最新の値に加速器がアクセスできるようにする。これに加え、データムーバは、加速器からの最新のエネルギー結果をアクセスできる。加速器は探索器結果を消費し、また探索バッファへの結果の書換えを行わない。そのため、探索バッファブロックをスワップすることで、データムーバがサンプルバッファへ転送するための追加のスペースが作られる。 The accelerator accesses only the block of sample buffers and the associated block of energy buffers. Therefore, the system proceeds to block 434 to swap the sample buffer and energy buffer associations so that the accelerator can access the latest value transferred from memory by the data mover. In addition, the data mover can access the latest energy results from the accelerator. The accelerator consumes searcher results and does not rewrite the results to the search buffer. Therefore, swapping search buffer blocks creates additional space for the data mover to transfer to the sample buffer.
バッファ関連性をスワップした後に、システムはブロック450へ進み、ここで、関連するサンプルバッファ内におけるアクセス可能な探索結果のコヒーレント累積を決定する。加速器は、アクティブコード探索モードに基づいてコヒーレント累積を決定する。加速器は、所望の積分の期間長をサポートするために、サンプルバッファどうしの複数のスワップが実行される間、サンプルバッファのサイズに応じて待つ必要がある。 After swapping buffer associations, the system proceeds to block 450 where it determines the coherent accumulation of accessible search results in the associated sample buffer. The accelerator determines coherent accumulation based on the active code search mode. The accelerator must wait depending on the size of the sample buffer while multiple swaps between sample buffers are performed to support the desired integration period length.
積分の期間長が、例えばGPS信号で使用される20ミリ秒のデータ境界のようなデータ境界を横切る場合には、加速器はビット境界の発生を追跡し、累積を計算する上でビット値を補間することができる。 If the duration of the integration crosses a data boundary, such as the 20 millisecond data boundary used in GPS signals, the accelerator tracks the occurrence of the bit boundary and interpolates the bit value in calculating the accumulation can do.
加速器はまた、アクティブ探索モードに基づき、複数の周波数ビンについてコヒーレント累積を決定することもできる。加速器は、複数の周波数あるいは複数の探索器結果についての同時累積を可能にする複数の平行な経路を含んでいてよい。 The accelerator can also determine coherent accumulation for multiple frequency bins based on the active search mode. The accelerator may include multiple parallel paths that allow simultaneous accumulation for multiple frequencies or multiple searcher results.
システムは次にブロック452へ進み、ここで、各コヒーレント累積に関連したエネルギーを決定する。加速器は、例えば同相値および方形値の平方を合計することにより、複雑な累積値に関連したエネルギーを決定することができる。いくつかの実施形態では、加速器は累積したエネルギーの決定を省略し、代わりに、複雑な累積値をエネルギーバッファに記憶してもよい。加速器がコヒーレント累積の合計をエネルギー値ではなくバッファに記憶する実施形態では、ブロック452〜454の動作を省略してもよい。加速器は、コヒーレント累積値によってエネルギーバッファを直接更新することができる。 The system then proceeds to block 452, where the energy associated with each coherent accumulation is determined. The accelerator can determine the energy associated with the complex cumulative value, for example by summing the squares of the in-phase value and the square value. In some embodiments, the accelerator may omit the determination of accumulated energy and instead store a complex accumulated value in the energy buffer. In embodiments where the accelerator stores the sum of the coherent accumulations in a buffer rather than an energy value, the operations of blocks 452-454 may be omitted. The accelerator can directly update the energy buffer with the coherent accumulation value.
システムはブロック454へ進み、ここで、コード探索モードが指定できる任意の非コヒーレントエネルギー累積を決定する。非コヒーレント累積を決定するために、加速器が、エネルギーバッファ内のエネルギー格子の所望の位置から過去のエネルギー値を読み出し、関連するエネルギー値を合計する。いくつかの実施形態では、加速器は重み付けした合計を決定し、さらに、最新のエネルギー値を合計する前に、サンプルバッファのサイズに応じて、過去の累積エネルギーの合計を所定フラクション(fraction)だけ調整することができる。 The system proceeds to block 454 where it determines any non-coherent energy accumulation that the code search mode can specify. To determine non-coherent accumulation, the accelerator reads past energy values from the desired position of the energy grid in the energy buffer and sums the associated energy values. In some embodiments, the accelerator determines a weighted sum and further adjusts the past accumulated energy sum by a predetermined fraction depending on the size of the sample buffer before summing the latest energy values. can do.
システムはブロック456へ進み、ここでは、加速器が、累積したエネルギー値を再びエネルギーバッファに書き込む。一般的に、システムは、加速器に関連したエネルギーバッファのブロックに直接アクセスすることはない。そのため、システムはブロック458へ進み、次のエネルギーブロック関連性のスワップの発生を待つ。 The system proceeds to block 456 where the accelerator writes the accumulated energy value back into the energy buffer. In general, the system does not directly access the block of energy buffers associated with the accelerator. Thus, the system proceeds to block 458 and waits for the next energy block related swap to occur.
ブロック460では、データムーバは、加速器によって更新された最新のエネルギー値をアクセスする。データムーバは、更新されたエネルギー累積をメモリにDMA転送することができる。データムーバはさらに、次の非コヒーレント累積をサポートするために、メモリからエネルギーバッファに任意のエネルギー値をロードすることができる。
At
ブロック460の次に、受信した特定のサンプルの処理により、サンプリングからエネルギー累積までの処理経路全体が完了する。様々な中間値のダブルバッファリングおよびメモリ記憶を行うことで、処理全体を実質的に連続して実行することが可能になる。探索器が過去にスケジュールされたタスクについて動作している間は、各々の初期累積境界にて探索器を再構成できるため、システムは、探索構成における変更を中止したり、あるいは変更を待つ必要がない。探索器と加速器への入力部との両方における探索器結果のダブルバッファリングによって、メモリへのアクセスの柔軟性を高めながら、メモリコンテンションが事実上排除される。このメモリは、探索器および加速器を有するモジュールまたは積分回路の外部に設けた共用メモリであってよい。
Following
初期コヒーレント積分を、これよりも長い積分の期間長に関連したコヒーレント積分から分離することにより、システムのスケジューリングと構成がより柔軟になる。探索器からの1ミリ秒の積分結果を使用して、事実上任意の積分の期間長をサポートすることができる。 By separating the initial coherent integration from the coherent integration associated with a longer integration period, system scheduling and configuration becomes more flexible. The 1 ms integration result from the searcher can be used to support virtually any integration period length.
図5は、コードスペース探索を実現する位置探索信号処理システム500の実施形態を示す単純機能ブロック図である。この図5のシステム500は、例えば図1のユーザ端末において実現できる。
FIG. 5 is a simple functional block diagram illustrating an embodiment of a position search
システム500は受信無線信号のコンプレックスサンプルを捕捉する手段510を含む。このコンプレックスサンプルを捕捉する手段510は探索手段520に結合されている。
探索手段550は、ハードウェアレジスタ522によって指定された各コードスペース探索タスクに従って動作することができ、ハードウェアレジスタ522は、複数のコードスペース探索タスクを構成する手段として動作する。探索手段550は、例えば1ミリ秒で合ってよい初期積分期間に渡って取得した複数のコヒーレント積分結果を生成する。探索手段550は、探索タスクにて定義されているとおりの、複数のコードスペース仮説に関連した複数のコヒーレント積分結果を生成するように構成できる。
The search means 550 can operate according to each code space search task specified by the
制御手段570は、ハードウェアレジスタに書き込まれた値を制御する。ハードウェアレジスタ522内の値は、例えば、コードスペース探索モードに基づいて決定されたメモリ内のタスクキューに指定することができる。データ転送手段530は探索手段520に結合され、複数のコヒーレント積分結果を記憶手段540へ転送するように動作する。データ転送手段530はまた、複数のコヒーレント積分結果を記憶手段540から、加速手段550内の、あるいはこれに結合しているバッファ手段562、564へ転送する。具体的には、データ転送手段530は積分の期間長に関連した多数のコヒーレント積分結果を転送する。
The control means 570 controls the value written in the hardware register. The value in the
加速手段550は、複数のコヒーレント積分結果のコヒーレント積分を決定する手段として動作する。コヒーレント積分に関連した積分の期間長および周波数オフセットは、プログラム可能なコードスペース探索モードに基づいている。 The acceleration means 550 operates as means for determining coherent integration of a plurality of coherent integration results. The integration period length and frequency offset associated with coherent integration are based on a programmable code space search mode.
ここではコードスペース探索のシステム、装置、方法について説明してきた。説明されたシステム、装置、方法は、GPS信号、AFLT信号など、またはこれ以外のコード拡散信号を処理するべく、ユーザ端末内で実現することができる。例えば、コードスペース探索処理および装置は、受信拡散スペクトル信号の任意のコードスペースの探索に適用される。特定の実施形態はGPS信号への適用について説明しているが、請求された課題はコードスペース探索に属し、またGPSに限定されるものではない。探索器は、初期積分期間あるいは時間に渡って
コヒーレント積分結果を決定するように構成される。探索器結果を、加速器内で実行されるさらなるコヒーレント積分および非積分エネルギー累積のための中間値として使用される。
The code space search system, apparatus, and method have been described herein. The described system, apparatus, and method can be implemented in a user terminal to process GPS signals, AFLT signals, etc., or other code spread signals. For example, the code space search process and apparatus is applied to search for an arbitrary code space of the received spread spectrum signal. Although specific embodiments describe application to GPS signals, the challenge claimed belongs to code space search and is not limited to GPS. The searcher is configured to determine a coherent integration result over an initial integration period or time. The searcher results are used as intermediate values for further coherent integration and non-integral energy accumulation performed in the accelerator.
メモリへの効率的かつ非競合的なデータ転送を可能にするために、中間値がダブルバッファに記憶される。ダブルバッファを使用することで、待ち時間が短いまたは全くないコード探索モードの再構成が可能になる。 Intermediate values are stored in double buffers to allow for efficient and non-competitive data transfer to memory. The use of a double buffer allows the code search mode to be reconfigured with low or no latency.
これに加え、初期積分期間に渡ってのコヒーレント積分に続く処理を分離することで、データの冗長取得および解析を行わずに、コードスペース探索モードを柔軟に再構成できるようになる。コードスペース探索をほぼリアルタイムで再構成する機能により、より効率的なコードスペース探索が可能になり、また、高速コード取得から高感度コードスペース探索までの再構成が可能になる。 In addition, by separating the processing following the coherent integration over the initial integration period, the code space search mode can be flexibly reconfigured without redundant data acquisition and analysis. The function of reconfiguring the code space search in near real time enables more efficient code space search, and also enables reconfiguration from high-speed code acquisition to high-sensitivity code space search.
ここで使用しているとおり、「結合した」または「接続した」という用語は、非直接的な結合、並びに直接結合あるいは接続を意味する。2個またはこれ以上のブロック、モジュール、ディバイス、あるいは装置が結合している場合、結合している2個のブロックの間には1以上の介在ブロックが存在していてよい。 As used herein, the term “coupled” or “connected” means non-direct coupling as well as direct coupling or connection. When two or more blocks, modules, devices, or devices are combined, there may be one or more intervening blocks between the two connected blocks.
ここで開示の実施形態に関連して説明された様々な例証的な論理ブロック、モジュール、回路は、汎用プロセッサ、ディジタル信号プロセッサ(DSP)、縮小命令セットコンピュータ(RISC)プロセッサ、アプリケーション限定集積回路(ASIC)、フィールドプログラム可能ゲートアレイ(FPGA)またはこれ以外のプログラム可能な論理ディバイス、離散ゲートまたはトランジスタ論理、離散ハードウェア構成部品、あるいは、ここで説明した機能を実行するように設計されたこれらの任意の組み合わせによって実現または実行される。汎用プロセッサはマイクロプロセッサであってよいが、代替形においては任意のプロセッサ、コントローラ、マイクロコントローラ、または状態マシンであってよい。プロセッサはまた、計算ディバイスの組み合わせ、例えばDSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサの組み合わせ、1以上のマイクロプロセッサとこれと協働するDSPコアの組み合わせ、またはこれ以外の同様の構成として実現することができる。 Various illustrative logic blocks, modules, and circuits described herein in connection with the disclosed embodiments can be general purpose processors, digital signal processors (DSPs), reduced instruction set computer (RISC) processors, application limited integrated circuits ( ASIC), field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or these designed to perform the functions described herein Realized or implemented by any combination. A general purpose processor may be a microprocessor, but in the alternative, may be any processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a combination of multiple microprocessors, a combination of one or more microprocessors and a DSP core cooperating therewith, or other similar configuration. be able to.
ここで開示の実施形態に関連して説明した方法、処理、アルゴリズムはハードウェア内、プロセッサによって実行されるソフトウェアモジュール内、またはこの2つの組み合わせにおいて直接具現化できる。方法または処理における様々なステップまたは動作はここで示したとおりの順序で、あるいはこれ以外の順序で実行することが可能である。これに加え、1以上の処理または方法ステップを省略したり、これらの方法および処理に1以上の処理または方法ステップを追加することもできる。方法および処理の開始、終了、中間に存在する要素に対してさらなるステップ、ブロック、動作を追加することができる。 The methods, processes, and algorithms described herein in connection with the disclosed embodiments can be implemented directly in hardware, in a software module executed by a processor, or a combination of the two. The various steps or operations in the method or process may be performed in the order presented here or in any other order. In addition, one or more processes or method steps may be omitted, or one or more processes or method steps may be added to these methods and processes. Additional steps, blocks, and actions can be added to the beginning, end, and intermediate elements of the method and process.
開示された実施形態についての上述の説明は、当業者が本開示を作成または使用できるようにするために提供されるものである。また、当業者にはこれら実施形態への様々な修正が明白であり、また、ここで定義された包括的な原理は、本開示の精神または範囲から逸脱しない限り、他の実施形態にも適用することができる。従って、本開示は、ここで示した実施形態に限定されるものではなく、ここで開示の原理および新規特長に準じた最も幅広い範囲と一致する。 The above description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these embodiments will be apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the disclosure. can do. Accordingly, the present disclosure is not limited to the embodiments shown herein but is consistent with the widest scope consistent with the principles and novel features of the disclosure herein.
Claims (33)
メモリと、
複数のプログラム可能タスクを行い、前記複数のプログラム可能タスクの各々について、初期積分期間に渡って取得した複数のコヒーレント積分結果を生成するように構成され、前記複数のプログラム可能タスクの各々は前記初期積分期間の境界において動的に再構成可能である探索器と、
選択可能探索モードによって決定された1以上のコヒーレント積分期間長および周波数オフセットに基づいて前記複数の積分結果のコヒーレント累積を決定するように構成される加速器と、
前記探索器から前記メモリへ前記複数の積分結果を転送するように構成されると共に、前記メモリから前記加速器へこの積分結果を転送するように構成されるデータムーバとを備える装置。 A device for code space search, the device comprising:
Memory,
Performing a plurality of programmable tasks , each of the plurality of programmable tasks configured to generate a plurality of coherent integration results obtained over an initial integration period , wherein each of the plurality of programmable tasks is and dynamically reconfigurable der Ru searcher at the boundaries of the integration period,
An accelerator configured to determine a coherent accumulation of the plurality of integration results based on one or more coherent integration period lengths and frequency offsets determined by a selectable search mode;
An apparatus comprising: a data mover configured to transfer the plurality of integration results from the searcher to the memory and configured to transfer the integration results from the memory to the accelerator.
コードスペース探索に割り当てられ、アクティブなプログラム可能探索モードに依存する部分を有するメモリと、
前記メモリに結合した積分回路とを備え、前記積分回路は、
複数のプログラム可能な探索タスクの各々について初期積分期間に渡って決定された複数のコヒーレント積分結果を生成するように構成され、前記複数のプログラム可能な探索タスクの各々は前記初期積分期間の境界において動的に再構成可能である探索器、
アクティブなプログラム可能探索モードによって決定された周波数仮説およびコヒーレント積分期間長に渡るコヒーレント積分結果のコヒーレント累積を決定するように構成される加速器、および
前記探索器およびメモリの間、前記加速器およびメモリの間でDMAデータ転送を行うように構成されるデータムーバを含む装置。 A device for performing a code space search, the device comprising:
A memory having a portion assigned to code space search and dependent on an active programmable search mode;
An integrating circuit coupled to the memory, the integrating circuit comprising:
Configured to generate a plurality of coherent integration results determined over an initial integration period for each of the plurality of programmable search tasks, wherein each of the plurality of programmable search tasks is at a boundary of the initial integration period A searcher that is dynamically reconfigurable,
An accelerator configured to determine a coherent accumulation of coherent integration results over a frequency hypothesis determined by an active programmable search mode and a coherent integration period length; and between the searcher and memory, between the accelerator and memory A device including a data mover configured to perform DMA data transfer in
受信無線信号の複数のコンプレックスサンプル(complex samples)を捕捉し、
各々初期積分期間の境界において動的に再構成可能である複数のコードスペース探索タスクを構成し、
前記初期積分期間に渡って取得した前記複数のコヒーレント積分結果を生成するために前記複数のコードスペース探索タスクの各々を実行し、
前記複数のコヒーレント積分結果のコヒーレント累積、前記コヒーレント累積に関連した積分期間長および周波数オフセットをプログラム可能コードスペース探索モードに基づいて決定することを備える方法。 A code space search method comprising:
Capture multiple complex samples of the received radio signal,
Configure multiple code space search tasks, each dynamically reconfigurable at the boundary of the initial integration period ,
Running each of the plurality of code space search task in order to generate the initial integration of the plurality of coherent integration results obtained over a period,
How comprises determining based on said plurality of coherent integration results of the coherent accumulation, the integration period length and the frequency offset associated with said coherent accumulation programmable code space search mode.
前記エネルギーに対応するエネルギー格子位置の非コヒーレント積分を決定することをさらに備える請求項19に記載の方法。 Determining the coherent cumulative energy;
The method of claim 19, further comprising determining a non-coherent integral of an energy grid position corresponding to the energy.
データムーバに対する前記エネルギーダブルバッファのブロックの関連性をスワップし、
前記非コヒーレント積分を前記エネルギーダブルバッファのブロックからメモリへ転送することをさらに備える請求項21に記載の方法。 Storing the incoherent integral in a block of energy double buffers associated with the accelerator;
Swap the relevance of the energy double buffer block to the data mover,
The method of claim 21, further comprising transferring the non-coherent integration from the block of energy double buffers to a memory.
前記探索器ダブルバッファのブロックからメモリへコヒーレント積分結果を転送することをさらに備える請求項23に記載の方法。 Swap the relevance of the searcher double buffer block to the data mover;
24. The method of claim 23, further comprising transferring a coherent integration result from a block of the searcher double buffer to a memory.
複数のコードスペース仮説を決定し、
前記複数のコードスペース仮説の各々を前記複数のコンプレックスサンプルの少なくとも一部に相関させることを備える請求項19に記載の方法。 Each execution of the plurality of code space search tasks includes:
Determine multiple code space hypotheses,
The method of claim 19, comprising correlating each of the plurality of code space hypotheses to at least a portion of the plurality of complex samples.
メモリからサンプルダブルバッファの第1ブロックへ前記複数のコヒーレント積分結果を転送し、
加速器に対する前記ダブルバッファの第1ブロックの関連性をスワップし、
前記第1ブロックにおける前記複数のコヒーレント積分結果の前記コヒーレント累積を決定することを備える請求項19に記載の方法。 The determination of the coherent accumulation is
Transferring the plurality of coherent integration results from memory to a first block of a sample double buffer;
Swap the relevance of the first block of the double buffer to the accelerator;
The method of claim 19, comprising determining the coherent accumulation of the plurality of coherent integration results in the first block.
受信無線信号の複数のコンプレックスサンプル(complex samples)を捕捉し、
各々初期積分期間の境界において動的に再構成可能である複数のコードスペース探索タスクの各々を実行して前記複数のコードスペース仮説に対応する複数のコヒーレント積分結果を生成し、
前記複数のコヒーレント積分結果をメモリに記憶し、
積分期間長に対応する多数のコヒーレント積分結果をメモリから読み出し、
これら多数のコヒーレント積分結果のコヒーレント累積を決定することを備える方法。 A code space search method comprising:
Capture multiple complex samples of the received radio signal,
Performing each of a plurality of code space search tasks each dynamically reconfigurable at a boundary of an initial integration period to generate a plurality of coherent integration results corresponding to the plurality of code space hypotheses;
Storing the plurality of coherent integration results in a memory;
Read a number of coherent integration results corresponding to the integration period length from memory,
Determining a coherent accumulation of these multiple coherent integration results.
前記複数のコヒーレント探索結果の少なくとも一部をダブルバッファのブロック内に記憶し、
前記ダブルバッファのブロックの関連性をスワップし、
前記複数のコヒーレント探索結果の一部を前記ダブルバッファのブロックからメモリへ転送することを備える請求項27に記載の方法。 Storage of the plurality of coherent integration results in memory is
Storing at least some of the plurality of coherent search results in a block of double buffers;
Swap the relevance of the double buffer block,
28. The method of claim 27, comprising transferring a portion of the plurality of coherent search results from the block of double buffers to a memory.
受信無線信号の複数のコンプレックスサンプル(complex samples)を捕捉する手段と、
各々初期積分期間の境界において動的に再構成可能である複数のコードスペース探索タスクを構成する手段と、
前記初期積分期間に渡って取得した複数のコヒーレント積分結果を生成するために前記複数のコードスペース探索タスクの各々に従って探索を行う手段と、
プログラム可能コードスペース探索モードに基づいて複数の前記コヒーレント積分結果のコヒーレント累積、前記コヒーレント累積に関連した積分期間長および周波数オフセットを決定する手段とを備える装置。 A device for performing a code space search, the device comprising:
Means for capturing multiple complex samples of the received radio signal;
Means for configuring a plurality of code space search tasks that are each dynamically reconfigurable at an initial integration period boundary ;
It means for performing a search in accordance with each of the plurality of code space search task in order to generate the initial integrated plurality of coherent integration results obtained over a period,
A plurality of said coherent integration results of coherent accumulation based on the program code space search mode, and means for determining the integration period length and the frequency offset associated with said coherent accumulation.
受信無線信号の複数のコンプレックスサンプル(complex samples)を捕捉する手段と、
複数のコードスペース仮説に対応する複数のコヒーレント積分結果を生成するために各々初期積分期間の境界において動的に再構成可能である複数のコードスペース探索タスクの各々に従って前記複数のコンプレックスサンプルを探索する手段と、
前記複数のコヒーレント積分結果を記憶する手段と、
積分期間長に対応する多数のコヒーレント積分結果を転送する手段と、
前記多数のコヒーレント積分結果のコヒーレント累積を決定する手段とを備える装置。 A device for performing a code space search, the device comprising:
Means for capturing multiple complex samples of the received radio signal;
Searching the plurality of complex samples according to each of a plurality of code space search tasks, each dynamically reconfigurable at a boundary of an initial integration period to generate a plurality of coherent integration results corresponding to a plurality of code space hypotheses; Means,
Means for storing the plurality of coherent integration results;
Means for transferring a number of coherent integration results corresponding to the integration period length;
Means for determining a coherent accumulation of the multiple coherent integration results.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US77917206P | 2006-03-02 | 2006-03-02 | |
US60/779,172 | 2006-03-02 | ||
US88532307P | 2007-01-17 | 2007-01-17 | |
US60/885,323 | 2007-01-17 | ||
PCT/US2007/063225 WO2007120995A1 (en) | 2006-03-02 | 2007-03-02 | Method and apparatus for code space search in a receiver |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009535605A JP2009535605A (en) | 2009-10-01 |
JP5295788B2 true JP5295788B2 (en) | 2013-09-18 |
Family
ID=38609838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008557521A Active JP5295788B2 (en) | 2006-03-02 | 2007-03-02 | Method and apparatus for performing code space search at receiver |
Country Status (11)
Country | Link |
---|---|
EP (1) | EP1992080A1 (en) |
JP (1) | JP5295788B2 (en) |
KR (1) | KR101147942B1 (en) |
CN (1) | CN101395814B (en) |
AU (1) | AU2007238489A1 (en) |
BR (1) | BRPI0708489A2 (en) |
CA (1) | CA2640761C (en) |
IL (1) | IL193093A0 (en) |
MX (1) | MX2008010827A (en) |
TW (1) | TWI370627B (en) |
WO (1) | WO2007120995A1 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI426397B (en) * | 2009-06-29 | 2014-02-11 | Lee Ming Inst Technology | Can be used in a signal interval in the unequal spacing of the sample, the signal in this interval between a single and multiple numerical integration device. |
EP2326022A1 (en) * | 2009-11-23 | 2011-05-25 | Nxp B.V. | Device for acquiring a spread spectrum signal |
JP5549471B2 (en) * | 2010-08-09 | 2014-07-16 | 株式会社デンソー | Receiving machine |
US8792438B2 (en) * | 2010-10-07 | 2014-07-29 | Futurewei Technologies, Inc. | System and method for search space reconfiguration in a communications system |
KR101440692B1 (en) * | 2012-05-31 | 2014-09-15 | 한국과학기술원 | 2-dimensional compressed correlator for fast gnss and spread spectrum signal acquisition and robust tracking and apparatus thereof |
US10111248B2 (en) * | 2012-06-29 | 2018-10-23 | Blackberry Limited | Method and system for cross-subframe scheduling during carrier aggregation |
US9107159B2 (en) | 2013-06-07 | 2015-08-11 | Apple Inc. | Enhancing jitter buffer performance through radio level feedback |
DE102016109342B4 (en) * | 2016-05-20 | 2024-02-22 | Infineon Technologies Ag | RADAR SENSOR SYSTEM FOR GESTURE RECOGNITION AND METHOD FOR RADAR-BASED GESTURE RECOGNITION |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6603803B1 (en) * | 1999-03-12 | 2003-08-05 | Navcom Technology, Inc. | Global positioning system receiver for monitoring the satellite transmissions and for reducing the effects of multipath error on coded signals and carrier phase measurements |
FI19992653A (en) * | 1999-12-09 | 2001-06-10 | Nokia Mobile Phones Ltd | A method for synchronizing a receiver and a receiver |
GB0126325D0 (en) * | 2001-11-02 | 2002-01-02 | Koninl Philips Electronics Nv | Method and apparatus for spread spectrum signal acquisition |
GB0130804D0 (en) * | 2001-12-22 | 2002-02-06 | Koninkl Philips Electronics Nv | Method and apparatus for signal receipt and acquisition |
US20040062298A1 (en) * | 2002-10-01 | 2004-04-01 | Mcdonough John G. | System and method for detecting direct sequence spread spectrum signals using pipelined vector processing |
EP1680686A1 (en) * | 2003-09-02 | 2006-07-19 | Sirf Technology, Inc. | Signal processing system for satellite positioning signals |
US7702002B2 (en) * | 2004-01-28 | 2010-04-20 | Qualcomm Incorporated | Rapid acquisition methods and apparatus for GPS signals |
US7471717B2 (en) * | 2004-05-17 | 2008-12-30 | Yi Ping Huang | Apparatus and method for acquiring spread-spectrum signals |
US7903719B2 (en) * | 2005-12-21 | 2011-03-08 | Qualcomm Incorporated | Optimal use of resources for signal processors |
-
2007
- 2007-03-02 MX MX2008010827A patent/MX2008010827A/en not_active Application Discontinuation
- 2007-03-02 CN CN2007800072671A patent/CN101395814B/en active Active
- 2007-03-02 CA CA2640761A patent/CA2640761C/en active Active
- 2007-03-02 TW TW096107238A patent/TWI370627B/en active
- 2007-03-02 WO PCT/US2007/063225 patent/WO2007120995A1/en active Application Filing
- 2007-03-02 AU AU2007238489A patent/AU2007238489A1/en not_active Abandoned
- 2007-03-02 EP EP07757836A patent/EP1992080A1/en not_active Withdrawn
- 2007-03-02 JP JP2008557521A patent/JP5295788B2/en active Active
- 2007-03-02 KR KR1020087024301A patent/KR101147942B1/en active IP Right Grant
- 2007-03-02 BR BRPI0708489-7A patent/BRPI0708489A2/en not_active Application Discontinuation
-
2008
- 2008-07-28 IL IL193093A patent/IL193093A0/en unknown
Also Published As
Publication number | Publication date |
---|---|
MX2008010827A (en) | 2008-09-05 |
KR101147942B1 (en) | 2012-05-24 |
CN101395814B (en) | 2013-02-06 |
CA2640761C (en) | 2014-09-30 |
CN101395814A (en) | 2009-03-25 |
JP2009535605A (en) | 2009-10-01 |
CA2640761A1 (en) | 2007-10-25 |
KR20080100840A (en) | 2008-11-19 |
WO2007120995A1 (en) | 2007-10-25 |
TW200805908A (en) | 2008-01-16 |
EP1992080A1 (en) | 2008-11-19 |
TWI370627B (en) | 2012-08-11 |
AU2007238489A1 (en) | 2007-10-25 |
IL193093A0 (en) | 2009-02-11 |
BRPI0708489A2 (en) | 2011-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8279910B2 (en) | Method and apparatus for code space search in a receiver | |
JP5295788B2 (en) | Method and apparatus for performing code space search at receiver | |
KR101164749B1 (en) | Gnns receiver and signal tracking circuit and system | |
US8138972B2 (en) | Signal processing system for satellite positioning signals | |
US8593345B2 (en) | Signal processing system for satellite positioning signals | |
US8279116B2 (en) | Processing received satellite radio signals | |
JP4399165B2 (en) | Method and apparatus for processing GPS signals with a matched filter | |
JP2017173332A (en) | GNSS signal processor | |
US20050254560A1 (en) | Apparatus and method for acquiring spread-spectrum signals | |
US11598883B2 (en) | Memory optimized GNSS correlator | |
KR101170334B1 (en) | Multiphase code generator and gnss receiver | |
EP3537181B1 (en) | Low power minimal rate global navigation satellite system signal tracking system | |
US7936846B2 (en) | Low gate count sequential multitap correlator | |
Schmidt et al. | Exploiting acceleration features of LabVIEW platform for real-time GNSS software receiver optimization | |
JP5128585B2 (en) | Method of using hardware and software for acquisition, tracking and hosting in a CDMA receiver | |
TW202124994A (en) | Modernized global navigation satellite system receivers | |
US20100245170A1 (en) | Gnss receiver |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111213 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120313 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120321 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120413 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120420 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120511 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120518 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120613 |
|
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: 20130514 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130612 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5295788 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |