elder60 发表于 2010-9-25 13:35:41

有偿征求解答:关于相关处理的工作周期

题目原发表在 老头学GPS 射频前端 【143楼+145楼】,转抄(略改过)如下:

一个思而未解的问题--关于相关处理的工作周期:
我一直以为,不管是捕获还是跟踪阶段,相关处理的工作周期印象中就是本机时钟(或采样时钟)决定的1ms.
本周期结束时,根据相关处理的结果,将决定下一个周期的相关处理如何进行.
然而,本周期相关处理结束的时刻,就是下周期的开始.这个事情是如何解决的? (此问题当然是指硬件处理的情况下)

新的一个周期就要开始,时间只差不到一个采样周期.新的DCO数据改不改?不改变,倒也罢了.若要改变,赶快算.来得及吗?
商品机中是如何解决的?

若能解答, 偿金100元. 征期一周.

elder60 发表于 2010-9-26 09:36:03

顶一下

nobrains 发表于 2010-9-27 01:42:04

回复【楼主位】elder60 60岁老头

先做简单回答,再详细说明

我一直以为,不管是捕获还是跟踪阶段,相关处理的工作周期印象中就是本机时钟(或采样时钟)决定的1ms.
=============================================================================================
捕获阶段,相关处理的工作周期是由本机时钟决定的1ms,因为此时还没有足够的信息,如C/A码的频率、相位等
跟踪阶段,相关处理的工作周期是一个C/A码周期,由于多普勒效应、本地时钟漂移等因素的影响,该周期可能不是1ms

本周期结束时,根据相关处理的结果,将决定下一个周期的相关处理如何进行.
=============================================================================================
本周期和下一个周期的相关处理没有必然的关系

然而,本周期相关处理结束的时刻,就是下周期的开始.这个事情是如何解决的? (此问题当然是指硬件处理的情况下)
=============================================================================================
对于数字基带处理而言,“本周期相关处理结束的时刻”并不是“下周期的开始”
相关处理过程中本周期和下周期相差一个时钟,这个时钟可以保存上一周期的相关值

新的一个周期就要开始,时间只差不到一个采样周期.新的dco数据改不改?不改变,倒也罢了.若要改变,赶快算.来得及吗?
=============================================================================================
每个时钟到来时,DCO数据都要改变。
软件相关器存在来得及来不及的问题,硬件相关器不存在

以下是详细说明跟踪阶段的相关处理,以GP2021为例:
GP2021在Real_input模式下,内部工作时钟为5.714MHz,Code NCO的相位累加器为26bits,因为要产生Prompt和Early/Late/Dither/Early-Minus-Late两路C/A码,故Code NCO的输出频率为2.046MHz
Code NCO的时钟为5.714MHz,每个时钟来到时,Code NCO会更新一下相位累加器
Code NCO相位累加器的最高位可以作为码产生器的时钟,码产生器使用该时钟对Code Phase从0到1022进行计数。从1022到0的转变将产生DUMP信号,该信号用于保存相应通道的相关值,软件读取相关值用于PLL和DLL等。
该相关值并不要求实时读取,对于GP2021而言,有一个所谓的ACCUM_INT,默认为每505.05us产生一次,该中断产生时,软件检查各个通道是否有新的相关值,有则读取,并进行后续处理。相关值大概每1.023ms会有更新,每505.05us检查一次不会漏掉相关值

不知以上是否可以解释所提问题

elder60 发表于 2010-9-27 08:08:27

ls2个回帖搞到2点多,让我感动和心疼.
是否工作太忙? 若是,此事大可放一放.你们都是有工作有家小的人,不像我老头,吃饱饭,没事干.

回应如下:
1. 不知以上是否可以解释所提问题?
===============================================
和期望相差巨大. 好在"先做简单回答,再详细说明"

2. 相关器,捕获,跟踪,这些术语,令不少人望而生畏.我们的讨论应该既不失严密性,又尽可能让较多网友能理解.
●在我看来,通过用相关器来进行捕获和跟踪. 就是一个对混杂其他信号的输入信号进行"猜测"+"尝试对准"到"大致对准"的规程,
和"对准它,不让跑了".
●在我看来,相关处理的工作周期可以是被跟踪信号的周期的整数倍(包括1),也可以是分数倍.

暂停一下,后补.

nobrains 发表于 2010-9-27 09:58:14

回复【3楼】elder60 60岁老头

●在我看来,相关处理的工作周期可以是被跟踪信号的周期的整数倍(包括1),也可以是分数倍.
-----------------------------------------------------------------------

在捕获之后,分数倍应该仅限于1/N,否则
1)某个工作周期必然跨在电文的2个bit之间,得到的相关值可能会很接近0,信噪比必然很差
2)跟踪过程中需要进行bit翻转的识别,即之前连续20个C/A码周期得到的相关值的符号与当前C/A码周期得到的相关值的符号相反,此后才能解调出准确的导航电文,而bit比特翻转的识别,要求不能出现某个工作周期跨在电文的2个bit之间

在捕获之后的一段时间内,恐怕相关处理的工作周期必须等于被跟踪信号周期,理由同上
而在完成bit翻转识别后,可以采用相关处理的工作周期是被跟踪信号的周期的整数倍(包括1),并且必须是20的因数,即1、2、4、5、10、20

elder60 发表于 2010-9-27 11:51:41

回复【4楼】nobrains
-----------------------------------------------------------------------
先修正我的说法:
1."分数倍"应是"整分数倍".
2.bit翻转事,我清楚的.
3."相关处理的工作周期可以是被跟踪信号的周期的整数倍(包括1),也可以是分数倍." 是指●完整的相关器中的一个“分相关器”。
这是我目前在构思的“我的相关器”中的一部分。 此观点是否成立要等以后看了。

对你在【4楼】的全部论述,我没有异议。

elder60 发表于 2010-9-27 12:17:36

继续【3楼】
回复【2楼】nobrains
-----------------------------------------------------------------------
为了讨论好这个题目,我们先要明确一下:我们要讨论的相关器是什么样等级的?
由于我以前从未研究过相关器,现在我是从物理概念出发来想像相关器的。我的结论是:“它应该有好多好多种。”

对不起,还要暂停一下。请先生在我等一会编辑补充后回复。谢谢。

elder60 发表于 2010-9-27 15:42:07

继续。
我有一种感觉:我们要用文字来讨论这个问题,是不太容易的。
另外我有一种担心:你我不同的经历使得我们站在不同的角度来谈问题,而造成问题不容易谈得弄.这个不同的角度是,你谈的是
你接触过的硬件相关器(比如GP2021),而我要谈的是令人期望的,而且是可以实现的硬件相关器.

就跟踪而言,如果相关器能够以最佳模式根据新的相关值来调整频率控制字等,这样的相关器可称之为"智能相关器".
如果相关器能够以用户设定的跟踪环路的参数,根据新的相关值来调整频率控制字等,这也算是不错的.
像GP2021这样的相关器,我估计为了方便用户,更通用化,环路的参数是由用户自己设定的.当用户设定的时候,已经晚一些了,
这样调控回路的调控周期不得不变为1.023ms*N(N>1).

如何看待调控周期的变长? 1.长短效果一样, 2.短也好不到那里去.
我想不会有人说1的.说2者,就是承认了短的好.

把调控周期做成1.023ms,不是不想做,而是不容易做,以及担心用户不容易使用.
我也承认:把调控周期做成1.023ms,确实也好不到那里去.但是,凡是可能缩短跟踪->锁定的时间的办法,我会一一考虑,最后决定取舍.


我承认,我以上的论述,是我的推理.其原始资料来自我的猜想和估计.

请评论.

nobrains 发表于 2010-9-27 17:05:12

我认为我们的分歧不在于看问题的角度不同,而是对“所提”问题的字面意思理解不同
你的意思似乎是将环路(调控)一并归入相关器,而我回答的仅包括相关运算

我只是拿GP2021来做例子,因为GP2021公开程度算是非常高的了,但我要说的意思已经包含在里面了

单纯就GP2021而言,GP2021 datasheet似乎有的地方有错误,比如上面提到的调控周期为1.023ms*N(N>1),这个1.023ms恐怕是从datasheet来的,但是从整个datasheet可以看出,其相关值是在一个完整的C/A码序列结束时进行DUMP,之后定时中断发生时,软件读取相关值,并调控环路,这样看来,相关运算在理想情况下应该是1ms,但是由于存在多普勒效应以及相关器的工作频率,实际并不是1ms,同时由于GP2021读取相关值的操作是周期性的,这就决定了调控周期也是不确定的,但是可以大致确定一个范围

我们撇开GP2021不谈,谈一下理论上的计算方法

首先,需要明确的是相关运算得到的相关值必然是整个码序列的相关值,也就是说相关运算在最后一个chip完成运算后,需要“保存”起来,并清零相关值,准备进行下一个码序列的相关运算。
其次,保存起来的相关值有6个,分别为Ip、Qp、Ie、Qe、Il、Ql。Ip和Qp作为载波环路鉴相器的输入,载波环路进行鉴相运算后调整载波NCO;Ie、Qe、Il、Ql作为码环路鉴相器的输入,码环路进行鉴相运算后调整码NCO

然后,我们根据以上原理展开讨论
1. 智能相关器:跟踪环路的性能与若干参数有关系,关系比较大的包括环路带宽B、积分(相关)时间T、接收到的GPS信号的CNo,带宽B越大环路越不稳定,积分时间T越长、CNo越大,环路越稳定,其中CNo是相关器无法控制的,而其他两项相关器可以控制,所以智能相关器应该根据相关值,计算出CNo,并根据CNo,得出性能较佳的B和T,并计算环路参数,用于控制载波NCO和码NCO
2. 通常载波鉴相器采用arctan(Qp/Ip),涉及两个运算:除法和反正切,硬件实现单周期除法运算是比较复杂的,实现反正切更是复杂,除法器可以采用non-restoring或Restoring实现,反正切可以用Cordic或者查表实现,这样一来,必然有若干延迟
3. 码鉴相器通常采用[(Ie^2+Qe^2)-(Il^2+Ql^2)]/[(Ie^2+Qe^2)+(Il^2+Ql^2)],可以简化为(Pe-Pl)/(Pe+Pl),而P可以进一步简化为P=max,这样平方运算省掉了,但是除法运算无法省掉,这样也带来延迟
4. 可以看出,智能相关器的调控也是延时调控,只有发现CNo变差才会调整环路参数;同时环路参数的计算,必然需要乘除运算,延迟也随之而来
5. 为缩短环路调控时间,以上所提及的硬件算术或函数运算单元是不能复用的

也就是说可行的硬件相关器必然存在延迟,但是延迟是固定的

当然,GP2021确实是非常灵活,除了C/A码只有Prompt和Tracking两路之外

nobrains 发表于 2010-9-27 17:15:11

另外,我没有做过GP2021的东西,只是研究过,从中确实可以学到很多
我做的是硬件相关器,包括捕获、跟踪,载波跟踪环路采用FLL、PLL混合环路,码跟踪环路采用DLL(这个好像是废话,^_^),环路带有锁定检测和失锁检测,后续处理包括比特同步(即比特翻转识别)

一个码周期相关运算完成后给出中断,软件可以实时读取相关值

以上是硬件实现的

另外还有配套的软件仿真平台,可以调整一些关键参数,如采样频率、中频、C/A码产生器频率(与捕获阶段的最大分辨率有关)、环路参数等,当然缺点是有的

可惜因为资金原因没有做出芯片来

elder60 发表于 2010-9-27 18:55:44

你的意思似乎是将环路(调控)一并归入相关器
------------------------------------------
那倒是误解了,我倒没有这个意思.

也就是说可行的硬件相关器必然存在延迟,但是延迟是固定的
------------------------------------------------------
按你上面的严密推论,你的结论是成立的.----- 也就是不可能做出环路调节周期=1.023MS的相关器来.

再请教一个问题: 似乎现有相关器中没有用到负相关? 我不清楚现实是否这样?

另,美国阿波罗计划后期,大量专家被转业到农业,畜牧业,林业,水产业;使这些产业的升级突飞猛进.先生可听说过?

我才学GPS不久,虽然人老了,却仍是白纸一张,先生是专业人士.这就是我们的根本差别.
我相对于你的唯一优势偏偏就是这"白纸一张".

感谢你又让我得到不少的知识.

nobrains 发表于 2010-9-27 22:11:13

回复【10楼】elder60 60岁老头
再请教一个问题: 似乎现有相关器中没有用到负相关? 我不清楚现实是否这样?
=======================================================================
你所指的负相关是指相关值为负吗?
如果是的话,现有相关器中也会用到

以2bit ADC为例,GPS的采样信号值为-3、-1、1、3,本地载波幅值可以为-2、-1、1、2,本地C/A码值可以为-1、1
其中C/A码中的0用-1表示,1用+1表示

可以看出相关值可以为负值,而相关性由相关值的绝对值决定

另,美国阿波罗计划后期,大量专家被转业到农业,畜牧业,林业,水产业;使这些产业的升级突飞猛进.先生可听说过?
=======================================================================
这个倒是没有听说过,不知道言外之意

elder60 发表于 2010-9-27 22:37:29

是我错了.我由于一直考虑我的容易实现的方案,脑子里只考虑1BIT的情况.如果突然相关值为负,是Bit翻转的提示.

另,美国阿波罗计划后期,大量专家被转业到农业,畜牧业,林业,水产业;使这些产业的升级突飞猛进.先生可听说过?
=======================================================================
这个倒是没有听说过,不知道言外之意
=======================================================================
这就是我电话里说的:
一个技术人员刚进入一个新领域,是"白纸一张". 这一段时间,是特殊的敏感期.如果我不能抓住这段时间去发现点什么,
那我就不可能作出点有意思的事来.

nobrains 发表于 2010-9-28 09:20:57

1bit的情况也是有负相关的,GPS基带处理中,二进制的0、1在计算时需要转换为-1、1

elder60 发表于 2010-9-28 17:48:10

是我错了.错在没理解"0、1和-1、+1"这个基本概念上.基带处理在二年级的课程里.希望我在二年级时,你好好辅导我.


我现在着急的是课程如何安排,到底怎么学?做些什么实验?事先要准备些什么条件? 这种课程设计,我可没有能力.希望你能不能和
littleGnss 老师以及感兴趣的网友一起讨论一下.在没有希望看到一些成果的情况下,一段时间后,将会有不少人失去信心.
(当然,成果不必是完整的接收机) ....

nobrains 发表于 2010-9-30 10:45:07

这两天没来得及回复,实在抱歉

辅导说不上,只要是我知道的,一定会知无不言言无不尽

不知道littleGnss有什么想法
我个人觉得,可以从射频前端向解算一步步来,过程中需要了解各部分之间需要有哪些接口

如射频与基带之间需要采样频率、中频、采样值
基带和解算之间需要导航电文以及关于C/A码的若干测量值等

所以我觉得现在的方向是没问题的

关于前端,我觉得gzhuli 咕唧霖之前的想法是可行的,也是目前GPS方案提供商的通用做法,同时也有现成的软件来辅助确定射频前端设计的正确性

elder60 发表于 2010-10-1 10:25:04

国情节好.这二天,被管制上网了.(但偷偷还是来看看)

完全同意LS的意见.
GPS接收机整个项目包含着很多学问.需要"一步步来",也就是把它分解细化.

大的可以分为3块: A前端,B基带,C解算.每块又可以一分为二,变成6块:a天线 + b射频;c相关解扩 + d环路; e解算 + f人机界面
暂且把软实现称之谓0(暗含0硬件之意),硬实现称之谓1("要"硬件) 则:
gzhuli 咕唧霖之前的想法就是: A1 + B0 + C0
而我之前的"荒谬"想法也是: A1 + B0 + C0 但不同之处是STM32实现.目前打算先A0+c0.

网友们的兴趣可因人而异,比如: 仅a1,仅b1,仅c1,c1+d0,c0+d0等等, RF爱好者可以仅b1...

以上想法仅供参考.
目前不宜上网写贴,要下线了. 祝各位节日愉快.

longquan 发表于 2011-2-10 21:09:49

马克# 扩频通信  解扩散
页: [1]
查看完整版本: 有偿征求解答:关于相关处理的工作周期