JP5295788B2 - Method and apparatus for performing code space search at receiver - Google Patents

Method and apparatus for performing code space search at receiver Download PDF

Info

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
Application number
JP2008557521A
Other languages
Japanese (ja)
Other versions
JP2009535605A (en
Inventor
グローバー、ダグラス
パトリック、クリストファー
タン、カイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2009535605A publication Critical patent/JP2009535605A/en
Application granted granted Critical
Publication of JP5295788B2 publication Critical patent/JP5295788B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/30Acquisition or tracking or demodulation of signals transmitted by the system code related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details 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/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7073Synchronisation aspects
    • H04B1/7075Synchronisation aspects with code phase acquisition
    • H04B1/7077Multi-step acquisition, e.g. multi-dwell, coarse-fine or validation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details 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/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7073Synchronisation aspects
    • H04B1/7075Synchronisation aspects with code phase acquisition
    • H04B1/7077Multi-step acquisition, e.g. multi-dwell, coarse-fine or validation
    • H04B1/70775Multi-dwell schemes, i.e. multiple accumulation times
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details 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/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7073Synchronisation aspects
    • H04B1/7075Synchronisation aspects with code phase acquisition
    • H04B1/708Parallel implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B2201/00Indexing scheme relating to details of transmission systems not covered by a single group of H04B3/00 - H04B13/00
    • H04B2201/69Orthogonal indexing scheme relating to spread spectrum techniques in general
    • H04B2201/707Orthogonal indexing scheme relating to spread spectrum techniques in general relating to direct sequence modulation
    • H04B2201/70707Efficiency-related aspects
    • H04B2201/7071Efficiency-related aspects with dynamic control of receiver resources

Abstract

Apparatus and methods of implementing code space search of received signals are described herein. A code space search is implemented as a searcher (220) that perform a subtask that is dynamically reconf igurable at each boundary of an initial integration time. Each particular subtask sets forth a programmabl configuration of coherent integration hypothesis that are performed during th initial integration time. The searcher stores the results of the coherent integration hypothesis in a first portion of memory. A search accelerator (250) operates on the initial integration results. The search accelerator can perform coherent integration of various frequency bins of different timing hypothesis, can generate energy values of the coherent integration results, and can generate a non-coherent energy summation. The energy values of the coherent integrations and non-coherent energy summations are stored in a second portion of memory. The ability to reconfigure the subtasks and accelerator operation provides flexibility in search space dimensions.

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.

発明の概要Summary of the Invention

ここでは、受信信号のコードスペース探索を実施する装置および方法について説明する。コードスペース探索は、初期積分期間の各境界において動的な再構成が可能なサブタスクを行う探索器として実施される。各特定サブタスクは、初期積分期間中に行われるコヒーレント積分仮説のプログラム可能な構成を明らかにする。探索器は、コヒーレント積分仮説の結果をメモリの第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.

詳細な説明Detailed description

無線通信環境における信号取得および追跡のためにコードスペース探索を動的に再構成可能なシステムおよび方法について説明する。再構成可能なシステムは、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 wireless communication system 100 that supports position location.

無線通信システム100は、ユーザ端末110と通信できる1以上の地上要素を含むことができる。ユーザ端末110は、例えば1以上の通信規格に従って動作するように構成される無線電話であってよい。この1以上の通信規格は、例えばGSM、WCDMA、CDMA2000を含む。ユーザ端末110は携帯ユニット、移動ユニット、または据置ユニットであってよい。また、ユーザ端末110は、移動ユニット、移動端末、移動局、ユーザ機器、ポータブル、電話などとも呼ばれる。   The wireless communication system 100 may include one or more terrestrial elements that can communicate with the user terminal 110. User terminal 110 may be, for example, a wireless telephone configured to operate according to one or more communication standards. The one or more communication standards include, for example, GSM, WCDMA, and CDMA2000. The user terminal 110 may be a mobile unit, a mobile unit, or a stationary unit. The user terminal 110 is also called a mobile unit, a mobile terminal, a mobile station, a user equipment, a portable device, a telephone, or the like.

ユーザ端末110は、一般に、セクタ化セルラータワーとしてここで示す1以上の基地局120aまたは120bと通信する。通常、ユーザ端末110はユーザ端末110内の受信機での最大信号強度を提供する基地局、例えば120bと通信しようとする。2個の基地局120a、120b、並びに1つのユーザ端末110が、便宜性および明瞭性の目的で、図1に示される。システムは、通常、多数の基地局を持ち、1個を越えるユーザ端末をサポートすることができる。   User terminal 110 generally communicates with one or more base stations 120a or 120b, shown here as sectored cellular towers. Typically, user terminal 110 attempts to communicate with a base station that provides maximum signal strength at a receiver within user terminal 110, eg, 120b. Two base stations 120a, 120b and one user terminal 110 are shown in FIG. 1 for convenience and clarity purposes. The system typically has multiple base stations and can support more than one user terminal.

このユーザ端末110は1以上の信号ソースから受信した位置探索信号に基づいて部分的に自身の位置を決定できる。これら信号ソースは、GPSのような衛星ベース位置探索システムの一部であってよい1以上の衛星130を含むことができる。また、これら信号ソースは1以上の基地局120aまたは120bを含んでもよい。   The user terminal 110 can partially determine its position based on position search signals received from one or more signal sources. These signal sources may include one or more satellites 130 that may be part of a satellite based location system such as GPS. These signal sources may also include one or more base stations 120a or 120b.

ユーザ端末110は、各位置探索信号ソースまでの擬似距離を決定することによって部分的に自身の場所を決定できる。各位置探索信号ソースが擬似ノイズコードを使用して拡散された位置探索信号を伝送すると、ユーザ端末が局所的に生成された擬似ノイズコードを受信信号と相関させることによりある程度擬似距離を決定して、受信擬似ノイズ信号の位相を決定できる。ユーザ端末110は、この受信擬似ノイズ信号の位相に部分的に基づいて時間または距離と相関する擬似距離を決定できる。   The user terminal 110 can partially determine its location by determining the pseudorange to each location search signal source. When each position search signal source transmits a position search signal spread using a pseudo noise code, the user terminal determines the pseudo distance to some extent by correlating the locally generated pseudo noise code with the received signal. The phase of the received pseudo noise signal can be determined. The user terminal 110 can determine a pseudorange that correlates with time or distance based in part on the phase of the received pseudonoise signal.

基地局120aおよび120bの各々は、適切な基地局120aおよび120bへまたはからの通信信号の経路を決める基地局コントローラ(BSC)140に結合できる。BSC140は、ユーザ端末110と公衆交換電話ネットワーク(PSTN)170との間のインターフェースとして動作するように構成できる移動交換センター(MSC)150に結合されてよい。このため、MSC150がPSTN170に結合されてもよい。さらに、MSC150は、他の通信システムとの内部システムハンドオフを調整するように構成されてもよい。   Each of the base stations 120a and 120b can be coupled to a base station controller (BSC) 140 that routes communication signals to and from the appropriate base stations 120a and 120b. BSC 140 may be coupled to a mobile switching center (MSC) 150 that may be configured to operate as an interface between user terminal 110 and public switched telephone network (PSTN) 170. Thus, MSC 150 may be coupled to PSTN 170. Further, the MSC 150 may be configured to coordinate internal system handoff with other communication systems.

位置探索センター(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 BSC 140. The PLC 160 may be configured to store position search information such as the location of each of the base stations 120a and 120b within the position search system 100, for example. In one embodiment, the PLC 160 can provide this information to the user terminal 110 to determine its location based in part on pseudoranges to multiple signal sources that the user terminal 110 may be a relative arrival time value. It can be constituted as follows. In another embodiment, the PLC 160 can be configured to determine the location of the user terminal 110 based on pseudorange information provided by the user terminal 110. In the latter embodiment, a network server (not shown) in the PLC 160 can make a location search decision to offload processing from the user terminal 110.

PLC160は、BSC140を介して基地局120aおよび120bに命令して位置探索信号を生成させるように構成できる。別の実施形態では、基地局120a、120bが周期的に位置探索信号を生成するように構成できる。   The PLC 160 can be configured to instruct the base stations 120a and 120b via the BSC 140 to generate a position search signal. In another embodiment, the base stations 120a, 120b can be configured to periodically generate position location signals.

ユーザ端末110は、PLC160と共同で、いくつかの位置探索技術のうち任意の1つを使用して自身の位置を決定できる。ユーザ端末110またはPLC160は、擬似距離値を生成するために使用される信号ソースに部分的に基づいてこの技術を選択できる。例えば、ユーザ端末110は到達時間(TOA)、到達時間差(TDOA)、アドバンスドフォワードリンク三辺測量(AFLT)、またはこれ以外の位置探索技術を使用してよい。ユーザ端末110またはPLC160は、GPSに基づくもので、ハイブリッド位置探索システムのような地上ベースビーコンによってGPS信号を増大させるもので、かつ地上ベースのビーコンから導出される擬似距離値に基づくものである位置探索技術を実行することによりユーザ端末110の位置を決定できる。   The user terminal 110 can determine its location using any one of several location search techniques in cooperation with the PLC 160. User terminal 110 or PLC 160 may select this technique based in part on the signal source used to generate the pseudorange value. For example, the user terminal 110 may use arrival time (TOA), arrival time difference (TDOA), advanced forward link triangulation (AFLT), or other location search techniques. User terminal 110 or PLC 160 is based on GPS, augments GPS signals with ground-based beacons such as a hybrid location system, and is based on pseudorange values derived from ground-based beacons. The position of the user terminal 110 can be determined by executing the search technique.

例えば始動伴って最初の位置決定を生成するため、GPS衛星信号を処理するように構成されたユーザ端末110内の受信機は、全衛星PNコードシーケンス、全PNコード位相仮説、および全ドップラー周波数オフセットに渡って探索を必要とする。これは、探索が24個の衛星、所定範囲のドップラー周波数、1023個のコード仮説(これは、通常2046個の離散ハーフチップコードシフトおよび計算として実行される)に渡って行われることを意味する。初期位置が決定されると、ユーザ端末110は探索した周波数およびコード位相の数を、初期位置を決定する際に使用した衛星信号に基づくサブセットに制限する。ユーザ端末110は、探索する離散衛星PNコードシーケンスの数を、実際に見える衛星のセット、一般的には8個に減少させることができ、この数はさらに4個に減らすこともできる。   For example, a receiver in user terminal 110 configured to process a GPS satellite signal to generate an initial position fix upon startup may include a full satellite PN code sequence, a full PN code phase hypothesis, and a full Doppler frequency offset. Need to search across. This means that the search is performed over 24 satellites, a range of Doppler frequencies, 1023 code hypotheses (which are typically performed as 2046 discrete half-chip code shifts and calculations). . Once the initial position is determined, the user terminal 110 limits the number of searched frequencies and code phases to a subset based on the satellite signal used in determining the initial position. The user terminal 110 can reduce the number of discrete satellite PN code sequences to search to a set of actually visible satellites, typically eight, and this number can be further reduced to four.

しかし、単独のGPS衛生情報を使用して位置決定できない場合には、ユーザ端末110が1以上の地上ビーコンのための1以上のPNコードシーケンスを探索する必要がある。地上ビーコンによって使用されるコードシーケンスは、GPS衛星によって使用するコードシーケンスと通常異なっている。加えて、地上ベースの位置探索信号の処理およびタイムラインは、GPSのためのそれらとも通常異なる。   However, if location cannot be determined using single GPS health information, the user terminal 110 needs to search for one or more PN code sequences for one or more terrestrial beacons. The code sequence used by terrestrial beacons is usually different from the code sequence used by GPS satellites. In addition, the processing and timeline of ground-based location signals are usually different from those for GPS.

ユーザ端末110は再構成可能な受信信号プロセッサを含むことができる。この再構成可能な信号プロセッサは、複数の独立構成可能なリソースを含むことができ、複数の積分期間をサポートできる。これら独立構成可能なリソースは、選択されたコードスペース部分の探索を構成可能時間に渡って行うように構成できる。この探索結果は、構成可能な積分期間に渡ってコヒーレントに積分できる。さらに、この積分結果は非コヒーレントに積分できる。   User terminal 110 may include a reconfigurable received signal processor. The reconfigurable signal processor can include multiple independently configurable resources and can support multiple integration periods. These independently configurable resources can be configured to perform a search for a selected code space portion over a configurable time. This search result can be coherently integrated over a configurable integration period. Furthermore, this integration result can be integrated non-coherently.

ユーザ端末110内における再構成可能な受信信号プロセッサの実施は、このユーザ端末110が現在の処理条件に対して効率的な形式でリソースに専念することを認めるものである。例えば、ユーザ端末110は、初期位置決定中に、位置探索信号ソースの証明を迅速に識別するために、再構成可能な受信信号プロセッサを最大数の位置探索ソースに渡って探索するように構成することができる。例えば、ユーザ端末110は、まず、どの衛星が受信信号を発生したかを識別するために、所定最大数のGPS衛星に渡って探索を行うことができる。どの衛星が受信信号を発生したかを決定すると、ユーザ端末110は識別した衛星信号をより集中して処理するように受信信号プロセッサを再構成することができる。例えば、ユーザ端末110は周波数感度と並んで受信感度を向上させるためにより長いコヒーレント積分期間を構成できる。
The implementation of the reconfigurable received signal processor within the user terminal 110 allows the user terminal 110 to concentrate on resources in an efficient manner for current processing conditions. For example, the user terminal 110 may be configured to search for a reconfigurable received signal processor across a maximum number of position search sources in order to quickly identify a position search signal source proof during initial position determination. be able to. For example, the user terminal 110 can first perform a search across a predetermined maximum number of GPS satellites to identify which satellites have generated the received signal. Having determined which satellite generated the received signal, the user terminal 110 can reconfigure the received signal processor to process the identified satellite signal more intensively. For example, the user terminal 110 can configure a longer coherent integration period to improve reception sensitivity along with frequency sensitivity.

図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 signal processing system 200 that performs code space searches. The signal processing system 200 includes a sample server 210 coupled to a searcher 220. Searcher 220 generates results that are stored in memory 240. The accelerator 250 accesses the searcher results in the memory 240 to perform additional signal processing.

データムーバ230は、探索器220からの結果をメモリ240内の場所に書き込む。また、データムーバ230は加速器250に関連したバッファ260およびメモリ240間の読み出しおよび書き込み動作を制御する。バッファ260はサンプルバッファ262とエネルギーバッファ264に分割することができる。サンプルバッファ262およびエネルギーバッファ264の各々はダブルバッファとして構成でき、ここではデータがバッファの第1部分に書き込まれ、これと同時に別のデータがこのバッファの第2部分から読み出される。   The data mover 230 writes the result from the searcher 220 to a location in the memory 240. Data mover 230 also controls read and write operations between buffer 260 and memory 240 associated with accelerator 250. The buffer 260 can be divided into a sample buffer 262 and an energy buffer 264. Each of sample buffer 262 and energy buffer 264 can be configured as a double buffer, where data is written to the first portion of the buffer while other data is read from the second portion of the buffer.

コントローラ270は、探索器220および加速器250を構成するように動作する。例えば、コントローラ270は、探索器220によって行われるサブタスクを構成できる。また、コントローラ270はコヒーレント積分期間あるいは長さ、および加速器250によって行われる非コヒーレントエネルギー合計の長さを構成できる。   The controller 270 operates to configure the searcher 220 and the accelerator 250. For example, the controller 270 can configure subtasks performed by the searcher 220. Controller 270 can also configure the coherent integration period or length and the length of the total non-coherent energy performed by accelerator 250.

また、コントローラ270は様々な相関値およびエネルギー合計を記憶するために必要とされるメモリ量を構成できる。相関結果の記憶に必要なメモリ量は、コヒーレント積分の期間長および非コヒーレントエネルギー合計の数に一部基づいて決定される。コントローラ270は、構成をサポートするために必要なメモリリソースを利用し、未使用メモリを別の処理に使用できるようにする。コントローラ240はデータムーバ130がメモリ240の読み出し、または書き込みを行う際に適切なメモリの場所をアクセスできるようにするために動的メモリマップをデータムーバ230へ送る。   Controller 270 can also configure the amount of memory required to store various correlation values and energy sums. The amount of memory required to store the correlation results is determined based in part on the coherent integration period length and the number of non-coherent energy sums. The controller 270 utilizes the memory resources necessary to support the configuration and allows unused memory to be used for other processing. Controller 240 sends a dynamic memory map to data mover 230 to allow data mover 130 to access the appropriate memory location when reading or writing to memory 240.

一般的に、サンプルサーバ210は、受信信号のコンプレックスサンプルを一時的に記憶しておくRAMのようなメモリとして実施される。別の実施形態では、サンプルサーバ210は、受信ベースバンド信号をサンプリングし、同相(I)サンプルおよび直交位相(Q)サンプルを生成するように構成されるコンプレックスアナログ/ディジタル変換器(ADC)のような信号サンプラを含んでよい。   In general, the sample server 210 is implemented as a memory such as a RAM that temporarily stores complex samples of received signals. In another embodiment, the sample server 210 is a complex analog to digital converter (ADC) configured to sample the received baseband signal and generate in-phase (I) and quadrature (Q) samples. A simple signal sampler may be included.

例えば、サンプルサーバ210は、2倍のチップ速度で取得された最大4ミリ秒のコンプレックスサンプルを記憶するように構成できる。無論、サンプルサーバ210は2倍のチップ速度で取得したサンプルに限定されるものではなく、実際のサンプル速度はチップ速度の分数または倍数であってよい。例えば、サンプルサーバ210は、チップ速度、チップ速度の4倍の速度、または他の間隔で取得したサンプルを記憶するように構成できる。信号処理システム200が受信GPS信号を処理するように構成される場合には、サンプリング速度は約2MHzであってよい。サンプルサーバ210は、これに記憶されているサンプルのミリ秒境界がコード期間に対応するGPSミリ秒境界と一致するようにリアルタイム時計(図示せず)と同期できる。   For example, the sample server 210 can be configured to store up to 4 milliseconds of complex samples taken at twice the chip rate. Of course, the sample server 210 is not limited to samples acquired at twice the chip rate, and the actual sample rate may be a fraction or a multiple of the chip rate. For example, the sample server 210 can be configured to store samples taken at a tip rate, four times the tip rate, or at other intervals. If the signal processing system 200 is configured to process received GPS signals, the sampling rate may be about 2 MHz. The sample server 210 can synchronize with a real time clock (not shown) such that the millisecond boundaries of the samples stored therein match the GPS millisecond boundaries corresponding to the code period.

探索器220は、サンプルサーバ210に記憶されたコンプレックスサンプルについて動作する。探索器220は、32個の独立構成可能なサブタスクをサポートし、各サブタスクは1ミリ秒毎に再割り当てできる。各サブタスクは64個の別々の仮説に渡って32個のチップウィンドウを探索する。このサブタスクは、GPS衛星に対応する同一または異なるコードを探索するように割り当てることができる。特定の衛星のコードスペースの探索に割り当てられたサブタスクの数の増大は、平均探索時間を短縮する。異なる仮説の総数と各ウィンドウの長さはハードウェア構成を変更することによって変更でき、また、サブタスクの実際数および構成は上述した例に限定されるものではない。   The searcher 220 operates on complex samples stored in the sample server 210. The searcher 220 supports 32 independently configurable subtasks, and each subtask can be reassigned every millisecond. Each subtask searches 32 chip windows across 64 separate hypotheses. This subtask can be assigned to search for the same or different codes corresponding to GPS satellites. Increasing the number of subtasks assigned to search for a particular satellite code space reduces the average search time. The total number of different hypotheses and the length of each window can be changed by changing the hardware configuration, and the actual number and configuration of subtasks are not limited to the example described above.

例えば、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 controller 270 and can be, for example, a multiple of 2 from 2 to 64.

コード位相探索を実行する前に、探索器220が受信信号内の周波数オフセットを修正する。一実施形態では、探索器220が探索サンプルを所望の中心周波数にまで回転させるロテータを実現できる。ロテータによって補正できる周波数オフセットの量は、信号処理システム200によって行われる周波数探索として実施できる周波数修正ループに一部基づいて決定できる。   Prior to performing the code phase search, searcher 220 corrects the frequency offset in the received signal. In one embodiment, searcher 220 can implement a rotator that rotates search samples to a desired center frequency. The amount of frequency offset that can be corrected by the rotator can be determined based in part on a frequency correction loop that can be implemented as a frequency search performed by the signal processing system 200.

探索器220は、受信し、オーバサンプルされたチップシーケンスの補間をオプションで行うことができる。この補間処理は、相関に先立つ入力信号の再サンプリングとも呼ばれる。一実施形態では、受信信号はコードシーケンスチップ速度の2倍の速度(チップ×2)でサンプリングされる。サンプラが、2個の連続したサンプルを補間し、可変遅延を導入する。この可変遅延は、一般的に1チップ期間の1/2よりも短く、さらに例えば、チップ期間の1/4、あるいは短いチップ期間の倍数であってよい。例えば、リサンプラは1チップ期間の1/8の倍数に遅延を導入することができ、ここで倍数は0〜3の範囲である。   Searcher 220 may optionally perform interpolation of received and oversampled chip sequences. This interpolation processing is also called resampling of the input signal prior to correlation. In one embodiment, the received signal is sampled at a rate twice the code sequence chip rate (chips × 2). The sampler interpolates two consecutive samples and introduces a variable delay. This variable delay is generally shorter than ½ of one chip period, and may be, for example, ¼ of a chip period or a multiple of a short chip period. For example, the resampler can introduce a delay that is a multiple of 1/8 of a chip period, where the multiple is in the range of 0-3.

探索器220は仮説の各々を使用して32チップシーケンスを逆拡散するが、ここで仮説は局所的に生成されたPNコードシーケンスの特定の位相に対応する。各仮説は32のコード位相オフセットの探索を可能にするハーフチップ境界で並ぶことができる。別の実施形態では、各仮説がチップ境界で並ぶことができるため、これにより64の異なるコード位相オフセットの探索を可能にする。探索器220は、コンプレックス相関結果の各々を探索バッファに記憶するように構成される。データムーバ230は、バッファされた探索結果をメモリ240内の場所に記憶できる。   Searcher 220 despreads the 32 chip sequence using each of the hypotheses, where the hypothesis corresponds to a particular phase of the locally generated PN code sequence. Each hypothesis can be aligned on a half-chip boundary allowing a search for 32 code phase offsets. In another embodiment, each hypothesis can be aligned at a chip boundary, thereby allowing a search for 64 different code phase offsets. Searcher 220 is configured to store each of the complex correlation results in a search buffer. The data mover 230 can store the buffered search results at a location in the memory 240.

一実施形態では、探索バッファ224がダブルバッファとして構成できる。探索器220は、過去の探索器結果をメモリ240へ移動するためにデータムーバ230がダブルバッファの第2部分をアクセスしている間に、ダブルバッファの第1部分を更新するように構成できる。このダブルバッファ構成は、探索器220がデータ伝送制限でなく、むしろ計算制限されることを許す。ダブルバッファを構成することで、次の探索器タスクを実行する前に先行する計算結果の転送を完了させる必要がなくなると共に、先行する結果のデータ伝送と最新タスクの処理とが同時に発生可能になる。   In one embodiment, search buffer 224 can be configured as a double buffer. Searcher 220 can be configured to update the first portion of the double buffer while data mover 230 accesses the second portion of the double buffer to move past searcher results to memory 240. This double buffer configuration allows searcher 220 to be computationally limited rather than data transmission limited. By configuring the double buffer, it is not necessary to complete the transfer of the preceding calculation result before executing the next searcher task, and the data transmission of the preceding result and the processing of the latest task can occur simultaneously. .

無論、探索器220はダブルバッファ構成の使用に限定されるものではなく、同時に処理とデータ伝送のできる他のメモリ構成を使用してよい。例えば、探索器220は、特定のメモリの場所が次に更新される前に全データ転送を行わせるために十分なサイズを持ったサーキュラーバッファを実現できる。   Of course, the searcher 220 is not limited to the use of a double buffer configuration, but may use other memory configurations capable of simultaneous processing and data transmission. For example, the searcher 220 can implement a circular buffer that is large enough to allow a full data transfer to occur before the next update of a particular memory location.

探索器220の構成と、特に探索コードスペースおよび仮説数の構成とは、各相関増分毎に構成できる。上述した例では、相関増分は、各ミリ秒毎に発生する。   The configuration of the searcher 220 and in particular the configuration of the search code space and the number of hypotheses can be configured for each correlation increment. In the example described above, the correlation increment occurs every millisecond.

探索器220は、相関増分毎に更新できるハードウェアコマンドレジスタを含む。コントローラ270は、タスクキューの場所とサイズをハードウェアコマンドレジスタに書き込むことができる。前述したように、探索器220は、単一のキューにおいて最大32個の別々のタスクを行うように制御可能である。   Searcher 220 includes a hardware command register that can be updated for each correlation increment. The controller 270 can write the location and size of the task queue to the hardware command register. As previously described, searcher 220 can be controlled to perform up to 32 separate tasks in a single queue.

探索器220は、ハードウェアコマンドレジスタで指定したキューをアクセスするように構成される。探索器220は、タスク処理中にタスクキューを取得でき、有効性比較値に基づいて、ハードウェアコマンドレジスタ内で指定されたタスクのスタート時間を決定できる。   The searcher 220 is configured to access the queue specified by the hardware command register. The searcher 220 can acquire the task queue during task processing, and can determine the start time of the task specified in the hardware command register based on the validity comparison value.

加速器250は、探索器220からの相関結果を処理するように構成される。加速器250は、開始を必要とする異なるデータ転送の数を減らすために、バッファ260に記憶されたデータについて動作するように構成できる。バッファ260はサンプルバッファ262およびエネルギー格子バッファ264を含んでよい。サンプルバッファ262およびエネルギー格子バッファ264の各々をダブルバッファとして配列することで、メモリ240内の読み出しおよび書き込み場所に関連して生じうるメモリ争奪問題を排除できる。   Accelerator 250 is configured to process the correlation results from searcher 220. Accelerator 250 can be configured to operate on data stored in buffer 260 to reduce the number of different data transfers that need to be initiated. Buffer 260 may include sample buffer 262 and energy grid buffer 264. Arranging each of sample buffer 262 and energy grid buffer 264 as a double buffer eliminates memory contention problems that may occur in connection with read and write locations in memory 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 accelerator 250 and another bank of buffers is coupled to or made accessible to data mover 280. The association between the bank and the integration engine or data mover 280 is swapped after each processing interval.

加速器250は、構成可能な積分期間および複数の周波数に渡ってコヒーレントな積分和を生成するように構成される複数の並列アキュムレータを含む積分エンジンを含む。加速器250はどのコヒーレント積分の期間長も事実上サポートするように制御されることができるが、加速器250は積分期間長の離散セットをサポートするように最適化されることもできる。一実施形態において、加速器250は10、20、39、80、160ミリ秒の積分期間に渡って、コヒーレント累積とも呼ばれるコヒーレント積分和を生成するように構成される。探索器220は、1ミリ秒期間に渡ってコヒーレント積分結果を生成するため、ミリ秒単位のコヒーレント累積時間はコヒーレント積分の期間長に対応する。加速器250は、1以上のビットエッジに渡って拡張された積分の期間長を収容するためにビットエッジおよびビット値を追跡するように構成できる。   Accelerator 250 includes an integration engine that includes a plurality of parallel accumulators configured to generate a coherent integration sum over a configurable integration period and a plurality of frequencies. Although the accelerator 250 can be controlled to support virtually any coherent integration period length, the accelerator 250 can also be optimized to support a discrete set of integration period lengths. In one embodiment, the accelerator 250 is configured to generate a coherent integration sum, also called coherent accumulation, over an integration period of 10, 20, 39, 80, 160 milliseconds. Since the searcher 220 generates a coherent integration result over a period of 1 millisecond, the coherent accumulation time in milliseconds corresponds to the period length of the coherent integration. Accelerator 250 can be configured to track bit edges and bit values to accommodate an extended period length of integration over one or more bit edges.

並列累積経路の数は加速器250内の複雑さの許容レベルに依存する。一実施形態において、加速器250は、例えば、6個の異なる周波数に渡る1セットのサンプルの積算を可能にする6本の並列乗算器加速器経路を含むことができる。並列累積経路の動作は多くの周波数および多くのサンプルセットをサポートできるように繰り返すことができる。   The number of parallel cumulative paths depends on the complexity tolerance level in the accelerator 250. In one embodiment, the accelerator 250 can include six parallel multiplier accelerator paths that allow, for example, integration of a set of samples over six different frequencies. The operation of the parallel cumulative path can be repeated to support many frequencies and many sample sets.

加速器バッファ262は、1タスクの全仮説について20ミリ秒の積分を行うために十分であってよい。同様に、エネルギーバッファ264も、64の時間オフセットの各々に渡って20個の周波数をサポートするのに十分な大きさであってよい。20ミリ秒を超える積分は、1つの動作内の時間オフセット総数のサブセットを処理することで行える。20*Nミリ秒の積分を実行するには、N個の加速器動作が使用される。各動作は63/N個の時間仮説を処理する。各サンプルメモリは、64/N個の時間オフセットの各々について20*Nミリ秒を保持する。各エネルギーメモリは、64/N個の時間オフセットの各々について20*N個の周波数を保持する。この結果、異なる積分の期間長をサポートするために必要となるメモリ帯域幅および加速器トランザクションレートは変化しない。   The accelerator buffer 262 may be sufficient to perform a 20 millisecond integration for all hypotheses of one task. Similarly, the energy buffer 264 may be large enough to support 20 frequencies over each of the 64 time offsets. Integration over 20 milliseconds can be done by processing a subset of the total time offset within an operation. N accelerator operations are used to perform 20 * N millisecond integration. Each operation processes 63 / N time hypotheses. Each sample memory holds 20 * N milliseconds for each of 64 / N time offsets. Each energy memory holds 20 * N frequencies for each of 64 / N time offsets. As a result, the memory bandwidth and accelerator transaction rate required to support different integration period lengths does not change.

例えば、加速器250は、単一の動作中に64個の異なる時間仮説に渡って20ミリ秒の累積時間を同時にサポートするように構成するか、または、同じ単一の動作中に8個の異なる時間仮説に渡って160ミリ秒の累積時間をサポートするように構成できる。加速器250は、同じ64個の周波数仮説を探索するために8個の別個動作を行える。こうして、加速器によって利用されるデータ帯域幅は積分期間に関係なく一定に保たれる。   For example, the accelerator 250 may be configured to simultaneously support 20 milliseconds of accumulated time over 64 different time hypotheses during a single operation, or 8 different during the same single operation. It can be configured to support a cumulative time of 160 milliseconds across the time hypothesis. The accelerator 250 can perform eight separate operations to search for the same 64 frequency hypotheses. Thus, the data bandwidth utilized by the accelerator is kept constant regardless of the integration period.

加速器250にかかる周波数範囲のサイズは、一般的には公称周波数の上下約250ヘルツに広がった合計500ヘルツである。加速器250によって同時に解析される周波数仮説の数は、コヒーレント積分の期間長に依存して変化する。一実施形態では、同時に処理される周波数仮説の数はコヒーレント積分の期間長に等しく設定される。加速器250は、異なる周波数ビンを周波数スパンに渡ってほぼ均一な間隔に配置する。   The size of the frequency range across the accelerator 250 is typically a total of 500 hertz that extends approximately 250 hertz above and below the nominal frequency. The number of frequency hypotheses analyzed simultaneously by the accelerator 250 varies depending on the duration of the coherent integration. In one embodiment, the number of frequency hypotheses that are processed simultaneously is set equal to the period length of the coherent integration. The accelerator 250 places the different frequency bins at approximately uniform intervals across the frequency span.

加速器250は、コヒーレント積分の期間長に渡る累積および所望の周波数オフセットで入力サンプルを回転させることにより特定の周波数オフセットにコヒーレント積分を決定する。加速器250はこの後2次元エネルギー格子をポピュレートするためにコヒーレント和のエネルギーを計算する。2次元エネルギー格子は、各時間仮説および各周波数オフセットについて現在のコヒーレント積分の期間長のエネルギーを含むことができる。   The accelerator 250 determines the coherent integration at a particular frequency offset by rotating the input sample with a cumulative and desired frequency offset over the duration of the coherent integration. The accelerator 250 then calculates the coherent sum energy to populate the two-dimensional energy lattice. The two-dimensional energy grid can contain the current coherent integration period length energy for each time hypothesis and each frequency offset.

加速器250は、別の時間仮説のコヒーレント和を決定する前に、特定の時間仮説の全ての周波数についてコヒーレント和を決定するように構成できる。このようにコヒーレント和を実行することで、メモリをアクセスする回数を最小化することができる。無論、別の実施形態では、周波数オフセットの使用はプロセッサ集中的であってよく、また、全ての時間仮説に渡る各周波数オフセットのコヒーレント和を、別の周波数オフセットについてコヒーレント和を決定する前に完了することができる。別の実施形態は、この和をこれ以外の順序で決定できる。   The accelerator 250 can be configured to determine a coherent sum for all frequencies of a particular time hypothesis before determining a coherent sum of another time hypothesis. By executing the coherent sum in this way, the number of times the memory is accessed can be minimized. Of course, in another embodiment, the use of frequency offsets may be processor intensive, and the coherent sum of each frequency offset across all time hypotheses is completed before determining the coherent sum for another frequency offset. can do. Another embodiment can determine this sum in any other order.

データムーバ230は、探索器220とメモリ240の間、メモリ240と加速器250の間で情報を転送するために、DMAエンジンとして動作する。データムーバ230は、探索モードと関連積分期間長とに少なくとも一部依存した各場所へメモリ転送する。データムーバ230は、コントローラ270からのタスクキューに基づいてメモリマップを決定することができる。   Data mover 230 operates as a DMA engine to transfer information between searcher 220 and memory 240 and between memory 240 and accelerator 250. The data mover 230 transfers the memory to each location depending at least in part on the search mode and the associated integration period length. The data mover 230 can determine the memory map based on the task queue from the controller 270.

データムーバ230は、探索器220がスケジュールされたサブタスクの各々について生成したコヒーレント和をコピーする。探索器220がコヒーレント和をダブルバッファする実施形態では、データムーバ230は探索器220によってまだ書き込まれていないバッファからブロックを転送する。データムーバ230は、現在のサブタスク動作に関連していないバッファのブロック内のデータについて動作するように構成される。   Data mover 230 copies the coherent sum generated by searcher 220 for each scheduled subtask. In embodiments where the searcher 220 double buffers the coherent sum, the data mover 230 transfers blocks from a buffer that has not yet been written by the searcher 220. Data mover 230 is configured to operate on data in a block of buffers not associated with the current subtask operation.

同様に、データムーバ230は先に記憶された探索器出力と、先に決定されたエネルギー和をメモリ240から加速器250内のバッファ262へ、特に、メモリ転送に関連し、加速器250によって書き込まれていないバッファブロックへコピーする。また、データムーバ230は最新のエネルギー和を加速器バッファからメモリ230へコピーする。   Similarly, the data mover 230 is written by the accelerator 250 with the previously stored searcher output and the previously determined energy sum from the memory 240 to the buffer 262 in the accelerator 250, particularly in connection with the memory transfer. Copy to no buffer block. The data mover 230 also copies the latest energy sum from the accelerator buffer to the memory 230.

コントローラ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 controller 270 generates a task queue and associated control information written in the hardware command register of the searcher 220. The controller 270 can configure substantially any search and integration period length supported by the space available in the memory 240. However, the controller 270 generally has a predetermined number of search configurations or search modes that can be selected and programmed at each control boundary. For example, the controller 270 may have a high search mode over 1600 Hz, 20 different frequency bins, 64 hypotheses, 20 coherent lengths, a first low search mode over 400 Hz, 80 different frequency bins, 16 hypotheses. In addition, a coherent length of 80, a second low search mode over 200 Hz, 160 different frequency bins, 8 hypotheses, a coherent length of 160, a coarse acquisition search mode spanning 1600 Hz, 8 different frequency bins , 8 hypotheses, one of 20 coherent lengths can be selected.

図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 signal processing system 200 for code space search. The system 200 will be described with reference to GPS code space search processing. However, a similar code space search can be processed for other PN code spreading information such as AFLT.

サンプルサーバ210は、約2倍のチップ速度でコンプレックス入力サンプルを受信し、このサンプルをRAMのようなメモリに書き込む。サンプルサーバ210は、RAMをサーキュラーバッファとして配列するように、また、最も古いエントリを最新のサンプルで上書きするように構成できる。   Sample server 210 receives complex input samples at about twice the chip speed and writes the samples to a memory such as RAM. The sample server 210 can be configured to arrange the RAM as a circular buffer and to overwrite the oldest entry with the latest sample.

探索器220は、タスクキューの場所とサイズを決定するためにハードウェアコマンドレジスタの内容を調べる。過去のハードウェアコマンドレジスタ内容が指定したタスクキューの処理中に、探索器220内のハードウェアコマンドレジスタをプログラムすることができる。探索器220は、次にスケジュールされている探索タスクのスタート時間を決定し、現在の探索タスクが終了し次第、新規の探索タスクをスタートすることができる。   The searcher 220 examines the contents of the hardware command register to determine the location and size of the task queue. The hardware command register in the searcher 220 can be programmed during the processing of the task queue specified by the past hardware command register contents. The searcher 220 can determine the start time of the next scheduled search task and start a new search task as soon as the current search task is finished.

各タスクキューは、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. Searcher 220 can process the subtasks and write a coherent sum of each hypothesis to a buffer in searcher 220. The searcher buffer can be organized as a double buffer. Two blocks of the searcher double buffer can be alternately associated with one of the searcher 220 or the data mover 230. The block associated with the searcher 220 receives the correlation result generated by the searcher 220, while the block associated with the data mover 230 allows the block data to be transferred from the searcher 220 to the memory 240. The relevance of blocks in the searcher double buffer is swapped at a predetermined time. For example, if the searcher 220 fills a block associated with it, the relevance of the blocks is swapped.

データムーバ230は、関連する探索器220バッファとメモリ240の間でデータ転送310を実行する。データムーバ230は、探索器220内で実行されるデータ転送310とコヒーレント積分処理を同期させる必要はない。その代わり、データムーバ230は、バッファブロック関連が有効である任意の時間にデータ転送310を実行するように構成できる。データムーバ230は、値を書き込むためのメモリ240内の場所を、コントローラ(図示せず)が開始したアクティブ探索モードに少なくとも一部基づいて決定する。システム200に割り当てられるメモリ240のサイズは動的であってよく、例えばアクティブコード探索モードに基づいて変更することができる。一例として、1600Hz、8個の異なる周波数ビン、8個の仮説、20のコヒーレント長に渡るビットエッジ探索モードに必要な記憶スペースメモリ240は、200Hz、160個の異なる周波数ビン、8個の仮説、160のコヒーレント長に渡る低探索モードに必要な記憶スペースメモリよりも小規模である。   Data mover 230 performs data transfer 310 between the associated searcher 220 buffer and memory 240. The data mover 230 need not synchronize the data transfer 310 performed in the searcher 220 with the coherent integration process. Instead, the data mover 230 can be configured to perform the data transfer 310 at any time when the buffer block association is valid. The data mover 230 determines the location in the memory 240 for writing the value based at least in part on the active search mode initiated by the controller (not shown). The size of the memory 240 allocated to the system 200 can be dynamic and can change based on, for example, the active code search mode. As an example, the storage space memory 240 required for bit edge search mode over 1600 Hz, 8 different frequency bins, 8 hypotheses, 20 coherent lengths is 200 Hz, 160 different frequency bins, 8 hypotheses, It is smaller than the storage space memory required for the low search mode over 160 coherent lengths.

メモリ240が無線通信ディバイス用のシステムメモリである場合のように、メモリ240をコードスペース探索とは異なる処理と共有する場合には、メモリスペースの動的割り当てによって、コード探索とは別のタスクをサポートするために使用できるメモリスペースが最大化される。システム200には、アクティブコード探索モードをサポートするのに十分なメモリ240スペースが割り当てられるだけでよい。   When the memory 240 is shared with processing different from the code space search, such as when the memory 240 is a system memory for a wireless communication device, a task different from the code search is performed by dynamic allocation of the memory space. The memory space that can be used to support is maximized. System 200 need only be allocated enough memory 240 space to support the active code search mode.

データムーバ230はまた、メモリに記憶されている探索器結果をダブルバッファ式サンプルバッファ262内へデータ転送320する動作を制御することもできる。加速器250はコヒーレント積分中に探索器結果を消費するため、サンプルバッファ262へのデータ転送320はメモリ240からサンプルバッファ262への一方向であってよい。   The data mover 230 can also control the operation of data transfer 320 into the double buffered sample buffer 262 of searcher results stored in memory. Since accelerator 250 consumes searcher results during coherent integration, data transfer 320 to sample buffer 262 may be unidirectional from memory 240 to sample buffer 262.

ダブルバッファ式サンプルバッファ262は、データムーバ230と加速器250の間の第1および第2ブロックの関連性を変更することができる。加速器250は、関連するサンプルバッファ262ブロックからの読み出し動作340を制御する。データムーバ230および加速器250は、加速器250が関連するサンプルバッファ262ブロック内の全てのデータをアクセスすると、サンプルバッファ262ブロックの関連性をスワップすることができる。   The double buffered sample buffer 262 can change the association of the first and second blocks between the data mover 230 and the accelerator 250. The accelerator 250 controls the read operation 340 from the associated sample buffer 262 block. Data mover 230 and accelerator 250 can swap the relevance of the sample buffer 262 block once accelerator 250 has accessed all the data in the associated sample buffer 262 block.

加速器250は、コントローラがプログラムした探索モードに基づいて決定されたコヒーレント累積期間長に渡る探索器結果のコヒーレント和を決定する。加速器250は、コヒーレント積分結果の複雑な成分の平方を加算することで、各コヒーレント積分のエネルギー値を生成することができる。   The accelerator 250 determines a coherent sum of searcher results over a coherent accumulation period length determined based on a search mode programmed by the controller. The accelerator 250 can generate the energy value of each coherent integration by adding the squares of the complex components of the coherent integration result.

加速器250は、エネルギー値をエネルギーバッファ264に書き込むことで、メモリ240へ転送することができる。あるいは、加速器250は、同一のエネルギー格子場所に算出された現在のエネルギー値と過去のエネルギー値を加算することで、エネルギー値の非コヒーレント累積を生成するように構成できる。   The accelerator 250 can transfer the energy value to the memory 240 by writing the energy value to the energy buffer 264. Alternatively, the accelerator 250 can be configured to generate a non-coherent accumulation of energy values by adding the current energy value calculated in the same energy grid location and the past energy value.

加速器250は、ダブルバッファ式エネルギーバッファ264の関連するブロックどうし間でのエネルギー値の双方向のデータ転送350を制御する。エネルギーバッファ264は、データムーバ230または加速器250の一方に交互に関連するブロックを設けたダブルバッファとして構成することができる。   The accelerator 250 controls the bi-directional data transfer 350 of energy values between related blocks of the double buffered energy buffer 264. The energy buffer 264 can be configured as a double buffer with blocks alternately associated with one of the data mover 230 or the accelerator 250.

データムーバ230は、メモリ240とこれに関連するエネルギーバッファ264のブロックの間におけるエネルギー値の双方向のデータ転送330を制御する。同様に、加速器250は、関連するエネルギーバッファ350のブロック間におけるエネルギーバッファの読み出しおよび書き込み動作350を制御する。エネルギーバッファ264のブロックどうしの関連性は、アクティブ探索モードによって決定されたスケジュールに基づいてスワップできる。   The data mover 230 controls the bi-directional data transfer 330 of energy values between the memory 240 and the associated block of energy buffer 264. Similarly, the accelerator 250 controls energy buffer read and write operations 350 between blocks of the associated energy buffer 350. The relevance between blocks of the energy buffer 264 can be swapped based on the schedule determined by the active search mode.

データムーバ230は、過去に記憶されたメモリ240からのエネルギー結果をアクセスし、データ転送動作330中に、この値を関連するエネルギーバッファ264のブロックにコピーすることができる。ブロックに関連したスワップの後に、加速器250は、データムーバ230によって過去に転送されたエネルギー値をアクセスすることができ、また、例えば、現在のエネルギー値を使用して非コヒーレント累積を決定できる。加速器250は、このエネルギーバッファ264のブロックへ戻る書き込み動作350を制御する。エネルギーバッファ264のブロックが再度スワップされる時に、データムーバ130は、更新されたエネルギー値をエネルギーバッファ264からメモリ240へデータ転送330をすることができる。   Data mover 230 can access previously stored energy results from memory 240 and copy this value to the associated block of energy buffer 264 during data transfer operation 330. After a swap associated with a block, accelerator 250 can access energy values previously transferred by data mover 230, and can determine non-coherent accumulation using, for example, current energy values. The accelerator 250 controls the write operation 350 back to this energy buffer 264 block. When the block of energy buffer 264 is swapped again, the data mover 130 can transfer the updated energy value 330 from the energy buffer 264 to the memory 240.

加速器250処理は、データをより効率的に処理するために、パイプライン形式にて実行できる。このパイプライン形式の処理は、例えば3個の異なる動作のパイプラインであってよい。パイプラインは一動作の入力データ転送、第2動作についてのコヒーレント累積およびエネルギー値の処理、第3動作についての加速器250からメモリ24への過去の結果のデータ転送をサポートすることができる。   The accelerator 250 process can be performed in a pipeline format to process the data more efficiently. This pipeline type processing may be, for example, a pipeline of three different operations. The pipeline can support input data transfer for one operation, coherent accumulation and energy value processing for the second operation, and past result data transfer from the accelerator 250 to the memory 24 for the third operation.

そのため、加速器250が過去のデータ転送について探索器結果について動作している最中に(動作N)、データムーバ230は探索器結果をメモリからサンプルバッファへ転送できる(動作N+1)。これに加えて、データムーバ230は、過去に外部メモリ240から記憶された値をエネルギーバッファにロードする前に、第3の異なる動作について、累積したエネルギー和をエネルギーバッファからメモリ240へ転送できる(動作N−1)。   Thus, while the accelerator 250 is operating on the searcher results for past data transfers (operation N), the data mover 230 can transfer the searcher results from the memory to the sample buffer (operation N + 1). In addition, the data mover 230 can transfer the accumulated energy sum from the energy buffer to the memory 240 for the third different operation before loading the values previously stored from the external memory 240 into the energy buffer ( Operation N-1).

図4は、コードスペース探索の方法400の実施形態を示すフローチャートである。この方法400は、図2の位置探索信号処理システムによって実現でき、また、図1中のユーザ端末において実現できる。方法400は、機能ブロックに渡る処理を図示している。方法400における動作のシーケンスは、システム全体に渡る1セットのサンプルの処理を図示している。システム内における複数の動作を同時に発生させるこことで、この方法を再構成またはデータ転送の待ち時間なく連続動作させることが可能である。   FIG. 4 is a flowchart illustrating an embodiment of a code space search method 400. This method 400 can be realized by the position search signal processing system of FIG. 2 and can be realized by the user terminal in FIG. Method 400 illustrates processing across functional blocks. The sequence of operations in method 400 illustrates the processing of a set of samples throughout the system. With the simultaneous generation of multiple operations in the system, it is possible to operate the method continuously without reconfiguration or data transfer latency.

方法400は、システムが、探索対象である受信信号のコンプレックスサンプルを捕捉するブロック402から始まる。例えば、信号サンプラは、受信GPS信号を、PNコード速度の約2倍の速度で受信できる。コンプレックスサンプルは、RAMあるいは他の記憶ディバイスに記憶することができる。   Method 400 begins at block 402 where the system captures complex samples of a received signal to be searched. For example, the signal sampler can receive a received GPS signal at a rate approximately twice the PN code rate. Complex samples can be stored in RAM or other storage devices.

次に、システムは、探索器が具体的なコード探索処理モードをサポートするように構成されるブロック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 block 420, the data mover transfers the initial coherent integration result from the searcher to memory. In one embodiment, the memory is shared by other processes, and the data mover performs a DMA transfer to each location in the shared memory of the searcher buffer.

探索器結果をメモリに転送した後に、システムはブロック430へ進む。ブロック430では、データムーバが、探索器結果の少なくとも一部をメモリからサンプルバッファの関連するブロックへ転送し、加速器がこの結果の一部を処理できるようにする。サンプルバッファの各ブロックがデータムーバまたは加速器の一方に関連した状態では、サンプルバッファもダブルバッファとして構成することができる。所定のイベントの後にサンプルバッファブロックの関連性をスワップできる。この所定のイベントは、バッファの充填、タイミング、あるいはこれ以外のイベントであってよい。   After transferring the searcher results to memory, the system proceeds to block 430. At block 430, the data mover transfers at least some of the searcher results from memory to the relevant block of the sample buffer, allowing the accelerator to process some of the results. With each block of the sample buffer associated with either the data mover or the accelerator, the sample buffer can also be configured as a double buffer. The sample buffer block association can be swapped after a given event. This predetermined event may be buffer filling, timing, or other events.

システムはブロック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 block 460, the data mover accesses the latest energy value updated by the accelerator. The data mover can DMA transfer the updated energy accumulation to the memory. The data mover can also load any energy value from the memory into the energy buffer to support the next non-coherent accumulation.

ブロック460の次に、受信した特定のサンプルの処理により、サンプリングからエネルギー累積までの処理経路全体が完了する。様々な中間値のダブルバッファリングおよびメモリ記憶を行うことで、処理全体を実質的に連続して実行することが可能になる。探索器が過去にスケジュールされたタスクについて動作している間は、各々の初期累積境界にて探索器を再構成できるため、システムは、探索構成における変更を中止したり、あるいは変更を待つ必要がない。探索器と加速器への入力部との両方における探索器結果のダブルバッファリングによって、メモリへのアクセスの柔軟性を高めながら、メモリコンテンションが事実上排除される。このメモリは、探索器および加速器を有するモジュールまたは積分回路の外部に設けた共用メモリであってよい。   Following block 460, processing of the particular sample received completes the entire processing path from sampling to energy accumulation. By performing various intermediate value double buffering and memory storage, the entire process can be executed substantially continuously. While the searcher is operating on a task scheduled in the past, the searcher can be reconfigured at each initial cumulative boundary, so the system needs to abort or wait for changes in the search configuration. Absent. Double buffering of the searcher results at both the searcher and the input to the accelerator effectively eliminates memory contention while increasing the flexibility of access to the memory. This memory may be a module having a searcher and an accelerator or a shared memory provided outside the integrating circuit.

初期コヒーレント積分を、これよりも長い積分の期間長に関連したコヒーレント積分から分離することにより、システムのスケジューリングと構成がより柔軟になる。探索器からの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 signal processing system 500 that implements code space search. The system 500 shown in FIG. 5 can be realized, for example, in the user terminal shown in FIG.

システム500は受信無線信号のコンプレックスサンプルを捕捉する手段510を含む。このコンプレックスサンプルを捕捉する手段510は探索手段520に結合されている。   System 500 includes means 510 for capturing complex samples of received radio signals. The means 510 for capturing the complex sample is coupled to the search means 520.

探索手段550は、ハードウェアレジスタ522によって指定された各コードスペース探索タスクに従って動作することができ、ハードウェアレジスタ522は、複数のコードスペース探索タスクを構成する手段として動作する。探索手段550は、例えば1ミリ秒で合ってよい初期積分期間に渡って取得した複数のコヒーレント積分結果を生成する。探索手段550は、探索タスクにて定義されているとおりの、複数のコードスペース仮説に関連した複数のコヒーレント積分結果を生成するように構成できる。   The search means 550 can operate according to each code space search task specified by the hardware register 522, and the hardware register 522 operates as a means constituting a plurality of code space search tasks. Search means 550 generates a plurality of coherent integration results acquired over an initial integration period that may be met in, for example, 1 millisecond. Search means 550 can be configured to generate a plurality of coherent integration results associated with a plurality of code space hypotheses, as defined in the search task.

制御手段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 hardware register 522 can be specified, for example, in a task queue in memory determined based on the code space search mode. Data transfer means 530 is coupled to search means 520 and operates to transfer a plurality of coherent integration results to storage means 540. Data transfer means 530 also transfers a plurality of coherent integration results from storage means 540 to buffer means 562, 564 in or coupled to acceleration means 550. Specifically, the data transfer means 530 transfers a large number of coherent integration results related to the integration period length.

加速手段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.

位置探索をサポートする無線通信システムの実施形態の単純化ブロック図である。1 is a simplified block diagram of an embodiment of a wireless communication system that supports position location. FIG. コードスペース探索を実現する位置探索信号処理システムの実施形態の単純化機能ブロック図である。1 is a simplified functional block diagram of an embodiment of a position search signal processing system that implements code space search. FIG. コードスペース探索を実現する受信機内でのデータの流れの実施形態を図示した単純化機能ブロック図である。FIG. 6 is a simplified functional block diagram illustrating an embodiment of data flow in a receiver that implements code space search. コードスペース探索の方法の実施形態のフローチャートである。5 is a flowchart of an embodiment of a method for code space search. コードスペース探索を実現する位置探索信号処理システムの実施形態の単純化機能ブロック図である。1 is a simplified functional block diagram of an embodiment of a position search signal processing system that implements code space search. FIG.

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.
前記探索器は、ダブルバッファ式探索器結果バッファを備え、前記ダブルバッファ式探索器結果バッファの各ブロックは前記探索器または前記データムーバの一方に関連付けられる請求項1に記載の装置。   The apparatus of claim 1, wherein the searcher comprises a double-buffered searcher result buffer, wherein each block of the double-buffered searcher result buffer is associated with one of the searcher or the data mover. 前記探索器は、1つの初期積分期間内で最大32個のタスクを行うように構成される請求項1に記載の装置。   The apparatus of claim 1, wherein the searcher is configured to perform a maximum of 32 tasks within one initial integration period. 各タスクは、関連コードの多数のコード位相仮説を特定し、前記複数のコヒーレント積分結果の各々は前記多数のコード位相仮説の1つに基づいている請求項1に記載の装置。   The apparatus of claim 1, wherein each task identifies a number of code phase hypotheses of an associated code, and each of the plurality of coherent integration results is based on one of the number of code phase hypotheses. 前記初期積分期間はコード期間を備える請求項1に記載の装置。   The apparatus of claim 1, wherein the initial integration period comprises a code period. 前記初期積分期間は約1ミリ秒を備える請求項1に記載の装置。   The apparatus of claim 1, wherein the initial integration period comprises about 1 millisecond. 前記探索器は、初期積分期間毎に更新できるタスクキューに基づいて複数のプログラム可能タスクを決定するように構成される、請求項1に記載の装置。   The apparatus of claim 1, wherein the searcher is configured to determine a plurality of programmable tasks based on a task queue that can be updated every initial integration period. 前記探索器は、現在の初期積分期間に対応するタスクキュー内のタスク処理中に、将来の初期積分期間についてタスクキューを決定するように構成される請求項7に記載の装置。   8. The apparatus of claim 7, wherein the searcher is configured to determine a task queue for a future initial integration period during task processing in a task queue corresponding to a current initial integration period. 前記加速器はさらに、少なくとも1つのコヒーレント累積の各々についてエネルギー値を生成するように構成される請求項1に記載の装置。   The apparatus of claim 1, wherein the accelerator is further configured to generate an energy value for each of the at least one coherent accumulation. 前記加速器はさらに、エネルギー値の非コヒーレント積分を生成するように構成される請求項9に記載の装置。   The apparatus of claim 9, wherein the accelerator is further configured to generate a non-coherent integral of energy values. 前記加速器は、約500ヘルツ未満またはこれと等しい周波数スパンに渡って前記少なくとも1つのコヒーレント累積を生成するように構成される請求項1に記載の装置。   The apparatus of claim 1, wherein the accelerator is configured to generate the at least one coherent accumulation over a frequency span of less than or equal to about 500 Hertz. 前記加速器はダブルバッファを備え、前記ダブルバッファの各ブロックは前記加速器または前記データムーバの一方に関連付けられ、前記加速器およびデータムーバによるアクセスはこれが関連した前記ダブルバッファのブロックに制限される請求項1に記載の装置。   The accelerator comprises a double buffer, each block of the double buffer being associated with one of the accelerator or the data mover, and access by the accelerator and data mover is restricted to the block of the double buffer with which it is associated. The device described in 1. 多数の周波数オフセットは、前記積分期間長に一部基づいて決定される請求項1に記載の装置。   The apparatus of claim 1, wherein multiple frequency offsets are determined based in part on the integration period length. コードスペース探索を行う装置であって、前記装置は、
コードスペース探索に割り当てられ、アクティブなプログラム可能探索モードに依存する部分を有するメモリと、
前記メモリに結合した積分回路とを備え、前記積分回路は、
複数のプログラム可能な探索タスクの各々について初期積分期間に渡って決定された複数のコヒーレント積分結果を生成するように構成され、前記複数のプログラム可能な探索タスクの各々は前記初期積分期間の境界において動的に再構成可能である探索器、
アクティブなプログラム可能探索モードによって決定された周波数仮説およびコヒーレント積分期間長に渡るコヒーレント積分結果のコヒーレント累積を決定するように構成される加速器、および
前記探索器およびメモリの間、前記加速器およびメモリの間で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
各探索タスクは、コードから選択された1セットのコード仮説を特定する請求項14に記載の装置。   The apparatus of claim 14, wherein each search task identifies a set of code hypotheses selected from the code. 前記探索器は、1つの初期積分間中に最大32個の異なる探索タスクをサポートするように構成される請求項14に記載の装置。 The apparatus of claim 14, wherein the searcher is configured to support up to 32 different search tasks during an initial integration. 前記データムーバは、前記メモリから前記加速器のダブルバッファ式サンプルバッファの関連ブロックへデータ転送を行うように構成される請求項14に記載の装置。   15. The apparatus of claim 14, wherein the data mover is configured to transfer data from the memory to an associated block of a double buffered sample buffer of the accelerator. 前記データムーバは、前記探索器のダブルバッファ式探索器バッファの関連ブロックからメモリへデータ転送を行うように構成される、請求項14に記載の装置。   15. The apparatus of claim 14, wherein the data mover is configured to transfer data from an associated block of a double buffered searcher buffer of the searcher to a memory. コードスペース探索の方法であって、前記方法は、
受信無線信号の複数のコンプレックスサンプル(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に記載の方法。   20. The method of claim 19, further comprising determining the coherent cumulative energy. 前記コヒーレント累積のエネルギーを決定し、
前記エネルギーに対応するエネルギー格子位置の非コヒーレント積分を決定することをさらに備える請求項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.
探索器に関連付けられた探索器ダブルバッファのブロックに前記複数のコヒーレント積分結果を記憶することをさらに備える請求項19に記載の方法。   The method of claim 19, further comprising storing the plurality of coherent integration results in a block of searcher double buffers associated with the searcher. データムーバに対する前記探索器ダブルバッファのブロックの関連性をスワップし、
前記探索器ダブルバッファのブロックからメモリへコヒーレント積分結果を転送することをさらに備える請求項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に記載の方法。   28. The method of claim 27, further comprising determining the coherent cumulative energy. 前記コヒーレント累積のエネルギーに基づいて非コヒーレントエネルギー積分を決定することをさらに備える請求項27に記載の方法。   28. The method of claim 27, further comprising determining a non-coherent energy integral based on the coherent cumulative energy. 前記複数のコードスペース探索タスクの各々の実行は、前記複数のコンプレックスサンプルの少なくとも一部に対する前記複数のコード仮説の相関を決定することを備える請求項27に記載の方法。 Wherein each of the execution of a plurality of code space search task, the method of claim 27 comprising determining the correlation of the plurality of code hypothesis for at least some of said plurality of complex samples. メモリへの前記複数のコヒーレント積分結果の記憶は、
前記複数のコヒーレント探索結果の少なくとも一部をダブルバッファのブロック内に記憶し、
前記ダブルバッファのブロックの関連性をスワップし、
前記複数のコヒーレント探索結果の一部を前記ダブルバッファのブロックからメモリへ転送することを備える請求項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.
JP2008557521A 2006-03-02 2007-03-02 Method and apparatus for performing code space search at receiver Active JP5295788B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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