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码从错误的起始点开始与接收数据对齐,继而导致一段时间后相位就会增加。
相关文档:
extern是C/C++语言中表明函数和全局变量作用范围(可见性).
它告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。
1。对于extern变量来说,仅仅是一个变量的声明,其并不是在定义分配内存空间。如果该变量定义多次,会有连接错误
2。通常,在模块的头文件中对本模块提供给其它模块引用的函数和 ......
汉诺塔算法的递归与非递归的C以及C++源代码
By Minidxer | January 30, 2008
汉诺塔(又称河内塔)问题其实是印度的一个古老的传说。
开天辟地的神勃拉玛(和中国的盘古差不多的神吧)在一个庙里留下了三根金刚石的棒,第一根上面套着64个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上 ......
//某水王的发帖数超过总贴数的一半,找出之
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--;
......
#include <stdio.h>
#define bits(p, d) { \
int _tmp=p->d, _bits=0; \
for (p->d=1; p->d; p->d<<=1) \
_bits++; \
p->d=_tmp; \
printf("%s->%s has %d bits", #p, #d, _bits); \
}
typedef struct _s{
int a:4;
} S;
int main()
{
S tmp, ......