低信噪比GPS信号识别Matlab仿真实验

1.软件版本

MATLAB2021a


2.本算法理论知识

如图GPS系统的星座部分是由21颗工作卫星和3颗在轨备用卫星组成,其高度为20183km,这24颗卫星均匀分布在6个等间隔的、相对轨道面倾角为55º的近圆轨道上。

【GPS识别】低信噪比环境下GPS信号识别的MATLAB仿真_开发语言

图1 GPS卫星星座空间部分



当接收到的为10ms的电文,由于在进行卷积运算的时候,我们需要的电文长度为1ms,即只需要卷积1ms,此外,由于将每个信号数字化为5000点,故需要5000次操作。因此,对于10ms的电文,每次操作需要进行50000个乘积操作和50000次的FFT变换。在20Khz的范围内,只需要201个频率分量,那么需要从计算得到的1.005*10^6个计算结果中进行挑选。所以,当电文长度从1ms变为10ms的时候,计算量的增长是非常明显的。寻找其C/A码的起点位置的时间分辨率为200ns,其基本结构如图所示。

【GPS识别】低信噪比环境下GPS信号识别的MATLAB仿真_搜索_02

图C/A码和通过傅里叶变换频率分析进行捕获



3.部分核心代码

登录后复制

clc;clear;close all;%% step1:参数初始化snr           = -7;                %信噪比LEN           = 12000;            %仿真长度fs            = 11.999e6;         %采样频率ts            = 1/fs;             %采样周期n             = fs/1000;   nn            = [0:n-1];      fc            = 3.563e6;        %中心频率fdelta        = 0;                %多普勒频偏svnum         = 1;                %卫星数目N             = 4                 %分段数Nstep         = 20;               %搜索次数%% step2:CA码的产生load gold1.mat;code=double(code(1,:));figure;plot(code,'r-*');axis([0,length(code),-1.2*max(code),1.2*max(code)]);title('采样化后的 CA 码');%相关性Xcor_code = xcorr(code,code);figureplot(Xcor_code,'b-o');axis([0,length(Xcor_code),0,1.2*max(Xcor_code)]);%% step3:GPS中频信号load data.matx=double(data');figure;plot(x,'r-*');axis([0,length(x),-1.2*max(x),1.2*max(x)]);x2 = [x x x x x x x x x x];%发送四段连续的信号;LENS = length(x2);s=0:LENS-1;y=x2.*exp(j*2*pi*(fc+fdelta)/fs*s);y=awgn(y,snr);%% step4:GPS信号的捕获 分成4段捕获CA_fre = conj(fft(code));L2     = length(y)/N;y1 = y(1:11999);y2 = y(12000:23998);y3 = y(23999:35997);y4 = y(35998:47996);y5 = y(47997:59995);y6 = y(59996:71994);y7 = y(71995:83993);y8 = y(83994:95992);y9 = y(95993:107991);y10= y(107992:119990);   ys1 = y1+y2+y3+y4;       for i=1:2*Nstep+1      fc(i)       = 0.0005e6*(i-Nstep-1); %搜索频率          expfreq     = exp(j*2*pi*fc(i)*ts*nn);      Data_sin    = imag(expfreq);          Data_cos    = real(expfreq);      I           = Data_sin.*ys1;      Q           = Data_cos.*ys1;       IQfreq      = fft(I+j*Q);         convIQ      = IQfreq .* CA_fre;      peaks(i,:)  = abs(ifft(convIQ)).^2;end[value_peak codephases]=max(max(peaks));[value_peak frequencys]=max(max(peaks'));frequency = fc(frequencys);%中心频率;codephaseChips = round(1023 - (codephases/11999)*1023);%CA码相位frequencycodephaseChipsclose all;figureplot(peaks(frequencys,:),'r-*');grid onxlabel('频率');ylabel('幅度');%% step5:三围搜索结构gold_rate = 1.023e6;      ts=1/fs;tc=1/gold_rate;b=[1:n];c=ceil((ts*b)/tc); 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.67.68.69.70.71.72.73.74.75.76.77.78.79.80.81.82.83.84.85.86.87.88.89.90.91.92.93.94.95.96.97.98.99.100.101.102.103.104.105.



4.操作步骤与仿真结论

【GPS识别】低信噪比环境下GPS信号识别的MATLAB仿真_信噪比_03


【GPS识别】低信噪比环境下GPS信号识别的MATLAB仿真_matlab_04


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空