150万公里之外的韦伯太空望远镜照片如何回传地球?如果某个片段错了,整张照片就废了吗?照片是如何压缩的?

150万公里之外的韦伯太空望远镜照片如何回传地球?如果某个片段错了,整张照片就废了吗?照片是如何压缩的?

1 年前 · 来自专栏 开源芯片/FPGA设计

韦伯太空望远镜花费100亿美元,历经千辛万苦到达第二拉格朗日点,拍摄宇宙尽头的照片。照片如何回传地球?万一某个片段传输出错了怎么办?会不会整张照片就废了?照片文件多大?RAW格式?JPEG格式?

先说答案:某个片段出错不会导致整个照片丢失,因为出错会重新传输。照片文件最大约128M字节,采用无损压缩技术(可以认为是RAW,不丢失任何细节信息)。

先上我综合各文献给出的解释,想了解更多细节请至文末文献部分。(对传输链路好奇的参见詹姆斯韦伯太空望远镜如何只用1W发射功率每天向150万公里之外的地球传输57GB的照片? - 纸飞机的文章 - 知乎 zhuanlan.zhihu.com/p/54 。对星载计算机软硬件好奇的参见100亿美元韦伯太空望远镜竟然用的是20多年前118MHz的PowerPC (苹果G3同款),跑JavaScript软件 - 纸飞机的文章 - 知乎 zhuanlan.zhihu.com/p/54

韦伯太空望远镜的文件传输协议是CFDP(CCSDS FILE DELIVERY PROTOCOL,CCSDS文件传输协议),你可以认为是天上的FTP(文件传输协议)。CFDP协议定了了两个级别的模式:Class 1 非可靠传输模式;Class 2 可靠传输模式。韦伯太空望远镜采用Class 2,即可靠传输模式。两者的主要区别是,当某个文件片段出错时,接收方会不会告知(Acknowledge)发送方,以便发送方重新发送这个片段。Class 2会要求发送方重传,以确保每个片段都被正确接收。CFDP标准中Class 2文件发送流程图如下:

上图的例子中,当N+1号片段出错后,后续片段(N+2等)会继续发送。过段时间后,如果发送方收到接收方反馈的N+1号片段出错的报告,发送方会立刻再次发送N+1号片段。

好在韦伯望远镜所在的第二拉格朗日点距离地球150万公里不算太远(比起火星等),信号以30万公里每秒传播时,单程5秒钟还好。一次发送和确认,这一来一回就是10秒钟。如果出错重传一次,又是10秒钟过去了。不过考虑这个项目100亿美金的花销和20多年的鸽程,每个bit都是无比金贵,都可能在拓展人类对宇宙的认知方面起到关键作用,多花10秒钟就多花10秒钟吧,毕竟20年都等了,不差这10秒钟。拿到高清大照最重要!

那一个片段最多可以重发几次呢?根据文献猜测是最多2~3次(详见文末文献分析)。

再来谈谈照片压缩问题。根据文献5韦伯望远镜任务需求文档,期望的是2:1无损压缩算法。但文献4认为“臣妾做不到啊”,实际算法只能做到1.1:1(好家伙,几乎相当于不压缩了),需要继续公关压缩算法。更过分的是文献4给出的建议解决方法是:把下载时间加倍!从每天下载4小时增加到每天下载8小时。(可不嘛,比如本来只需要下载1G数据,你这几乎不压缩,就需要下载2G数据,时间当然加倍!)。真是甩的一手好锅。这其实是一种不太负责任的建议,因为你的下载时间变长,实际上是挤压的其他深空探测器向地球回传数据的时间,因为美国的深空探测器数据回传都是共享美国的DSN(深空网)在地球上的三个大天线的工作时间。

下面是文献时间:

文献1/2/3(相互印证):

采用CFDP Class 2,可靠传输。目标是不丢失任何科学数据(照片)。

文献2/3(主要是文献2):

望远镜星上存储需求:容量考虑每天下载一次,以及允许某天因故无法下载时容量不满(不想丢数据)

望远镜将科学数据(照片)直接存入SSR(固态硬盘记录器),然后当地球下载时,直接将数据从SSR送入Ka频段高速通信链路,从SSR送入通信链路之前,由一块FPGA来负责插入CFDP协议头等必要开销。数据并不经由星上Power PC 750单板计算机的内存,是因为计算机性能不足以处理这么快速的大量数据(谁让星上计算机总是这么弱。。。)。

地面站将CFDP协议的文件数据恢复为正常文件,然后通过FTP让科学用户(甲方)下载。

星上文件最大大小1Gb,即128M字节。在传输完成之前需要缓存的文件数量为2*往返延迟*传输速率/文件大小。这个公式的含义是,在文件确认彻底发送成功之前必须保证存储在星上。不然,把文件发出去之后就删掉的话,万一过了一会儿地面说,哪个片段你再给我发一下?

上面的往返延迟考虑的是12秒(文献3里考虑的也是12秒)。但信号在150万公里距离上传播只需要5秒。个人估计加上两头的一些处理延迟可能端到端考虑的是6秒,这样往返是12秒。2*12秒也就是过往24秒时间内发出去的数据都需要先存下来,不要丢弃。24秒即两个来回,个人猜测这意味某片段可以发送2次:即初次发送,反馈失败,12秒过去了,再次发送,再次反馈失败,24秒过去了。然后我认为有两个选择:1,就此放弃;2,死马当活马医再发一次,但无论成功失败都是最后一次了。

文献4:系统概述(2:1压缩臣妾做不到)

文献5:韦伯望远镜任务需求文档

文献6:CCSDS CFDP协议文档

1 indico.esa.int/event/67

2 ntrs.nasa.gov/api/citat

3 zenodo.org/record/12635

4 jwst.nasa.gov/ottawa/01

5 spacese.spacegrant.org/

6 public.ccsds.org/Pubs/7

发布于 2022-07-17 20:36

文章被以下专栏收录

    开源芯片/FPGA设计

    开源芯片/FPGA设计

    开源wifi芯片/FPGA项目 openwifi