• 大小: 7KB
    文件类型: .7z
    金币: 2
    下载: 0 次
    发布日期: 2024-02-06
  • 语言: Matlab
  • 标签: GPS  导航  

资源简介

在GPS接收机中,捕获到卫星信号并对C/A码进行跟踪是研制GPS接收机的重要问题之一。以MATLAB为平台实现这个捕获总模块,对算法进行设计及优化后,给出了相应的仿真。 主要是对C/A码的生成原理及其特性、GPS信号的形式及生成原理进行了深入地分析,并对GPS信号的捕获机理进行详细地阐述。在进行码捕获时,将伪码剥离,便于实现GPS的解扩过程。主要是通过 MATLAB编程工具模拟GPS信号,然后实现信号捕获。 有实验结果 以及结果分析 还有 CA码的产生流程图

资源截图

代码片段和文件信息

function acqResults = acquisition(longSignal settings)
%Function performs cold start acquisition on the collected “data“. It
%searches for GPS signals of all satellites which are listed in field
%“acqSatelliteList“ in the settings structure. Function saves code phase
%and frequency of the detected signals in the “acqResults“ structure.
%
%acqResults = acquisition(longSignal settings)
%
%   Inputs:
%       longSignal    - 11 ms of raw signal from the front-end 
%       settings      - Receiver settings. Provides information about
%                       sampling and intermediate frequencies and other
%                       parameters including the list of the satellites to
%                       be acquired.
%   Outputs:
%       acqResults    - Function saves code phases and frequencies of the 
%                       detected signals in the “acqResults“ structure. The
%                       field “carrFreq“ is set to 0 if the signal is not
%                       detected for the given PRN number. 
  
%--------------------------------------------------------------------------
%                           SoftGNSS v3.0

% Copyright (C) Darius Plausinaitis and Dennis M. Akos
% Written by Darius Plausinaitis and Dennis M. Akos
% based on Peter Rinder and Nicolaj Bertelsen
%--------------------------------------------------------------------------
%This program is free software; you can redistribute it and/or
%modify it under the terms of the GNU General Public License
%as published by the Free Software Foundation; either version 2
%of the License or (at your option) any later version.
%
%This program is distributed in the hope that it will be useful
%but WITHOUT ANY WARRANTY; without even the implied warranty of
%MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%GNU General Public License for more details.
%
%You should have received a copy of the GNU General Public License
%along with this program; if not write to the Free Software
%Foundation Inc. 51 Franklin Street Fifth Floor Boston MA  02110-1301
%USA.
%--------------------------------------------------------------------------
 
%CVS record:
%$Id: acquisition.mv 1.1.2.12 2006/08/14 12:08:03 dpl Exp $
 
%% Initialization =========================================================
 
% Find number of samples per spreading code
samplesPerCode = round(settings.samplingFreq / ...
                        (settings.codeFreqBasis / settings.codeLength));
 
% Create two 1msec vectors of data to correlate with and one with zero DC
signal1 = longSignal(1 : samplesPerCode);
signal2 = longSignal(samplesPerCode+1 : 2*samplesPerCode);
 
signal0DC = longSignal - mean(longSignal); 
 
% Find sampling period
ts = 1 / settings.samplingFreq;
 
% Find phase points of the local carrier wave 
phasePoints = (0 : (samplesPerCode-1)) * 2 * pi * ts;
 
% Number of the frequency bins for the given acquisition band (500Hz steps)
numbe

评论

共有 条评论