搜索
bottom↓
楼主: elder60

老头学GPS 射频前端

  [复制链接]

出0入0汤圆

 楼主| 发表于 2010-9-17 15:19:33 | 显示全部楼层
还要回到一年级.回到实验方案.
STM32是3年前玩过,已经没有印象了,现在担心他的RAM是否够用.要不要外扩,怎么扩?
好家伙,guanfu_wang的STM32F103ZET6核心板(REV1.13版)板载1MB SRAM/128M NAND Flash 要 198.00 元.
难!

出0入618汤圆

发表于 2010-9-17 15:33:58 | 显示全部楼层
回复【103楼】elder60 60岁老头
还要回到一年级.回到实验方案.
stm32是3年前玩过,已经没有印象了,现在担心他的ram是否够用.要不要外扩,怎么扩?

-----------------------------------------------------------------------

FFT属于“高级”方案了,算法在论文里没很详细解说,懂数字信号处理的可能看得明白,但我是看得云里雾里的。
我还是先继续98楼的方案,尝试用模拟仿真的方法完陈锁定解调过程,增进点感性理解。目前已经进展到加入模拟中频,看到BPSK调制的波形。
在模拟中频信号中我尝试按论文所提的做FFT,但FFT后如何运算才能得出频率相关峰和CA码相关峰,还没头绪。

出0入0汤圆

 楼主| 发表于 2010-9-17 17:02:51 | 显示全部楼层
在模拟中频信号中我尝试按论文所提的做FFT,但FFT后如何运算才能得出频率相关峰和CA码相关峰,还没头绪。
------------------------------------------------------------------------------------------------
我跟你一样,本来我贴出来,仅是提醒自己,不要忘了它.慢慢来,面包会有的.上帝会照顾付出心血的人们.

我刚才去STM32讨论区请教了一下,ST的DSP库给出的1024点FFT用的时间,在72MHz时钟时大约是2MS.用时和点数是平方关系.
也就是说,16MHz的采样频率时,将用时为16^2=256倍,也就是说要0.5秒.(我记得提醒过你,FFT的运算量是很大的.分辨率是很小的)

你聪明,在这方面,应该坚持学FFT.因为,FFT可以用FPGA来实现,而且可以不用现在这种方法,效率将高得多.是有前途的.
具体方法,我记不清了.要找一找,找到了就发给你.

对了,东西收到没有?,收到马上告诉我.早点付款,否则给人印象不好.

实验硬件框架的初步设想:


(原文件名:STM32实现的GPS基带处理的实验方案.jpg)

说明一下:
1.之所以单独做的振荡器的频率是16.367+,是因为若选择了16.368MHz,而该晶振的频率是正误差,则就没有办法了.故选误差为负的晶振+微调电容的办法.
2.加一个A3P250(ACTEL的小容量FPGA)的主要原因是小,低功耗,30多元.一则可能可以做上面咕唧霖提到的"“DSP”那些东西",二则,留个余地,或许突然灵感来了,可以试一下新想法.

出0入0汤圆

 楼主| 发表于 2010-9-17 18:57:46 | 显示全部楼层
二篇关于"高速FFT"的论文
点击此处下载 ourdev_583861O4F6W3.pdf(文件大小:1.13M) (原文件名:超高速FFT处理器的设计与实现.pdf)
点击此处下载 ourdev_583862V8N66P.pdf(文件大小:136K) (原文件名:一种高速定点 FFT 处理器的设计与实现.pdf)

出0入618汤圆

发表于 2010-9-17 22:47:51 | 显示全部楼层
回复【88楼】elder60 60岁老头
to gzhuli 咕唧霖
max2769已发货,收到后,请即告诉我.
-----------------------------------------------------------------------

芯片已收到。

出0入618汤圆

发表于 2010-9-17 23:09:28 | 显示全部楼层
回复【105楼】elder60 60岁老头
我刚才去stm32讨论区请教了一下,st的dsp库给出的1024点fft用的时间,在72mhz时钟时大约是2ms.用时和点数是平方关系.
也就是说,16mhz的采样频率时,将用时为16^2=256倍,也就是说要0.5秒.(我记得提醒过你,fft的运算量是很大的.分辨率是很小的)
你聪明,在这方面,应该坚持学fft.因为,fft可以用fpga来实现,而且可以不用现在这种方法,效率将高得多......
-----------------------------------------------------------------------

如果用STM32做FFT处理,我会考虑用“零中频”模式。且不说STM32运算16MHz采样率的1ms信号要0.5秒和几十k内存,光是16MHz采样数据STM32要实时收下来都吃力。零中频模式可以将采样率压缩到2M多点,应该还有办法应付。

出0入0汤圆

发表于 2010-9-17 23:40:25 | 显示全部楼层
回复【105楼】elder60 60岁老头
-----------------------------------------------------------------------

没有相关器的情况下,只有STM32很难完成。16M的信号如果想处理的下来,必须进行降采样。如果用STM32,最好还是带一个FPGA,完成相关运算。其他的运算量倒是比较小。

我还是建议在初学GPS的情况下,还是先学习软件无线电的方法,哪怕是后处理,在原理清楚后,再做硬件实时的。

出0入0汤圆

 楼主| 发表于 2010-9-18 01:03:26 | 显示全部楼层
回复【108楼】gzhuli 咕唧霖
-----------------------------------------------------------------------
一点都没有用STM32做FFT处理的想法.上面所有关于FFT的说法,都是针对你的方案的,宫你参考的.小于16MHz采样绿的FFT是没有意义的(他的频率分辨率太小).

回复【109楼】littleGnss
-----------------------------------------------------------------------
Altera的一个逻辑单元LE有一个四输入的LUT和一个D触发器,
Xilinx的一个逻辑单元Slice有两个四输入的LUT和两个D触发器,而
Actel的一个逻辑单元Tile可以组合成一个D触发器或者一个三输入的LUT,
也就是说一个LE差不多等同于2个Tile,而一个Slice差不多等效4个Tile。
我打算放的一个A3P250,只有6,144个Tile.
我现在连FPGA,都没玩好;做相关器,谈何容易;有此想法,但不是现在.

先做一个大概的硬件,是为了在实验中感性地学习GPS原理.我清楚地知道:我现在是自学一年级,课程是"射频前端".
反正,MAX2769不做板是不行的,为什么不多花几天时间思考一下,把后面的硬件一起做呢?即使不行,也无所谓,
因为他们是一起加工,各自独立的.
GPS的原理说深也深(深不见底),说浅也浅(因为我的要求太低).只能边学,边调整课程表.
实际上,这几天,还是在思考原理的,今天,安装了MDK,准备先产生C/A码,后解码.和咕唧霖的实验一样,只是方法不同而已.

出0入618汤圆

发表于 2010-9-18 01:42:07 | 显示全部楼层
回复【110楼】elder60 60岁老头
一点都没有用stm32做fft处理的想法.上面所有关于fft的说法,都是针对你的方案的,宫你参考的.小于16mhz采样绿的fft是没有意义的(他的频率分辨率太小).
-----------------------------------------------------------------------

我的方案是USB采集到电脑上分析,一来没有实时性需求,二来现在的电脑CPU有 > 2Gflops的浮点处理能力,应该也足以应付实时FFT运算。
MAX2769的ADC如果工作在同步模式,则16.368MHz时钟就是16.368M采样率,但是用USB采集的话,考虑是否和USB接口共用一个24MHz时钟会更匹配(官方的USB软接收机方案就是共用24MHz时钟的)。

另外,98楼仿真走的是另一条路(虽然我尝试过FFT,但其实并不是想这么去做的),即类似S53MV的硬解调方式,甚至会更原始地使用模拟PLL来跟踪信号,反正是实验,不惜成本使用4路PLL跟踪4颗卫星,似乎也走得通。话说回来74HC4046或者74HC297也并不贵,就是PLL参数调整比较麻烦而已。比如说98楼图中的SW1拨码开关是控制PLL环路带宽的,不同档位锁定效果不同,拨个不合适的档位马上就失锁了。

出0入0汤圆

 楼主| 发表于 2010-9-18 07:07:11 | 显示全部楼层
1. USB采集到电脑上分析,就没有实时性的要求了.变成一个文件,传给你的朋友,由他来处理,也是一样的,也即,只要你有足够的存储空间.
存储器的地址就是时间.即便中间有个环节处理慢了也不要紧,反正后续能跟上就可以.
有了这个存储空间,要舒服多了.---■作个标记,这可是我的专利哦.
2. //MAX2769的ADC如果工作在同步模式,则16.368MHz时钟就是16.368M采样率,//
这就是我选用该频率的理由.
//但是用USB采集的话,考虑是否和USB接口共用一个24MHz时钟会更匹配(官方的USB软接收机方案就是共用24MHz时钟的)。 //
在这个问题上,我无发言权,不懂USB. 我想,数据能安全可靠地送到电脑是唯一要求.
3. 我敬佩S53MV,但我决不会和他一样做,只要精确地知道了信号是什么样的,该怎么处理是我们自己的事,我十分害怕先入为主的
观点会束缚自己(要时时提醒自己注意).
   74HC297我不懂,看后才能发言.
   PLL中的参数我不知是指什么? 但我知道的是: 1.他决定锁定效果,2.锁定也就是捕获+跟踪.3.最好是跟踪误差=0.
   只要能达到目的,方法可自己定.
   ■用拟人化的思维方式去对待电路. ■数字PLL比模拟的好,积分是任何模拟电路都做不到的.(这里所指的数字PLL不是指模拟PLL的数字化,我不知道他叫什么,或许叫"智能PLL"更确切点.)■除了高频外,不应该再用模拟电路.

   以上观点,仅供参考.

忘了问咕唧霖: 你的螺旋天线后来做了没有?
问littleGnss: 我在上面提了很多问题(例如L90),你都没有帮我答疑,你不是好老师啊! 告诉我你的通信方式.

出0入0汤圆

发表于 2010-9-18 10:58:12 | 显示全部楼层
MARK

出0入0汤圆

 楼主| 发表于 2010-9-18 15:46:35 | 显示全部楼层
思考GPS接收机内部的时钟:
不知道C370如何,我上次买的J21 GPS接收机有1PPS秒脉冲,10KHz脉冲输出,并标称精度为30nS-100nS.
这说明GPS接收机内部有一个物理上的时钟存在.这一点也是可参考的.这个电路仅仅是用于授时而存在码?还室是有其他用途?
这一点是否有必要观察一下.
这个电路是在哪个模块中的,还是MCU通过定时器产生的?
标称精度为30nS-100nS.是什么意思?

出0入0汤圆

 楼主| 发表于 2010-9-19 09:50:49 | 显示全部楼层
2个问题:
1.

(原文件名:MAX2769的AD.jpg)
2.假设AD为IQ2Bit,采样频率16MHz,则串行输出的时钟少于16*14 = 64Mb/S,按理是不可能进行的? 不知他怎么搞法的?
咕唧霖可清楚了? 好在我只搞并出的.

还有,请教littleGnss: 电文中有哪些必须的参数用于伪距计算,以便在跟踪后,快速定位?
时间实在不够啊!

出0入618汤圆

发表于 2010-9-19 10:44:24 | 显示全部楼层
1.采样值和电压值对应没意义,如果用多位采样,最终是要用程序计算平均幅值,然后去调整芯片中的PGA的,也就是个IF AGC过程。
2.采样时钟16MHz就用并行输出得了,串行输出估计就是用于分频后的低采样率的。另外,64Mbps也不是不可能的,很多DSP的SPI接口都能达到这个速度。串行输出在手册上确实说得不明不白的,估计得实际试验才能摸出点头绪。

出0入0汤圆

 楼主| 发表于 2010-9-19 11:04:29 | 显示全部楼层
由于不是系统地学习,而是"急用先学"和"拿来主义",更是"病急乱投医",所用术语可能不确切,我提的问题会令人不解,甚至讨厌.
但问题总是存在的. 我还是期望得到援助.

"频率控制字"应该是在DDS,相关器,GPS的码NCO等中共有的概念,用于控制相位增量.那么,他是个什么样的变量,
一般,把它搞成相对还是绝对值比较有效?

出0入0汤圆

 楼主| 发表于 2010-9-19 11:23:14 | 显示全部楼层
回复【116楼】gzhuli 咕唧霖
1.采样值和电压值对应没意义,如果用多位采样,最终是要用程序计算平均幅值,然后去调整芯片中的pga的,也就是个if agc过程。
2.采样时钟16mhz就用并行输出得了,串行输出估计就是用于分频后的低采样率的。另外,64mbps也不是不可能的,很多dsp的spi接口都能达到这个速度。串行输出在手册上确实说得不明不白的,估计得实际试验才能摸出点头绪。
-----------------------------------------------------------------------

1. 你的意思是MAX2769内部没有AGC?怪不得,我也心里一直纳闷.如此,岂不MCU经常要去切换采样格式,进行"人工增益控制和调整?
这会中断采样输出的,该不至于影响其频率输出吧?
2. //串行输出估计就是用于分频后的低采样率的//   你的意思是:估计要用它,只能把采样速率降得很低,但最少也得>2MHz吧,还要X4,
还要加入其他的东西.
//估计得实际试验才能摸出点头绪//  祝你好运.

出0入618汤圆

发表于 2010-9-19 12:26:42 | 显示全部楼层
调整PGA增益不会中断采样输出的。
串行输出如果是用0中频模式,那么16MHz时钟可以做4MS/s采样率,对于1.023MHz的CA码还是够用的,而且还可以用1位采样模式的啊。

出0入0汤圆

 楼主| 发表于 2010-9-19 12:52:11 | 显示全部楼层
不用3Bit模式,如何知道当前IF的幅度(以便决定去调整增益)的情况? 1,2Bit模式下,看不清楚的.

出0入618汤圆

发表于 2010-9-19 17:47:17 | 显示全部楼层
引用图片【30楼】elder60 60岁老头
-----------------------------------------------------------------------

(原文件名:MAX2769 1.jpg)

刚刚看了一下村田的GPS SAW手册,封装太杯具了,1.4mm x 1.1mm,比0805电阻还小,底下5个焊盘面积只有0.25mm x 0.325mm,间距0.25mm,怎么焊呀。

29楼那个还好,3mm x 3mm,焊盘在侧面有外露,手焊应该问题不大,但能找到这种大的SAW吗?GPS模块用的多数是30楼那样的。

刚刚在淘宝找到了3x3的GPS SAW,看来可以考虑用这个封装的了:http://item.taobao.com/item.htm?id=6710883168
淘宝的搜索真的很烂,我搜“1575 声表”“GPS 声表”都找不到结果,最后是直接搜声表,然后在一堆315M 433M中间发现这个的。

出0入0汤圆

 楼主| 发表于 2010-9-19 20:01:06 | 显示全部楼层
咕唧霖,你的福气比我好,我的经历和你一样,结果一无所有.
已电话联系,他们小的卖完了,只有大的(3x3,6脚. 你说运气好不好).已下蛋,20个,明天发广州,你排版时最好考虑梢宽松些,以便可能的筛选而拆卸.
请不怪我仓促,时间第一位.

另有老头的2个Protel99se的文件,献给年轻朋友.不过我的水平是差的,没有封装.只图节省点时间.

点击此处下载 ourdev_584276IGXVJW.rar(文件大小:10K) (原文件名:硬件.rar)

出0入618汤圆

发表于 2010-9-19 21:16:33 | 显示全部楼层
回复【122楼】elder60 60岁老头
咕唧霖,你的福气比我好,我的经历和你一样,结果一无所有.
已电话联系,他们小的卖完了,只有大的(3x3,6脚. 你说运气好不好).已下蛋,20个,明天发广州,你排版时最好考虑梢宽松些,以便可能的筛选而拆卸.
请不怪我仓促,时间第一位.
-----------------------------------------------------------------------

这么快,我的板子才刚开始找封装资料呢,还在考虑用0402还是0603。国庆前也忙,估计要国庆后才能把板子画完了。

出0入0汤圆

 楼主| 发表于 2010-9-19 22:32:46 | 显示全部楼层
我建议0603,小了,我以后"发现"不了. 做板子的话,时间上不要有压力.祝好运.

另,不管SAW质量如何,建议先把它看作是次品.

还有,我们的成功,不是把东西做出来;而是,有更多的人也干了.

出0入618汤圆

发表于 2010-9-19 23:04:29 | 显示全部楼层
回复【124楼】elder60 60岁老头
我建议0603,小了,我以后"发现"不了. 做板子的话,时间上不要有压力.祝好运.
另,不管saw质量如何,建议先把它看作是次品.
-----------------------------------------------------------------------

那就先定0603了,反正板子面积并不是太紧张,1.5GHz这频率也不算太高。
MAX2769说是可以不用SAW的,如果不是处于在强干扰环境,带外信号使LNA饱和的话,应该可以不用的,所以我会按评估板的做法,SAW旁留个直通电容位置。
另外,评估板的电路图有个很诡异的地方:22脚OUT_BYP(手册是NC)和1脚ANT_FLAG居然能搭一个平衡的FILTER_IN出来,这到底是什么东西?

出0入0汤圆

 楼主| 发表于 2010-9-19 23:15:47 | 显示全部楼层
//SAW旁留个直通电容位置。//     应该这样.  以后有测试条件的情况下,可以在外接有源天线中进行一些诸如放大器和SAW前后互换并进行定量评估的实验,当然,这是后话.

这是MAX2769和MAX2769+的差异.你可以和刘勇直接电话交流.他的电话,网页上有.

出0入0汤圆

 楼主| 发表于 2010-9-20 19:46:52 | 显示全部楼层
这二天在初步评估STM32F的实现可能性. 有点无从下手的感觉. 一开始,我自己定的是5%.现在还是.
二大块是:跟踪输出和定位计算.
自己不懂,请教人家.
从4个卫星跟踪输出 到 算出用户位置的计算量,大概需多长时间(以ARM7为例)?  
据 nobrains 的经验:
"仅计算4颗卫星的话,对于S3C44B0 66MHz来说,我觉得5%是够用的
66M*5%/4=825K,也就是说每颗卫星需要825K时钟周期完成解算,应该是绰绰有余了 "
这里还没有提到定位计算每秒输出次数的问题,姑且已一次算.

也请littleGnss评估一下.有请.
若wpf2053,pitolan等大侠在,也请帮一把.

出0入0汤圆

发表于 2010-9-20 22:54:21 | 显示全部楼层
还有,请教littleGnss: 电文中有哪些必须的参数用于伪距计算,以便在跟踪后,快速定位?
时间实在不够啊!
------------------------------------------------------------------
导航电文的第一和第二Frame是用来计算卫星位置和速度的, 这个是定位必须的。第三四五frame是历书,那个不是必要的。


问littleGnss: 我在上面提了很多问题(例如L90),你都没有帮我答疑,你不是好老师啊! 告诉我你的通信方式.
------------------------------------------------------------------
有些问题我也不是很明白,所以不好胡乱回答,我对硬件实现这部分不是很了解。 我们都是做软件接收机的,对算法研究更看重一些。
另外,打电话的话,应该会很费钱,我倒是有QQ和MSN,不知道您老用不用。

就运算量而言,其实大部分运算能力是消耗在相关运算上。至于环路跟踪和定位,这个用ARM7来做是没有问题的。

出0入0汤圆

 楼主| 发表于 2010-9-20 23:07:47 | 显示全部楼层
谢谢
我的资料中有邮箱地址,请发信给我.

出0入0汤圆

 楼主| 发表于 2010-9-21 14:07:48 | 显示全部楼层
还在进行STM32方案的初步估算,由于没有相应的基础,过程非常痛苦...
littleGnss 和 nobrains 都鼓励我,认为 STM32F 进行定位计算是没有问题的.我谢谢他们的鼓励.
我希望大家能帮我:
1.sirfiii里是否用ARM7? 2.STM32和ARM7比较,在三角运算的能力的比较.
还有就是: 如果用C编写(仅指定位计算部分),编译后,要占用多少ROM? 该死的STM32的ROM我还要放大量相关用的NCO表啊! 上帝!

出0入618汤圆

发表于 2010-9-21 23:24:05 | 显示全部楼层
回复【130楼】elder60 60岁老头
-----------------------------------------------------------------------

SAW已收到。

出0入0汤圆

 楼主| 发表于 2010-9-22 00:08:05 | 显示全部楼层
好,我就付款了.
外观,包装如何?

出0入0汤圆

发表于 2010-9-22 00:48:41 | 显示全部楼层
回复【130楼】elder60 60岁老头
还在进行stm32方案的初步估算,由于没有相应的基础,过程非常痛苦...
littlegnss 和 nobrains 都鼓励我,认为 stm32f 进行定位计算是没有问题的.我谢谢他们的鼓励.
我希望大家能帮我:
1.sirfiii里是否用arm7? 2.stm32和arm7比较,在三角运算的能力的比较.
还有就是: 如果用c编写(仅指定位计算部分),编译后,要占用多少rom? 该死的stm32的rom我还要放大量相关用的nco表啊! 上帝!

-----------------------------------------------------------------------

1. SiRF III用的是ARM7,确切的说是ARM7TDMI,最高能运行到50MHz;参考如下附件,SirfIII的datasheet

点击此处下载 ourdev_584777VNTDPN.pdf(文件大小:611K) (原文件名:SiRF_GSC3 Data Sheet.pdf)

2. 无相关数据

关于NCO,看到elder60 之前也有讨论,似乎elder60 对这一点的理解有误
GP2021中Carrier NCO(也可以叫DCO)非常简单,如下表所示


(原文件名:CarrierNCO.JPG)

这种NCO主要有两部分组成:相位累加器、查找表,相位累加器的位数可以做得很高,如GP2021是27bits,利用高3位做查找表的索引

另外,只需要一张Carrier NCO查找表即可

并且,可以将Carrier NCO查找表和中频输入合起来做一张查找表,这样就不需要乘法运算了

对于Code NCO,方法相同,只是查找表比较大一些(1023)、索引位数多一些(10bit)而已,不过最好不要把bit合成Byte,这样会降低处理效率,因为从Byte中的到bit需要移位操作或者需要if...else...
每颗卫星需要一张Code NCO查找表

所以查找表对ROM的占用应该按如下方法计算:
32*1023Byte,约为32KByte,这是Code NCO查找表;而Carrier NCO查找表可以忽略

出0入0汤圆

 楼主| 发表于 2010-9-22 07:14:57 | 显示全部楼层
谢谢指点.LS这2天,做了不少好事,致敬.
我没有打算仔细学习GP2021,(只是想知道他和DSP的分割的界面).如果我想用STM32去简单模仿GP2021,那我的命运注定是失败.
我的苦处,你没有体会到。比如 “不过最好不要把bit合成Byte”这怎么可能呢?

出0入0汤圆

发表于 2010-9-22 08:10:04 | 显示全部楼层
回复【134楼】elder60 60岁老头
谢谢指点.ls这2天,做了不少好事,致敬.
我没有打算仔细学习gp2021,(只是想知道他和dsp的分割的界面).如果我想用stm32去简单模仿gp2021,那我的命运注定是失败.
我的苦处,你没有体会到。比如 “不过最好不要把bit合成byte”这怎么可能呢?

-----------------------------------------------------------------------

我的意思是,C/A码长度是1023位,其实用1024位(128字节)ROM足够了,可以省ROM,但是程序上就复杂一些,速度应该会慢一些
而用1023Byte就会提高效率

出0入0汤圆

 楼主| 发表于 2010-9-22 09:48:07 | 显示全部楼层
进行stm32方案的初步估算,就是二大块: 相关器部分和运算部分(其中又分为 环路调节和定位计算),每块都要考虑速度和ROM资源.
运算部分,原理复杂,估算相对容易.所以,目前我就先应付他.
  当然,当开始定位计算时,相关器部分的工作量已经降低了(一部分进入跟踪状态了).
这种情况要求我思索: 如何让STM32,无论在开始,还是在后来,都要仅可能全负荷工作? 比如,相关器是否要多模式...
否则,stm32方案就成了真正的空想. 不过,他本来可能就是空想,这种可能性目前是90%.

stm32方案是心血来潮的产物,但心血来潮又是DIYer的特征.

出0入618汤圆

发表于 2010-9-22 10:35:46 | 显示全部楼层
我有一个想法:
按照S53MV的硬件相关器思路,IF使用1位采样,STM32的SPI口以DMA循环模式输出Code NCO信号(即代替82C54 - 62256部分),用定时器的捕捉计数功能来实现积分器(代替82C54),估计也是可行的?

出0入0汤圆

 楼主| 发表于 2010-9-22 11:29:46 | 显示全部楼层
咕唧霖的脑子果然好使,出此奇招.让外设干活.自己坐享其成,
不过你上面没有说清楚的是,是否还应该在外面有一个异或门?再反回来用门空控模式计数...

出0入0汤圆

 楼主| 发表于 2010-9-23 11:39:16 | 显示全部楼层
明天就是发贴20天了,满脑子乱烘烘,定位计算的估计不太顺利,再想想环路调节的程序也不是容易的...
本来打算全部根据原理来搞的,打算拒绝各种c和m文件.但确有万分孤独的感觉.
  感谢 nobrains 在此时上传的资料. 目前,仅在看GPS1001.rar. 和我脑子里的框框距离颇大,确认是自己幼稚,"NC老童不怕虎"!
确实即便浏览一下,也会对理解GPS的原理有所帮助. 再次感谢 nobrains .

对不起大家,忘了说了,我目前获取GPS原理知识的来源是:《GPS定位原理及应用》授课教案
http://www.ourdev.cn/bbs/edit_articles_interface.jsp?bbs_sn=4285803&parent_no=4251155&bbs_page_no=1&bbs_id=3072

出0入0汤圆

 楼主| 发表于 2010-9-23 15:24:54 | 显示全部楼层
眼睛生疼,调节一下,画个图:
也可笑,20天前,我不能画出这个图.

(原文件名:gps接收机的基本原理框图.jpg)

过阵子,什么时候,1.把小框间的连线上加入所有的信息,2.小框变成大框,就又有进步了.

出0入0汤圆

 楼主| 发表于 2010-9-24 03:19:58 | 显示全部楼层
再次感谢 nobrains 上传的资料. 看GPS1001.rar的心得:

★主线条:
主程序gpsrcvr.C中L340处
      /* nav fix once every X seconds */
      if (nav_flag == 1)
        { nav_fix ();        //确定每卫星的伪距和多普勒,位置,接收速度等?
          nav_flag = 0;                   }

而在nav_fix.c中L111处,调用在gpsfuncs.c 中的pos_vel_time.
  if (n_track >= 4) {                       
    rpvt = pos_vel_time (n_track);// 处理所有到接收器可视卫星的位置的伪距

太困了!


无法入眠!改图

(原文件名:gps接收机的基本原理框图.jpg)

出0入0汤圆

 楼主| 发表于 2010-9-24 06:27:31 | 显示全部楼层
该死的float,好像是针对STM32方案来的. 这种家伙共有几个? 来干什么?

对不起大家,忘了说了,我目前获取GPS原理知识的来源是:《GPS定位原理及应用》授课教案
http://www.ourdev.cn/bbs/edit_articles_interface.jsp?bbs_sn=4285803&parent_no=4251155&bbs_page_no=1&bbs_id=3072

出0入0汤圆

 楼主| 发表于 2010-9-24 19:34:54 | 显示全部楼层
请教大家.
一个思而未解的问题--关于相关处理的工作周期:
我一直以为,不管是捕获还是跟踪阶段,相关处理的工作周期印象中就是本机时钟(或采样时钟)决定的1ms.
本周期相关处理的结果,将决定下一个周期的相关处理如何进行.
然而,本周期相关处理结束的时刻,就是下周期的开始.这个事情是如何解决的? (此问题当然是指硬件处理的情况下)
难道这就是有些相关器内部降频的理由?
这使是我更敬佩S53MV,不知他怎么做的?

本贴到今天,正好20天.这20天,除了世博会,开药,中秋的晚饭,理发几见事外,就是打字和学习,每天16小时以上.
于是受到多方面的强烈警告,自己也感到太自不量力.
明天开始要降低学习强度.安全第一.

出0入0汤圆

发表于 2010-9-25 04:50:59 | 显示全部楼层
回复【143楼】elder60  60岁老头
-----------------------------------------------------------------------
相关器通常是以1ms为周期的。因为CA码的周期是1ms。 相关器完成的是相乘再累加,所以只要告诉相关器,什么时候累加结束了,清零累加器就行了。

出0入0汤圆

 楼主| 发表于 2010-9-25 08:05:50 | 显示全部楼层
回复【144楼】littleGnss
回复【143楼】elder60  60岁老头
-----------------------------------------------------------------------
相关器通常是以1ms为周期的。因为ca码的周期是1ms。 相关器完成的是相乘再累加,所以只要告诉相关器,什么时候累加结束了,清零累加器就行了。
-----------------------------------------------------------------------
相关器通常是以1ms为周期的。因为ca码的周期是1ms。 相关器完成的是相乘再累加,所以只要告诉相关器,什么时候累加结束了,清零累加器就行了。
难道接下去放假了? 下一个周期又要开始,新的DCO数据改不改?不改变,倒也罢了.若要改变,赶快算.时间只有一个采样周期啊!

说明:相关器部分本不应该在此讨论.但目前我在对STM32方案的可能性进行评估,必须思考.无意中,提出此问题.


对不起大家,实在对不起.前几贴中关于 《GPS定位原理及应用》授课教案 的网址被我弄错了,现更正如下:

我目前获取GPS原理基本知识的来源是:《GPS定位原理及应用》授课教案
http://netclass.csu.edu.cn/jpkc2007/CSU/02GPSjpkch/jiao-an/1.1.htm

出0入0汤圆

发表于 2010-9-25 22:34:06 | 显示全部楼层
回复【141楼】elder60 60岁老头
-----------------------------------------------------------------------

这两天全是elder60在发言,能够理解他的孤独,我也说两句

关于ADC的分辨率,讨论如下,也是回答之前的一个问题
在给出Jamming与ADC分辨率间的关系前,先对GPS信号的SNR进行定义
有四种SNR可以表征GPS信号的质量,1)输入功率,单位为dBm 2)输入带宽范围内的信噪比,单位为dBm/2MHz 3)1KHz范围内的信噪比,单位为dBm/kHz 4)1Hz范围内的信噪比,单位为dBm/Hz
设GPS信号为-130dBm;接收天线温度为180K,noise floor为-176dBm/Hz => 接收机前端的noise增益为2dB,对GPS信号的增益为1 => 总的noise为-174dBm/Hz或-114dBm/MHz
        |=> C/A码带宽为2M,noise floor变为-114+3 = -111dBm/2MHz => SNR为(-130)-(-111)=-19dB/2MHz
        |=> noise floor为-144dBm/kHz => SNR为(-130)-(-144)=14dB/kHz
        |=> noise floor为-174dBm/Hz => SNR为(-130)-(-174)=44dB/Hz

* 注意:上述|=>开头的三行是并列关系,而不是因果关系


(原文件名:2.JPG)

=======================================================================
"膝上型PC借助通用GPS RF前端实现软件基带处理"一文中,P15左中有一段:   从RF输入至IF输出的总增益能够在60至115dB范围内调节或进行自动控制。输出可以选择为■模拟■、CMOS或有限差分。内部ADC具有可设置的一到三位输出。   "模拟"指什么?、
=======================================================================
模拟信号是指混频并anti-alias滤波后的输出,这样就可以后接高分辨率ADC
1bit ADC对SNR有1.96dB衰减,2bit ADC有0.55dB衰减
ADC输入信号SNR和ADC采样频率对该衰减均有影响;对于ADC位数确定的情况,SNR越小、采样频率越高,衰减越小
对于商用GPS来说,2bit ADC已经足够
只有在需要anti-jamming功能的GPS接收机中才需要高分辨率ADC,原因在于:
Jamming信号强度远大于GPS信号(可能因为人为干扰),jamming信号足以使ADC达到饱和,接收机无法检测到GPS信号;而采用高分辨率ADC时,可通过后续处理恢复GPS信号。
假设jamming仅发生在某一频率,则在进入Baseband处理器前,先进行FFT,将信号最强的频率滤除(Jamming远大于noise和GPS signal),再进行IFFT,将该信号送入Baseband
Jamming与ADC分辨率的关系如下:


(原文件名:1.JPG)

如果要使信噪比达到前述无Jamming的水平,即14dB/kHz,则ADC的分辨率如下表所示


(原文件名:Jamming.JPG)

出0入0汤圆

发表于 2010-9-26 00:02:57 | 显示全部楼层
关于中频ADC的采样频率,讨论如下:
1. 过采样可以降低ADC量化噪声对接收机灵敏度的影响,采样频率越高,对ADC分辨率要求越低
2. 采样频率不取为C/A码频率的整数倍,以如下示例加以说明
如图所示,若采样频率fs为C/A码频率fc的5倍,即fs=5*fc,则可能存在如图所示的情况


(原文件名:SampleFreq.gif)

接收机的本地C/A码相位与实际C/A码相位相差略小于1/fs,即1/5码片
所示例子中,本地C/A码的码片与实际C/A码的码片对应同样的采样点,相关值也必然相同,L、P、E三路的相关值也相同,码环路不会对相位进行调整,导致本地C/A码与实际C/A码相位差一直保持1/5码片

出0入0汤圆

 楼主| 发表于 2010-9-26 11:02:26 | 显示全部楼层
读 nobrains 146楼,147楼的心得:
1. 切题,和本贴的中心议题(射频前端)相符.给出GPS信号的SNR的定义.并介绍了jamming与ADC分辨率间的关系,提出了J/S的概念.
让我张了见识.
2. 他告诉我们有一种 anti-jamming功能的GPS接收机,这种接收机是如何在"存在着较高强度的单频(或窄带)干扰的情况下"
去应对的.
谢谢nobrains.

3. nobrains在上面谈到的"高强度的单频干扰"应该是指"连续的"这种情况.这种情况下,相信只能是FFT+IFFT的办法.在我们可能要
做的项目里,唯有用PC来实现的软件接收方案才可以尝试.作好了,也就在这一点上超过普通商用机了.(当然,射频前端的ADC分辨率要
比较高才行.)

4. 高强度的单频干扰如果不是"连续的",而是"短促"的,这种情况可能是我们更关心的问题.他将引发什么情况? 有什么办法来对付?
我们能发现他吗?
   至少,当我们发现接收机不能工作的时候,"TMD,它又来了!" 要比 "该死!怎么回事啊?"要好上一点点.
   
5. 回到现实.
   目前,我们选择的射频前端的IC是MAX2769,我可是"日夜思念咕唧霖"啊! 咕唧霖,你可知道啊!

出0入618汤圆

发表于 2010-9-26 12:07:07 | 显示全部楼层
嗯,我在,不过这几天很忙,还没时间消化。

出0入0汤圆

 楼主| 发表于 2010-9-26 12:19:03 | 显示全部楼层
回复【147楼】nobrains
-----------------------------------------------------------------------
"导致本地C/A码与实际C/A码相位差一直保持1/5码片" 你没有说明这好还是不好?  请注意我们这些学生的水平和理解力.
我的理解是"不好"! 不知对不对?

说来也巧,10天前,我在【90楼】谈到的,几乎接近于这个问题. 图也类似. 烦请阅后指点.

还有,就是【143楼】有偿征求解答的问题了,请指点.



-------------------------------------------------------------------------------------
我目前获取GPS原理基本知识的来源是:《GPS定位原理及应用》授课教案 请一起共同学习基础课.
   http://netclass.csu.edu.cn/jpkc2007/CSU/02GPSjpkch/jiao-an/1.1.htm

出0入0汤圆

发表于 2010-9-26 13:15:09 | 显示全部楼层
回复【150楼】elder60 60岁老头
回复【147楼】nobrains  
-----------------------------------------------------------------------
"导致本地c/a码与实际c/a码相位差一直保持1/5码片" 你没有说明这好还是不好?  请注意我们这些学生的水平和理解力.
我的理解是"不好"! 不知对不对?
-----------------------------------------------------------------------
的确,采样频率取为C/A码频率的整数倍是不好的

出0入618汤圆

发表于 2010-9-26 13:21:53 | 显示全部楼层
1/5码片约相当于多少米的定位误差?

出0入0汤圆

发表于 2010-9-26 13:50:53 | 显示全部楼层
老头的这种坚韧不拔的学习精神让我等汗颜啊,但是要注意身体!

出0入0汤圆

 楼主| 发表于 2010-9-26 15:05:13 | 显示全部楼层
谢谢楼上关心.

回复【152楼】gzhuli 咕唧霖
1/5码片约相当于多少米的定位误差?
-----------------------------------------------------------------------
我的理解是:1码片约=1us,对应300米,1/5码片对应60米.
但这是"瞬间"的,随时间的延长,再平均一下,精度会提高.



-------------------------------------------------------------------------------------
我目前获取GPS原理基本知识的来源是:《GPS定位原理及应用》授课教案 请一起共同学习基础课.  
   http://netclass.csu.edu.cn/jpkc2007/CSU/02GPSjpkch/jiao-an/1.1.htm

出0入618汤圆

发表于 2010-9-26 16:06:07 | 显示全部楼层
回复【154楼】elder60 60岁老头
我的理解是:1码片约=1us,对应300米,1/5码片对应60米.
但这是"瞬间"的,随时间的延长,再平均一下,精度会提高.
-----------------------------------------------------------------------

就是说,如果因采样率问题造成C/A码有固定的1/5码片相位差,那么误差可达60m?
除非采样率和C/A码不同步,才能呈现不同的相位差,再平均一下,才可以得到更精确的定位。

出0入0汤圆

 楼主| 发表于 2010-9-26 16:11:18 | 显示全部楼层
是的,这是我自己"悟"出来的,也未获专家肯定.可以肯定事情还没那么简单.
目前,要学的东西太多,我的框架初评估还在进行,头大的不得了.此概念的深入理解只能放到将来.

出0入0汤圆

 楼主| 发表于 2010-9-26 19:44:19 | 显示全部楼层
舒口气,刚摆平MDK3.50. 库也有点变化了.2年半了,好像不认识了.
秀一下08年2月做的FFT(没有用DSP库,汇编优化).

(原文件名:早期FFT8,2.JPG)


(原文件名:早期FFT8,16,24,255,100,200.JPG)


(原文件名:早期FFT16.JPG)


(原文件名:FFT新.jpg)


(原文件名:我的1寸半示波器显示的FFT效果.JPG)

出0入0汤圆

发表于 2010-9-26 19:47:21 | 显示全部楼层
回复【154楼】elder60 60岁老头
我的理解是:1码片约=1us,对应300米,1/5码片对应60米.
但这是"瞬间"的,随时间的延长,再平均一下,精度会提高.
-----------------------------------------------------------------------
1/5码片确实是对应60m

这只是理论上给出的结论,实际情况下,由于多普勒效应的影响,C/A码频率一般不是1.023MHz,不会有固定的误差。如elder60 所说,长期来看,这个误差会降低

出0入0汤圆

发表于 2010-9-27 02:11:19 | 显示全部楼层
关于90楼的问题

1. 只有码NCO有所谓的超前和滞后,载波NCO没有。超前码、当前码、滞后码对应的采样点是相同的,只是三种情况下码的相位相差1/2chip而已
2. 个人认为,0点的采样值应该是1
3. 目前没有采样频率与中频关系的数据
4. 时域并行就是多路相关,频域并行就是FFT;这个elder60 应该已经知道了

出0入618汤圆

发表于 2010-9-27 09:24:47 | 显示全部楼层
回复【159楼】nobrains
2. 个人认为,0点的采样值应该是1
-----------------------------------------------------------------------

个人认为,0点的采样值可能是0,可能是1,随机的。 :)

出0入0汤圆

 楼主| 发表于 2010-9-27 09:36:10 | 显示全部楼层
咕唧霖别走,帮一下忙:
1.若你已经有产生CA码的c代码,就告诉我.
2.若没有,告诉我,bit如何声明?   我脑子越来越不行了.

我试着在评估用STM32进行捕获,跟踪的能力.
c语言没有bit类型?

出0入618汤圆

发表于 2010-9-27 10:59:58 | 显示全部楼层
C/A码用FPGA产生更容易吧?
如果用单片机产生,可以预先计算好序列,用SPI输出,这就自动完成了byte -> bit的过程。
由于C/A码长度是1023位,所以要做8个循环凑齐一个完整的字节序列,总共1K字节,然后循环输出,就是连续的C/A码了。

出0入0汤圆

 楼主| 发表于 2010-9-27 11:27:35 | 显示全部楼层
LS把我当健康人看待了.
当我打开MDK,看我以前自己做的项目,我都发呆了:这是我以前做的吗?不认识了.
C代码,汇编,几乎都不懂了.要慢慢回忆,找出感觉来. 你们老了,才能知道怎么回事.
FPGA本来就没学好.M语言也没感觉了. 这就是我的现实...

我的思维还算可以,但我的记忆已经一塌糊涂了.反正脑子的那个区域已经坏掉很多.

出0入618汤圆

发表于 2010-9-27 20:48:39 | 显示全部楼层
匆忙写的一段C/A码生成代码,共生成8个循环,凑成1024字节,每字节8位,高位先出(根据SPI规范)。
只要将code数组从SPI循环输出,即可模拟C/A码发生器。改变移位寄存器2输出抽头,即可改变卫星号。

<pre>#include <stdio.h>

#define BIT(r, b)    (((r) >> (b - 1)) & 1)

int main(void)
{
  int sr1 = 0x3FF;
  int sr2 = 0x3FF;
  unsigned char code[1024];
  int i, j, o1, o2;
  unsigned char c;

  // 生成C/A序列
  for (i = 0; i < 1024; i++)
  {
    for (j = 0; j < 8; j++)
    {
      // 移位寄存器1输出:10
      o1 = BIT(sr1, 10);
      // 移位寄存器1反馈:3 ^ 6
      sr1 = ((sr1 << 1) & 0x3FF) | (BIT(sr1, 3) ^ BIT(sr1, 6));

      // 移位寄存器2输出:2 ^ 6 (PRN1)
      o2 = BIT(sr2, 2) ^ BIT(sr2, 6);
      // 移位寄存器2反馈:2 ^ 3 ^ 6 ^ 8 ^ 9 ^ 10
      sr2 = ((sr2 << 1) & 0x3FF) | (BIT(sr2, 2) ^ BIT(sr2, 3) ^ BIT(sr2, 6) ^ BIT(sr2, 8) ^ BIT(sr2, 9) ^ BIT(sr2, 10));

      // 合成输出
      c = (c << 1) | (o1 ^ o2);
    }
  
    code = c;
  }

  // 打印序列
  for (i = 0; i < 8184; i++)
  {
    if (i % 1023 == 0)
    {
      putchar('\n');
      putchar('\n');
    }
    putchar(0x30 + ((code[i >> 3] >> (7 - (i & 7))) & 1));
  }

  putchar('\n');
}
</pre>

以下是一个周期的1号C/A码序列:
1100100000111001010010011110010100010011111010101101000100010101
0101100100011110100111111011011100110111110010101010000100000000
1110101001000100110111100000111101011100110011110110000000101111
0011111010100110001011011100011011110101000101011000001000000001
0000001100011101100000011100011011111111101001110100101101100001
0101011000100111001011011101100011101110111100001101100001100100
1001000001101101001011011110001011100000010100100111111000001010
1011100111110101111100110011000111000110110101010110110001101110
1110000000000010110011011001110110100000101010111010111010010100
0111001110001001010001010010110100001010110110101101100011100111
1011001000011111100101101000100001111101010111001100100100100101
1111111110000111110111100011011100101100001110010101000010100101
0111111000111101101001110110011111101111101000110001111100000001
0010100010110100010001001101100000011101101000110100010010001110
0010110011001001111001101111110011001010011010011010111100110110
101001110111100011010100010000100010010011100001110010100010000

出0入0汤圆

 楼主| 发表于 2010-9-27 22:38:17 | 显示全部楼层
啊!谢谢了.我听说你最近特别忙.自感有点过分.

出0入0汤圆

发表于 2010-9-27 23:14:46 | 显示全部楼层
回复【150楼】elder60  60岁老头
-----------------------------------------------------------------------

1/5的码片不代表就会产生1/5码片那么多的误差。首先因为使用的是DLL,最后伪距的误差和DLL的性能是相关的。另外通常使用的DLL不会因为采样率是整数倍码速率而造成影响。那本书上的码跟踪是用的其他的方法,而不是传统的DLL。如果前端带宽比较窄的话,一般不会把DLL设到1/5码片这么小,因为这个时候的相关峰不是理想的三角形,而是顶部削平的。

出0入0汤圆

 楼主| 发表于 2010-9-28 17:39:38 | 显示全部楼层
欢庆国庆,开药火爆,医生警告,不准胡闹,勒令休息,以观后效.

回复【166楼】littleGnss
回复【150楼】elder60  60岁老头
-----------------------------------------------------------------------
1/5的码片不代表就会产生1/5码片那么多的误差。首先因为使用的是dll,最后伪距的误差和dll的性能是相关的。另外通常使用的dll不会因为采样率是整数倍码速率而造成影响。那本书上的码跟踪是用的其他的方法,而不是传统的dll。如果前端带宽比较窄的话,一般不会把dll设到1/5码片这么小,因为这个时候的相关峰不是理想的三角形,而是顶部削平的。
-----------------------------------------------------------------------
你的意思是若相关峰是的三角形,是个最合适的安排.我会记住的.谢谢.

我现在着急的是课程如何安排,到底怎么学?做些什么实验?事先要准备些什么条件? 这种课程设计,我可没有能力.希望你能不能和
nobrains 老师以及感兴趣的网友一起讨论一下.在没有希望看到一些成果的情况下,一段时间后,将会有不少人失去信心.
(当然,成果不必是完整的接收机)
我tb上查过,凡是硬件相关器,每片都要60元以上.做pcb的风险较大.
fpga估计能做的人不多,而且做成整机耗电也比较大.
还有,就是没有信号源,做了一个局部,无法判定好坏....
应该说是: "青蛙吃天,无从下嘴."

出0入0汤圆

 楼主| 发表于 2010-9-28 18:39:32 | 显示全部楼层
to 咕唧霖:
1. 我以前记下的数据是:卫星1-5的ca码的前10个码片是(八进制):1440,1620,1710,1744,1133.
2. 帧格式(MSB在前还是LSB在前取决于SPI_CR1寄存器中的LSBFIRST位),默认MSB在前。所以你的程序和习惯不一.

如果老师们能提供C/A码表供我们比较,不胜感激!

出0入618汤圆

发表于 2010-9-28 18:54:26 | 显示全部楼层
回复【168楼】elder60 60岁老头
to 咕唧霖:
1. 我以前记下的数据是:卫星1-5的ca码的前10个码片是(八进制):1440,1620,1710,1744,1133.
2. 帧格式(msb在前还是lsb在前取决于spi_cr1寄存器中的lsbfirst位),默认msb在前。所以你的程序和习惯不一.
如果老师们能提供c/a码表供我们比较,不胜感激!
-----------------------------------------------------------------------

1. 164楼的码开头就是1440(1100100000)。
2. 你说的是什么MCU?SPI一般是MSB先出的,我的程序也是MSB先出啊。

出0入0汤圆

 楼主| 发表于 2010-9-28 19:13:46 | 显示全部楼层
看走眼了,1440.该死的八进制.
和习惯不一,指的是左右移,资料上的习惯描述是右移,STM32也是可以右移.不过这是无所谓的.你现在的挺好!
该死了,这二天,老出洋相!

出0入0汤圆

发表于 2010-9-29 12:59:34 | 显示全部楼层
好多基本概念搞不清,看来我还得去学习数字信号与系统,学历太低了。看这些东西很痛苦

出0入0汤圆

发表于 2010-9-30 20:57:16 | 显示全部楼层
你好,60岁老头

出0入0汤圆

 楼主| 发表于 2010-10-4 18:19:35 | 显示全部楼层
linerli先生好!

一个关于北斗的报道: "北斗商业化迷途:民用导航市场份额不到1%" 《新世纪》周刊 记者 于达维

http://tech.sina.com.cn/t/2010-09-21/14254682735.shtml

但愿北斗好运!

出0入0汤圆

发表于 2010-10-5 09:50:40 | 显示全部楼层
elder60: 很佩服你的探索精神。

出0入0汤圆

发表于 2010-10-5 13:17:53 | 显示全部楼层
mark !!!

出0入0汤圆

 楼主| 发表于 2010-10-9 17:26:44 | 显示全部楼层
在"我在哪里"一贴的【51楼】前后,我们曾经讨论过"s53mv"的if和fc的问题.
"原理部分也有2处提到名义第三中频是2303kHz".此事一直困扰我,现作如下解:

6139.050 *15*16 = 1473372为1本振,6139.050 *15 = 92085.75为2本振.
所以第二IF = 1575420 - 6139.05 *15*(16+1) = 1575420 -1565457.75 =9962.25
由于9962.25 > 6139.05*1.5 = 9208.575 处于折返区. 多出753.675.
所以,名义第三中频 = 6139.05*0.5 - 753.675 = 3069.525 - 753.675 = 2315.85kHz
----------再整理一下: -------------
if1 = 1575420 - f0*15*16; if2 = if1 - f0*15 = 1575420 - 255 * f0   (1);
fc = f0; 当if2处于(1.5-2)fc时,频谱将倒置,此时的频率if'可视为2fc-if.
将if用式(1)的if2代入,则:
if' = 2fc - if = 2fc - (1575420 - 255 * f0) = 257 * f0 - 1575420.  (2);
当f0 = 6139.05,则if' = 2315.85kHz; 当f0 = 6139 ,则if' = 2303kHz;

我希望有不少网友能明白我上面的意思. 请回个贴,好吗?

出0入618汤圆

发表于 2010-10-9 17:39:32 | 显示全部楼层
回复【176楼】elder60 60岁老头
-----------------------------------------------------------------------

明白了,其实S53MV一直以f0 = 6139来说明,但我们先算IF1和IF2时,发现准确的f0是6139.05k,所以拿着这个去算2303k就是死活算不出来。

出0入0汤圆

发表于 2010-10-17 17:50:34 | 显示全部楼层
回复【176楼】elder60 60岁老头
在"我在哪里"一贴的【51楼】前后,我们曾经讨论过"s53mv"的if和fc的问题.
"原理部分也有2处提到名义第三中频是2303khz".此事一直困扰我,现作如下解:
6139.050 *15*16 = 1473372为1本振,6139.050 *15 = 92085.75为2本振.
所以第二if = 1575420 - 6139.05 *15*(16+1) = 1575420 -1565457.75 =9962.25
由于9962.25 &gt; 6139.05*1.5 = 9208.575 处于折返区. 多出753.675.  
所以,名义第三中频 = 6139.05*0.5 - 753.675 = 3069.525 - 753.675 = 2315.85khz
----------再整理一下: -------------
if1 = 1575420 - f0*15*16......
-----------------------------------------------------------------------

1.如果用MAX2769,楼主就不用自己做下变频的处理了,人家做好了的;
2.看楼主的意思采样频率打算用6.139MHz做采样频率,BD2民用扩频码的带宽是4.092MHz,虽然6.139MHz依然满足奈奎斯特采样定理,但这个数字中频数据对基带处理肯定不算好。GPS成熟产品的采样频率一般是16MHz的数量级,而GPS的民用码率是1.023MHz,如果达到类似的效果,BD2接收机的采样频率应该在32MHz,不过如此高的采样频率对基带压力也很大,数据量太大也不好处理,所以建议用16M左右的。如果是软件接收机,采样频率甚至还要降低才好用。

出0入0汤圆

 楼主| 发表于 2010-10-20 17:07:33 | 显示全部楼层
回复【178楼】ivasion
-----------------------------------------------------------------------
迟复为歉! 不知怎么回事,我看到的最后回复还是【177楼】的.只是想发个文件才进来的.

如果没有硬件相关器的话,我不敢想BD2. GPS我刚学1,2个月,水平不行.目前,还是在学习用STM32做GPS(自作自受).所以采样频率
只可能选在6MHz以下. 上面的所谓计算,只是好奇而已.

  这是本很早但很权威的书.国内大学的GPS专业都用作教科书或参考书.
点击此处下载 ourdev_591510O3ZPOU.pdf(文件大小:8.76M) (原文件名:★GPS原理与应用(Kaplan).pdf)

出0入0汤圆

 楼主| 发表于 2010-11-5 15:40:02 | 显示全部楼层
纪念发贴2个月.

出0入0汤圆

发表于 2010-11-5 15:58:01 | 显示全部楼层
老头也来祝贺60岁老头发贴2个月。
学习。

出0入0汤圆

 楼主| 发表于 2010-11-5 16:26:18 | 显示全部楼层
请代向金猪豆豆问好,现在应该更可爱了吧.

出0入0汤圆

发表于 2010-11-7 10:17:10 | 显示全部楼层
看来姜还是老的辣啊!
希望这里能再出几个elder60,再出几篇射频/天线方面的经典大作

出0入0汤圆

发表于 2010-11-7 10:35:56 | 显示全部楼层
ding

出0入618汤圆

发表于 2010-11-7 10:43:24 | 显示全部楼层
2个月了,冒个泡。
因为公司赶项目,一直没时间把这个小小的MAX2769前端搞出来,非常非常的歉疚(特别是老头,实在是拖太久了,很不好意思)。
为自己加油鼓个气,希望11月底前能打样一版PCB并顺利上电输出IF噪声。

出0入0汤圆

发表于 2010-11-7 13:49:24 | 显示全部楼层
elder60 60岁老头 前辈最新进展如何。
我觉得这个项目对您来说有一个难点不好克服,就是射频性能测量需要很多仪器,都很贵重。
另外如果您之后对北斗2代民用的相关参数有需要我可以帮忙打听。

出0入0汤圆

 楼主| 发表于 2010-11-8 09:57:34 | 显示全部楼层
回复【185楼】gzhuli 咕唧霖
-----------------------------------------------------------------------
千万别"歉疚",本来就是玩的事情.工作还是要紧.

回复【186楼】rayz82
-----------------------------------------------------------------------
谢谢好意.
一直在学习原理,感觉完整做出来是不容易或不可能.要说进展就是否定了若干自己以前幼稚的想法(也可以说是所谓方案)
1. 大致摸了一下用STM32进行定位计算的底,因超过了32K版本限制而告暂停.
2. 大致搞明白了"gps信号的跟踪为什么一定需要二个跟踪环?".
3. ...

关于你提到的"射频性能测量需要很多仪器,都很贵重"的事,我想,DIY本身就应该是在条件不佳的情况下进行的.
刚好咕唧霖在上面讲了一句话,可以来说一下这个事情: "希望11月底前能打样一版PCB并顺利上电输出IF噪声"
这句话除了做板通电以外,还给出了这块板的检验标准: 输出IF噪声.
我非常赞成.只要能作到输出IF噪声(注意仅是噪声)说明已有相当增益,且无自激现象.
没有1.5G的信号发生器,可以利用其他信号的谐波来替代.
中频及其带宽(由内部中频滤波器决定)是可以程序设置的.
镜像干扰由SAW排除...

先生还担心其他"射频性能测量"的问题不妨具体提出,我们一起探讨.

出0入0汤圆

发表于 2010-11-10 15:04:31 | 显示全部楼层
有的saw是需要匹配的,有的不需要。如果是需要匹配的话就难办了。倒是46M的中频还是好观测。

出0入618汤圆

发表于 2010-11-10 16:26:01 | 显示全部楼层
回复【188楼】rayz82
有的saw是需要匹配的,有的不需要。如果是需要匹配的话就难办了。倒是46m的中频还是好观测。
-----------------------------------------------------------------------

现在买到的SAW是不用匹配的,输入输出阻抗均是50欧。

出0入0汤圆

发表于 2010-11-11 00:30:47 | 显示全部楼层
能说一下用的是哪种saw么,我们用的还需要匹配。

出0入618汤圆

发表于 2010-11-11 00:52:50 | 显示全部楼层
回复【190楼】rayz82
能说一下用的是哪种saw么,我们用的还需要匹配。
-----------------------------------------------------------------------

SANYO的TSM157PW2B
点击此处下载 ourdev_597062IA1C9C.pdf(文件大小:29K) (原文件名:TSM157PW2B.pdf)

出0入0汤圆

发表于 2010-11-11 10:45:56 | 显示全部楼层
回复【191楼】gzhuli  咕唧霖
回复【190楼】rayz82
能说一下用的是哪种saw么,我们用的还需要匹配。
-----------------------------------------------------------------------
sanyo的tsm157pw2b
点击此处下载  (原文件名:tsm157pw2b.pdf)
-----------------------------------------------------------------------

谢谢
北斗方面有什么问题 我可以帮大家询问一下

出0入0汤圆

发表于 2010-12-14 13:45:08 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-1-31 13:26:53 | 显示全部楼层
好久没来了,不知道进展如何,关注。

出0入0汤圆

发表于 2011-1-31 14:53:51 | 显示全部楼层
老头用心良苦,向你致敬,祝你身体健康~~~~

出0入0汤圆

发表于 2011-2-11 17:20:21 | 显示全部楼层
来这里知道了我原来很多不懂的东西。感谢大家

出0入0汤圆

发表于 2011-5-11 15:48:10 | 显示全部楼层
不懂

出0入0汤圆

发表于 2011-5-11 17:06:10 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-4 02:23:30 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-22 08:24:26 | 显示全部楼层
最近进展得怎样了?

出0入0汤圆

发表于 2011-7-15 13:50:14 | 显示全部楼层
回复【76楼】elder60  60岁老头
-----------------------------------------------------------------------

我是新手,自学中,上面图中C5-C11有没有更好的接法?

出0入0汤圆

发表于 2011-8-12 17:04:14 | 显示全部楼层
回复【楼主位】elder60 60岁老头
-----------------------------------------------------------------------

佩服!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 07:02

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表