卫星导航信号监测接收机仿真代码
应用介绍
此项目是卫星导航信号监测接收机仿真代码。
* 调试运行该程序,需要注意以下三个问题:
* 1、为B2B3通道指定正确的扩频码路径
* 2、设置相位输出时间基准标志outflag,即以某一路信号为基准
* 3、如果要分别调试B1或者B2B3,最好把另外的通道注释掉
*/
#include<stdio.h>
#include "./pub/inc/cfg.h"
#include "./pub/inc/ioc.h"
#include "./b1/inc/type.h"
#include "./b1/inc/init.h"
#include "./b1/inc/acq.h"
#include "./b1/inc/trk.h"
#include "./b2/inc/type.h"
#include "./b2/inc/init.h"
#include "./b2/inc/acq.h"
#include "./b2/inc/trk.h"
B1ChnlPrms chnlInst0[2]; // B1频点
B2ChnlPrms chnlInst1[4]; // B2、B3频点
int outflag; // 由于统计正交性,一致性等问题,需要在同一时刻采样不同通道的数据,因此,设置这样一个全局变量,为时间基准
int main(){
int i;
int num;
char dat_src;
// 初始化B1频点两个通道参数
B1ChnlInit(chnlInst0);
// 初始化B2B3频点四个通道参数
B2ChnlInit(chnlInst1);
// 打开各观测量输出文件
openFile();
// 读取一个样本
//for (i=0;i<1000;i++)
num = fread(&dat_src,sizeof(char),1,pFile);
// 读取样本成功
while(num != 0){
// B1频点两个通道信号源相位累加
for (i=0;i<2;i++)
{
(chnlInst0[i]).TCAR.phs += (chnlInst0[i]).TCAR.fcw;
if ((chnlInst0[i]).TCAR.phs >= NCOTOTAL)
(chnlInst0[i]).TCAR.phs -= NCOTOTAL;
(chnlInst0[i]).TPRN.phs += (chnlInst0[i]).TPRN.fcw;
if ((chnlInst0[i]).TPRN.phs >= NCOTOTAL)
{
(chnlInst0[i]).TPRN.phs -= NCOTOTAL;
(chnlInst0[i]).prnIndex += 1;
if ((chnlInst0[i]).prnIndex == 1023)
{
(chnlInst0[i]).prnIndex = 0;
}
}
}
// B2B3频点四个通道信号源相位累加
for (i=2;i<4;i++)
{
(chnlInst1[i]).TCAR.phs += (chnlInst1[i]).TCAR.fcw;
if ((chnlInst1[i]).TCAR.phs >= NCOTOTAL)
(chnlInst1[i]).TCAR.phs -= NCOTOTAL;
(chnlInst1[i]).TPRN.phs += (chnlInst1[i]).TPRN.fcw;
if ((chnlInst1[i]).TPRN.phs >= NCOTOTAL)
{
(chnlInst1[i]).TPRN.phs -= NCOTOTAL;
(chnlInst1[i]).prnIndex += 1;
if ((chnlInst1[i]).prnIndex == 10230)
{
(chnlInst1[i]).prnIndex = 0;
if ( i==2)
outflag =1;
}
}
}
// B1频点两个通道处理读取样本
for(i=0; i<2; i++ )
{
switch(chnlInst0[i].chnlPros)
{
case ACQ_FLG: B1AcqASPT(chnlInst0+i,dat_src);break;
case TRK_FLG: B1TrkASPT(chnlInst0+i,dat_src);break;
default:break;
}
}
// B2B3频点四个通道处理读取样本
for(i=2; i<4; i++ )
{
switch(chnlInst1[i].chnlPros)
{
case ACQ_FLG: B2Acq(chnlInst1+i,dat_src);break;
case TRK_FLG: B2Trk(chnlInst1+i,dat_src);break;
default:break;
}
}
// 各观测量输出标志清零
outflag = 0;
// 读取下一个样本
num = fread(&dat_src,sizeof(char),1,pFile);
}
// 关闭各观测量输出文件
closeFile();
return 0;
}
.................了解更多请下载附件。
©版权声明:本文内容由互联网用户自发贡献,版权归原创作者所有,本站不拥有所有权,也不承担相关法律责任。如果您发现本站中有涉嫌抄袭的内容,欢迎发送邮件至: [email protected] 进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
转载请注明出处: apollocode » 卫星导航信号监测接收机仿真代码
文件列表(部分)
名称 | 大小 | 修改日期 |
---|---|---|
acq.h | 0.17 KB | 2016-05-17 |
cfg.h | 0.47 KB | 2016-05-17 |
init.h | 0.17 KB | 2016-05-17 |
trk.h | 0.17 KB | 2016-05-17 |
type.h | 1.09 KB | 2016-05-17 |
acq.cpp | 1.20 KB | 2016-05-17 |
init.cpp | 1.60 KB | 2016-05-17 |
trk.cpp | 1.74 KB | 2016-05-17 |
acq.h | 0.18 KB | 2016-05-17 |
cfg.h | 0.69 KB | 2016-05-17 |
init.h | 0.18 KB | 2016-05-17 |
trk.h | 0.18 KB | 2016-05-17 |
type.h | 0.96 KB | 2016-05-17 |
acq.cpp | 1.71 KB | 2016-05-17 |
init.cpp | 1.66 KB | 2016-05-17 |
trk.cpp | 1.49 KB | 2016-05-17 |
main.cpp | 1.06 KB | 2016-05-17 |
cfg.h | 0.41 KB | 2016-05-17 |
fft.h | 0.25 KB | 2016-05-17 |
filter.h | 0.23 KB | 2016-05-17 |
ioc.h | 0.99 KB | 2016-05-17 |
type.h | 0.45 KB | 2016-05-17 |
fft.cpp | 0.69 KB | 2016-05-17 |
filter.cpp | 0.42 KB | 2016-05-17 |
ioc.cpp | 0.77 KB | 2016-05-17 |
BD_B1_Source.m | 1.73 KB | 2016-05-17 |
Monitor_Algorithm.m | 0.81 KB | 2016-05-17 |
inc | 0.00 KB | 2016-05-17 |
src | 0.00 KB | 2016-05-17 |
inc | 0.00 KB | 2016-05-17 |
发表评论 取消回复