GPS の粗捕捉コードの生成
このモデルでは、[1] で示しているように、Gold Sequence Generatorブロックを設定して粗捕捉 (C/A) コードを生成する方法について説明し、同じ構成の離散ブロック モデル表現を使用して生成コードの検証を行います。GPS は C/A コードを使用して、送信信号の取得と追跡を簡素化します。
モデルの検証
このモデルには、[1] で示しているような離散ブロック モデルの C/A コードが含まれ、同じコードを生成するようにGold Sequence Generatorブロックを構成します。
GPS の C/A コードを生成するには、Gold Sequence Generator ブロックの構成時に以下の詳細な設定を検討する必要があります。
原始多項式 (
g1
およびg2
) とコード位相 (m2
)。[1] の離散ブロック モデルと降順多項式に一致するモデルのPreLoadFcn
コールバックで指定されています。g1
、g2
、m2
は、Gold Sequence Generator ブロックの [Preferred polynomial (1)]、[Preferred polynomial (2)]、および [Sequence index] パラメーターを設定するために使用されます。[1] では、多項式は降順として解釈されるため、Gold Sequence Generator ブロックは関数
fliplr
を使用してg1
、g2
、m2
バイナリ ベクトルを反転し、離散ブロックのモデル コンフィギュレーションに一致させます。[Sequence index] パラメーターは離散ブロック モデルの遅延した 2 番目のコードに対応します。離散ブロックの実装では、このマスク シフトを達成するためにシフト レジスタの XOR 計算が行われます。初期化の間、関数
mask2shift
は指定されたマスクを Gold Sequence generator ブロックによって使用されるスカラー遅延に変換します。フィードバック レジスタの構成は、シミュレーションが持続している間は変更しないでください。
結果の比較
モデルの実行後、離散ブロック モデルと Gold Sequence Generator ブロックを使用して生成された GPS C/A コードを比較するためにisequal
が使用されます。
isequal(G1_Output,code1) = 1 isequal(G2_Output,code2) = 1 isequal(gps_ca,goldseq) = 1
参考文献
Tsui, James Bao-Yen.Fundamentals of Global Positioning System Receivers:A Software Approach.Hoboken, NJ, USA:John Wiley & Sons, Inc., 2004. https://doi.org/10.1002/0471712582.