GPS长数据捕获时的C/A码相位漂移
GPS信号长数据捕获C/A码相位不一致的问题
在生成了固定C/A码相位(固定速度、加速度为0m/s2、加加速度为0m/s3)的较长时间的仿真数据后,用来做多次捕获实验。此时会发现,当捕获的次数多了之后会出现C/A码相位的递增现象。当然除了程序可能出现的各种原因以外,还可以做如下解释:由于采样频率不能为C/A码速率的整数倍,所以对信号进行采样的过程中会出现样本边界模糊的问题,即正常情况下应该是N个样本而某些C/A码周期会出现N+1个样本的情况。这个就是导致长时间捕获后C/A码出现相位递增的根本原因。在做捕获的时候,本地C/A码形成的时候相位是从0开始的,也就是说会产生N+1个点,而不会产生N个点,所以在一段周期内就会多读出一个样本点来,而这种连续捕获的后果就会让C/A码从错误的起始点开始与接收数据对齐,继而导致一段时间后相位就会增加。
相关文档:
转自:http://dev.yesky.com/12/3067012.shtml
动态连接库的创建步骤:
一、创建Non-MFC DLL动态链接库
1、打开File —> New —> Project选项,选择Win32 Dynamic-Link Library —>sample project
—>工程名:DllDemo
2、新建一个.h文件DllDemo.h
以下是引用片段:
......
//某水王的发帖数超过总贴数的一半,找出之
int find(int *ID, int N)
{
int candidate;
int nTimes, i;
for (i = nTimes = 0; i < N; i++)
{
if (nTimes == 0)
{
candidate = ID[i];
nTimes = 1;
}
else if (candidate == ID[i])
{
nTimes++;
}
else
{
nTimes--;
......
/*
注意不断右移判断最低位是1有多少个的算法是错误的,
因为根据GNU C/C++的实现来看,负数是带符号填充进行右移的,所以如果是负数,该算法会死循环。
变通办法:Java可以用>>>逻辑右移位操作符,C/C++可以强制转换成无符号整数再处理
下面的程序是正解。其中num &= (num - 1) 会消除num的最小位置的"1" ......
我给大家推荐一个 WIN7 下边的无损分区工具 Acronis Disk Director Suite
Acronis Disk Director Suite 下载地址
http://dl.iplaysoft.com/files/32.html
Acronis Disk Director Suite 注册机下载地址
注册机.rar
实在不放心,觉得注册机有毒的朋友可以使用以下序列号
LS6ZZ-YFQYY-667Z9-5ZQGP-P7WCP
5PRKN-9R4 ......