ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:198.92KB ,
资源ID:9205226      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9205226.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(北斗卫星导航信号串行捕获算法MATLAB仿真报告附MATLAB程序.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

北斗卫星导航信号串行捕获算法MATLAB仿真报告附MATLAB程序.docx

1、北斗卫星导航信号串行捕获算法MATLAB仿真报告附MATLAB程序北斗卫星导航信号串行捕获算法MATLAB仿真报告(附MATLAB程序)北斗卫星导航信号串行捕获算法MATLAB仿真报告一、 原理卫星导航信号的串行捕获算法如图1所示。图1 卫星导航信号的串行捕获算法接收机始终在本地不停地产生对应某特定卫星的本地伪码,并且接收机知道产生的伪码的相位,这个伪码按一定速率抽样后与接收的GPS中频信号相乘,然后再与同样知晓频率的本地产生的载波相乘。GPS中频信号由接收机的射频前端将接收到的高频信号下边频得到。实际产生对应相位相互正交的两个本地载波,分别称为同相载波和正交载波,信号与本地载波相乘后的信号分

2、别成为,产生同相I支路信号和正交的Q 支路信号。两支路信号分别经过一个码周期时间的积分后,平方相加。分成两路是因为C/A码调制和P码支路正交的支路上,假设是I支路。当然由于信号传输过程中引入了相位差,解调时的I支路不一定是调制时的I支路,Q支路也一样,二者不一定一一对应,因此为了确定是否检测到接收信号,需要同时对两支路信号进行研究。相关后的积分是为了获取所有相关数据长度的值的相加结果,平方则是为了获得信号的功率。最后将两个支路的功率相加,只有当本地伪码和本地载波的频率相位都与中频信号相同时,最后得到的功率才很大,否则结果近似为零。根据这个结论考虑到噪声的干扰,在实际设计时应该设定一个判定门限,

3、当两路信号功率和大于设定的门限时则判定为捕获成功,转入跟踪过程,否则继续扫描其它的频率或相位。二、 MATLAB仿真过程及结果仿真条件设置:抽样频率16MHz,中频5MHz,采样时间1ms,频率搜索步进1khz,相位搜索步进1chip,信号功率-200dBW,载噪比55dB(1) 中频信号产生卫星导航信号采用数字nco的方式产生,如图2所示。载波nco控制字为:carrier_nco_word=round(f_carrier*2N/fs); 伪码nco控制字为:code_nco_word=round(f_code*2N/fs); 图 2其中载波rom存储的是正弦信号的212个采样点,伪码rom

4、存储长度为2046的卫星伪码。这样伪码采用2psk的方式调制到射频,加性噪声很小是理想接收中频信号如图3所示。图3 理想中频信号(2)噪声功率估计实际接收机接收到的导航信号淹没在噪声中,本程序对接收到的信号进行了噪声估计并进行了放大。采用滑动平均估计法估计噪声功率,滑动平均估计法原理如图4所示。图4 噪声功率滑动平均估计法原理迭代滤波器因子取0.8.功率估计结果是-191.48dBW。仿真中将接收中频信号放大到了signal_power_dB=-4.94dBW。 这个功率与后面的判决门限有关系。(2) 检测门限的确定常见的检测方法有幅度检波、平方检波和平方律检波。幅度检波器的输出为在H0假设下

5、,z(k) 服从瑞利分布,其概率密度函数为:在H(1)假设下,z(k)服从莱斯分布,其概率密度函数为 式中, 为零阶修正的贝塞尔函数。 平方律检波输出为:在H0假设下,z(k)服从自由度为 2M的 伽马分布,其概率密度函数为在H1假设下,z(k)服从自由度为 2M的 卡方分布,其概率密度函数为 当 M=1时,平方检波累积器就变成平方律检波器 ,可以计算出当归一化门限为Vt时其虚警概率为:其中采用恒虚警率检测,设虚警率为pfa,本仿真取0.1 ,采用平方律检波,归一化判决门限为Vt=(-2*log2(pfa)0.5,实际判决门限为VT=Vt*signal_power (3) 判决算法常见判决算法

6、有单次判决、M/N判决、(M/N+1)判决和Tong判决,采用单次判决,虚警率为pfa=0.1 . 归一化检测门限为Vt=2.5776,判决门限为VT=0.8248;(5)仿真结果搜索21个多普勒频点和40和相位点,仿真设置接收中频为4.991MHz ,相位为2,结果如图5所示。图中最大处的相关结果是144,其他非峰值最大的约为1.约21dB。部分相关值如下表:可以看出绝大部分数值都在门限之下,但也存在若干个在门限之上的数值,这些点可能造成虚警。附 :仿真主程序%clear all;clc;% f_doppe=5000;fsample=21e6;f_m=5e6;t_sim=1e-3/1; df

7、=1/t_sim;cnt_det=1; % f_carrier=f_m-9*df; %f_code=2.046e6; %code_phase_init=2; %code_phase_init_cmp=code_phase_init; f_local_init=f_m-10*df; %ncolocal_code_phase=3; % cnt_doppler=21;cnt_phase=40; dot_num=t_sim*fsample; % dBW_signal_pow=-200;dB_C_I=60;Am=10(dBW_signal_pow/20)*20.5; pre_noise_power=dB

8、W_signal_pow-dB_C_I+(10*log10(f_carrier);corr_result1=zeros(cnt_doppler,cnt_phase);for dect_num=1:cnt_det % for num_phase=1:cnt_phase % for num_doppeler=1:cnt_doppler % if num_doppeler=1 f_local=f_local_init; else f_local=f_local+df; end signal_r=signal_gen(fsample,f_carrier,f_code,code_phase_init,d

9、BW_signal_pow,dB_C_I,dot_num); %, % if num_doppeler=1 & num_phase=1 Ni=10; signal_r1=zeros(1,length(signal_r)+Ni); Qn1=zeros(1,length(signal_r)+Ni); Qn2=zeros(1,length(signal_r)+Ni); Qn3=zeros(1,length(signal_r)+Ni); pow_noise=zeros(1,10); for bbb=1:10 for aaa=1:length(signal_r)/10 signal_r1(aaa)= s

10、ignal_r(aaa)*signal_r(aaa) ; a=0.8; % Qn2(aaa+1)= signal_r1(aaa)*signal_r1(aaa); Qn1(aaa+Ni)=sum(signal_r1( (aaa):(aaa+Ni)/Ni;% Qn(aaa)= Qn1(aaa+1)0.5; Qn3(aaa+1)= a*Qn1(aaa)+(1-a)*Qn1(aaa+1); pow_noise1=Qn3(aaa+1); end pow_noise2(bbb)=pow_noise1; end pow_noise=sum(pow_noise2(1:10)/10; pow_noise_dB=

11、10*log10(pow_noise); AD_min_volt=0.8; AD_R=1; AD_power=0.5*AD_min_volt*AD_min_volt/AD_R; AD_power_dB=10*log10(AD_power); Am1=AD_power_dB-pow_noise_dB; Am1=10(Am1/20); end signal_r=signal_r*Am1; % Am_local=0.9; local_carrier=local_carrier_gen(fsample,dot_num,f_local,Am_local); %flocal local_code=loca

12、l_code_gen(f_code,fsample,dot_num,local_code_phase)*Am_local; corr_result(num_phase,num_doppeler)=deal_local(signal_r,local_carrier,local_code); % corr_result1(num_doppeler,cnt_phase)=corr_result; end% pulse_next_phase=1; code_phase_init=mod(code_phase_init+1,2046);% local_code_phase=local_code_phas

13、e+1; end % phase_max(dect_num) doppler_max(dect_num)=find(corr_result=max(max(corr_result); mod_max(dect_num)=max(max(corr_result); det_phase=local_code_phase-phase_max+1; det_doppler=(doppler_max-1)*df+f_m-10*df; disp(det_phase); disp(det_doppler); % % % % % fa=0.1; Vt=(-2*log2(fa)0.5; % Vt=0;%AD_p

14、ower% VT=( Vt*pow_noise ); VT=Vt*AD_power ; if mod_max(dect_num) VT % flag_det=1; else flag_det=0; end %Tong K=1; B=2; if flag_det=1 K=K+1; else K=K-1; end if K=B disp(success!); else if dect_num=cnt_det disp(failed!); end end endcorr_result_dB=10*log10(corr_result/mod_max);cnt_doppler1=f_m-10*df:df:f_m+10*df;mesh(1:cnt_doppler,1:cnt_phase,corr_result);xlabel(doppler);ylabel(code_phase);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1